| fcc16be9 |
shared: Add definition for LC3 codec
This adds the definition for LC3 codec capabilities and configuration. |
Luiz Augusto von Dentz |
3 years ago |
2 files, +113, -1 |
| 47ba235f |
profiles: Add initial code for bap plugin
This adds initial code for bap plugin which handles Basic Audio
Profile, Publish Audio Capabilities Service and Audio Stream Control
Service. |
Luiz Augusto von Dentz |
3 years ago |
6 files, +2517, -47 |
| b798cec4 |
shared/bap: Add initial code for handling BAP
This adds initial code for Basic Audio Profile. |
Luiz Augusto von Dentz |
3 years ago |
5 files, +5235, -3 |
| d7b78586 |
lib/uuid: Add PACS/ASCS UUIDs
This adds PACS/ASCS UUIDs which will be used by Basic Audio Profile. |
Luiz Augusto von Dentz |
3 years ago |
1 file, +18, -0 |
| 67dfe38b |
adapter: Add btd_adapter_find_device_by_fd
This adds btd_adapter_find_device_by_fd that lookup a device by a fd
socket destination address. |
Luiz Augusto von Dentz |
3 years ago |
2 files, +34, -0 |
| 6b8f9fbd |
gatt: Parse error message
Application can now encode an error code into the D-Bus reply error
message (0x80-0x9f).
Fixes: https://github.com/bluez/bluez/issues/380 |
Luiz Augusto von Dentz |
3 years ago |
1 file, +28, -12 |
| ea903d12 |
gatt-api: Add error code ReadValue/WriteValue
This allows application to return error codes in the range allowed by
the spec:
'GATT - Section 4.9.5:
Application Error 0x80 – 0x9F Application error code defined by a
higher layer specification.' |
Luiz Augusto von Dentz |
3 years ago |
1 file, +6, -2 |
| 7c2f0c03 |
zsh: drop no more arguments message
This usage of the _message as a completion function is invalid, and
will result in an error if invoked by _arguments when the user has a
format style set for completion messages.
We can just drop this message, since it is not necessary.
Before:
$ zstyle ':completion:*:messages' format '%d'
$ bluetoothctl connect <TAB>
_message:zformat:42: invalid argument: -J
After:
$ zstyle ':completion:*:messages' format '%d'
$ bluetoothctl connect <TAB>
31:41:59:26:53:59 -- Bose QuietComfort 35
11:22:33:44:55:66 -- Pixel 5 |
Ronan Pigott |
3 years ago |
1 file, +1, -2 |
| ede7b915 |
adapter: Reset pending settings when receiving MGMT error
We set the pending settings flag when sending MGMT_SETTING_*
commands to the MGMT layer and clear them when receiving a
successful reply, but we don't clear them when receiving an error
reply. This might cause a setting to be stuck in pending state.
Therefore, also clear the pending flag when receiving error.
Furthermore, this patch also postpones setting the pending flag
until we queue the MGMT command in order to avoid setting it too
soon but we return early.
This was caught during power off test, where MGMT_OP_SET_POWERED
returns Authentication Failed because disconnection takes too long.
Future attempts to switch power will then be ignored.
< HCI Command: Disconnect (0x01|0x0006) plen 3 #17916 [hci0] 12.502908
Handle: 512
Reason: Remote Device Terminated due to Power Off (0x15)
> HCI Event: Command Status (0x0f) plen 4 #17917 [hci0] 12.503185
Disconnect (0x01|0x0006) ncmd 1
Status: Success (0x00)
@ MGMT Event: Command Status (0x0002) plen 3 {0x0001} [hci0] 14.519491
Set Powered (0x0005)
Status: Authentication Failed (0x05)
= bluetoothd: Failed to set mode: Authentication Failed (0x05) 14.520042
= bluetoothd: adapter /org/bluez/hci0 set power to 0 14.813533
> HCI Event: Disconnect Complete (0x05) plen 4 #17918 [hci0] 16.509043
Status: Success (0x00)
Handle: 512
Reason: Connection Timeout (0x08)
Reviewed-by: Sonny Sasaka <sonnysasaka@chromium.org> |
Archie Pusaka |
3 years ago |
1 file, +31, -8 |
| 73b30137 |
device: Fix not setting initiator
This fixes not setting initiator flag properly when MGMT connect event
has not been processed yet but ATT is already connected or is in
progress. |
Luiz Augusto von Dentz |
3 years ago |
1 file, +4, -1 |
| 4760ada0 |
shared/util: Correct UUID for Microphone Control
According to the Bluetooth product specification list, the allocated
UUID for "Microphone Control" is 0x184D, not 0x184C. |
darkhz |
3 years ago |
1 file, +1, -1 |
| 081897da |
iso-tester: Make use of bthost_add_iso_hook destroy callback
This makes use of bthost_add_iso_hook to track when an ISO connection
has been disconnected and then set its handle to 0x0000 which is then
checked when the socket HUP to confirm the remote has properly
disconnected (e.g. received Disconnected Complete). |
Luiz Augusto von Dentz |
3 years ago |
1 file, +31, -21 |
| 5bf220eb |
bthost: Add destroy callback to bthost_add_iso_hook
This adds a destroy callback to bthost_add_iso_hook so its user can
detect when the hook is freed when the connection is disconnected. |
Luiz Augusto von Dentz |
3 years ago |
3 files, +10, -3 |
| 4999f80c |
iso-tester: Fix using shutdown(SHUT_RDWR)
shutdown(SHUT_RDWR) results in socket being HUP immeditaly instead of
waiting for Disconnect Complete event so instead just use SHUT_WR to
start the disconnect procedure without causing the socket to HUP. |
Luiz Augusto von Dentz |
3 years ago |
1 file, +6, -6 |
| 60663d4a |
hog-lib: Fix scan-build error
This fixes the following errors:
profiles/input/hog-lib.c:600:19: warning: Access to field 'handle'
results in a dereference of a null pointer (loaded from variable 'chr')
report->handle = chr->handle;
^~~~~~~~~~~
profiles/input/hog-lib.c:637:11: warning: Access to field 'value_handle'
results in a dereference of a null pointer (loaded from variable 'chr')
start = chr->value_handle + 1;
^~~~~~~~~~~~~~~~~
profiles/input/hog-lib.c:1240:11: warning: Access to field 'value_handle'
results in a dereference of a null pointer (loaded from variable 'chr')
start = chr->value_handle + 1;
^~~~~~~~~~~~~~~~~ |
Luiz Augusto von Dentz |
3 years ago |
1 file, +9, -0 |
| 952c08ff |
hog-lib: Don't restrict Report MAP size
Although HIDS spec is quite clear the Report MAP shall be limited to
512 bytes it doesn't seem OS do enforce that on the profile/client side
and since there isn't any qualification test enforcing it either there
are quite many devices which uses Report MAP bigger that 512 bytes
(e.g.: Brydge W-Touch and Lenovo Duet 3 BT Folio).
https://github.com/bluez/bluez/issues/377 |
Luiz Augusto von Dentz |
3 years ago |
1 file, +16, -16 |
| fdc788f5 |
build: Enable admin plugin
This enables admin plugin with bootstrap-configure so it is normally
build by the likes of CI. |
Luiz Augusto von Dentz |
3 years ago |
1 file, +1, -0 |
| 64abbf7c |
client: Move admin submenu
This moves admin submenu to admin.c so it is not mixed up with other
submenus code. |
Luiz Augusto von Dentz |
3 years ago |
3 files, +96, -91 |
| c47730b2 |
adapter: Check flags are supported
This makes sure the flags are supported before attempting to set it. |
Luiz Augusto von Dentz |
3 years ago |
3 files, +9, -1 |
| 9c3f35d6 |
iso-tester: Introduce tests for Disconnect/Reconnect
This introduces a test that do use shutdown to disconnect an ISO socket
and then another one that attempts to reconnect it again to emulate
upper profile transitions. |
Luiz Augusto von Dentz |
3 years ago |
1 file, +80, -0 |
| 06f6460c |
iso-tester: Add ISO 48_2_1 Defer Receive - Success
This adds a test to check if different QoS are properly handled when
acting as peripheral. |
Luiz Augusto von Dentz |
3 years ago |
1 file, +19, -1 |
| bbbd0512 |
bthost: Add qos support to bthost_set_cig_params
This enables setting QoS other then the mandatory 16_2_1. |
Luiz Augusto von Dentz |
3 years ago |
3 files, +19, -13 |
| f07b88ab |
test-tester: This add tests for tester
This adds tests for the tester itself:
> unit/test-tester
Test Summary
------------
/tester/basic Passed 0.000 seconds
/tester/setup_io Passed 0.000 seconds
/tester/io_send Passed 0.000 seconds
Total: 3, Passed: 3 (100.0%), Failed: 0, Not Run: 0
Overall execution time: 0.000355 seconds |
Luiz Augusto von Dentz |
3 years ago |
2 files, +97, -0 |
| 2dfe2919 |
shared/tester: Add tester_setup_io
This adds tester_setup_io which can be used to add a PDU list in the
form of iovec. |
Luiz Augusto von Dentz |
3 years ago |
2 files, +163, -4 |
| e7fc74a5 |
build: Fix make check failing
This fixes make check failing because lack of suppression for bind on
bt_log_open. |
Luiz Augusto von Dentz |
3 years ago |
1 file, +7, -0 |
| d9497e00 |
iso-tester: Test BT_DEFER_SETUP works with getsockopt
This attempts to test BT_DEFER_SETUP is properly set when the test has
defer flag set. |
Luiz Augusto von Dentz |
3 years ago |
1 file, +13, -0 |
| a65ddf71 |
sixaxis: Fix fliping device.trusted automatically
device.trusted is a user preference which controls if the devices needs
to be authorized or not so the plugin shall not overwrite it and instead
just honor what user has set and skip authorizing if already trusted.
Fixes: https://github.com/bluez/bluez/issues/372 |
Luiz Augusto von Dentz |
3 years ago |
3 files, +10, -6 |
| 7adb3aa7 |
device: Add btd_ prefix to device_is_trusted
This adds btd_ prefix to device_is_trusted so it can be used by
plugins. |
Luiz Augusto von Dentz |
3 years ago |
4 files, +8, -8 |
| d06b4a6b |
device: Fix not auto-connecting profile
If the profile is registered and marked to auto-connect it shall
automatically be connected whenever a device is already connected.
Fixes: https://github.com/bluez/bluez/issues/370 |
Luiz Augusto von Dentz |
3 years ago |
1 file, +2, -1 |
| cb42377a |
iso-test: Add ISO 48_2_1 Defer Send
This adds ISO 48_2_1 Defer Send test which enables just output instead
of both. |
Luiz Augusto von Dentz |
3 years ago |
1 file, +11, -0 |
| 9d753065 |
Release 5.65 |
Marcel Holtmann |
3 years ago |
2 files, +17, -1 |
| 5061ec41 |
build: Update library version |
Marcel Holtmann |
3 years ago |
1 file, +1, -1 |
| 4314f706 |
isotest: Add documentation
This adds isotest.rst which documents the modes and options of
isotest(1) and is then converted isotest.1 manpage. |
Luiz Augusto von Dentz |
3 years ago |
2 files, +204, -2 |
| 037ed8c5 |
tools: Add isotest tool
This adds isotest tool which can be used to test ISO sockets. |
Luiz Augusto von Dentz |
3 years ago |
2 files, +1220, -1 |
| 26ee34d7 |
tools: Add iso-tester
This adds iso-tester which tests BTPROTO_ISO socket:
Basic Framework - Success
Basic ISO Socket - Success
Basic ISO Get Socket Option - Success
Basic ISO Set Socket Option - Success
ISO QoS 8_1_1 - Success
ISO QoS 8_2_1 - Success
ISO QoS 16_1_1 - Success
ISO QoS 16_2_1 - Success
ISO QoS 16_2_1 CIG 0x01 - Success
ISO QoS 16_2_1 CIG 0x01 CIS 0x01 - Success
ISO QoS 24_1_1 - Success
ISO QoS 24_2_1 - Success
ISO QoS 32_1_1 - Success
ISO QoS 32_2_1 - Success
ISO QoS 44_1_1 - Success
ISO QoS 44_2_1 - Success
ISO QoS 48_1_1 - Success
ISO QoS 48_2_1 - Success
ISO QoS 48_3_1 - Success
ISO QoS 48_4_1 - Success
ISO QoS 48_5_1 - Success
ISO QoS 48_6_1 - Success
ISO QoS 8_1_2 - Success
ISO QoS 8_2_2 - Success
ISO QoS 16_1_2 - Success
ISO QoS 16_2_2 - Success
ISO QoS 24_1_2 - Success
ISO QoS 24_2_2 - Success
ISO QoS 32_1_2 - Success
ISO QoS 32_2_2 - Success
ISO QoS 44_1_2 - Success
ISO QoS 44_2_2 - Success
ISO QoS 48_1_2 - Success
ISO QoS 48_2_2 - Success
ISO QoS 48_3_2 - Success
ISO QoS 48_4_2 - Success
ISO QoS 48_5_2 - Success
ISO QoS 48_6_2 - Success
ISO QoS - Invalid
ISO Connect2 CIG 0x01 - Success
ISO Send - Success
ISO Receive - Success
ISO Defer - Success
ISO Defer Send - Success
ISO Defer Receive - Success
ISO Defer Reject - Success
ISO Send and Receive - Success
ISO Broadcaster - Success
ISO Broadcaster BIG 0x01 - Success
ISO Broadcaster BIG 0x01 BIS 0x01 - Success
ISO Broadcaster Receiver - Success |
Luiz Augusto von Dentz |
3 years ago |
3 files, +1715, -3 |
| b1b575cf |
btio: Add support for ISO sockets
This adds support to create objects that map to ISO sockets. |
Luiz Augusto von Dentz |
3 years ago |
3 files, +286, -3 |
| 8dc5b5e1 |
adapter: Add support for setting ISO Socket experimental feature
This adds support for setting ISO Socket experimental UUID which
enables the use of BTPROTO_ISO on the system. |
Luiz Augusto von Dentz |
3 years ago |
4 files, +47, -0 |
| 9c65bad7 |
mgmt-tester: Fix Read Exp Feature tests
This adds ISO Socket UUID as response to Read Exp Feature. |
Luiz Augusto von Dentz |
3 years ago |
1 file, +11, -3 |
| cc482ad3 |
shared/util: Decode BlueZ Experimental ISO Socket UUID
This adds BlueZ experimental ISO Socket UUID to uuid128_table so it is
decoded by the likes of btmon. |
Luiz Augusto von Dentz |
3 years ago |
1 file, +2, -0 |
| b031e4dc |
lib: Add definitions for ISO socket |
Luiz Augusto von Dentz |
3 years ago |
3 files, +80, -2 |
| af998fd3 |
main: Default device_privacy to true
If privacy mode is not strictly set to network set it to device
otherwise network mode would prevent reconnections if the the identity
address is used:
BLUETOOTH CORE SPECIFICATION Version 5.3 | Vol 6, Part B page 2837-2838
'The Host specifies the privacy mode to be used with each peer
identity on the resolving list. If it specifies that device privacy
mode is to be used, then the Controller shall accept both the peer's
device Identity Address and a resolvable private address generated by
the peer device using its distributed IRK. Otherwise, network privacy
mode is used: the Controller shall only accept resolvable private
addresses generated by the peer device using its distributed IRK.' |
Luiz Augusto von Dentz |
3 years ago |
1 file, +2, -0 |
| a69fa692 |
adapter: Fix advertising monitor on Linux 5.12-5.17
The existing code assumes that, if a device supports advertising monitor
offload, DEVICE_FOUND events can be ignored since the kernel will send
ADV_MONITOR_DEVICE_FOUND events instead. Unfortunately, these new events
were added in 5.18, but offload was added in 5.12. This patch adds a
check on the MGMT API version so we can process the older DEVICE_FOUND
events when the new events are not supported.
Fixes: https://github.com/bluez/bluez/issues/357 |
Andrew Drake |
3 years ago |
1 file, +3, -1 |
| 163de8e2 |
btdev: Fix not checking if a CIG has any active CIS
Bluetooth Core specification says the CIG must be in configurable state
in order to accept the SetCIGParameters:
BLUETOOTH CORE SPECIFICATION Version 5.3 | Vol 4, Part E page 2553:
'If the Host issues this command when the CIG is not in the
configurable state, the Controller shall return the error
code Command Disallowed (0x0C).' |
Luiz Augusto von Dentz |
3 years ago |
1 file, +17, -0 |
| e681fae6 |
monitor: Fix build error in some targets
This fixes the following error:
monitor/att.c: In function 'print_attribute':
monitor/att.c:1850:35: error: lvalue required as unary '&' operand
print_uuid(label, &cpu_to_le16(uuid->value.u16), 2); |
Luiz Augusto von Dentz |
3 years ago |
1 file, +3, -1 |
| 6270ad35 |
client: Fix build warning
This fixes the following build warning:
warning: ‘g_memdup’ is deprecated: Use 'g_memdup2' instead
[-Wdeprecated-declarations] |
Luiz Augusto von Dentz |
3 years ago |
1 file, +1, -1 |
| 575778a4 |
obexd: Fix the code style |
Youwan Wang |
3 years ago |
1 file, +1, -1 |
| dd12ff1e |
tools/test-runner: Fix errors reported by scan-build
This patch fixes the errors reported by the scan-build.
tools/test-runner.c:315:2: warning: Null pointer passed to 1st parameter
expecting 'nonnull' [core.NonNullParamChecker]
execve(argv[0], argv, qemu_envp);
^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
tools/test-runner.c:554:6: warning: Null pointer passed to 1st parameter
expecting 'nonnull' [core.NonNullParamChecker]
if (chdir(home + 5) < 0) {
^~~~~~~~~~~~~~~
tools/test-runner.c:638:6: warning: Null pointer passed to 1st parameter
expecting 'nonnull' [core.NonNullParamChecker]
if (chdir(home + 5) < 0) {
^~~~~~~~~~~~~~~
tools/test-runner.c:695:6: warning: Null pointer passed to 1st parameter
expecting 'nonnull' [core.NonNullParamChecker]
if (chdir(home + 5) < 0) {
^~~~~~~~~~~~~~~
tools/test-runner.c:984:3: warning: Value stored to 'serial_fd' is never
read [deadcode.DeadStores]
serial_fd = -1;
^ ~~ |
Tedd Ho-Jeong An |
3 years ago |
1 file, +11, -3 |
| c1f0b1a7 |
tools/btmgmt: Fix errors reported by scan-build
This patch fixes the errors reported by the scan-build.
tools/btmgmt.c:2699:2: warning: Value stored to 'argc' is never read
[deadcode.DeadStores]
argc -= optind;
^ ~~~~~~
tools/btmgmt.c:2859:2: warning: Value stored to 'argc' is never read
[deadcode.DeadStores]
argc -= optind;
^ ~~~~~~
tools/btmgmt.c:2860:2: warning: Value stored to 'argv' is never read
[deadcode.DeadStores]
argv += optind;
^ ~~~~~~
tools/btmgmt.c:2934:2: warning: Value stored to 'argc' is never read
[deadcode.DeadStores]
argc -= optind;
^ ~~~~~~
tools/btmgmt.c:2935:2: warning: Value stored to 'argv' is never read
[deadcode.DeadStores]
argv += optind;
^ ~~~~~~
tools/btmgmt.c:3000:2: warning: Value stored to 'argc' is never read
[deadcode.DeadStores]
argc -= optind;
^ ~~~~~~
tools/btmgmt.c:3001:2: warning: Value stored to 'argv' is never read
[deadcode.DeadStores]
argv += optind;
^ ~~~~~~
tools/btmgmt.c:3261:11: warning: Value stored to 'index' during its
initialization is never read [deadcode.DeadStores]
uint16_t index = mgmt_index;
^~~~~ ~~~~~~~~~~
tools/btmgmt.c:3450:2: warning: Value stored to 'argc' is never read
[deadcode.DeadStores]
argc -= optind;
^ ~~~~~~
tools/btmgmt.c:3451:2: warning: Value stored to 'argv' is never read
[deadcode.DeadStores]
argv += optind;
^ ~~~~~~
tools/btmgmt.c:4822:2: warning: Null pointer passed to 2nd parameter
expecting 'nonnull' [core.NonNullParamChecker]
memcpy(cp->data + uuid_bytes, adv_data, adv_len);
^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
tools/btmgmt.c:4823:2: warning: Null pointer passed to 2nd parameter
expecting 'nonnull' [core.NonNullParamChecker]
memcpy(cp->data + uuid_bytes + adv_len, scan_rsp, scan_rsp_len);
^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
tools/btmgmt.c:5244:2: warning: Null pointer passed to 2nd parameter
expecting 'nonnull' [core.NonNullParamChecker]
memcpy(cp->data + uuid_bytes, adv_data, adv_len);
^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
tools/btmgmt.c:5245:2: warning: Null pointer passed to 2nd parameter
expecting 'nonnull' [core.NonNullParamChecker]
memcpy(cp->data + uuid_bytes + adv_len, scan_rsp, scan_rsp_len);
^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ |
Tedd Ho-Jeong An |
3 years ago |
1 file, +11, -14 |
| 433a9fd1 |
monitor: Fix usage of %z formater for uint64_t
%z expect a size_t as argument not uint64_t, so passing
an argument of type uint64_t shall use PRIx64 instead. |
Brian Gix |
3 years ago |
1 file, +2, -2 |
| 5351d4d8 |
mesh: Fix snprintf return values not being checked
Some versions of the GCC compiler complain when the return value of
snprintf is not checked. This patch cleans up the Mesh JSON parser. |
Brian Gix |
3 years ago |
1 file, +57, -31 |