Broadcom Bluetooth
Ez a cikk a Broadcom Bluetooth 4.x eszközök beállításáról szól, amelyek többnyire BCM20702, BCM4354 és BCM4356 chipkészleteken alapulnak. Ezeket a Bluetooth chipkészleteket különböző eszközökben használják, beleértve az USB-adaptereket, valamint a hibrid WIFI+Bluetooth beágyazott chipkészleteket is.
Hardver
A támogatott eszközök szinte teljes listája elérhető az upstream forrásban.
Eszköz | Make/modell | Státusz | Vendor ID / Product ID | Kernel driver(s) | Kernel verziója | Megjegyzések |
---|---|---|---|---|---|---|
USB Dongle | Asus BT-400 USB | Működik | 0b05:17cb
|
btbcm | 4.2 | Firmware szükséges. |
USB Dongle | Targus ACB75AU | Működik | 0a5c:21e8
|
btbcm | 3.4+ | Szükséges a brcm/BCM20702A1-0a5c-21e8.hcd firmware. |
Biztonsági megfontolások
Nemrégiben számos sebezhetőség lett felfedezve a Bluetooth-rétegben, például a CVE-2018-5383, a CVE-2019-9506 (KNOB), a CVE-2020-10135 (BIAS) és mások. Mivel a Broadcom leállította fogyasztói eszközeinek aktív támogatását, az ezen szoftvert használó rendszerek biztonsági kockázatoknak lehetnek kitéve. Érdemes mérlegelni a kockázatokat, mielőtt továbblépne, mivel a szoftvercsomag-tárolónak a karbantartója nem tud biztonsági javításokat biztosítani.
Telepítés
Kernel
A Broadcom Bluetooth-eszközök a btbcm
kernel modult igénylik, amely az alábbi kernelopciókkal építhető meg:
[*] Networking support --->
<M> Bluetooth subsystem support --->
Bluetooth device drivers --->
<M> HCI USB driver
[*] Broadcom protocol support
[*] Broadcom protocol support
Firmware
A Broadcom Bluetooth-réteg többnyire külső firmware-t igényel, amelyet a Windows illesztőprogramok tartalmaznak. Ez az alábbi parancsok segítségével ellenőrizhető:
user $
dmesg | grep -i bluetooth
Bluetooth: hci1: BCM: chip id 63 Bluetooth: hci1: BCM20702A Bluetooth: hci1: BCM20702A1 (001.002.014) build 0000 bluetooth hci1: Direct firmware load for brcm/BCM20702A1-0b05-17cb.hcd failed with error -2 Bluetooth: hci1: BCM: Patch brcm/BCM20702A1-0b05-17cb.hcd not found
Szerencsére a sys-firmware/broadcom-bt-firmware szoftvercsomag használható a legújabb firmware-fájlok telepítésére a Broadcom Bluetooth-hoz.
root #
emerge --ask sys-firmware/broadcom-bt-firmware
A telepítés után helyezze vissza a Bluetooth-eszközt, vagy indítsa újra az operációs rendszert a firmware alkalmazásának érdekében. Az újraindítás után a kimenet valahogy így fog kinézni:
user $
dmesg | grep -i bluetooth
Bluetooth: hci1: BCM: chip id 63 Bluetooth: hci1: BCM20702A Bluetooth: hci1: BCM20702A1 (001.002.014) build 0000 Bluetooth: hci1: BCM20702A1 (001.002.014) build 1467 Bluetooth: hci1: Broadcom Bluetooth Device
Beállítás
A kernelopciók engedélyezése és a firmware telepítése után lépjen tovább a Bluetooth cikkre.
Hibaelhárítás
Kernel BCM.hcd vagy BCM<CHIPSET>.hcd fájlt igényel
Egyes VID/PID azonosítók még nincsenek meghatározva a kernel illesztőprogramban, ezért a btbcm nem tudja megfelelően azonosítani az eszközt:
user $
dmesg | grep -i bluetooth
Bluetooth: hci1: BCM: chip id 63 Bluetooth: hci1: BCM20702A Bluetooth: hci1: BCM20702A1 (001.002.014) build 0000 bluetooth hci1: Direct firmware load for brcm/BCM.hcd failed with error -2 Bluetooth: hci1: BCM: Patch brcm/BCM.hcd not found
Ebben az esetben a VID/PID manuálisan lekérdezhető a lspci vagy a lsusb parancsok segítségével:
user $
lsusb
... Bus 003 Device 005: ID 0b05:17cb ASUSTek Computer, Inc. Broadcom BCM20702A0 Bluetooth ...
Itt a VID/PID - 0b05:17cb
. Ezután ellenőrizze a eszközlistát, és válassza ki a megfelelő firmware-t. Ezt követően egyszerűen másolja a firmware-fájlt a kernel által igényelt névre.
root #
cd /lib/firmware/brcm
root #
cp BCM20702A1-0b05-17cb.hcd BCM.hcd
Ezt követően helyezze vissza az eszközt, vagy indítsa újra az operációs rendszert.
Firmware telepítése után az eszköz továbbra sem működik
Egyes Bluetooth-vezérlők (például BCM4354 és BCM4356) integrálva vannak a WiFi chipkészletbe (ez lehet BCM43XX 802.11ac Wireless Network Adapter vagy egyszerű generikus Broadcom PCIE Wireless). Ezek az eszközök kétféle firmware-t igényelnek: az egyiket a WiFi-hez, a másikat a Bluetooth-hoz. WiFi firmware nélkül a Bluetooth nem fog inicializálódni, és nem fog megfelelően működni. A WiFi-hez szükséges firmware már benne van a kernelben, de előfordulhat, hogy további munkára van szükség a megfelelő NVRAM elhelyezéséhez.
Íme egy példa arra, hogy miként nézhet ki (megjegyzés a brcm/brcmfmac4356-pcie.txt betöltéséről - ez a testre szabott NVRAM):
user $
dmesg
usbcore: registered new interface driver brcmfmac brcmfmac 0000:02:00.0: firmware: direct-loading firmware brcm/brcmfmac4356-pcie.bin brcmfmac 0000:02:00.0: firmware: direct-loading firmware brcm/brcmfmac4356-pcie.txt Bluetooth: hci0: BCM: chip id 101 Bluetooth: hci0: N360-11 Bluetooth: hci0: BCM4354A2 (001.003.015) build 0000 bluetooth hci0: firmware: direct-loading firmware brcm/BCM4354A2-13d3-3485.hcd
További olvasnivaló a témában
- Bluetooth — a Bluetooth vezérlők, és Bluetooth eszközök konfigurációját, valamint azok használatát ismerteti.