bluetooth hci0: firmware: failed to load brcm/BCM20702A1-0a5c-21e8.hcd (-2)

After inserting my Plugable USB Bluetooth 4.0 Low Energy Micro Adapter (Compatible with Windows 10, 8.1, 8, 7, Raspberry Pi, Linux Compatible, Classic Bluetooth, and Stereo Headset Compatible) device into my debian 9 box I got the following error.

Dec 21 13:02:38 box kernel: [68069.707975] usb 1-1.1: new full-speed USB device number 6 using ehci-pci
Dec 21 13:02:38 box kernel: [68069.819878] usb 1-1.1: New USB device found, idVendor=0a5c, idProduct=21e8, bcdDevice= 1.12
Dec 21 13:02:38 box kernel: [68069.819882] usb 1-1.1: New USB device strings: Mfr=1, Product=2, SerialNumber=3
Dec 21 13:02:38 box kernel: [68069.819885] usb 1-1.1: Product: BCM20702A0
Dec 21 13:02:38 box kernel: [68069.819887] usb 1-1.1: Manufacturer: Broadcom Corp
Dec 21 13:02:38 box kernel: [68069.819889] usb 1-1.1: SerialNumber: 5CF3707E6B94
Dec 21 13:02:38 box systemd[1]: Listening on Load/Save RF Kill Switch Status /dev/rfkill Watch.
Dec 21 13:02:38 box kernel: [68069.870056] alg: No test for fips(ansi_cprng) (fips_ansi_cprng)
Dec 21 13:02:39 box kernel: [68069.954326] Bluetooth: Core ver 2.22
Dec 21 13:02:39 box kernel: [68069.954355] NET: Registered protocol family 31
Dec 21 13:02:39 box kernel: [68069.954357] Bluetooth: HCI device and connection manager initialized
Dec 21 13:02:39 box kernel: [68069.954363] Bluetooth: HCI socket layer initialized
Dec 21 13:02:39 box kernel: [68069.954367] Bluetooth: L2CAP socket layer initialized
Dec 21 13:02:39 box kernel: [68069.954378] Bluetooth: SCO socket layer initialized
Dec 21 13:02:39 box systemd[1]: Starting Load/Save RF Kill Switch Status…
Dec 21 13:02:39 box kernel: [68069.972557] usbcore: registered new interface driver btusb
Dec 21 13:02:39 box systemd[1]: Reached target Bluetooth.
Dec 21 13:02:39 box systemd[1]: Started Load/Save RF Kill Switch Status.
Dec 21 13:02:39 box kernel: [68070.090051] Bluetooth: hci0: BCM: chip id 63
Dec 21 13:02:39 box kernel: [68070.091049] Bluetooth: hci0: BCM: features 0x07
Dec 21 13:02:39 box kernel: [68070.107057] Bluetooth: hci0: BCM20702A
Dec 21 13:02:39 box kernel: [68070.108081] Bluetooth: hci0: BCM20702A1 (001.002.014) build 0000
Dec 21 13:02:39 box kernel: [68070.108588] bluetooth hci0: firmware: failed to load brcm/BCM20702A1-0a5c-21e8.hcd (-2)
Dec 21 13:02:39 box kernel: [68070.110491] firmware_class: See https://wiki.debian.org/Firmware for information about missing firmware
Dec 21 13:02:39 box kernel: [68070.112427] bluetooth hci0: Direct firmware load for brcm/BCM20702A1-0a5c-21e8.hcd failed with error -2
Dec 21 13:02:39 box kernel: [68070.112437] Bluetooth: hci0: BCM: Patch brcm/BCM20702A1-0a5c-21e8.hcd not found

I fixed this by….
1, unplug bluetooth usb
cd /opt
wget https://s3.amazonaws.com/plugable/bin/fw-0a5c_21e8.hcd
mv fw-0a5c_21e8.hcd /lib/firmware/brcm/BCM20702A0-0a5c-21e8.hcd
cp /lib/firmware/brcm/BCM20702A0-0a5c-21e8.hcd /lib/firmware/brcm/BCM20702A1-0a5c-21e8.hcd

