Skip to content

Can not decode multiple hci packets on the virtual TCP controller #61762

@vChavezB

Description

@vChavezB

Describe the bug
After the update to add an optional external Bluetooth TCP virtual controller for the native board I found out that if multiple HCI packets are recieved on a single TCP payload only the first one is decoded and the rest are ignored.

This happens typically when multiple HCI packets are queued in a short amount of time and sent over the Bluetooth TCP virtual controller at once.

To Reproduce

  1. Compile the sample samples/bluetooth/direct_adv
  2. Follow instructions from here to connect to a virtual controller,
  3. As packets are lost the connection will be lost.

Expected behavior
That the virtual controller can connect to the Zephyr application over bluetooth when multiple hci packets are recieved
on a single tcp payload.

Impact
Cannot use the virtual controller functionality correctly.

Logs and console output

** Booting Zephyr OS build v3.4.99 ***
[00:00:00.000,000] <inf> fs_nvs: nvs_mount: 4 Sectors of 4096 bytes
[00:00:00.000,000] <inf> fs_nvs: nvs_mount: alloc wra: 0, fa0
[00:00:00.000,000] <inf> fs_nvs: nvs_mount: data wra: 0, 3f
[00:00:00.380,000] <wrn> bt_ecc: bt_pub_key_gen: ECC HCI commands not available
[00:00:00.380,000] <inf> bt_hci_core: bt_init: No ID address. App must call settings_load()
Bluetooth initialized
[00:00:00.380,000] <inf> bt_hci_core: bt_dev_show_info: Identity: DA:4C:10:DE:17:01 (public)
[00:00:00.380,000] <inf> bt_hci_core: bt_dev_show_info: HCI: version 5.3 (0x0c) revision 0x0000, manufacturer 0x00e0
[00:00:00.380,000] <inf> bt_hci_core: bt_dev_show_info: LMP: version 5.3 (0x0c) subver 0x0000
Advertising successfully started
Connected
Disconnected (reason 0x13)

Environment (please complete the following information):

Metadata

Metadata

Assignees

Labels

Type

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions