| Commit message (Collapse) | Author | Age | Files | Lines |
|
|
|
|
|
|
| |
This adds the following tests for encrypted broadcast:
ISO Broadcaster Encrypted - Success
ISO Broadcaster Receiver Encrypted - Success
|
|
|
|
|
| |
The code was assuming only index 0 was to be used which doesn't work
when there are multiple CIS being programmed with different parameters.
|
|
|
|
|
| |
Split bt_iso_qos into dedicated unicast and broadcast
structures and add additional broadcast parameters.
|
|
|
|
|
|
| |
Add vhci support to trigger the hci devcoredump by writing to
force_devcoredump debugfs entry and read the generated devcoredump
file.
|
|
|
|
|
|
|
|
| |
Change bthost_send_iso to take packet sequence number and timestamp, and
allow it to send timestamped HCI ISO data packets.
Currently, btdev passes through ISO packets, so this can also be used to
test RX timestamping.
|
|
|
|
|
| |
This enables setting an accept callback which can return reject
reason if the connection shall not be accepted.
|
|
|
|
|
| |
This adds functions that can be used to set debugfs
force_static_address.
|
|
|
|
|
| |
This adds btdev_set_bdaddr so it is possible to set an arbritrary
address.
|
|
|
|
|
| |
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.
|
|
|
|
| |
This enables setting QoS other then the mandatory 16_2_1.
|
|
|
|
|
|
|
|
|
|
|
| |
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).'
|
|
|
|
|
| |
This makes sure that all connections and advertising sets are cleanup
on reset.
|
|
|
|
|
| |
CIS Established was using the ISO latency instead of SDU interval for
transport latency.
|
|
|
|
| |
Create BIG shall set proper values for interval, latency, rtn and phy.
|
|
|
|
| |
This introduces bthost_set_cig_params and bthost_create_cis.
|
|
|
|
| |
This resets ssp_status and ssp_auto_complete flags on auth_complete.
|
|
|
|
| |
This fixes status return to BIG Create Sync command.
|
|
|
|
|
| |
This adds support for sending LE BIG Info Adv Reports if LE Create BIG
has been called.
|
|
|
|
|
| |
This checks if the parameters given to Set CIG Parameters and Remove CIG
are in the valid range.
|
|
|
|
|
| |
The response should both the status and TX Power regardless if the
command succeeds or not.
|
|
|
|
| |
This adds bthost_create_big
|
|
|
|
| |
This adds bthost_set_pa_params and bthost_set_pa_enable.
|
|
|
|
| |
This adds sending and receiving BT_H4_ISO_PKT packets.
|
|
|
|
|
| |
This sends BT_HCI_EVT_DISCONNECT_COMPLETE when handling
BT_HCI_CMD_LE_BIG_TERM_SYNC.
|
|
|
|
|
| |
This sends BT_HCI_EVT_LE_BIG_SYNC_ESTABLISHED when handling
BT_HCI_CMD_LE_BIG_CREATE_SYNC.
|
|
|
|
| |
This renames the use of Periodic Advertising in the API to just PA.
|
|
|
|
|
|
| |
This sends BT_HCI_EVT_LE_PER_SYNC_ESTABLISHED if remote device start
to periodic advertise when BT_HCI_CMD_LE_PERIODIC_ADV_CREATE_SYNC is
pending.
|
|
|
|
|
| |
This sends BT_HCI_EVT_LE_PER_SYNC_ESTABLISHED if scan is initiated
while BT_HCI_CMD_LE_PERIODIC_ADV_CREATE_SYNC is pending.
|
|
|
|
| |
This adds implementation of BT_HCI_CMD_LE_PERIODIC_ADV_TERM_SYNC.
|
|
|
|
|
|
| |
This adds implementation of
BT_HCI_CMD_LE_PERIODIC_ADV_CREATE_SYNC_CANCEL generating
BT_HCI_EVT_LE_PER_SYNC_ESTABLISHED if necessary.
|
|
|
|
|
|
| |
This adds implementation of BT_HCI_CMD_LE_PERIODIC_ADV_CREATE_SYNC
generating BT_HCI_EVT_LE_PER_SYNC_ESTABLISHED and
BT_HCI_EVT_LE_PER_ADV_REPORT.
|
|
|
|
|
|
| |
The PDU of Create BIG is actually fixed size as the num_bis is
related to the number of indexes to be connected and not the BIS
parameters.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
getrandom and sys/random.h are only available since glibc 2.25:
https://www.gnu.org/software/gnulib/manual/html_node/sys_002frandom_002eh.html
resulting in the following build failures since version 5.63 and
https://git.kernel.org/pub/scm/bluetooth/bluez.git/log/?qt=grep&q=getrandom:
plugins/autopair.c:20:24: fatal error: sys/random.h: No such file or directory
#include <sys/random.h>
^
To fix this build failure, add util_getrandom and a fallback (borrowed
from pipewire and licensed under MIT):
https://gitlab.freedesktop.org/pipewire/pipewire/-/blob/master/src/pipewire/utils.c
Fixes:
- http://autobuild.buildroot.org/results/6b8870d12e0804d6154230a7322c49416c1dc0e2
|
|
|
|
|
| |
This increase the number of credits so bigger packets can be sent by
the likes of rfcomm-tester.
|
|
|
|
|
| |
This fixes the length calculation for large packets that requires more
than 1 byte.
|
|
|
|
|
| |
Large packets requires the support of ACL fragmentation in order to be
properly processed.
|
|
|
|
|
| |
BT_HCI_CMD_LE_REMOVE_CIG should respond with the CIG ID from the
command instead of always responding with 0x00.
|
|
|
|
|
| |
The status was reporting BT_HCI_CMD_DISCONNECT instead of
BT_HCI_CMD_LE_TERM_BIG.
|
|
|
|
|
|
| |
This adds handler for BT_HCI_CMD_LE_TERM_BIG and generate
BT_HCI_EVT_LE_BIG_TERMINATE to indicate to the host stack that the
BIG has been terminated.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
This adds support for vendor commands reserving a single opcode (0xfc10)
so it can be extended using subcommands, similar to how MSFT works.
The first subcommand (0x00) enables the emulator to generate arbitrary
events using the commands parameters:
> tools/hcitool cmd 3f 10 00 22 24 d0 d0 d0 d0 d0 d0 ff ff
< HCI Command: Vendor (0x3f|0x0010) plen 11
00 22 24 d0 d0 d0 d0 d0 d0 ff ff
."$........
Bluetooth: hci0: Malformed HCI Event: 0x22
> HCI Event: Inquiry Result with R.. (0x22) plen 9
Num responses: 36
Page scan repetition mode: Reserved (0xff)
Page period mode: Reserved (0xff)
Class: 0xffffd0
Major class: Uncategorized, specific device code not specified
Minor class: 0x34
Limited Discoverable Mode
invalid service class
Clock offset: 0x6368
RSSI: 105 dBm (0x69)
> HCI Event: Command Complete (0x0e) plen 4
Vendor (0x3f|0x0010) ncmd 1
Status: Success (0x00)
|
|
|
|
|
| |
This adds support for BT_HCI_CMD_LE_CREATE_CONN_CANCEL so it is able to
generate proper command complete.
|
|
|
|
|
|
|
|
| |
This patch replaces the rand() function to the getrandom() syscall.
It was reported by the Coverity scan
rand() should not be used for security-related applications, because
linear congruential algorithms are too easy to break
|
|
|
|
|
| |
This patch releases the allocated fd to prevent the potential resource
leak. This was reported by the Coverity scan.
|
|
|
|
|
| |
This patch fixes the uninitiailzed varialble(CWE-457) reported by
the Coverity scan.
|
|
|
|
|
|
|
|
|
|
|
|
| |
This adds support for LE Set Privacy mode which is required when using
Device Privacy mode:
< HCI Command: LE Set Priva.. (0x08|0x004e) plen 8
Peer Identity address type: Public (0x00)
Peer Identity address: BC:9A:78:56:34:12 (OUI BC-9A-78)
Privacy Mode: Use Device Privacy (0x01)
> HCI Event: Command Complete (0x0e) plen 4
LE Set Privacy Mode (0x08|0x004e) ncmd 1
|
|
|
|
|
| |
This patch add supprt emulator to get the advertising address of the
central device.
|
|
|
|
| |
This patch adds support LE_Extended_Advertising_Report Eevnt in bthost.
|
|
|
|
|
| |
This patch adds interfaces to config the accept list and resolve list in
the btdev.
|
|
|
|
|
| |
Command callback can only be used when generating a command status as
command complete can carry more than just the status.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
This enables the emulator to properly emulate the generation of a Local
RPA so it always set the random_addr when Create Connection sets 0x03 as
own_addr_type 0x03:
< HCI Command: LE Extended.. (0x08|0x0043) plen 26
Filter policy: Accept list is not used (0x00)
Own address type: Random (0x03)
Peer address type: Public (0x00)
Peer address: 00:AA:01:01:00:00 (Intel Corporation)
Initiating PHYs: 0x01
Entry 0: LE 1M
Scan interval: 60.000 msec (0x0060)
Scan window: 60.000 msec (0x0060)
Min connection interval: 30.00 msec (0x0018)
Max connection interval: 50.00 msec (0x0028)
Connection latency: 0 (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
LE Extended Create Connection (0x08|0x0043) ncmd 1
Status: Success (0x00)
> HCI Event: LE Meta Event (0x3e) plen 31
LE Enhanced Connection Complete (0x0a)
Status: Success (0x00)
Handle: 42
Role: Central (0x00)
Peer address type: Public (0x00)
Peer address: 00:AA:01:01:00:00 (Intel Corporation)
Local resolvable private address: 60:0C:C5:B9:10:5D (Resolvable)
Peer resolvable private address: 00:00:00:00:00:00 (Non-Resolvable)
Connection interval: 50.00 msec (0x0028)
Connection latency: 0 (0x0000)
Supervision timeout: 420 msec (0x002a)
Central clock accuracy: 0x00
|