Commits

Commit Message Author Age Changes
051902a0 monitor: Fix array boundary issue with version information Marcel Holtmann 10 years ago 1 file, +9, -7
d0296eea monitor: Add support for vendor diagnostic packets Marcel Holtmann 10 years ago 3 files, +27, -0
5d920b68 monitor: Add support for showing index information updates Marcel Holtmann 10 years ago 3 files, +37, -2
ddd83295 core/advertising: Fix string match in le adv search Instead of searching for matched entry in the list, the function match_advertisement was searching for the first non-matched entry, as a result, it wasn't possible to unregister existing advertisement from LE Adv manager. Andrejs Hanins 10 years ago 1 file, +2, -2
5eb2973b emulator: Refactor le set scan enable command handler le_set_scan_enable_complete should be called as post hook action. Mariusz Skamra 10 years ago 1 file, +9, -2
0d0fe88a emulator: Enable Slave-initiated Features Exchange feature Mariusz Skamra 10 years ago 1 file, +1, -0
576ccb07 emulator: Add support for LE Remote Connection Parameter Request Negative Reply < HCI Command: LE Connection Update (0x08|0x0013) plen 14 [hci1] 915.472416 Handle: 42 Min connection interval: 0.00 msec (0x0000) Max connection interval: 18.75 msec (0x000f) Connection latency: 0x0000 Supervision timeout: 32000 msec (0x0c80) Min connection length: 0.625 msec (0x0001) Max connection length: 0.625 msec (0x0001) > HCI Event: Command Status (0x0f) plen 4 [hci1] 915.472432 LE Connection Update (0x08|0x0013) ncmd 1 Status: Success (0x00) > HCI Event: LE Meta Event (0x3e) plen 11 [hci0] 915.472443 LE Remote Connection Parameter Request (0x06) Handle: 42 Min connection interval: 0.00 msec (0x0000) Max connection interval: 18.75 msec (0x000f) Connection latency: 0x0000 Supervision timeout: 32000 msec (0x0c80) < HCI Command: LE Remote Connection Parameter Request Negative Reply (0x08|0x0021) plen 3 [hci0] 915.474095 Handle: 42 Reason: Invalid LMP Parameters / Invalid LL Parameters (0x1e) > HCI Event: Command Complete (0x0e) plen 6 [hci0] 915.474119 LE Remote Connection Parameter Request Negative Reply (0x08|0x0021) ncmd 1 Status: Success (0x00) Handle: 42 > HCI Event: LE Meta Event (0x3e) plen 10 [hci1] 915.474124 LE Connection Update Complete (0x03) Status: Invalid LMP Parameters / Invalid LL Parameters (0x1e) Handle: 42 Connection interval: 4800.00 msec (0x0f00) Connection latency: 0.00 msec (0x0000) Supervision timeout: 327680 msec (0x8000) LE Connection Update rejected due to invalid parameter: Min connection interval: 0.00 msec (0x0000) Mariusz Skamra 10 years ago 1 file, +38, -0
78fbfd3f emulator: Add support for LE Remote Connection Parameter Request Reply < HCI Command: LE Connection Update (0x08|0x0013) plen 14 [hci0] 92750.079447 Handle: 42 Min connection interval: 50.00 msec (0x0028) Max connection interval: 70.00 msec (0x0038) Connection latency: 0x0000 Supervision timeout: 420 msec (0x002a) Min connection length: 0.000 msec (0x0000) Max connection length: 0.000 msec (0x0000) > HCI Event: Command Status (0x0f) plen 4 [hci0] 92750.079459 LE Connection Update (0x08|0x0013) ncmd 1 Status: Success (0x00) > HCI Event: LE Meta Event (0x3e) plen 11 [hci1] 92750.079462 LE Remote Connection Parameter Request (0x06) Handle: 42 Min connection interval: 50.00 msec (0x0028) Max connection interval: 70.00 msec (0x0038) Connection latency: 0x0000 Supervision timeout: 420 msec (0x002a) < HCI Command: LE Remote Connection Parameter Request Reply (0x08|0x0020) plen 14 [hci1] 92750.079476 Handle: 42 Min connection interval: 50.00 msec (0x0028) Max connection interval: 70.00 msec (0x0038) Connection latency: 0x0000 Supervision timeout: 420 msec (0x002a) Min connection length: 0.000 msec (0x0000) Max connection length: 0.000 msec (0x0000) > HCI Event: Command Complete (0x0e) plen 6 [hci1] 92750.079507 LE Remote Connection Parameter Request Reply (0x08|0x0020) ncmd 1 Status: Success (0x00) Handle: 42 > HCI Event: LE Meta Event (0x3e) plen 10 [hci0] 92750.079510 LE Connection Update Complete (0x03) Status: Success (0x00) Handle: 42 Connection interval: 50.00 msec (0x0028) Connection latency: 0.00 msec (0x0000) Supervision timeout: 420 msec (0x002a) > HCI Event: LE Meta Event (0x3e) plen 10 [hci1] 92750.079509 LE Connection Update Complete (0x03) Status: Success (0x00) Handle: 42 Connection interval: 50.00 msec (0x0028) Connection latency: 0.00 msec (0x0000) Supervision timeout: 420 msec (0x002a) @ New Conn Param: 00:AA:01:00:00:23 (1) hint 0 min 0x0028 max 0x0038 latency 0x0000 timeout 0x002a Mariusz Skamra 10 years ago 1 file, +67, -7
658ab4f3 emulator: Remove duplicated assignment Connection handle has been already assigned few lines earlier. Mariusz Skamra 10 years ago 1 file, +0, -2
ee014e7f emulator: Fix LE Connection Complete Event data This sets LE Connection Complete Event paramaters based on parameters from LE Create Connection command. Event parameters like Conn_Interval and Supervision_Timeout shouldn't be set to 0. Mariusz Skamra 10 years ago 1 file, +19, -13
c88a7353 monitor: Add support for open and close index events Marcel Holtmann 10 years ago 6 files, +43, -0
5731f84f monitor: Remove unused copy of btsnoop files Marcel Holtmann 10 years ago 2 files, +0, -493
f4b7924b doc: The management API version 1.10 is available since kernel 4.2 Marcel Holtmann 10 years ago 1 file, +1, -0
f8888b6b tools/sco-tester: Handle HCI emulator setup errors Missing return is causing confusing output from sco-tester: Read Index List callback Status: 0x00 Failed to setup HCI emulation eSCO CVSD - Success - pre setup failed New hciemu instance created eSCO CVSD - Success - done Kuba Pawlak 10 years ago 1 file, +1, -0
62cf3d82 unit/test-uhid: Use tester framework Gowtham Anandha Babu 10 years ago 1 file, +26, -36
e56a21ce unit/test-sdp: Use tester framework Gowtham Anandha Babu 10 years ago 1 file, +40, -51
addc9720 unit/test-hfp: Use tester framework Gowtham Anandha Babu 10 years ago 1 file, +44, -47
b76028a6 tools: Fix Invalid return Return DBUS_HANDLER_RESULT_HANDLED instead of DBUS_HANDLER_RESULT_NOT_YET_HANDLED for player message handle. Bharat Panda 10 years ago 1 file, +1, -1
644537c0 audio/control: Add Player property to MediaControl1 This adds Player property to MediaControl1 interface which contains the object path of the addressed player. Luiz Augusto von Dentz 10 years ago 5 files, +68, -4
9f0985ca audio/control: Mark all methods of MediaControl1 as deprecated MediaControl1 is deprecated according to its documentation. Luiz Augusto von Dentz 10 years ago 1 file, +11, -9
8912d0f0 doc/media-api: Add Player property to MediaControl1 Player property is use to inform the current addressed player which is necessary in case more than one player is available. This is also remove the deprecated status of MediaControl1 and instead deprecated just its methods which similar functionality have been moved to MediaPlayer1. Luiz Augusto von Dentz 10 years ago 1 file, +14, -10
05790fa7 audio/avrcp: Fix possible crash when current player is removed If current player is removed a new player should be assigned. Note: In normal condition this should never happen since player 0 works as a place holder but there have been some cases where addressed player changed don't match with any player returned by GetFolderList which cause a new player to be created and the old one to be destroyed. Luiz Augusto von Dentz 10 years ago 1 file, +8, -6
6de5a954 shared/ad: Fix license to be LGPL Code in the shared directory should be LGPL. It was mistakenly checked in as GPL. Marie Janssen 10 years ago 2 files, +22, -14
749b9eb9 Release 5.35 Marcel Holtmann 10 years ago 2 files, +12, -1
40bb318d policy: Add AutoEnable config option This option is used to configure policy for auto enabling adapters when found. This includes adapters found on start as well as adapters that are plugged in later on. Some distributions use legacy "hciconfig hci0 up" in boot-scripts to automatically enable controllers on start. But that is causing SMP kernel code to not being properly initialized. This patch allows distributions to automatically enable adapters in race free manner even if no agent is provided eg. in login screen. Szymon Janc 10 years ago 2 files, +32, -2
7b0f3bb3 build: Update library version Marcel Holtmann 10 years ago 1 file, +1, -1
f1235de3 lib: Update company identifiers Marcel Holtmann 10 years ago 1 file, +35, -1
1bed031c shared/gatt-helpers: Fix reporting discovery failure If sending ATT request failed discovery should be reported as failed. Due to missing goto success was overwritten with true value. This regression was introduced in db24bf09d66325a. Szymon Janc 10 years ago 1 file, +1, -0
1539ff9d audio/avrcp: Remove not needed null check in Browsing handlers are always getting valid pdu pointer so there is no need to double check that. Also pdu pointer is already dereferenced before calling handler. Szymon Janc 10 years ago 1 file, +1, -1
55aad6d0 core/gatt: Fix assigning false instead of 0 write_id type is unsigned int not boolean. Luiz Augusto von Dentz 10 years ago 1 file, +2, -2
9440a8d1 gdbus: Remove unnecessary empty line Johan Hedberg 10 years ago 1 file, +0, -1
344df6b9 core/gatt-client: fix losing notifications When notifications are quickly send to BlueZ, it tries to signal that through dbus using g_dbus_emit_property_changed, which would merge all changes and schedule sending property changed in g_iddle_add. If the stream of notifications from device is fast enough, there might be no iddle moment to send properties changed before next notification arives, which would result in notifications being lost. This patch fixes that by using method that sends properties changed immediately, without waiting for iddle moment. Jakub Pawlowski 10 years ago 1 file, +4, -2
a3ff1a8e gdbus: add method for immediate property update g_dbus_emit_property_changed doesn't send dbus signal immediately. Instead it stores changed properties, and schedule signal to be send at g_iddle_add. Additionally, if this method is called few times for some property, only last value will be sent in property changed signal. If remote device sends lots of notifications, they're all scheduled to be notified using this method. This might result in some notifications being lost. This patch adds new method, that can immediately send property changed signal, instead of sheduling it for nearest iddle moment. Jakub Pawlowski 10 years ago 2 files, +23, -3
e25fd4d8 core/gatt-client: Fix WriteValue always failing after first request WriteValue may use write without response proceduce in case it is supported but since that don't have any response write_id is left set after first request preventing blocking any new request. Luiz Augusto von Dentz 10 years ago 1 file, +3, -3
5783e002 core/adapter: probe profiles after loading ltks When bluetoothd starts, it loads devices from storage. During this process, it loads general info. That includes loading UUIDS, and letting plugins decide whether they're interested in this device. Then load_irks call is made to load identity resolving keys into kernel. If during this process plugin decides it's interested in given device, they might register device for auto connecting by calling btd_device_add_attio_callback. This update kernel auto connect list. update_white_list inside "net/bluetooth/hci_request.c" is called. It uses hci_find_irk_by_addr to decide whether kernel know irk for given address and shall not use whitelist. However irks were not loaded yet - they're loaded by bluetoothd after all devices were initialized (and possibly added to autoconnect). Because of that, device public address is added to whitelist (instead of resolvable private address), and whitelist is used. Even worse, after call to load_irks, or after manually calling connect, device is still improperly added to whitelist and will be unable to connect (timeout will happen). To fix that bluetoothd must call load_irks before letting plugins enable autoconnect. Jakub Pawlowski 10 years ago 1 file, +11, -3
77527f92 tools/mgmt-tester: Add Device Found test with invalid field This test verify if kernel correctly terminates EIR when invalid advertising data (field length too big) was received from remote device. Szymon Janc 10 years ago 1 file, +28, -1
a3b9ffd1 shared/gatt-client: enable notifications right after connecting Right now, if you re-connect to device that was previously registered in DBus, you can read and write it's characteristic without any error. Trying to register for notifications would however fail. This patch fixes that by making sure you can register for notifications before gatt_client is ready. It also re-register exising clients right after connection, not when gatt_client is ready. Jakub Pawlowski 10 years ago 2 files, +7, -7
51dca8e8 core/device: Store services when they change or after pairing. Service caching works only for paired devices. Right now caching is triggered only right after discovery finishes. That means that if already paired device sends service changed notofication, cache won't be updated. Also if you connect to new device, and then pair during this connection, your services won't be cached until reconnect. This will require full service discovery which is slow. This patch fixes that by trying to cache services every time services changed, and right after successful pairing. Jakub Pawlowski 10 years ago 1 file, +7, -3
bf25bb8b audio/transport: Fix emitting volume changed too soon The volume should start at maximum (127) but at that point there is no reason to notify the remote since there is no stream ongoing so no changes can be applied. Luiz Augusto von Dentz 10 years ago 1 file, +0, -1
4f7843a0 audio/transport: Fix not emitting Volume changes If Volume is changed locally the change should be propagated using PropertiesChanged. Luiz Augusto von Dentz 10 years ago 1 file, +13, -4
ed347b64 audio/avrcp: Enable volume notifications When acting as a TG volume changes should be notified using RegisterNotification not SetAbsoluteVolume as the later is a CT operation. Luiz Augusto von Dentz 10 years ago 3 files, +60, -8
85b829bd audio/avrcp: Fix rejecting SetAbsoluteVolume without a player A player is not necessary in order for SetAbsoluteVolume to work. Luiz Augusto von Dentz 10 years ago 1 file, +0, -4
d8da7067 audio/avrcp: Fix missing event for volume control CT and TG are always relative to client and server role, so although TG is associated with a player and CT with a remote controller in case of volume control the CT is in fact the player and the TG the remote controller, because of that PTS will not register any TG record when testing this thus controller_init will not register the necessary events. Luiz Augusto von Dentz 10 years ago 1 file, +2, -4
83856855 core: Fix removing connected devices after discovery In case a temporary device is connected when the list of discovered devices is to be cleaned up we should not go ahead and remove the device. The disconnection handling code will anyway correctly take care of removing temporary devices. Johan Hedberg 10 years ago 1 file, +1, -1
95c09761 obexd: Fix not destroying session if owner disconnects If the owner disconnects the session should be destroyed even if the connection is pending: obexd/client/session.c:owner_disconnected() obexd/client/session.c:obc_session_shutdown() 0x822abb8 obexd/client/session.c:obc_session_ref() 0x822abb8: ref=3 obexd/client/session.c:obc_session_unref() 0x822abb8: ref=2 obexd/client/bluetooth.c:transport_connect() port 19 obexd/client/bluetooth.c:transport_callback() obexd/client/session.c:transport_func() obexd/client/bluetooth.c:bluetooth_getpacketopt() obexd/client/pbap.c:pbap_probe() /org/bluez/obex/client/session1 obexd/client/session.c:obc_session_ref() 0x822abb8: ref=3 obexd/client/session.c:obc_session_register() Session(0x822abb8) registered /org/bluez/obex/client/session1 obexd/client/session.c:obc_session_unref() 0x822abb8: ref=2 To fix this the code now checks if the connect callback is pending, in that case destroy the callback releasing the reference it carrying. Luiz Augusto von Dentz 10 years ago 1 file, +28, -6
5cc4a172 tools/btattach: Fix leak of bt_hci object Johan Hedberg 10 years ago 1 file, +2, -1
a796a606 core/device: Only reload database if empty There is no need to reload the database once it has been populated. Luiz Augusto von Dentz 10 years ago 1 file, +2, -1
f9e1d37d core/gatt: Fix not able to read/write on reconnections Upon reconnecting the attributes may already be available from cache which mean the client would be able to issue commands while discovery is not complete thus btd_gatt_client_ready was not called yet. To fix now btd_gatt_client_ready is split into btd_gatt_client_connected which is called whenever connected leaving btd_gatt_client_ready to only deal with exporting services found during the discovery. Luiz Augusto von Dentz 10 years ago 3 files, +20, -7
9b6a3e36 shared/gatt-client: Fix not freeing notify data notify_data_write_ccc takes another reference in case it succeed so the original reference should be dropped to cause the data to be freed once notify_data_write_ccc completes. Luiz Augusto von Dentz 10 years ago 1 file, +1, -2
8e73a002 hog: handle HoG init failures correctly When attio_connected_cb() is called for a HoG device, BlueZ should be in one of the two states: 1) hogdev->uhid_created == FALSE && hogdev->reports == NULL * initial connection to HoG device, or first reconnect after BlueZ has been restarted * BlueZ needs to discover all HoG device characteristics (including report map) and create uHID device for HID input 2) hogdev->uhid_created == TRUE && hogdev->reports != NULL * second or subsequent reconnect * all HoG device characteristics (including report map) have been successfully discovered previously, and uHID device has been created However, it is possible that the connection between BlueZ and HoG device is abruptly terminated amid HoG device characteristics discovery. Or, HoG report map discovery might intermittently fail. This can leave BlueZ in inconsistent state such that it knows about some of the characteristics, but the report map was never received and uHID device not created, i.e.: hogdev->uhid_created == FALSE && hogdev->reports != NULL attio_connected_cb() needs to detect this condition, clean up hogdev->reports, and re-discover HoG device characteristics. Petri Gynther 10 years ago 1 file, +18, -12
Previous Next