| 95d3e665 |
shared/bap: Pass bcode as a reference instead of value
This makes bcode field a pointer which makes it simpler to detect when
it is set and also fixes the usage of util_iov_free which expects it to
be allocated. |
Luiz Augusto von Dentz |
2 years ago |
2 files, +6, -8 |
| 8f525dbc |
client/player: Fix transport.acquire for linked transports
Linked (bi-directional) transports can be acquired on single D-Bus
method call which was not being handled properly by the current code
causing unexpected errors. |
Luiz Augusto von Dentz |
2 years ago |
1 file, +107, -95 |
| 0053bc54 |
client/player: Fix auto registration of broadcast endpoint
For broadcast endpoint broadcast must be set properly. |
Luiz Augusto von Dentz |
2 years ago |
1 file, +17, -16 |
| 2c9ab2d3 |
client: Print integers decimal value
This make the code print D-Bus integer iterators also in decimal format
in addition to hexadecimal. |
Luiz Augusto von Dentz |
2 years ago |
1 file, +6, -3 |
| 62032321 |
shared/bap: Add unespecified bit in audio context to PAC records
This makes sure unespecified bit is properly marked in both audio
contexts since that required by many platforms in order to work properly
and while doing that add proper defines to the defaults values used in
PACS. |
Luiz Augusto von Dentz |
2 years ago |
1 file, +14, -6 |
| ddd09531 |
shared/bass: Implement CP opcode handlers
This adds handlers for the following BASS Broadcast Audio Scan
Control Point opcodes:
Remote Scan Stopped
Remote Scan Started
Remove Source |
Iulia Tanasescu |
2 years ago |
1 file, +142, -13 |
| c0156edd |
gatt-server: Check pointer before memcpy
This adds a check before calling memcpy inside
bt_gatt_server_send_notification, to avoid getting
the following error in case the user wants to send
an empty notification for an attribute:
src/shared/gatt-server.c:1789:3: runtime error:
null pointer passed as argument 2, which is declared to never be null |
Iulia Tanasescu |
2 years ago |
1 file, +4, -1 |
| d2d2d12f |
shared/vcp.c: Make VOCS as an included service of VCS
Fixed the following issue observed during PTS testing
- Specified Upper and Lower Limit for Volume offset
- Corrected the number of handles for VOCS
- VOCS is made as included service of VCS
(VOCS is secondary service and VSC is primary service) |
Nitin Jadhav |
2 years ago |
1 file, +18, -7 |
| 52a4d79f |
shared/vcp: Add initial code for handling VOCS
Summary:
- This adds implementation for VOCS service and characteristics
- Implementation based on VOCS_v1.0.pdf specification
- Tested using PTS with reference to VOCS.TS.p1.pdf |
Nitin Jadhav |
2 years ago |
1 file, +550, -0 |
| 0735ca17 |
lib/uuid.h: Add VOCS characteristic uuid(s) |
Nitin Jadhav |
2 years ago |
1 file, +5, -0 |
| 0599a7fa |
mesh: Fix build error
This fixes the following error:
In function ‘get_composition’,
inlined from ‘cfg_srv_pkt’ at mesh/cfgmod-server.c:801:8:
mesh/cfgmod-server.c:758:9: error: ‘comp’ may be used
uninitialized [-Werror=maybe-uninitialized]
758 | memcpy(buf, comp, len);
| ^~~~~~~~~~~~~~~~~~~~~~
mesh/cfgmod-server.c: In function ‘cfg_srv_pkt’:
mesh/cfgmod-server.c:739:24: note: ‘comp’ was declared here
739 | const uint8_t *comp;
| ^~~~ |
Luiz Augusto von Dentz |
2 years ago |
1 file, +2, -2 |
| 2f52afa2 |
btdev: Fix build error
This fixes the following build error:
emulator/btdev.c: In function ‘le_cis_estabilished’:
emulator/btdev.c:5947:22: error: ‘cis_idx’ may be used
uninitialized [-Werror=maybe-uninitialized]
5947 | int cig_idx, cis_idx;
| ^~~~~~~ |
Luiz Augusto von Dentz |
2 years ago |
1 file, +1, -1 |
| 30308830 |
bap: Add broadcast source support
This updates BAP plugin with broadcast source support. |
Silviu Florian Barbulescu |
2 years ago |
4 files, +623, -81 |
| d15d9669 |
shared/bap: Add initial code for BAP broadcast source
This adds initial support for BAP broadcast source. |
Silviu Florian Barbulescu |
2 years ago |
2 files, +216, -36 |
| eb821743 |
client/player: Add support for broadcast source
This adds bluetoothctl support for broadcast source.
To test the current implementation use bluetoothctl with the commands:
endpoint.register 00001852-0000-1000-8000-00805f9b34fb 0x06
endpoint.config <created endpoint> <local endpoint> 16_2_1
transport.acquire <created transport>
transport.send <created transport> <file.wav> |
Silviu Florian Barbulescu |
2 years ago |
1 file, +201, -25 |
| eeb349bb |
shared/bap: Split unicast and broadcast structures
This splits bt_bap_qos structure into unicast and broadcast structures. |
Silviu Florian Barbulescu |
2 years ago |
6 files, +188, -137 |
| 08d62744 |
media: Register app objects in proxy_added_cb()
The proxy_added_cb() function is called every time a new client is added
to the application object manager. Registering media endpoint and player
in that proxy_added_cb() callback function will allow to register new
endpoints and players not only during the initial RegisterApplication
call, but also during the application lifetime. For instance, this might
allow to dynamically enable/disable support for additional codecs. |
Arkadiusz Bokowy |
2 years ago |
1 file, +4, -3 |
| 8f32fa24 |
battery: Check interface before getting property
Client can export other interfaces than the BatteryProvide1 on the
registered object manager. So, before getting battery provider specific
property, validate that we are operating on the right interface.
This change will allow client to implement only one object manger for
media applications, players and battery providers without triggering
error message. |
Arkadiusz Bokowy |
2 years ago |
1 file, +8, -8 |
| 52477e80 |
shared/bap: Don't overwrite attribute declaration
The attribute declaration (e.g. characteristic properties) shall not be
overwritten as they are part of the information that is part of the
cache beside the same information is already stored as part of the
bt_bap instance. |
Luiz Augusto von Dentz |
2 years ago |
1 file, +0, -12 |
| f84979c1 |
monitor: Only print credentials if PID is set
If PID is not set don't print anything since this is likely a packet
originated by the kernel itself. |
Luiz Augusto von Dentz |
2 years ago |
1 file, +1, -1 |
| 1248bdd4 |
unit: Introduce test-bass
This adds 3 unit tests for BASS server, to simulate the
Generic GATT Integrated Test suite for BASS.
Test Summary
------------
BASS/SR/SGGIT/SER/BV-01-C Passed
BASS/SR/SGGIT/CHA/BV-01-C Passed
BASS/SR/SGGIT/CHA/BV-02-C Passed
Total: 3, Passed: 3 (100.0%), Failed: 0, Not Run: 0 |
Iulia Tanasescu |
2 years ago |
2 files, +403, -0 |
| c39317ed |
shared/bass: Add Write Without Response property to the CP characteristic
This adds the Write Without Response property to the Broadcast Audio
Scan Control Point characteristic, which is mandatory according to
specification. |
Iulia Tanasescu |
2 years ago |
1 file, +2, -1 |
| 35d8c3b5 |
iso-tester: Add BAP Broadcast AC tests
This adds the following tests based on BAP Broadcast Audio Configurations:
ISO Broadcaster AC 12 - Success
ISO Broadcaster AC 13 - Success
ISO Broadcaster AC 14 - Success |
Iulia Tanasescu |
2 years ago |
1 file, +159, -38 |
| 97edc78b |
btdev: Support multiple BIS
This adds support for creating a BIG with multiple BISes. |
Iulia Tanasescu |
2 years ago |
1 file, +33, -19 |
| 8ff103f9 |
isotest: Add support for creating/synchronizing to multiple BISes
This adds an additional command line option for the Broadcast exercise,
so that the user can indicate the number of BISes to create as part of a
BIG (Broadcast Source), or the number of BISes to synchronize
to (Broadcast Sink).
For the Broadcast Source exercise, issue the following command,
in order to create a BIG with handle 0x01, associated with the
advertising handle 0x01, with 2 BISes:
tools/isotest -i hci0 -s 00:00:00:00:00:00 -N 2 -G 1 -T 1
The isotest and btmon logs will look something like this:
isotest[7178]: mgmt socket: fd 3
isotest[7178]: mgmt_set_le: err 0
isotest[7178]: mgmt_set_experimental: err 0
isotest[7179]: Exit
isotest[7178]: Connecting 00:00:00:00:00:00 ...
isotest[7178]: Connected [00:00:00:00:00:00]
isotest[7178]: QoS [BIG 0x01 BIS 0x01 Packing 0x00 Framing 0x00 Encryption 0x00]
isotest[7178]: Input QoS [Interval 10000 us Latency 10 ms SDU 0 PHY 0x00 RTN 2]
isotest[7178]: Output QoS [Interval 10000 us Latency 10 ms SDU 40 PHY 0x02 RTN 2]
isotest[7178]: Connecting 00:00:00:00:00:00 ...
isotest[7178]: Connected [00:00:00:00:00:00]
isotest[7178]: QoS [BIG 0x01 BIS 0x01 Packing 0x00 Framing 0x00 Encryption 0x00]
isotest[7178]: Input QoS [Interval 10000 us Latency 10 ms SDU 0 PHY 0x00 RTN 2]
isotest[7178]: Output QoS [Interval 10000 us Latency 10 ms SDU 40 PHY 0x02 RTN 2]
isotest[7183]: Sending ...
isotest[7183]: Number of packets: 1
isotest[7183]: Socket jitter buffer: 80 buffer
isotest[7183]: [seq 0] 40 bytes buffered 92 (3712 bytes)
isotest[7184]: Sending ...
isotest[7184]: Number of packets: 1
isotest[7184]: Socket jitter buffer: 80 buffer
isotest[7184]: [seq 0] 40 bytes buffered 92 (3712 bytes)
isotest[7178]: Exit
< HCI Command: LE Create Broadcast Isochronous Group (0x08|0x0068) plen 31
Handle: 0x01
Advertising Handle: 0x01
Number of BIS: 2
SDU Interval: 10000 us (0x002710)
Maximum SDU size: 40
Maximum Latency: 10 ms (0x000a)
RTN: 0x02
PHY: LE 2M (0x02)
Packing: Sequential (0x00)
Framing: Unframed (0x00)
Encryption: 0x00
Broadcast Code: 00000000000000000000000000000000
> HCI Event: Command Status (0x0f) plen 4
LE Create Broadcast Isochronous Group (0x08|0x0068) ncmd 1
Status: Success (0x00)
> HCI Event: LE Meta Event (0x3e) plen 23
LE Broadcast Isochronous Group Complete (0x1b)
Status: Success (0x00)
Handle: 0x01
BIG Synchronization Delay: 1974 us (0x0007b6)
Transport Latency: 1974 us (0x0007b6)
PHY: LE 2M (0x02)
NSE: 3
BN: 1
PTO: 1
IRC: 3
Maximum PDU: 40
ISO Interval: 10.00 msec (0x0008)
Connection Handle #0: 10
Connection Handle #1: 11
< HCI Command: LE Setup Isochronous Data Path (0x08|0x006e) plen 13
Handle: 10
Data Path Direction: Input (Host to Controller) (0x00)
Data Path: HCI (0x00)
Coding Format: Transparent (0x03)
Company Codec ID: Ericsson Technology Licensing (0)
Vendor Codec ID: 0
Controller Delay: 0 us (0x000000)
Codec Configuration Length: 0
Codec Configuration:
> HCI Event: Command Complete (0x0e) plen 6
LE Setup Isochronous Data Path (0x08|0x006e) ncmd 1
Status: Success (0x00)
Handle: 10
< HCI Command: LE Setup Isochronous Data Path (0x08|0x006e) plen 13
Handle: 11
Data Path Direction: Input (Host to Controller) (0x00)
Data Path: HCI (0x00)
Coding Format: Transparent (0x03)
Company Codec ID: Ericsson Technology Licensing (0)
Vendor Codec ID: 0
Controller Delay: 0 us (0x000000)
Codec Configuration Length: 0
Codec Configuration:
> HCI Event: Command Complete (0x0e) plen 6
LE Setup Isochronous Data Path (0x08|0x006e) ncmd 1
Status: Success (0x00)
Handle: 11
< ISO Data TX: Handle 10 flags 0x02 dlen 44
< ISO Data TX: Handle 11 flags 0x02 dlen 44
> HCI Event: Number of Completed Packets (0x13) plen 5
Num handles: 1
Handle: 10
Count: 1
> HCI Event: Number of Completed Packets (0x13) plen 5
Num handles: 1
Handle: 11
Count: 1
For the Broadcast Sink exercise, issue the following command,
in order to synchronize to the BISes created by the source:
tools/isotest -i hci1 -r 36:13:00:E1:1B:F0 -V le_random -N 2 -G 1
The flow is shown by the isotest log and the filtered btmon snippet below:
isotest[4033]: mgmt socket: fd 3
isotest[4034]: Exit
isotest[4033]: mgmt_set_le: err 0
isotest[4033]: mgmt_set_experimental: err 0
isotest[4033]: Waiting for connection 36:13:00:E1:1B:F0...
isotest[4036]: Connected [36:13:00:E1:1B:F0]
isotest[4036]: QoS [BIG 0x01 BIS 0x00 Packing 0x00 Framing 0x00 Encryption 0x00]
isotest[4036]: Input QoS [Interval 1974 us Latency 10 ms SDU 40 PHY 0x00 RTN 0]
isotest[4036]: Output QoS [Interval 0 us Latency 0 ms SDU 0 PHY 0x00 RTN 0]
isotest[4036]: Receiving ...
isotest[4037]: Connected [36:13:00:E1:1B:F0]
isotest[4037]: QoS [BIG 0x01 BIS 0x00 Packing 0x00 Framing 0x00 Encryption 0x00]
isotest[4037]: Input QoS [Interval 1974 us Latency 10 ms SDU 40 PHY 0x00 RTN 0]
isotest[4037]: Output QoS [Interval 0 us Latency 0 ms SDU 0 PHY 0x00 RTN 0]
isotest[4037]: Receiving ...
isotest[4037]: [seq 0] 280 bytes in 6.48 sec speed 0.34 kb/s
isotest[4036]: [seq 0] 280 bytes in 6.54 sec speed 0.33 kb/s
isotest[4037]: [seq 1] 280 bytes in 7.01 sec speed 0.31 kb/s
isotest[4036]: [seq 1] 280 bytes in 7.02 sec speed 0.31 kb/s
isotest[4037]: [seq 2] 280 bytes in 7.06 sec speed 0.31 kb/s
isotest[4036]: [seq 2] 280 bytes in 7.04 sec speed 0.31 kb/s
< HCI Command: LE Periodic Advertising Create Sync (0x08|0x0044) plen 14
Options: 0x0000
Use advertising SID, Advertiser Address Type and address
Reporting initially enabled
SID: 0x00
Adv address type: Random (0x01)
Adv address: 36:13:00:E1:1B:F0 (Non-Resolvable)
Skip: 0x0000
Sync timeout: 163840 msec (0x4000)
Sync CTE type: 0x0000
> HCI Event: Command Status (0x0f) plen 4
LE Periodic Advertising Create Sync (0x08|0x0044) ncmd 1
Status: Success (0x00)
< HCI Command: LE Set Extended Scan Parameters (0x08|0x0041) plen 13
Own address type: Public (0x00)
Filter policy: Ignore not in accept list (0x01)
PHYs: 0x05
Entry 0: LE 1M
Type: Passive (0x00)
Interval: 60.000 msec (0x0060)
Window: 30.000 msec (0x0030)
Entry 1: LE Coded
Type: Passive (0x00)
Interval: 60.000 msec (0x0060)
Window: 30.000 msec (0x0030)
> HCI Event: Command Complete (0x0e) plen 4
LE Set Extended Scan Parameters (0x08|0x0041) ncmd 1
Status: Success (0x00)
< HCI Command: LE Set Extended Scan Enable (0x08|0x0042) plen 6
Extended scan: Enabled (0x01)
Filter duplicates: Enabled (0x01)
Duration: 0 msec (0x0000)
Period: 0.00 sec (0x0000)
> HCI Event: Command Complete (0x0e) plen 4
LE Set Extended Scan Enable (0x08|0x0042) ncmd 1
Status: Success (0x00)
> HCI Event: LE Meta Event (0x3e) plen 16
LE Periodic Advertising Sync Established (0x0e)
Status: Success (0x00)
Sync handle: 0
Advertising SID: 0x00
Advertiser address type: Random (0x01)
Advertiser address: 36:13:00:E1:1B:F0 (Non-Resolvable)
Advertiser PHY: LE 2M (0x02)
Periodic advertising interval: 10.00 msec (0x0008)
Advertiser clock accuracy: 0x00
> HCI Event: LE Meta Event (0x3e) plen 8
LE Periodic Advertising Report (0x0f)
Sync handle: 0
TX power: 127 dbm (0x7f)
RSSI: -47 dBm (0xd1)
CTE Type: No Constant Tone Extension (0xff)
Data status: Complete
Data length: 0x00
> HCI Event: LE Meta Event (0x3e) plen 20
LE Broadcast Isochronous Group Info Advertising Report (0x22)
Sync Handle: 0x0000
Number BIS: 2
NSE: 3
ISO Interval: 10.00 msec (0x0008)
BN: 1
PTO: 1
IRC: 3
Maximum PDU: 40
SDU Interval: 10000 us (0x002710)
Maximum SDU: 40
PHY: LE 2M (0x02)
Framing: Unframed (0x00)
Encryption: 0x00
< HCI Command: LE Broadcast Isochronous Group Create Sync (0x08|0x006b) plen 26
BIG Handle: 0x01
BIG Sync Handle: 0x0000
Encryption: Unencrypted (0x00)
Broadcast Code: 00000000000000000000000000000000
Maximum Number Subevents: 0x00
Timeout: 163840 ms (0x4000)
Number of BIS: 2
BIS ID: 0x01
BIS ID: 0x02
> HCI Event: LE Meta Event (0x3e) plen 19
LE Broadcast Isochronous Group Sync Estabilished (0x1d)
Status: Success (0x00)
BIG Handle: 0x01
Transport Latency: 1974 us (0x0007b6)
NSE: 3
BN: 1
PTO: 1
IRC: 3
Maximum PDU: 40
ISO Interval: 10.00 msec (0x0008)
Connection Handle #0: 10
Connection Handle #1: 11
< HCI Command: LE Setup Isochronous Data Path (0x08|0x006e) plen 13
Handle: 10
Data Path Direction: Output (Controller to Host) (0x01)
Data Path: HCI (0x00)
Coding Format: Transparent (0x03)
Company Codec ID: Ericsson Technology Licensing (0)
Vendor Codec ID: 0
Controller Delay: 0 us (0x000000)
Codec Configuration Length: 0
Codec Configuration:
> HCI Event: Command Complete (0x0e) plen 6
LE Setup Isochronous Data Path (0x08|0x006e) ncmd 1
Status: Success (0x00)
Handle: 10
< HCI Command: LE Setup Isochronous Data Path (0x08|0x006e) plen 13
Handle: 11
Data Path Direction: Output (Controller to Host) (0x01)
Data Path: HCI (0x00)
Coding Format: Transparent (0x03)
Company Codec ID: Ericsson Technology Licensing (0)
Vendor Codec ID: 0
Controller Delay: 0 us (0x000000)
Codec Configuration Length: 0
Codec Configuration:
> HCI Event: Command Complete (0x0e) plen 6
LE Setup Isochronous Data Path (0x08|0x006e) ncmd 1
Status: Success (0x00)
Handle: 11
> ISO Data RX: Handle 10 flags 0x06 dlen 48
> ISO Data RX: Handle 11 flags 0x06 dlen 48 |
Iulia Tanasescu |
2 years ago |
2 files, +218, -76 |
| 15eb5704 |
test-runner: enable no_hash_pointers=1
Set no_hash_pointers=1 to avoid printk printing "___ptrval___" for %p.
This happens with test-runner since the kernel is not running long
enough to gather entropy and so refuses to print addresses, and makes
debugging harder. As test-runner is only used for testing and
debugging, pointer hashing is not needed. |
Pauli Virtanen |
2 years ago |
1 file, +1, -1 |
| d214fe5f |
btdev: check LE Create CIS error conditions
Check LE Create CIS input parameter are valid and return correct status
codes (Core v5.3 Vol 4 Part E Sec. 7.8.99).
On current bluetooth-next kernel, this results to
ISO AC 6(i) - Success Failed
ISO AC 7(i) - Success Failed
ISO AC 8(i) - Success Failed
ISO AC 9(i) - Success Failed
ISO AC 11(i) - Success Failed
as in these tests the kernel is sending new Create CIS commands before
it has seen all events from the previous, which is not allowed:
< HCI Command: LE Create Co.. (0x08|0x0064) plen 9 #129 [hci0]
Number of CIS: 2
CIS Handle: 257
ACL Handle: 42
CIS Handle: 258
ACL Handle: 42
> HCI Event: Command Status (0x0f) plen 4 #130 [hci0]
LE Create Connected Isochronous Stream (0x08|0x0064) ncmd 1
Status: Success (0x00)
> HCI Event: LE Meta Event (0x3e) plen 29 #131 [hci0]
LE Connected Isochronous Stream Established (0x19)
Status: Success (0x00)
Connection Handle: 257
...
< HCI Command: LE Setup Is.. (0x08|0x006e) plen 13 #132 [hci0]
...
> HCI Event: Command Complete (0x0e) plen 6 #133 [hci0]
LE Setup Isochronous Data Path (0x08|0x006e) ncmd 1
...
< HCI Command: LE Create Co.. (0x08|0x0064) plen 5 #134 [hci0]
Number of CIS: 1
CIS Handle: 258
ACL Handle: 42
> HCI Event: Command Status (0x0f) plen 4 #135 [hci0]
LE Create Connected Isochronous Stream (0x08|0x0064) ncmd 1
Status: ACL Connection Already Exists (0x0b)
> HCI Event: LE Meta Event (0x3e) plen 29 #136 [hci0]
LE Connected Isochronous Stream Established (0x19)
Status: Success (0x00)
Connection Handle: 258
...
The emulator uses Already Exists error code here, not Command
Disallowed, since the Established events are logically generated
immediately after the first status event, even though the kernel hasn't
yet processed them. |
Pauli Virtanen |
2 years ago |
2 files, +39, -0 |
| a8b927e3 |
btdev: fix inactive CIG configurable status
CIG shall not be configurable after the first Create CIS until Remove
CIG is issued (Core v5.3 Vol 6 Part B Sec. 4.5.14.3). We currently have
it configurable in the inactive state (Create CIS done and all CIS
closed), which is incorrect.
Track CIG state and allow reconfigure only in nonexistent/configured
state, i.e., when no CIS have been created yet. |
Pauli Virtanen |
2 years ago |
1 file, +15, -17 |
| 000c2012 |
iso-tester: Add tests for AC configuration reconnect
Add test for reconnecting a CIG with two CIS, either both with same peer
or with different peers.
ISO Reconnect AC 6(i) - Success
ISO Reconnect AC 6(ii) - Success |
Pauli Virtanen |
2 years ago |
1 file, +30, -9 |
| 7002ecc8 |
btio: Add support for setsockopt (BT_IO_OPT_BASE)
This adds btio support for setting the BT_IO_OPT_BASE socket option. |
Silviu Florian Barbulescu |
2 years ago |
2 files, +25, -3 |
| 07c6d9b1 |
lib: Add macro definitions for BAP broadcast source support
This adds macro definitions for BAP broadcast source support. |
Silviu Florian Barbulescu |
2 years ago |
3 files, +15, -0 |
| 97f33862 |
monitor: Decode broadcast bits of MGMT settings
This adds bits for broadcast support to mgmt_settings_table. |
Silviu Florian Barbulescu |
2 years ago |
1 file, +3, -1 |
| f808fa06 |
doc: Update Docs for BAP broadcast source
This adds broadcast properties to the SetConfiguration method and
bits for Broadcast support to the Supported_Settings bitmask. |
Silviu Florian Barbulescu |
2 years ago |
2 files, +13, -0 |
| ec85350c |
monitor: Print process information
This prints the process information when available:
bluetoothd[35]: @ MGMT Command: Rea.. (0x0001) plen 0 {0x0001}
@ MGMT Event: Command Complete (0x0001) plen 6 {0x0001}
Read Management Version Information (0x0001) plen 3 |
Luiz Augusto von Dentz |
2 years ago |
1 file, +31, -25 |
| 718f27d0 |
monitor: Add latency information per channel
This attempts to print latency information per channel in addition to
per connection/handle:
> HCI Event: Number of Completed Packets (0x13) plen 5
Num handles: 1
Handle: 256 Address: XX:XX:XX:XX:XX:XX
Count: 1
Latency: 15 msec (3-39 msec ~18 msec)
Channel: 68 [PSM 25 mode Basic (0x00)] {chan 2}
Channel Latency: 15 msec (6-35 msec ~18 msec) |
Luiz Augusto von Dentz |
2 years ago |
4 files, +85, -1 |
| 98a9a3c4 |
iso-tester: Make QoS parameters reflect the tests names
AC 1 + 2 tests shall use their respective QoS parameters. |
Luiz Augusto von Dentz |
2 years ago |
1 file, +21, -14 |
| 06aa4221 |
iso-tester: Add tests for AC 1 + 2
Add tests connecting two CIS using different CIG_ID, with fixed and
auto-allocated IDs.
ISO AC 1 + 2 - Success
ISO AC 1 + 2 CIG 0x01/0x02 - Success
The CIS are connected sequentially so that the first is closed after the
second is connected. In the auto/auto case the kernel shall pick a new
CIG_ID since the first CIG_ID is no longer in a configurable state. |
Pauli Virtanen |
2 years ago |
1 file, +47, -0 |
| 0c32cfdf |
btdev: report right reason for local Disconnect complete
Disconnect initiated by local host should get Connection Terminated by
Local Host (0x16) as termination reason. |
Pauli Virtanen |
2 years ago |
2 files, +4, -1 |
| 678265f3 |
btdev: support multiple CIG
Add support for more than one CIG simultaneously. |
Pauli Virtanen |
2 years ago |
1 file, +108, -36 |
| 195b9abb |
shared/tester: retain test failure status
If a test has called tester_test_failed, consider the test failed, even
if the test also called tester_test_passed/abort.
This avoids reporting success for misbehaving tests that call the
status report functions multiple times. |
Pauli Virtanen |
2 years ago |
1 file, +3, -0 |
| a88c74e2 |
iso-tester: always use DEFER_SETUP for multiple CIS in same CIG
There is a race between multiple connect() for CIS in the same CIG.
connect() will both reconfigure the CIG and connect the CIS, but CIG
cannot be reconfigured once one CIS has already connected. That these
tests pass currently relies on some timing/event ordering in the
emulator.
Connecting multiple CIS in same CIG is meant to be done using
DEFER_SETUP, so change the tests to use it, so we test the intended
usage. |
Pauli Virtanen |
2 years ago |
1 file, +104, -46 |
| cd176eb2 |
monitor: Add latency when decoding BT_HCI_EVT_NUM_COMPLETED_PACKETS
This adds latency, min-max, and median information when decoding
BT_HCI_EVT_NUM_COMPLETED_PACKETS so it works similarly to --analyze:
> HCI Event: Number of Completed Packets (0x13) plen 5
Num handles: 1
Handle: 256 Address: XX:XX:XX:XX:XX:XX
Count: 1
Latency: 23 msec (2-66 msec ~19 msec) |
Luiz Augusto von Dentz |
2 years ago |
6 files, +344, -208 |
| e99fbb5e |
monitor: Fix not parsing BT_HCI_EVT_NUM_COMPLETED_PACKETS properly
BT_HCI_EVT_NUM_COMPLETED_PACKETS may contain multiple handles but the
code was just parsing the very first one. |
Luiz Augusto von Dentz |
2 years ago |
1 file, +21, -4 |
| 9526ef46 |
monitor: Fix using PACKET_FILTER_SHOW_SCO_DATA for ISO packets
This fixes the uses of PACKET_FILTER_SHOW_SCO_DATA for ISO packets and
introduce a dedicated flag for it in the form of
PACKET_FILTER_SHOW_ISO_DATA which can be enabled with use of -I/--iso. |
Luiz Augusto von Dentz |
2 years ago |
3 files, +11, -4 |
| 86b8d419 |
tools/test-runner: add option to start Pipewire inside the VM
Add option for launching Pipewire inside the VM to serve Bluetooth
endpoints, which can be used in tests.
Make the option to optionally take path to the audio daemon, so e.g.
Pulseaudio support can be added later. |
Pauli Virtanen |
2 years ago |
1 file, +145, -4 |
| a0a10f8c |
test-runner: revert udevd and audio support
Tests running inside the VM don't need access to sound cards running on
the host.
This reverts commit 91a48af52efb0751fab396b2b9026c9186b10b88
This reverts commit e20e7e0b05c7edb74255c9b092916ac5bb99c97f |
Pauli Virtanen |
2 years ago |
1 file, +3, -105 |
| 2c94ab92 |
main: Rework config option parsing
This rework config option parsing adding helper function to make it
simpler to parse new options. |
Luiz Augusto von Dentz |
2 years ago |
2 files, +393, -371 |
| 943be627 |
admin: Mark driver as experimental
This uses the btd_profile.experimental to mark the driver as
experimental. |
Luiz Augusto von Dentz |
2 years ago |
1 file, +2, -5 |
| 28917a3c |
adapter: Add support for experimental flag
This adds experimental field to btd_adapter_driver so the plugin can
indicate drivers that depends on experimental to be enabled. |
Luiz Augusto von Dentz |
2 years ago |
2 files, +11, -0 |
| ce7cd9fb |
plugin: Treat -ENOTSUP as -ENOSYS
If plugin .init returns -ENOTSUP treat it as the system doesn't
support the driver since that is the error returned by
btd_profile_register when experimental is disabled. |
Luiz Augusto von Dentz |
2 years ago |
1 file, +1, -1 |