在 HP Stream Mini 台式机上使用 (K)Ubuntu 14.04 LTS。它用作 HTPC,我想使用售后蓝牙键盘。我连接到有线网络,所以不用担心 wifi,尽管它似乎被识别并正常工作。
$uname -a
Linux media 3.13.0-49-generic #83-Ubuntu SMP Fri Apr 10 20:11:33 UTC 2015 x86_64 x86_64 x86_64 GNU/Linux
它有一个定制的 Broadcom BCM43142A0 wifi/蓝牙卡:
$lsusb
Bus 001 Device 002: ID 8087:8000 Intel Corp.
Bus 001 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub
Bus 003 Device 005: ID 357d:7788
Bus 003 Device 004: ID 174c:55aa ASMedia Technology Inc. ASMedia 2105 SATA bridge
Bus 003 Device 003: ID 0bc2:3312 Seagate RSS LLC
Bus 003 Device 002: ID 8564:4000
Bus 003 Device 001: ID 1d6b:0003 Linux Foundation 3.0 root hub
Bus 002 Device 004: ID 0a5c:216d Broadcom Corp.
Bus 002 Device 007: ID 07ab:fcfe Freecom Technologies Hard Drive 80GB
Bus 002 Device 003: ID 8564:4000
Bus 002 Device 006: ID 093a:2510 Pixart Imaging, Inc. Optical Mouse
Bus 002 Device 005: ID 04ca:004b Lite-On Technology Corp.
Bus 002 Device 002: ID 05e3:0608 Genesys Logic, Inc. USB-2.0 4-Port HUB
Bus 002 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub
$lspci -nnk | grep -iA2 net
02:00.0 Ethernet controller [0200]: Realtek Semiconductor Co., Ltd. RTL8111/8168/8411 PCI Express Gigabit Ethernet Controller [10ec:8168] (rev 0c)
Subsystem: Hewlett-Packard Company Device [103c:2b38]
正在使用的内核驱动程序:r8169
04:00.0 Network controller [0280]: Broadcom Corporation BCM43142 802.11b/g/n [14e4:4365] (rev 01)
Subsystem: Hewlett-Packard Company Device [103c:804a]
Kernel driver in use: wl
$usb-devices
T: Bus=02 Lev=01 Prnt=01 Port=06 Cnt=03 Dev#= 4 Spd=12 MxCh= 0
D: Ver= 2.00 Cls=ff(vend.) Sub=01 Prot=01 MxPS=64 #Cfgs= 1
P: Vendor=0a5c ProdID=216d Rev=01.12
S: Manufacturer=Broadcom Corp
S: Product=BCM43142A0
S: SerialNumber=2C337AEDD7F8
C: #Ifs= 4 Cfg#= 1 Atr=e0 MxPwr=0mA
I: If#= 0 Alt= 0 #EPs= 3 Cls=ff(vend.) Sub=01 Prot=01 Driver=btusb
I: If#= 1 Alt= 0 #EPs= 2 Cls=ff(vend.) Sub=01 Prot=01 Driver=btusb
I: If#= 2 Alt= 0 #EPs= 2 Cls=ff(vend.) Sub=ff Prot=ff Driver=(none)
I: If#= 3 Alt= 0 #EPs= 0 Cls=fe(app. ) Sub=01 Prot=01 Driver=(none)
我谷歌搜索了 USB 设备 ID,它似乎是 HP 定制部件,因为其他 BCM Windows 固件/驱动程序包不支持该设备 ID。我发现:
http://forum.linuxmint.com/viewtopic.php?f=49&t=183217&p=949868
...给出了一个链接http://wielki.tk/vostro/debs/bt-bcm43142-onereic_0.0+20111116somerville2_amd64.deb对于固件(请注意,该链接中的 USB 设备 ID 是相同的 - 216D)。我尝试过(来自 Mint 链接):
dpkg-deb -x bt-bcm43142-onereic_0.0+20111116somerville2_amd64.deb bt-bcm43142
sudo cp bt-bcm43142/lib/firmware/BCM43142A0_001.001.011.0028.0036.hcd /lib/firmware/fw-105b_e065.hcd
sudo rmmod btusb
sudo modprobe btusb
然而 dmesg 仍然显示:
[ 1170.856683] usbcore: deregistering interface driver btusb
[ 1170.856766] Bluetooth: hci0 urb ffff88020f9de540 failed to resubmit (2)
[ 1177.432179] usbcore: registered new interface driver btusb
[ 1177.432184] usb 2-7: Direct firmware load failed with error -2
[ 1177.432189] usb 2-7: Falling back to user helper
[ 1177.444258] Bluetooth: can't load firmware, may not work correctly
[ 1179.449809] Bluetooth: hci0 command 0x1003 tx timeout
因此,我还尝试将该文件复制到 /lib/firmware/fw-0a5c_216d.fcd(即根据 USB 制造商/设备 ID 重命名)以及 /lib/firmware/brcm/BCM43142A0-0a5c-216d.hcd(以及 /lib/firmware/brcm 中的 fw-0a5c_216d.fcd 和 fw-105b_e065.hcd)。dmesg 中仍存在完全相同的问题,但仍然没有解决。
假设这是正确的固件,我很确定它是,我怎样才能让 btusb 模块识别该固件文件?
Linux mint 链接建议编辑 /etc/modprobe.d/bcm43142.conf 但我的系统上没有该文件?
ls /etc/modprobe.d/
alsa-base.conf blacklist-firewire.conf blacklistrare-network.conf iwlwifi.conf
blacklist-ath_pci.conf blacklist-framebuffer.conf blacklist-watchdog.conf mlx4.conf
blacklist-bcm43.conf blacklist-modem.conf dkms.conf vmwgfx-fbdev.conf
blacklist.conf blacklist-oss.conf fbdev-blacklist.conf
非常感谢您的帮助。
答案1
尽管此帖子中的 Dropbox 链接不再有效,但由于历史原因,此答案保留原样。
这不是正确的固件
wget https://www.dropbox.com/s/olqnqevf698lddo/fw-0a5c_216d.hcd
sudo cp fw-0a5c_216d.hcd /lib/firmware/
sudo cp fw-0a5c_216d.hcd /lib/firmware/brcm/BCM43142A0-0a5c_216d.hcd
sudo modprobe -r btusb
sudo modprobe btusb
它应该有效