Commits

Commit Message Author Age Changes
88e0af71 android/gatt: Add helper for getting local MTU This helper makes code easier to follow. Also local MTU is now MIN(IMTU,OMTU) to avoid situation that where local OMTU is lower than negotiated MTU. Szymon Janc 10 years ago 1 file, +46, -51
518a0d9f android/gatt: Disconnect ATT if MTU is too small on BR/EDR On BR/EDR MTU is negotiated using L2CAP configuration and not by ATT MTU exchange procedure. Szymon Janc 10 years ago 1 file, +8, -0
23a4b8af android/gatt: Exchange MTU only on LE link As per Core Specification Vol 3. Part G. 4.3.1 ATT MTU exchange procedure shall not be used on BR/EDR link. Szymon Janc 10 years ago 1 file, +10, -2
06b2a813 android/gatt: Fix MTU exchange This fix using invalid MTU on LE link. Previous attempt to fix this "android/gatt: Fix initial setting of MTU" was not correct since on LE default MTU is always 23 and we are not allowed to send bigger requests before MTU exchange was performed. This was affecting multiple PTS GATT test cases. Szymon Janc 10 years ago 1 file, +10, -3
bf8faa2b android/handsfree-client: Fix missing connected state notification There is additional state 'connected' that should be entered when RFCOMM is connected but before SLC is completed. Szymon Janc 10 years ago 1 file, +2, -0
f6e0033a android/handsfree-client: Fix connection state defines Connected state was missing. Szymon Janc 10 years ago 2 files, +6, -4
98f1823b shared/hfp: Fix not processing input from hfp_gw_send_error If for some reason there is more than one AT command in the ring buffer we should make sure that after upper layer sends error, AT parser gets back to reading data from ring buffer. Same is already done in hfp_gw_send_result() and we should handle this in error response as well. Szymon Janc 10 years ago 1 file, +8, -1
e37ac863 shared/hfp: Fix calling io read function directly can_read_data function should by called only from IO read callback. can_read_data feeds ringbuffer but don't call process_input() if there is pending result. So it is enought to just call process_input cause any pending data are already present in ring_buffer. This fix blocking read in unit/test-hfp exposed by previous patch. Szymon Janc 10 years ago 1 file, +1, -1
98078c12 shared/hfp: Fix calling callback without result_pending set Always set pending_result before calling command callback. If response will be send from callback pending_result will be cleared by either hfp_gw_send_result or hfp_gw_send_error. Szymon Janc 10 years ago 1 file, +2, -1
46aad836 shared/gatt: Allow register_notify without CCC Most OSes allow to register characteristics without a CCC even if they do support notification/indication, this is not according to the specification and may not even work in practice since there is no way to enable notifications/indications without a CCC to write to but there has been some applications that do that anyway. This patch fixes this behavior so that bt_gatt_client_register_notify immediately registers the callback and returns success for characteristics with no CCC, this does cause any air traffic therefore it is safe to assume it won't cause any problems. Arman Uguray 10 years ago 1 file, +25, -18
93bfa5fa android/README: Update known Android issues session Szymon Janc 10 years ago 1 file, +3, -1
f031f489 android/tester: Fix ccc descriptor handle Some service handle count was recently changed. Jakub Tyszkowski 10 years ago 1 file, +1, -1
228fc1cd android/pts: Update IOPT test results for PTS 6.0 This patch updates test pixits, pics, results for IOPT profile against android 5.0 Grzegorz Kolodziejczyk 10 years ago 3 files, +14, -13
2898f256 shared/hfp: Minor code style fix Szymon Janc 10 years ago 1 file, +3, -4
6ce22a5a tools/btgatt-server: Fix help message for GATT Added '\n' to make help message looks good as below: btgatt-server Usage: btgatt-server [options] Options: -i, --index <id> Specify adapter index, e.g. hci0 -m, --mtu <mtu> The ATT MTU to use -s, --security-level <sec> Set security level (low|medium|high) -v, --verbose Enable extra logging -r, --heart-rate Enable Heart Rate service -h, --help Display help Gowtham Anandha Babu 10 years ago 1 file, +1, -1
7c4da6ca test/pbap-client: Add support to fetch spd,fav PB Adds support to fetch spd,fav phonebook. Tested using PTS test case TC_PCE_PBB_BV_01_C. Gowtham Anandha Babu 10 years ago 1 file, +1, -1
3ef920bf attrib: Fix Read Blob error responses Read blob response with offset equal to value length should return zero length value intead of Invalid Offset Error. Found during qualification test case TC/GAR/SR/BV-08-C Read behind Long Characteristic Descriptor. Marcin Kraglak 10 years ago 1 file, +1, -1
6ea23877 shared/gatt-client: Fix bug in service discovery find_service_for_handle was manually computing end handle. It was causing overflow for last service in range, that always ends at 0xFFFF. That caused service for handle not being found. Jakub Pawlowski 10 years ago 1 file, +2, -3
01866e8d android/gatt: Remove not used variable Lukasz Rymanowski 10 years ago 1 file, +1, -3
f417aebc android/gatt: Fix initial setting of MTU Initial setting of MTU should be IMTU. This is actually our assumption in other part of code, that IMTU is something we start with and change if needed after exchange MTU procedure. If we are not able to get IMTU from the socket just disconnect, there is something wrong going on. Without this patch you can face the issue with following scenario: 1. On connection complete MTU is set to 23 2. BfA sends Exchange MTU Request with MTU set to IMTU 3. Remote device response with MTU equal to what BfA sends 4. In that case, since remote MTU is equal to ours, there is no update in bt_att, so bt_att keep using MTU = 23 5. Remote sends packets highier then 23 and bt_att start to drop not complete packets. Issue found and fix tested on UPF50 Lukasz Rymanowski 10 years ago 1 file, +9, -3
4ee01482 android/pts: Updated PBAP PICS and PIXITs for PTS 6.0 Tested against Android 5.0 Sebastian Chlad 10 years ago 3 files, +47, -14
1d9eb6f0 android/handsfree: Fix not selecting correct SDP HSP record If remote device has both HSP AG and HSP HF records then we were always selecting first record. This could result in not being able to connect to HF if AG record happens to be first one. Szymon Janc 10 years ago 1 file, +12, -18
6b4c8ca2 android/handsfree: Fix not selecting correct SDP HFP record If remote device has both HFP AG and HFP HF records then we were always selecting first record. This could result in not being able to connect to HF if AG record happens to be first one. Issue found on UPF 50. Szymon Janc 10 years ago 1 file, +14, -20
d3be519e android/hal-ipc-api: HAL IPC uses 4 octects for socket channel The documentations says that the HAL IPC uses 2 octets for socket channels, while |struct hal_cmd_socket_{listen,connect}| contain 4 octets. This patch fixes the documentation accordingly. Thomas Zimmermann 10 years ago 1 file, +2, -2
a17e6098 android/build: Create a target for hciconfig Ian Coolidge 10 years ago 1 file, +28, -0
0a59651c android/log: Add missing libc includes Bionic is moving to reduce the amount of transitive includes, so they should not be relied upon. Ian Coolidge 10 years ago 1 file, +3, -0
ac2efeb3 android/pts: Update SPP TC_DevA_APP_BV_01_C instruction This patch updates SPP test case instruction. Use haltest socket connect command instead of rctest. Grzegorz Kolodziejczyk 10 years ago 1 file, +2, -2
ab9c1582 android/PTS: Update ScPP tests results for PTS 6.0 This patch updates test pixits, pics, test results for ScPP profile against android 5.0 Grzegorz Kolodziejczyk 10 years ago 3 files, +12, -11
48faf69b android/PTS: Update RFCOMM tests results for PTS 6.0 This patch updates test pixits, pics, test results for RFCOMM profile against android 5.0 Grzegorz Kolodziejczyk 10 years ago 3 files, +9, -12
ec002722 android/PTS: Update HID tests results for PTS 6.0 This patch updates test pixits, pics, test results for HID profile against android 5.0 Grzegorz Kolodziejczyk 10 years ago 3 files, +13, -14
b5d0bd05 android/pts: PTS tests for OPP on Android 5 and PTS 6.0 Sebastian Chlad 10 years ago 3 files, +4, -4
91bd1186 shared/gatt-client: Remove unused field Luiz Augusto von Dentz 10 years ago 1 file, +0, -1
86456cf9 shared/gatt-client: Fix memory leak The following leak can be observed when bluetoothd is terminated while connected: 208 (128 direct, 80 indirect) bytes in 2 blocks are definitely lost in loss record 204 of 242 at 0x4C2B946: calloc (in /usr/lib64/valgrind/vgpreload_memcheck-amd64-linux.so) by 0x4CE112: bt_gatt_client_register_notify (gatt-client.c:2557) by 0x4999F0: characteristic_start_notify (gatt-client.c:1181) by 0x4C03FB: process_message.isra.3 (object.c:259) by 0x4C0C42: generic_message (object.c:1070) by 0x518C5CE: ??? (in /usr/lib64/libdbus-1.so.3.8.10) by 0x517E193: dbus_connection_dispatch (in /usr/lib64/libdbus-1.so.3.8.10) by 0x4BB38F: message_dispatch (mainloop.c:72) by 0x4E7EAEA: g_main_context_dispatch (in /usr/lib64/libglib-2.0.so.0.4200.1) by 0x4E7EE87: ??? (in /usr/lib64/libglib-2.0.so.0.4200.1) by 0x4E7F1B1: g_main_loop_run (in /usr/lib64/libglib-2.0.so.0.4200.1) by 0x40BACF: main (main.c:631) Luiz Augusto von Dentz 10 years ago 1 file, +4, -1
20285697 core/gatt: Keep objects over disconnects This patch changes the way that the life-time for exported GATT API objects are managed, so that they are kept alive in the case of a disconnection if the devices are bonded. In this case, all API method calls return an error except for StartNotify/StopNotify. All notification sessions that were initiated during and in-between connections are maintained and a notification callback is registered for each session immediately on reconnection. Arman Uguray 10 years ago 2 files, +191, -36
833fa18c core/device: Don't check ready in service_removed shared/gatt-client clears a given gatt-db if there's an error during its init sequence, even if the given gatt-db was previously populated (e.g. from a cache). This is to make sure that the database contents are at no point invalid. This patch removes a check for bt_gatt_client_is_ready and the corresponding early-return from btd_device's service_removed handler, so that other layers can be notified of invalidated gatt_db_attribute pointers. Arman Uguray 10 years ago 1 file, +15, -2
05e877aa core/gatt: Implement GattCharacteristic1.StopNotify This patch implements the StopNotify method of org.bluez.GattCharacteristic1. Arman Uguray 10 years ago 1 file, +19, -2
127f4029 core/gatt: Implement GattCharacteristic1.StartNotify This patch implements the StartNotify method of org.bluez.GattCharacteristic1. Each call to StartNotify assigns a session to the D-Bus sender which internally registers a unique notify handler with the bt_gatt_client. Each received notification or indication causes a PropertiesChanged signal to be emitted for the "Value" property. The notify handler gets automatically unregistered when sender disconnects from D-Bus. Arman Uguray 10 years ago 1 file, +247, -10
1122bddd shared/gatt: Make register_notify cancellable This patch makes CCC writes via bt_gatt_client_register_notify cancellable. The following changes have been introduced: 1. bt_gatt_client_register_notify now returns the id immediately instead of returning it in a callback. The callback is still used to communicate ATT protocol errors. 2. A notify callback is immediately registered, so that if the remote end sends any ATT notifications/indications, the caller will start receiving them right away. Arman Uguray 10 years ago 3 files, +91, -62
ff189f01 shared/att-types: Fix coding style Luiz Augusto von Dentz 10 years ago 1 file, +1, -1
2b25bd01 shared/gatt-client: Simplify read long value This removes the extra queue that acts as intermediate storage, instead the code will now storage everything in a single buffer and just realloc while appending new chunks. Luiz Augusto von Dentz 10 years ago 1 file, +21, -86
ad410057 Release 5.28 Marcel Holtmann 10 years ago 2 files, +15, -1
41304925 build: Update library version Marcel Holtmann 10 years ago 1 file, +1, -1
01170be4 lib: Update company identifiers Marcel Holtmann 10 years ago 1 file, +32, -0
baf0ac11 doc/maintainer-guidelines: Add rule for mailing list responses Johan Hedberg 10 years ago 1 file, +10, -0
11ba1d72 maintainer-guidelines: Add rule for new files Johan Hedberg 10 years ago 1 file, +15, -0
1fb2b903 doc/maintainer-guidlines: Add rule about coding-style Johan Hedberg 10 years ago 1 file, +23, -0
d0c38557 doc: Add first draft of maintainer guidelines Marcel Holtmann 10 years ago 1 file, +66, -0
bf8eedd5 core: Fix crash on device removal The following crash happen when attempting to remove a device while it is connecting, this will turn all services to unavailable without first setting it to disconnected causing the backtrace: Invalid read of size 8 at 0x495BF8: btd_service_connect (service.c:200) by 0x49D942: connect_next.isra.7 (device.c:1283) by 0x4A2B82: device_profile_connected (device.c:1328) by 0x4A2B82: service_state_changed (device.c:5325) by 0x4957A9: change_state (service.c:108) by 0x495AF4: service_remove (service.c:173) by 0x4A4BD9: device_remove (device.c:3207) by 0x48AAC1: btd_adapter_remove_device (adapter.c:1135) by 0x48B536: remove_device (adapter.c:2270) by 0x4BF4CB: process_message.isra.3 (object.c:259) by 0x4BFD12: generic_message (object.c:1070) by 0x518C5CE: ??? (in /usr/lib64/libdbus-1.so.3.8.10) by 0x517E193: dbus_connection_dispatch (in /usr/lib64/libdbus-1.so.3.8.10) Address 0x7a22e60 is 16 bytes inside a block of size 40 free'd at 0x4C2ACE9: free (in /usr/lib64/valgrind/vgpreload_memcheck-amd64-linux.so) by 0x4E847FE: g_free (in /usr/lib64/libglib-2.0.so.0.4200.1) by 0x495988: btd_service_unref (service.c:130) by 0x495B26: service_remove (service.c:177) by 0x4A4BD9: device_remove (device.c:3207) by 0x48AAC1: btd_adapter_remove_device (adapter.c:1135) by 0x48B536: remove_device (adapter.c:2270) by 0x4BF4CB: process_message.isra.3 (object.c:259) by 0x4BFD12: generic_message (object.c:1070) by 0x518C5CE: ??? (in /usr/lib64/libdbus-1.so.3.8.10) by 0x517E193: dbus_connection_dispatch (in /usr/lib64/libdbus-1.so.3.8.10) by 0x4BA45F: message_dispatch (mainloop.c:72) Luiz Augusto von Dentz 10 years ago 1 file, +1, -0
24c79fd9 policy: Fix not removing timers If service becomes unavailable, due to e.g. the device being removed, all the related timers should be removed as well otherwise it may cause crashes such as the following: Invalid read of size 8 at 0x4A6597: btd_device_get_service (device.c:5335) by 0x40F49F: policy_connect_ct (policy.c:112) by 0x4E7F552: ??? (in /usr/lib64/libglib-2.0.so.0.4200.1) by 0x4E7EAEA: g_main_context_dispatch (in /usr/lib64/libglib-2.0.so.0.4200.1) by 0x4E7EE87: ??? (in /usr/lib64/libglib-2.0.so.0.4200.1) by 0x4E7F1B1: g_main_loop_run (in /usr/lib64/libglib-2.0.so.0.4200.1) by 0x40BACF: main (main.c:631) Address 0x73b9ba8 is 360 bytes inside a block of size 592 free'd at 0x4C2ACE9: free (in /usr/lib64/valgrind/vgpreload_memcheck-amd64-linux.so) by 0x4E847FE: g_free (in /usr/lib64/libglib-2.0.so.0.4200.1) by 0x49C83F: device_free (device.c:624) by 0x4BDB29: remove_interface (object.c:658) by 0x4BE701: g_dbus_unregister_interface (object.c:1382) by 0x4A49DC: btd_device_unref (device.c:5173) by 0x41DC46: avdtp_free (avdtp.c:1138) by 0x41EE09: connection_lost (avdtp.c:1164) by 0x422EA5: session_cb (avdtp.c:2263) by 0x4E7EAEA: g_main_context_dispatch (in /usr/lib64/libglib-2.0.so.0.4200.1) by 0x4E7EE87: ??? (in /usr/lib64/libglib-2.0.so.0.4200.1) by 0x4E7F1B1: g_main_loop_run (in /usr/lib64/libglib-2.0.so.0.4200.1) Luiz Augusto von Dentz 10 years ago 1 file, +20, -0
300a94fe tools: Move debug key enabling after powering on finished Marcel Holtmann 10 years ago 1 file, +52, -28
Previous Next