我已经运行 Arch Linux 大约一年了,但我一直无法让蓝牙工作。它过去不会出现在任何地方,但最近我用 wl 设置了我的无线适配器,当我这样做时,lsusb
它显示了一个 USB 蓝牙适配器。
总线 004 设备 003:ID 05ac:1000 Apple, Inc. 蓝牙 HCI MacBookPro(HID 模式)
我最近还添加了一个 PCI USB 集线器,我不确定这是否与此有关。
05:00.0 USB controller: Fresco Logic FL1100 USB 3.0 Host Controller (rev 10)
我还应该有所有合适的其他包
bluedevil 1:5.21.3-1
blueman 2.1.4-1
bluez 5.56-2
bluez-libs 5.56-2
bluez-qt 5.80.0-1
bluez-utils 5.56-2
gnome-bluetooth 3.34.5-1pulseaudio
-bluetooth 14.2 -3
我还加载了所有正确的内核模块。
btusb 69632 0
btrtl 28672 1 btusb
btbcm 20480 1 btusb
btintel 32768 1 btusb
蓝牙 749568 11 btrtl、btintel、btbcm、bnep、btusb
但当我做的时候ls /sys/class/bluetooth
却是空的。
我想这可能与内核启动蓝牙功能的顺序有关。我想我在某处读到过,Wi-Fi 卡在蓝牙之前启动可能会导致某些 Mac 出现问题,但我不记得在哪里听说过。我还认为可能与 EFI vars 有关,因为/sys/firmware/efi/efivars/
包含名为 EFIBluetoothDelay-7c436110-ab2a-4bbb-a880-fe41995c9f82、bluetoothActiveControllerInfo-7c436110-ab2a-4bbb-a880-fe41995c9f82 的文件和 boot-feature-usage-62bf9b1c-8568-48 ee- 85dc-dd3057660863,也许固件永远不会启动一些蓝牙相关的东西,但已经超出了我的理解范围,任何帮助将不胜感激。
答案1
我修复了它,首先我缺少一些在 dmesg 中看起来像这样的固件
[ 5.601521] b43 ssb0:0: Direct firmware load for b43/ucode11.fw failed with error -2
[ 5.601549] b43 ssb0:0: Direct firmware load for b43/ucode11.fw failed with error -2
[ 5.601576] b43 ssb0:0: Direct firmware load for b43-open/ucode11.fw failed with error -2
[ 5.601595] b43 ssb0:0: Direct firmware load for b43-open/ucode11.fw failed with error -2
[ 5.601597] b43-phy0 ERROR: Firmware file "b43/ucode11.fw" not found
[ 5.601599] b43-phy0 ERROR: Firmware file "b43-open/ucode11.fw" not found
[ 5.601600] b43-phy0 ERROR: You must go to https://wireless.wiki.kernel.org/en/users/Drivers/b43#devicefirmware and download the correct firmware for this driver version. Please carefully read all instructions on this website.
然后我按照指示进行操作这里为了解决这个问题,必须安装 bluez-hid2hci,这样我的卡即使处于 HID 模式也能工作。希望这对遇到类似问题的人有所帮助。