re-insert usb bluetooth device

Dec 21 13:05:35 box kernel: [68246.127075] usb 1-1.1: USB disconnect, device number 6
Dec 21 13:05:35 box systemd[1]: Starting Load/Save RF Kill Switch Status…
Dec 21 13:05:35 box systemd[1]: bluetooth.target: Unit not needed anymore. Stopping.
Dec 21 13:05:35 box systemd[1]: Stopped target Bluetooth.
Dec 21 13:05:35 box systemd[1]: Started Load/Save RF Kill Switch Status.
Dec 21 13:05:47 box kernel: [68258.379974] usb 1-1.1: new full-speed USB device number 7 using ehci-pci
Dec 21 13:05:47 box systemd[1]: Starting Load/Save RF Kill Switch Status…
Dec 21 13:05:47 box kernel: [68258.491959] usb 1-1.1: New USB device found, idVendor=0a5c, idProduct=21e8, bcdDevice= 1.12
Dec 21 13:05:47 box kernel: [68258.491963] usb 1-1.1: New USB device strings: Mfr=1, Product=2, SerialNumber=3
Dec 21 13:05:47 box kernel: [68258.491966] usb 1-1.1: Product: BCM20702A0
Dec 21 13:05:47 box kernel: [68258.491968] usb 1-1.1: Manufacturer: Broadcom Corp
Dec 21 13:05:47 box kernel: [68258.491970] usb 1-1.1: SerialNumber: 5CF3707E6B94
Dec 21 13:05:47 box systemd[1]: Reached target Bluetooth.
Dec 21 13:05:47 box systemd[1]: Started Load/Save RF Kill Switch Status.
Dec 21 13:05:47 box kernel: [68258.602129] Bluetooth: hci0: BCM: chip id 63
Dec 21 13:05:47 box kernel: [68258.603126] Bluetooth: hci0: BCM: features 0x07
Dec 21 13:05:47 box kernel: [68258.619133] Bluetooth: hci0: BCM20702A
Dec 21 13:05:47 box kernel: [68258.620132] Bluetooth: hci0: BCM20702A1 (001.002.014) build 0000
Dec 21 13:05:47 box kernel: [68258.620232] bluetooth hci0: firmware: direct-loading firmware brcm/BCM20702A1-0a5c-21e8.hcd
Dec 21 13:05:48 box kernel: [68259.474137] Bluetooth: hci0: BCM20702A1 (001.002.014) build 1338
Dec 21 13:05:48 box kernel: [68259.490136] Bluetooth: hci0: Broadcom Bluetooth Device


Continue Reading

Cross flashing the TP-Link TD-W8980 to TD-W9980 firmware to enable VDSL

This is actually a post I found in my drafts form yeas ago that I forgot to publish but thought it might be handy.

Cross flsahing the TP-Link TD-W8980 to TD-W9980

After recently moving to sky fibre I was disappointed in their supplied hub primarily due to only 100 meg ports and only 2.4GHZ wifi so I quickly started to research alternatives.

I was already uding a TP-Link TD-W8980 but was disapointed to find it only supported ADSL and not VDSL required for sky. After some research I came across the model up the TD-W9980 but it looked significantly similar to my current router. After some more digging I found that they actually share the same hardware
Lantiq based soc (64MB RAM, 8MB Flash)
Lantiq based xdsl
Atheros wireless (2.4GHz 2×2)
Lantiq wireless (5.8GHz 2×2)

So that got me thinking that it’s suerly just a firmware difference that makes it VDSL. So out came the soldering iron and installed a serial header (process same as wdr3600). I also found a beta firmware which supports mer (note no current official versions support mer)

Continue Reading
1 2 3 43