Commits

Commit Message Author Age Changes
f0063fcf src/adv_monitor: add monitor with rssi support for mgmt Using the new opcode MGMT_OP_ADD_ADV_PATTERNS_MONITOR_RSSI to monitor advertisement according to some RSSI criteria. Archie Pusaka 5 years ago 1 file, +174, -93
370ed539 doc/advmon-api: Introduce sampling period property The sampling period is used to align with the new MGMT opcode which also have sampling period. Archie Pusaka 5 years ago 1 file, +53, -25
a033babc lib/mgmt: Adding Add Adv Patterns Monitor RSSI opcode The new op is to utilize RSSI in advertisement monitor Archie Pusaka 5 years ago 1 file, +15, -0
7c88062c shared/crypto: Transform bt_cryto in a singleton This makes bt_crypto always return the same instance thus avoiding the problem of having multiple PF sockets opened which may hit the file descriptor limit. Luiz Augusto von Dentz 5 years ago 1 file, +22, -15
c2cae83b emulator: Fix sending CIS Requested to Create CIS device CIS Requested shall be send to the remote peer not the originating one. Luiz Augusto von Dentz 5 years ago 1 file, +1, -1
39054d59 gatt: Fix assuming service changed has been subscribed Unfortunately assuming service changed has been subscribed may cause indication to time out in some peripherals (Logitech M720 Triathlon, Mx Anywhere 2, Lenovo Mice N700, RAPOO BleMouse and Microsoft Designer Mouse) even though the expect actually mandates that the client responds with confirmation these peripherals just ignores it completely which leads them to be disconnected whenever bluetoothd is restarted or the system reboots. Luiz Augusto von Dentz 5 years ago 2 files, +3, -10
1ef6570a device: Enable ATT layer debugging This uses bt_att_set_debug to enable ATT debugging which is useful for detecting error such as an ATT transaction timing out. Luiz Augusto von Dentz 5 years ago 1 file, +2, -0
3450230f shared/att: Add debug level to bt_att_set_debug This creates different levels of debugging which can be passed to bt_att_set_debug as depending on the application it may not need to print everything which can pollute the logs quite a bit. Luiz Augusto von Dentz 5 years ago 5 files, +71, -54
566363b6 util: Introduce util_debug_va This introduces util_debug_va which can take a va_list that enables callers to create wrapper functions if they need to. Luiz Augusto von Dentz 5 years ago 2 files, +18, -5
a23fa59b shared/gatt-server: Fix not accepting multiple requests With introduction of EATT it is possible to send multiple requests using different channels therefore bt_gatt_server shall not attempt to check if there is already an outstanding request. gh issue: https://github.com/bluez/bluez/issues/75 Luiz Augusto von Dentz 5 years ago 1 file, +6, -47
ca01d74f adapter: Remove temporary devices before power off If adapter is powered off when a currently connected device is being removed, there is a possibility that we haven't finish waiting for the disconnection but the adapter is already powered down. When this happens, the kernel would fail to clean the device's information, for example the pairing information. This causes disagreement between the user space and the kernel about whether the device is already paired, because the device is successfully removed from the user space's perspective. This patch enforces the removal of such devices before allowing the adapter to power off. Archie Pusaka 5 years ago 1 file, +17, -1
6a50b6ae gatt: Make use of gatt_db_attribute_set_fixed_length This makes use of gatt_db_attribute_set_fixed_length so the database is aware of the length of the values and perform bounds checking. Luiz Augusto von Dentz 5 years ago 1 file, +16, -20
87184a20 shared/gatt-db: Introduce gatt_db_attribute_set_fixed_length This enables user to inform if an attribute has a fixed length so it can automatically perform bounds checking. Luiz Augusto von Dentz 5 years ago 2 files, +59, -12
114ec8c5 shared/mgmt: Fix memory leak in mgmt_tlv_list This patch freed the mgmt_tlv properly in mgmt_tlv_list_free. Howard Chung 5 years ago 1 file, +1, -1
86ff0aec btmgmt: Add command set-sysconfig Add command set-sysconfig in btmgmt Example usage: [mgmt]# set-sysconfig -h Parameters: -v <type:length:value>... e.g.: set-sysconfig -v 001a:2:1234 001f:1:00 [mgmt]# set-sysconfig -v 8:2:abcd 1:02:0100 0016:2:0600 Howard Chung 5 years ago 1 file, +109, -0
a43586fe btmgmt: Add command read-sysconfig Add command read-sysconfig in btmgmt Example usage: localhost ~ # btmgmt [mgmt]# read-sysconfig Type: 0x0000 Length: 02 Value: 0000 Type: 0x0001 Length: 02 Value: 0008 ... Type: 0x001f Length: 01 Value: 01 Howard Chung 5 years ago 1 file, +48, -0
92229cd3 shared/mgmt: Add supports of parsing mgmt tlv list Response from Read System Default Configuration is a list of mgmt_tlv, which requires further processing to get the values of each parameters. This adds APIs for parsing response into mgmt_tlv_list, retrieving parameter from mgmt_tlv_list. Howard Chung 5 years ago 2 files, +44, -0
3a40bef4 gatt: Fix potential buffer out-of-bound When client features is read check if the offset is within the cli_feat bounds. Fixes: https://github.com/bluez/bluez/issues/70 Luiz Augusto von Dentz 5 years ago 1 file, +5, -0
da250b90 cfg: Add check for newly used function in ELL ELL has a new dependency on rawmemchr() which needs to be accounted for at configure time. Brian Gix 5 years ago 1 file, +2, -0
6bbbabfe mesh: Update AppKeys on transition to Phase 0 At the end of the mesh Key Refresh procedure when a subnet transitions to Phase 0, local AppKeys that were updated were not updating until the bluetooth-meshd daemon was restarted. This patch iterates the AppKeys at the end of mesh Key Refresh when the subnet transitions to Phase 0, setting the new state of each updated AppKey. Michael N. Moran 5 years ago 4 files, +35, -2
8b9ec615 tools/mgmt-tester: Adds new test data with updated tx power This patch adds new test data for the ext advertising test cases that presets the advertising parameter and toggles the connectable flags. When the adv instance is created, it updates the default tx power with the value read from the controller. After toggling the connectable flag, the host uses the tx_power stored in the adv list cache, which is the value read from the controller, instead of the default tx power value(127). Tedd Ho-Jeong An 5 years ago 1 file, +80, -8
9f1b788a emulator/btdev: Add support LE_READ_TX_POWER command This patch adds support for LE_READ_TX_POWER command. It uses a random values for min and max tx power since these values is read from the controller. Tedd Ho-Jeong An 5 years ago 1 file, +19, -1
7a2db0ed tools/mgmt-tester: Update sample data for adv features This patch updates the expected sample data for advertising feature to include the changes for tx power. Tedd Ho-Jeong An 5 years ago 1 file, +3, -3
b31e509e btmon: fix buffer bound checks index_list is of size MAX_INDEX - correct the checks that is meant to catch out-of-bounds access. Jacob Siverskog 5 years ago 1 file, +6, -6
65231892 doc/mgmt-api: Add opcode for adding advertisement monitor with RSSI This is to leverage the filtering by RSSI feature on those controllers which supports advertisement packet filtering. To avoid changing the existing API and breaking it, a new opcode is required. Reviewed-by: Manish Mandlik <mmandlik@chromium.org> Reviewed-by: Miao-chen Chou <mcchou@chromium.org> Reviewed-by: Yun-Hao Chung <howardchung@google.com> Archie Pusaka 5 years ago 1 file, +52, -0
07cc7547 bthost: Add support for address types other then public This properly initialize the address type according to the connection address. Luiz Augusto von Dentz 5 years ago 3 files, +29, -9
77d6ee6f hciemu: Add support for multiple clients This adds support for creating multiple clients (bthost). Luiz Augusto von Dentz 5 years ago 2 files, +163, -77
b5932a5b btdev: Add support for multiple connections This adds support for assigning different handles for connection instead of always using fixed handles. Luiz Augusto von Dentz 5 years ago 2 files, +610, -321
ed1c044c bthost: Always use conn->prnd for Pairing Random Since it is now properly set with random bytes it shall be used when responding. Luiz Augusto von Dentz 5 years ago 1 file, +4, -5
6c3c059c test: add test app for Advertisement Monitor API The python test app to test working of the Advertisement Monitor API. This app: - registers itself with bluez by invoking the RegisterMonitor with the app root path - exposes multiple monitor objects with both valid and invalid monitor parameters - implements Activate/Release/DeviceFound/DeviceLost methods on the monitor object Manish Mandlik 5 years ago 1 file, +402, -0
a729fe0d bthost: Use bt_crypto_random_bytes to generate a Pairing Random This makes it more consistent with how stacks are implemented instead of setting the response all zero which is not secure. Luiz Augusto von Dentz 5 years ago 1 file, +2, -0
ff70f24b monitor: Add option to disable time offset This adds option -N/--no-time which disables the time offset which sometimes is useful when diffing traces where timing information is not relevant. Luiz Augusto von Dentz 5 years ago 1 file, +7, -2
57bccce9 btdev: Fix not responding with the same CIG ID BT_HCI_CMD_LE_SET_CIG_PARAMS shall be responded using the same CIG ID. Luiz Augusto von Dentz 5 years ago 1 file, +2, -1
23b69ab3 input/hog: Cache the HID report map To optimize BLE HID devices reconnection response, we can cache the report map so that the subsequent reconnections do not need round trip time to read the report map. Sonny Sasaka 5 years ago 1 file, +127, -24
5fb9c9fe Revert "input/hog: Remove HID device after HoG device disconnects" This reverts commit d6cafa1f0c3ea1989f8a580e52f418b0998a3552. In commit d6cafa1f0c3e ("input/hog: Remove HID device after HoG device disconnects"), the bt_hog structure is destroyed in order to fix a bug where the UHID connection is not destroyed. This fix has the cost of increasing reconnection time because every reconnection would need to re-read the report map again. An improvement to this fix is, instead of removing the bt_hog structure, we can just destroy the UHID with UHID_DESTROY event and use the existing bt_hog structure to keep the cache of the report map to avoid re-reading the report map at reconnection. Sonny Sasaka 5 years ago 1 file, +0, -2
98f5da02 doc: Fix qemu unable to mount root fs for test-runner This patch fixes the kernel panic while loading the kernel image built with the current config for test-runner. Kernel panic - not syncing: VFS: Unable to mount root fs on unknown-block(0,0) CPU: 0 PID: 1 Comm: swapper Not tainted 5.10.0-rc2-702835-ged93facee36e #6 Hardware name: QEMU Standard PC (Q35 + ICH9, 2009), BIOS 1.13.0-1ubuntu1 04/01/2014 Call Trace: panic+0xee/0x27c mount_block_root+0x315/0x324 ? rest_init+0x7a/0x7a prepare_namespace+0x128/0x157 ? rest_init+0x7a/0x7a kernel_init+0x5/0xf6 ret_from_fork+0x22/0x30 Kernel Offset: 0x2a200000 from 0xffffffff81000000 (relocation range: 0xffffffff80000000-0xffffffffbf) Tedd Ho-Jeong An 5 years ago 1 file, +1, -0
b446ed8e btdev: Fix not handling BT_HCI_CMD_HOST_NUM_COMPLETED_PACKETS System such as Zephyr do use BT_HCI_CMD_HOST_NUM_COMPLETED_PACKETS since BT_HCI_CMD_SET_HOST_FLOW_CONTROL is also supported. Luiz Augusto von Dentz 5 years ago 1 file, +11, -0
952eb43f mesh: Fix check for mkdir return value in keyring.c Remove check for mkdir() return value, since checking for zero does not cover "already exists" condition and adding extra check for errno value unnecessarily complicates the code. If mkdir() fails due to any reason than "already exists", the subsequent call to open() fails and the error is detected and corectly processed by the code. Inga Stotland 5 years ago 1 file, +3, -6
faa1f74a mesh: Zero out config node struct before initializing This memsets all the fields of mesh_db_node to zero prior to intializing some fields in mesh_config_node struct and creating a brand new node configuration. Just a precaution against having uninitialized items. Inga Stotland 5 years ago 1 file, +2, -0
1eb69c3c adv_monitor: Update log messages Update log messages to avoid breaking of user-visible log strings to make it easy to grep for them. Manish Mandlik 5 years ago 1 file, +34, -24
fa53b701 client: Use correct root path for RegisterMonitor Bluetoothctl uses "/" as the app root path. So, use the same app root path while invoking RegisterMonitor method. This will also ensure that InterfacesAdded/InterfacesRemoved signals are emitted on the correct app root path. Manish Mandlik 5 years ago 1 file, +2, -2
dde267ea adv_monitor: Register client app with app-root-path When a client app is registered with g_dbus_client_new(), bluez root path, i.e. "/", is used as the app root path and signal watches are added at that root path. Because of this, InterfacesAdded/InterfacesRemoved signals emitted by app - while creating/removing advertisement monitor objects at the app root path - are not received by bluetoothd. Use g_dbus_client_new_full() to register a client app with the correct app root path. Manish Mandlik 5 years ago 1 file, +1, -1
a37d53db main.conf: Fix using wrong field for PageTimeout The correct field is btd_opts.defaults.br.page_timeout. Luiz Augusto von Dentz 5 years ago 1 file, +1, -1
e2863c00 main.conf: Use BR instead of BREDR as group name This align with latest version of main.conf that does use [BR] instead of [BREDR]. Luiz Augusto von Dentz 5 years ago 1 file, +1, -1
73abf6fb tools/mgmt-tester: Add tests for individual ext adv MGMT commands The new extended advertising MGMT commands are paired, requiring both a Set Parameters and Set Data command to configure a new advertisement. This patch adds the following new tests to test these APIs: 1. Verify that if the adapter is unpowered, MGMT_OP_ADD_EXT_ADV_PARAMS will return a rejected status. 2. Verify that MGMT_OP_ADD_EXT_ADV_PARAMS will return an invalid parameters status if the data payload is malformed. 3. Verify that MGMT_OP_ADD_EXT_ADV_PARAMS is successful on BT4 if request is valid by checking MGMT return value. 4. Verify that MGMT_OP_ADD_EXT_ADV_PARAMS is successful on BT5 if request is valid by checking MGMT return value and that HCI traffic contains a correct advertising parameters request. 5. Verify that if a MGMT_OP_ADD_EXT_ADV_DATA request is received for an advertising instance that is unknown, i.e. MGMT_OP_ADD_EXT_ADV_PARAMS was not yet called, an invalid parameters status is returned. Tests 6-8 first call MGMT_OP_ADD_EXT_ADV_PARAMS successfully in setup to then validate the contents of the subsequent MGMT_OP_ADD_EXT_ADV_DATA call. 6. Verify that if MGMT_OP_ADD_EXT_ADV_DATA is passed an invalid tlv structure, an invalid parameters status is returned. 7. Verify that if MGMT_OP_ADD_EXT_ADV_DATA contains a valid structure, the hci traffic contain a correctly formed Adv Data hci request. 8. Verify that if MGMT_OP_ADD_EXT_ADV_DATA contains a valid structure, the hci traffic contain a correctly formed Adv Scan Response hci request. Reviewed-by: Manish Mandlik <mmandlik@chromium.org> Daniel Winkler 5 years ago 1 file, +293, -0
bc3a76f0 tools/mgmt-tester: Add mgmt-tester coverage for controller capabilities This patch adds two test cases for the new Read Controller Capabilities MGMT command. Since the command itself is simple, the test cases are simple as well: 1. Ensures that providing invalid parameters to the request will result in a failed MGMT response. 2. Ensures that if the controller is BT5 compliant, the Read Controller Capabilities command will return a valid TX power range as expected, otherwise fail. Reviewed-by: Manish Mandlik <mmandlik@chromium.org> Daniel Winkler 5 years ago 1 file, +76, -0
9e2fd160 battery: Implement Battery Provider API This patch implements the BatteryProvider1 and BatteryProviderManager1 API. This is a means for external clients to feed battery information to BlueZ if they handle some profile and can decode battery reporting. The battery information is then exposed externally via the existing Battery1 interface. UI components can consume this API to display Bluetooth peripherals' battery via a unified BlueZ API. Reviewed-by: Miao-chen Chou <mcchou@chromium.org> Sonny Sasaka 5 years ago 4 files, +405, -5
8b61f780 adapter: Add a public function to find a device by path The public function is motivated by the Battery Provider API code which needs to probe whether a device exists. Reviewed-by: Miao-chen Chou <mcchou@chromium.org> Sonny Sasaka 5 years ago 2 files, +26, -9
4e54b08c test: Add test app for Battery Provider API The python test app simulates an application registering to BlueZ as a Battery Provider providing three fake batteries drained periodically. Reviewed-by: Miao-chen Chou <mcchou@chromium.org> Sonny Sasaka 5 years ago 1 file, +232, -0
0ba3339c doc: Add Battery Provider API doc This patch add the documentation of the Battery Provider which lets external clients feed battery information to BlueZ if they are able to decode battery reporting via any profile. BlueZ UI clients can then use the org.bluez.Battery1 API as a single source of battery information coming from many different profiles. Reviewed-by: Miao-chen Chou <mcchou@chromium.org> Sonny Sasaka 5 years ago 1 file, +55, -0
Previous Next