this device starts in HID mode and non of the methods provided in bluez.git tools/hid2hci can switch it to hci mode steps to reproduce: - insert BT dongle - determine device path DEVPATH=$(udevadm trigger --subsystem-match=usb --attr-match=idVendor=0a12 --attr-match=idProduct=100b --verbose | cut -d '/' -f 3-) - try to switch device to hci mode /lib/udev/hid2hci --mode=hci --method=[csr|logitech-hid|dell] --devpath=${DEVPATH} - check mode with lsusb $ lsusb -s 3:5 -v | head -n 16 Bus 003 Device 002: ID 0a12:100b Cambridge Silicon Radio, Ltd Device Descriptor: bLength 18 bDescriptorType 1 bcdUSB 2.00 bDeviceClass 0 (Defined at Interface level) bDeviceSubClass 0 bDeviceProtocol 0 bMaxPacketSize0 64 idVendor 0x0a12 Cambridge Silicon Radio, Ltd idProduct 0x100b bcdDevice 88.91 iManufacturer 0 iProduct 2 CSR8510 A10 iSerial 0 Actual result: - device stays in hid mode Expected result: - device switches to hci mode Additional Information: a usb control message SET_REPORT report id: 0x01, report type: feature (0x03) to interface 0 with following report bytes switches the device to hci mode. char report[] = { 0x1 , 0x5 , 0x0 , 0x0 , 0x0 , 0x0 , 0x0 , 0x0 , 0x0 } the method for switching back is not known to me and might be unavailable. after switching to hci mode the device changes ids $ lsusb -s 3:6 -v | head -n 16 Bus 003 Device 004: ID 0a12:0001 Cambridge Silicon Radio, Ltd Bluetooth Dongle (HCI mode) Device Descriptor: bLength 18 bDescriptorType 1 bcdUSB 2.00 bDeviceClass 224 Wireless bDeviceSubClass 1 Radio Frequency bDeviceProtocol 1 Bluetooth bMaxPacketSize0 64 idVendor 0x0a12 Cambridge Silicon Radio, Ltd idProduct 0x0001 Bluetooth Dongle (HCI mode) bcdDevice 88.91 iManufacturer 0 iProduct 2 CSR8510 A10 iSerial 0 a patch for hid2hci has been sent to the linux-bluetooth mailing list for review