The USB transport interfaces with a local Bluetooth USB dongle.
The moniker for a USB transport is either usb:<index>
or usb:<vendor>:<product>
with <index>
as the 0-based index to select amongst all the devices that appear to be supporting Bluetooth HCI (0 being the first one), or where <vendor>
and <product>
are a vendor ID and product ID in hexadecimal.
!!! example usb:04b4:f901
Use the USB dongle with vendor
equal to 04b4
and product
equal to f901
`usb:0` Use the first Bluetooth dongle
The library includes two different implementations of the USB transport, implemented using different python bindings for libusb
. Using the transport prefix pyusb:
instead of usb:
selects the implementation based on PyUSB, using the synchronous API of libusb
, whereas the default implementation is based on libusb1, using the asynchronous API of libusb
. In order to use the alternative PyUSB-based implementation, you need to ensure that you have installed that python module, as it isn't installed by default as a dependency of Bumble.