我在 IBM Thinkpad T43 上安装了 Ubuntu 14.04.2 LTS 32 位。我的蓝牙一直有问题。我正尝试连接一些 August SE50 扬声器。计算机自己的蓝牙适配器不工作。我可以与扬声器配对,但始终无法建立稳定的连接。
我刚刚彻底重新安装了 Ubuntu。
现在,我有一个可插拔 2.0 USB 适配器,它工作正常。本周早些时候,我曾在装有 ubuntu 的这台机器上使用过它,但它突然停止工作了。现在,尽管 USB 适配器可以正常工作,但我在使用时仍收到以下两个错误dmesg | grep - blue
:
thinkpad_acpi: rfkill switch tpacpi_bluetooth_sw: radio is blocked
hci0: BCM: patch brcm/BCM20702A0-0a5c-21e8.hcd not found
上次一切都停止工作时,我尝试使用以下方法修复第一个错误此解决方案我尝试使用此解决方案。在使用 hci1 和 brcm 补丁时,我也曾遇到过错误消息,对第二个解决方案稍作修改后就解决了问题(我只是将 .hcd 文件名更改为 dmseg 所说的缺失文件名)。错误消息消失了,但问题并未解决。
rfkill list
显示以下内容,并且我始终确保一切都畅通无阻:
0: tpacpi_bluetooth_sw: Bluetooth
Soft blocked: no
Hard blocked: no
1: phy0: Wireless LAN
Soft blocked: no
Hard blocked: no
2: hci0: Bluetooth
Soft blocked: no
Hard blocked: no
3: hci1: Bluetooth
Soft blocked: no
Hard blocked: no
我不明白为什么 USB 适配器在全新安装后可以工作,但随后却似乎随机地停止工作;以及为什么内部适配器从不工作。
我想我的主要问题是:有什么办法可以让计算机自己的适配器工作吗?
如果不是,USB 适配器是否会引起某种硬件冲突?我可以完全禁用计算机适配器,只使用 USB 适配器吗?
lsusb
(未插入加密狗)
Bus 001 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub
Bus 005 Device 001: ID 1d6b:0001 Linux Foundation 1.1 root hub
Bus 004 Device 002: ID 0483:2016 STMicroelectronics Fingerprint Reader
Bus 004 Device 003: ID 0a5c:201e Broadcom Corp. IBM Integrated Bluetooth IV
Bus 004 Device 001: ID 1d6b:0001 Linux Foundation 1.1 root hub
Bus 003 Device 001: ID 1d6b:0001 Linux Foundation 1.1 root hub
Bus 002 Device 001: ID 1d6b:0001 Linux Foundation 1.1 root hub
我找不到以 PID_201e 结尾的行(按照建议答案) 在bcbtums-win8x86-brcm.inf
任一下载中。
更新:尝试了下面的答案后,上述错误消失了,但是dmesg
给了我:
matthew@matthew-ThinkPad-T43:~$ dmesg | grep -i bluetooth
[ 2.108032] usb 4-1: Product: IBM Bluetooth Module
[ 14.575180] Bluetooth: Core ver 2.19
[ 14.575233] Bluetooth: HCI device and connection manager initialized
[ 14.575243] Bluetooth: HCI socket layer initialized
[ 14.575247] Bluetooth: L2CAP socket layer initialized
[ 14.575266] Bluetooth: SCO socket layer initialized
[ 14.978455] thinkpad_acpi: rfkill switch tpacpi_bluetooth_sw: radio is unblocked
[ 17.658632] Bluetooth: RFCOMM TTY layer initialized
[ 17.658651] Bluetooth: RFCOMM socket layer initialized
[ 17.658661] Bluetooth: RFCOMM ver 1.11
[ 17.774345] Bluetooth: BNEP (Ethernet Emulation) ver 1.3
[ 17.774353] Bluetooth: BNEP filters: protocol multicast
[ 17.774371] Bluetooth: BNEP socket layer initialized
[ 244.396567] bluetoothd[666]: segfault at b8d9b338 ip b8d9b338 sp bfdcef84 error 15
[ 244.813994] init: bluetooth main process (666) killed by SEGV signal
[ 244.814021] init: bluetooth main process ended, respawning
[ 338.527516] Bluetooth: hci0 link tx timeout
[ 338.527525] Bluetooth: hci0 killing stalled connection 12:18:16:01:e4:65
答案1
看起来您有[0a5c:21e8]
Broadcom 设备。
使用档案管理器打开它并
BCM20702A1_001.002.014.1443.1459.hex
从中提取文件。下载该工具
git clone git://github.com/jessesung/hex2hcd.git cd hex2hcd make
你会得到hex2hcd文件夹位于您的主目录中。
将固件文件放入你的主文件夹并运行
~/hex2hcd/hex2hcd ~/BCM20702A1_001.002.014.1443.1459.hex ~/BCM20702A0-0a5c-21e8.hcd
现在只需复制
BCM20702A0-0a5c-21e8.hcd
到/lib/firmware/brcm
目录即可sudo cp ~/BCM20702A0-0a5c-21e8.hcd /lib/firmware/brcm
关闭计算机然后重新打开。不只是重启!
您的适配器将获得固件并且蓝牙可以工作。