| 23578f92 |
android/README: Update known Android issues section
This adds a patch which allows handling ssp passkey request. |
Grzegorz Kolodziejczyk |
10 years ago |
1 file, +6, -1 |
| 018f00e6 |
core/device: Fix not claiming attributes of drivers
Driver loaded during init do not call add_gatt_service since the
attributes are only loaded during the first connection which means the
attributes need to be claimed on add_gatt_service but it was returning
if the driver was already probed causing the attribute to be exported
over D-Bus. |
Luiz Augusto von Dentz |
10 years ago |
1 file, +2, -1 |
| 4522ac85 |
core/service: Fix calling driver .accept multiple times
service_accept shall not call driver .accept callback multiple times. |
Luiz Augusto von Dentz |
10 years ago |
1 file, +12, -0 |
| 68a2dd1b |
profiles/deviceinfo: rewrite deviceinfo profile
This patch include new version of deviceinfo profile. It is now
not triggering autoconnect. It's also using accept callback instead
of btd_device_add_attio_callback. |
Jakub Pawlowski |
10 years ago |
1 file, +57, -105 |
| a7bb4bb6 |
profiles/scanparam: rewrite scanparam profile
This patch rewrites scanparam profile. It will no longer trigger
autoconnect. |
Jakub Pawlowski |
10 years ago |
1 file, +132, -124 |
| 488fd81a |
systemd: Check if bluetooth is supported in the kernel
When running a kernel without bluetooth support, bluetooth.service fails to
start with
bluetoothd[1640]: Failed to access management interface
bluetoothd[1640]: Adapter handling initialization failed
systemd[1]: bluetooth.service: Main process exited, code=exited, status=1/FAILURE
systemd[1]: Failed to start Bluetooth service.
This causes an unnecessary "degraded" state and more importantly breaks package
installation when the bluez package auto-starts the daemon.
Add a condition to only start the service if /sys/class/bluetooth exists.
https://launchpad.net/bugs/1506774 |
Martin Pitt |
10 years ago |
1 file, +1, -0 |
| 0e3af927 |
audio: Fix mtu input order
This patch fixes imtu,omtu input order in avdtp_stream_set_transport(). |
Chan-yeol Park |
10 years ago |
1 file, +1, -1 |
| b280844d |
core/device: Fix build on some platforms
due to type promotions in C this code was failing on some platforms.
src/device.c:2016:8: error: format specifies type 'unsigned short' but the
argument has type 'uint8_t' (aka 'unsigned char') [-Werror,-Wformat]
properties, uuid_str);
^~~~~~~~~~
/build/falco/usr/include/bits/stdio2.h:39:7: note: expanded from macro 'sprintf'
__VA_ARGS__)
^ |
Jakub Pawlowski |
10 years ago |
1 file, +1, -1 |
| 5724155e |
gap/gas: Remove unused field
db_id is no longer necessary since gatt_db_register is no longer called. |
Luiz Augusto von Dentz |
10 years ago |
1 file, +0, -3 |
| 1daaca3d |
gap/gas: Remove code handling service added/removed
The will take care of calling probe/remove when a matching service is
added removed. |
Luiz Augusto von Dentz |
10 years ago |
1 file, +0, -39 |
| cbce7693 |
core/device: Be consistent with function names
Rename device_remove_gatt_profile to device_remove_gatt_service. |
Luiz Augusto von Dentz |
10 years ago |
1 file, +2, -2 |
| 89797f50 |
core/device: Fix not calling accept callback
For GATT based services accept is used to indicate that there is a new
connection available so it needs to be called immediately once ATT
connects so the driver can register for notification, etc.
This also renames probe_gatt_profile to add_gatt_service which is what
in fact it was doing. |
Luiz Augusto von Dentz |
10 years ago |
1 file, +24, -29 |
| b8418fde |
core: Fix double ATT connect() upon failure
If we fail connecting ATT we should not attempt to call
device_browse_gatt(). This would only trigger a new connect attempt
which would likely also fail. |
Johan Hedberg |
10 years ago |
1 file, +1, -1 |
| 139d6a42 |
monitor: Handle the Intel memory write and secure send correctly |
Marcel Holtmann |
10 years ago |
1 file, +65, -3 |
| fcaea062 |
monitor: Add more Intel specific debugging events |
Marcel Holtmann |
10 years ago |
1 file, +199, -7 |
| e97975af |
monitor: Check length when decoding extended LMP opcodes |
Marcel Holtmann |
10 years ago |
1 file, +5, -0 |
| c6655ce8 |
monitor: Add detailed decoding support for various Intel commands |
Marcel Holtmann |
10 years ago |
2 files, +502, -34 |
| d75eb5ca |
obexd: pbap: add headers correctly for size query
When client queries for the size of a phonebook we fall into a
indefinite loop as g_obex_apparam_encode always returns the same
number of items added to the buffer regardless how often it is
called. In former times where this code wasn't using GObexApparams
a array was reduced each time the headers where added and so we could
easily find out when we've added all headers. However today we need
to solve this a bit differently by also setting the firstpacket flag
when we receive the phonebook size result from the phonebook
implementation which then lets us correctly go through without
falling into a indefinite loop. |
Simon Fels |
10 years ago |
1 file, +3, -2 |
| 449bb255 |
src/profile: Fix segmentation fault
The change that made the 'deviceinfo' profile "external" had an side
effect, now it is possible to have an external profile without 'owner'
and 'path' information. The fix considers that having an external
profile without that information is not an error.
Valgrind log:
bluetoothd[9974]: src/adapter.c:adapter_service_insert() /org/bluez/hci0
bluetoothd[9974]: src/adapter.c:add_uuid() sending add uuid command for index 0
bluetoothd[9974]: Endpoint registered: sender=:1.38 path=/MediaEndpoint/A2DPSink
bluetoothd[9974]: src/profile.c:register_profile() sender :1.38 path /Profile/HSPAGProfile
==9974== Invalid read of size 1
==9974== at 0x65F21E0: __strcmp_sse2_unaligned (in /usr/x86_64-pc-linux-gnu/lib/libc-2.22.so)
==9974== by 0x4E6C7E8: g_str_equal (in /usr/x86_64-pc-linux-gnu/lib/libglib-2.0.so.0.4600.1)
==9974== by 0x467917: find_ext_profile (profile.c:745)
==9974== by 0x469A8D: register_profile (profile.c:2373)
==9974== by 0x4889C3: process_message.isra.5 (object.c:259)
==9974== by 0x518E33E: _dbus_object_tree_dispatch_and_unlock (in /usr/x86_64-pc-linux-gnu/lib/libdbus-1.so.3.14.3)
==9974== by 0x51805E3: dbus_connection_dispatch (in /usr/x86_64-pc-linux-gnu/lib/libdbus-1.so.3.14.3)
==9974== by 0x4856DF: message_dispatch (mainloop.c:72)
==9974== by 0x4E7C669: g_main_context_dispatch (in /usr/x86_64-pc-linux-gnu/lib/libglib-2.0.so.0.4600.1)
==9974== by 0x4E7C9E7: g_main_context_iterate.isra.29 (in /usr/x86_64-pc-linux-gnu/lib/libglib-2.0.so.0.4600.1)
==9974== by 0x4E7CD01: g_main_loop_run (in /usr/x86_64-pc-linux-gnu/lib/libglib-2.0.so.0.4600.1)
==9974== by 0x40BABE: main (main.c:661)
==9974== Address 0x0 is not stack'd, malloc'd or (recently) free'd
==9974==
==9974==
==9974== Process terminating with default action of signal 11 (SIGSEGV)
==9974== Access not within mapped region at address 0x0
==9974== at 0x65F21E0: __strcmp_sse2_unaligned (in /usr/x86_64-pc-linux-gnu/lib/libc-2.22.so)
==9974== by 0x4E6C7E8: g_str_equal (in /usr/x86_64-pc-linux-gnu/lib/libglib-2.0.so.0.4600.1)
==9974== by 0x467917: find_ext_profile (profile.c:745)
==9974== by 0x469A8D: register_profile (profile.c:2373)
==9974== by 0x4889C3: process_message.isra.5 (object.c:259)
==9974== by 0x518E33E: _dbus_object_tree_dispatch_and_unlock (in /usr/x86_64-pc-linux-gnu/lib/libdbus-1.so.3.14.3)
==9974== by 0x51805E3: dbus_connection_dispatch (in /usr/x86_64-pc-linux-gnu/lib/libdbus-1.so.3.14.3)
==9974== by 0x4856DF: message_dispatch (mainloop.c:72)
==9974== by 0x4E7C669: g_main_context_dispatch (in /usr/x86_64-pc-linux-gnu/lib/libglib-2.0.so.0.4600.1)
==9974== by 0x4E7C9E7: g_main_context_iterate.isra.29 (in /usr/x86_64-pc-linux-gnu/lib/libglib-2.0.so.0.4600.1)
==9974== by 0x4E7CD01: g_main_loop_run (in /usr/x86_64-pc-linux-gnu/lib/libglib-2.0.so.0.4600.1)
==9974== by 0x40BABE: main (main.c:661)
==9974== If you believe this happened as a result of a stack
==9974== overflow in your program's main thread (unlikely but
==9974== possible), you can try to increase the size of the
==9974== main thread stack using the --main-stacksize= flag.
==9974== The main thread stack size used in this run was 8388608.
==9974== |
Vinicius Costa Gomes |
10 years ago |
1 file, +6, -2 |
| 2cb7b3a0 |
core/gatt: Fix logging invalid device address
This fix extra ':' at the end of device address if service interface
cannot be registered. |
Luiz Augusto von Dentz |
10 years ago |
1 file, +1, -1 |
| 3f6e7d45 |
core/device: Fix crash when disconnecting
When device disconnect while GATT discovery is ongoing the following
crash can happen if the device is destroyed in case it is temporary:
Invalid read of size 4
at 0x40A707C: g_slist_find_custom (in /usr/lib/libglib-2.0.so.0.4400.1)
by 0x80B7382: gatt_service_removed (device.c:3422)
by 0x80DF2FB: handle_notify (gatt-db.c:266)
by 0x80D3B8E: queue_foreach (queue.c:251)
by 0x80DF981: notify_service_changed (gatt-db.c:283)
by 0x80DF981: gatt_db_service_destroy (gatt-db.c:294)
by 0x80D3DFE: queue_remove_all (queue.c:387)
by 0x80DFA4C: gatt_db_clear (gatt-db.c:438)
by 0x80D908C: init_fail (gatt-client.c:1524)
by 0x80D9A52: discovery_op_unref (gatt-client.c:419)
by 0x80E18F2: destroy_mtu_op (gatt-helpers.c:495)
by 0x80D7F6E: cancel_att_send_op (att.c:212)
by 0x80D7F6E: bt_att_cancel (att.c:1238)
by 0x80DB26A: bt_gatt_client_cancel_all (gatt-client.c:1962)
Address 0x5536b58 is 0 bytes inside a block of size 8 free'd
at 0x402B2C9: free (in /usr/lib/valgrind/vgpreload_memcheck-x86-linux.so)
by 0x408CE4F: g_free (in /usr/lib/libglib-2.0.so.0.4400.1)
by 0x40A6772: g_slice_free_chain_with_offset (in /usr/lib/libglib-2.0.so.0.4400.1)
by 0x40A6B6B: g_slist_free (in /usr/lib/libglib-2.0.so.0.4400.1)
by 0x40A7374: g_slist_free_full (in /usr/lib/libglib-2.0.so.0.4400.1)
by 0x80B6CE0: device_free (device.c:624)
by 0x80CFCCB: remove_interface (object.c:658)
by 0x80D0208: g_dbus_unregister_interface (object.c:1382)
by 0x80BC281: btd_device_unref (device.c:5942)
by 0x80A9ACA: btd_adapter_remove_device (adapter.c:1165)
by 0x80A9C52: adapter_remove_connection (adapter.c:5624)
by 0x80AA77F: dev_disconnected (adapter.c:6584) |
Luiz Augusto von Dentz |
10 years ago |
1 file, +3, -0 |
| 63e020f5 |
monitor: Fix firmware version numbering for Broadcom chips |
Marcel Holtmann |
10 years ago |
1 file, +2, -2 |
| a1131366 |
monitor: Update handling for vendor commands and events |
Marcel Holtmann |
10 years ago |
5 files, +158, -18 |
| 37491f88 |
tools: Add p_ prefix to parser field helper functions |
Marcel Holtmann |
10 years ago |
20 files, +390, -390 |
| 36a3de2b |
monitor: Print vendor specific string before vendor command |
Marcel Holtmann |
10 years ago |
2 files, +56, -5 |
| c1a0ee03 |
monitor: Don't print index label for HCI_DEV_NONE messages |
Marcel Holtmann |
10 years ago |
1 file, +2, -1 |
| b33ade97 |
monitor: Add support for handling Intel vendor commands |
Marcel Holtmann |
10 years ago |
4 files, +272, -152 |
| 8651e648 |
monitor: Add support for handling Broadcom vendor commands |
Marcel Holtmann |
10 years ago |
4 files, +88, -4 |
| 2c52c338 |
monitor: Add the missing LL opcodes for Bluetooth 4.1 and 4.2 features |
Marcel Holtmann |
10 years ago |
2 files, +60, -16 |
| 979ea160 |
monitor: Update controller address from Read BD Addr command |
Marcel Holtmann |
10 years ago |
1 file, +3, -0 |
| a9ac5d28 |
btsnoop: Fix timestamp assignment for little-endian packet logger format |
Marcel Holtmann |
10 years ago |
1 file, +6, -3 |
| 0b83aa1c |
btsnoop: Add support for little-endian packet logger (pklg) format |
Marcel Holtmann |
10 years ago |
1 file, +11, -3 |
| 0cef5a79 |
deviceinfo: Enable external flag
This enable attributes to be accessed over D-Bus. |
Luiz Augusto von Dentz |
10 years ago |
1 file, +1, -0 |
| 9a5d0811 |
monitor/avctp: Decode player features
This decodes the bits related to browsing channel which is useful to
debug:
> ACL Data RX: Handle 256 flags 0x02 dlen 68
Channel: 69 len 64 ctrl 0x0100 [PSM 27 mode 3] {chan 5}
I-frame: Unsegmented TxSeq 0 ReqSeq 1
AVCTP Browsing: Response: type 0x00 label 0 PID 0x110e
AVRCP: GetFolderItems: len 0x0036
Status: 0x04 (Success)
UIDCounter: 0x0000 (0)
NumOfItems: 0x0001 (1)
Item: 0x01 (Media Player)
Length: 0x002e (46)
PlayerID: 0x0001 (1)
PlayerType: 0x0001 (Audio)
PlayerSubType: 0x00000000 (None)
PlayStatus: 0x01 (PLAYING)
Features: 0x00000000003700050000000000000000
Advanced Control Player
Browsing
NowPlaying |
Luiz Augusto von Dentz |
10 years ago |
1 file, +41, -0 |
| 6e7700c0 |
audio/avrcp: Fix ctype code of PlayItem and AddToNowPlaying
Both PlayItem and AddToNowPlaying should use control type not status. |
Luiz Augusto von Dentz |
10 years ago |
1 file, +2, -2 |
| 91c01e0a |
monitor: Decode additional Intel trace information |
Marcel Holtmann |
10 years ago |
1 file, +67, -13 |
| cba48786 |
monitor: Add support for decoding Intel LMP / LL traces |
Marcel Holtmann |
10 years ago |
5 files, +125, -1 |
| 01d38b43 |
monitor: Update manufacturer information for local version information |
Marcel Holtmann |
10 years ago |
1 file, +6, -1 |
| e01b3ba8 |
monitor: Add support for decoding LMP clock offset response |
Marcel Holtmann |
10 years ago |
2 files, +13, -1 |
| 0ab3242f |
core/device: Fix disconnect for connect attempt
Right now calling Disconnect from DBus on device that's not advertising
or out of sight will not stop the connect attempt in kernel. This patch
fixes that by making sure that att_io is properly cleaned up on
disconnect. |
Jakub Pawlowski |
10 years ago |
1 file, +6, -0 |
| 57133737 |
monitor: Add support for decoding LMP switch request |
Marcel Holtmann |
10 years ago |
2 files, +13, -1 |
| 99fda383 |
monitor: Add support for decoding LMP slot offset transaction |
Marcel Holtmann |
10 years ago |
2 files, +15, -1 |
| c2d728f6 |
monitor: Decode LMP preferred rate indication |
Marcel Holtmann |
10 years ago |
2 files, +67, -1 |
| 3112a1be |
monitor: Decode the LMP name request procedure |
Marcel Holtmann |
10 years ago |
2 files, +35, -2 |
| 90799f6d |
monitor: Add support for Broadcom diagnostic channel decoding |
Marcel Holtmann |
10 years ago |
5 files, +138, -2 |
| 6e168cc3 |
monitor: Allow padded LL messages from diagnostic channel |
Marcel Holtmann |
10 years ago |
3 files, +9, -9 |
| 8cfdd8d0 |
monitor: Print LMP master vs slave transaction identification |
Marcel Holtmann |
10 years ago |
1 file, +7, -2 |
| 7eea0b56 |
monitor: Allow padded LMP messages from diagnostic channel |
Marcel Holtmann |
10 years ago |
2 files, +3, -3 |
| ae7cac7f |
monitor: Fix typo with LMP channel classification parameter |
Marcel Holtmann |
10 years ago |
1 file, +1, -1 |
| 06ef9a6f |
monitor: Forward correct manufacturer value to vendor events |
Marcel Holtmann |
10 years ago |
1 file, +12, -3 |