My patch to fix hci0: Opcode 0x c77 failed: -56 issue from kernel log and
No default controller available in bluetoothctl. Stuttering audio in bluetooth
device will also be fixed (in my case) probably because the kernel is using
generic driver as fallback.
The patch is simply adding the hardware ID and manufacturer of the bluetooth
device to usb device table in btusb.c. For alternative way check
this branch
- Update code to current kernel version and Get the ID
$ ./update.sh
$ lsusb | grep tooth
Bus 002 Device 003: ID 13d3:3537 IMC Networks Bluetooth Radio-
stage the changes with
$ git add .so next diff from git will only show the custom patch -
Edit the source code
static const struct usb_device_id blacklist_table[] = {
...
/* Additional Realtek 8822BE Bluetooth devices */
{ USB_DEVICE(0x13d3, 0x3526), .driver_info = BTUSB_REALTEK },
+ { USB_DEVICE(0x13d3, 0x3537), .driver_info = BTUSB_REALTEK },
{ USB_DEVICE(0x0b05, 0x185c), .driver_info = BTUSB_REALTEK },
...
}- Generate the patch with
git diff > btusb.patch- Apply patch with
patch < btusb.patch- Install module manually
sudo make installor using dkms (will automatically rebuild when updating kernel)
sudo make dkms-installsudo make uninstall