Ubuntu 13.10:Broadcom 43142 未找到蓝牙设备

Ubuntu 13.10:Broadcom 43142 未找到蓝牙设备

我有一台联想 B590 笔记本电脑。这台笔记本电脑经过 Ubuntu 12.04 64 位认证,所以我没想到会有什么问题。首先,我尝试让 Broadcom 43142 wifi/蓝牙模块在 Ubuntu 12.10 64 位上运行,但失败了。因此,我昨天重新安装了 Ubuntu 13.10 64 位。这里 wifi 模块开箱即用。我唯一要做的就是启用受限驱动程序。蓝牙模块也被识别,但是不起作用。

问题是:我还有另外两个蓝牙设备放在靠近笔记本电脑的地方,没有配对,每个设备都可以分别发现对方。它们都无法发现笔记本电脑,也找不到hcitool scan任何设备。但它没有给出任何错误。

lspci | grep -i broadcom:

02:00.0 Network controller: Broadcom Corporation BCM43142 802.11b/g/n (rev 01)1

dmesg | grep -i 蓝色:

[    8.023496] thinkpad_acpi: rfkill switch tpacpi_bluetooth_sw: radio is unblocked
[    8.384905] Bluetooth: Core ver 2.16
[    8.384936] Bluetooth: HCI device and connection manager initialized
[    8.384943] Bluetooth: HCI socket layer initialized
[    8.384944] Bluetooth: L2CAP socket layer initialized
[    8.384959] Bluetooth: SCO socket layer initialized
[    8.721266] Bluetooth: can't load firmware, may not work correctly
[   11.274285] Bluetooth: RFCOMM TTY layer initialized
[   11.274298] Bluetooth: RFCOMM socket layer initialized
[   11.274299] Bluetooth: RFCOMM ver 1.11
[   11.283683] Bluetooth: BNEP (Ethernet Emulation) ver 1.3
[   11.283686] Bluetooth: BNEP filters: protocol multicast
[   11.283696] Bluetooth: BNEP socket layer initialized
[   13.417478] Bluetooth: hci0 command 0x1003 tx timeout

hci配置:

hci0:   Type: BR/EDR  Bus: USB
        BD Address: 1C:3E:84:E8:81:98  ACL MTU: 1021:8  SCO MTU: 64:1
        UP RUNNING PSCAN ISCAN 
        RX bytes:1265 acl:0 sco:0 events:84 errors:0
        TX bytes:3794 acl:0 sco:0 commands:81 errors:0

bluez-简单代理 hci# 1C:3E:84:E8:81:98:

Creating device failed: org.bluez.Error.ConnectionAttemptFailed: Page Timeout

rfkill 列表:

0: phy0: Wireless LAN
        Soft blocked: no
        Hard blocked: no
1: brcmwl-0: Wireless LAN
        Soft blocked: no
        Hard blocked: no
2: tpacpi_bluetooth_sw: Bluetooth
        Soft blocked: no
        Hard blocked: no
3: hci0: Bluetooth
        Soft blocked: no
        Hard blocked: no

uname -a:

Linux B590 3.11.0-14-generic #21-Ubuntu SMP Tue Nov 12 17:04:55 UTC 2013 x86_64 x86_64 x86_64 GNU/Linux

最后,这是扫描尝试的输出,没有给出任何结果:

hcitool 扫描:

Scanning...

我错过了什么?我该如何让蓝牙设备工作?

答案1

我正在使用 Broadcom 的驱动程序 wl 驱动程序http://www.broadcom.com/support/802.11/linux_sta.php驱动程序需要修补,我从一个 arch linux 论坛获取了修补文件。制作并安装 wl.ko,并记得加载 btusb 模块以使蓝牙正常工作

答案2

Linux内核支持Broadcom 43142蓝牙,它需要一个二进制固件文件,但由于许可问题,发行版无法包含该文件。

如果您查看系统日志,您可能会看到内核尝试从名为的文件加载固件BCM43142A0-04ca-2007.hcd但失败了。

获取文件需要下载芯片的 Windows 驱动程序,找到文件名称BCM43142A0_001.001.011.0122.0153.hex,然后使用以下命令将其转换为 hcd 格式hex2hcd. 转换后的文件应放置在 中/lib/firmware/brcm/BCM43142A0-04ca-2007.hcd

可以使用 wine 解压 Windows 驱动程序 EXE 安装程序 - 安装程序将创建一个文件夹,drive_c您可以在该文件夹中找到所需的 .hex 文件。B590 的当前驱动程序显然已更改 .hex 文件的名称,因此我不得不额外进行谷歌搜索,以从另一个型号的安装程序中获取文件。

如果你不想自己进行转换,可以使用BCM43142A0-04ca-2007.hcd我制作的文件应该被复制到内核将搜索它的位置:

    sudo cp BCM43142A0-04ca-2007.hcd /lib/firmware/brcm/

这是原文BCM43142A0_001.001.011.0122.0153.hex取自 Windows 安装程序,以防您需要它。

相关内容