For visibility, since this seems related to the old BLE/VOXL discussion here:
https://forum.modalai.com/topic/1730/bluetooth-ble-communication-on-the-voxl-is-it-possible
I was able to get BLE 5.0 extended advertising scanning working on VOXL2 / Starling 2 with an ASUS BT500 / Realtek RTL8761B USB adapter by backporting newer upstream Linux Bluetooth HCI event parsing logic into the QRB5165 4.19 kernel tree. My understanding is future revisions of VOXL will have more up to date kernels that solve this issue without back porting.
The issue we were hitting was with LE Extended Advertising Reports. With BLE 5.0 beacons transmitting extended advertising, the older 4.19 Bluetooth path could mis-handle extended advertising report parsing / event-type bits, leading to bad report handling and, in our case, Bluetooth instability / crashes during scanning.
The relevant upstream Linux changes I used as reference include:
b48b833f9e8a- Bluetooth: HCI: Use skb_pull_data to parse LE Ext Advertising Report eventad38e55e1c89- Bluetooth: hci_event: Ignore reserved bits in LE Extended Adv Report0cadf8534f2a- Bluetooth: hci_event: Mask data status from LE ext adv reports
There are also related Realtek / extended-scan quirk changes upstream, but for our immediate case the stronger LE extended advertising parser backport was enough to stop the crash path and allow scanning.
Validated result:
- VOXL2 / Starling 2
- QRB5165 4.19 kernel
- ASUS BT500 / RTL8761B USB BLE adapter
- BLE 5.0 beacons using extended advertising
btmgmt --index 0 find -lsuccessfully reports devices and RSSIbtmoncaptures LE Extended Advertising Report events- no more Bluetooth NULL pointer dereference /
hci_le_ext_adv_report_evtcrash during the test - observed all 16 expected beacons and repeated RSSI samples
I’m not proposing this as a merge-ready ModalAI patch, but I put the build changes and notes here in case anyone else needs BLE 5.0 extended advertising / RSSI collection on VOXL2:
Relevant upstream commit links:
https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git/commit/?id=b48b833f9e8a
https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git/commit/?id=ad38e55e1c89
https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git/commit/?id=0cadf8534f2a