Page 1 of 1

Linux: BCM43412 Bluetooth

Posted: Fri Nov 30, 2018 12:54 am
by ^rooker
Sorry if I got your hopes up high by the subject...
Haven't solved it yet.

But I'm taking notes here, hopefully succeeding in getting bluetooth to work on a Lenovo S21e notebook with Broadcom BCM43412 chipset (wifi+bluetooth).
Status on Xubuntu 18.04 (live USB):
  • Blueman applet behaves as if bluetooth was found, ready and waiting :)
  • No nearby bluetooth-enabled devices found when scanning (and yes: visibility for discover was enabled. on both ;))
  • Notebook cannot be found by nearby bluetooth devices (e.g. Smartphone)
  • Output of "dmesg" says that firmware could not be loaded (Error -2) - see below.
Looks not that bad - until the line that says that it couldn't load the firmware:
[ 25.198954] Bluetooth: Core ver 2.22
[ 25.198987] Bluetooth: HCI device and connection manager initialized
[ 25.198993] Bluetooth: HCI socket layer initialized
[ 25.198996] Bluetooth: L2CAP socket layer initialized
[ 25.199005] Bluetooth: SCO socket layer initialized
[ 25.543995] Bluetooth: HCI UART driver ver 2.3
[ 25.543999] Bluetooth: HCI UART protocol H4 registered
[ 25.544000] Bluetooth: HCI UART protocol BCSP registered
[ 25.584766] Bluetooth: HCI UART protocol LL registered
[ 25.584769] Bluetooth: HCI UART protocol ATH3K registered
[ 25.584770] Bluetooth: HCI UART protocol Three-wire (H5) registered
[ 25.584843] Bluetooth: HCI UART protocol Intel registered
[ 25.584901] Bluetooth: HCI UART protocol Broadcom registered
[ 25.584902] Bluetooth: HCI UART protocol QCA registered
[ 25.584903] Bluetooth: HCI UART protocol AG6XX registered
[ 25.584904] Bluetooth: HCI UART protocol Marvell registered
[ 26.089872] Bluetooth: hci0: BCM: chip id 70
[ 26.090860] Bluetooth: hci0: BCM: features 0x06
[ 26.107006] Bluetooth: hci0: BCM43142A
[ 26.107014] Bluetooth: hci0: BCM (001.001.011) build 0000
[ 26.108817] bluetooth hci0: Direct firmware load for brcm/BCM.hcd failed with error -2
[ 26.108823] Bluetooth: hci0: BCM: Patch brcm/BCM.hcd not found
[ 26.655763] Bluetooth: BNEP (Ethernet Emulation) ver 1.3
[ 26.655766] Bluetooth: BNEP filters: protocol multicast
[ 26.655773] Bluetooth: BNEP socket layer initialized
[ 28.124029] Bluetooth: hci0: command 0x1003 tx timeout
[ 30.033754] Bluetooth: RFCOMM TTY layer initialized
[ 30.033767] Bluetooth: RFCOMM socket layer initialized
[ 30.033778] Bluetooth: RFCOMM ver 1.11
[ 228.575877] Bluetooth: hci0: last event is not cmd complete (0x0f)
[ 375.267573] Bluetooth: hci0: last event is not cmd complete (0x0f)
[ 402.145317] Bluetooth: hci0: last event is not cmd complete (0x0f)
[ 1070.446592] Bluetooth: hci0: last event is not cmd complete (0x0f)
To be continued...

Sources:
Linux: how to make Bluetooth working (on dev-pages.info)

Doesn't look too good...

Posted: Fri Nov 30, 2018 1:12 am
by ^rooker
Seems doable, but will have some reading about custom NVRAM:
Some Bluetooth controller (for example, BCM4354 and BCM4356) are integrated to WiFi chipset (this can be BCM43XX 802.11ac Wireless Network Adapter or just simple generic Broadcom PCIE Wireless). These devices requires two kinds of firmware - first for WiFi, and second for Bluetooth. Without WiFi firmware Bluetooth will not initialize and will not work properly. Firmware for WiFi already included to kernel, but you may need to do additional work to place correct NVRAM.
Source: winterheart/broadcom-bt-firmware (on github.com)