蓝牙没有使用dell inspiron 15-3521在ubuntu 14.04上运行
我有一台安装了Ubuntu 12.04的笔记本电脑戴尔inspiron 15-3521,它运行良好(我删除了这个Ubuntu)。 我安装了Ubuntu 14.04(全新安装)。
(安装的驱动程序是: bcmwl-kernel-source 6.30.223.141+bdcom-0ubuntu2
)
WiFi网络运行良好,但蓝牙是工作(我的手机,其他电脑和笔记本电脑看不到它,我的笔记本电脑看不到任何东西。)
蓝牙设备已启用并已打开并可见。
lspci
结果:
00:00.0 Host bridge: Intel Corporation 3rd Gen Core processor DRAM Controller (rev 09) 00:02.0 VGA compatible controller: Intel Corporation 3rd Gen Core processor Graphics Controller (rev 09) 00:14.0 USB controller: Intel Corporation 7 Series/C210 Series Chipset Family USB xHCI Host Controller (rev 04) 00:16.0 Communication controller: Intel Corporation 7 Series/C210 Series Chipset Family MEI Controller #1 (rev 04) 00:1a.0 USB controller: Intel Corporation 7 Series/C210 Series Chipset Family USB Enhanced Host Controller #2 (rev 04) 00:1b.0 Audio device: Intel Corporation 7 Series/C210 Series Chipset Family High Definition Audio Controller (rev 04) 00:1c.0 PCI bridge: Intel Corporation 7 Series/C210 Series Chipset Family PCI Express Root Port 1 (rev c4) 00:1c.1 PCI bridge: Intel Corporation 7 Series/C210 Series Chipset Family PCI Express Root Port 2 (rev c4) 00:1d.0 USB controller: Intel Corporation 7 Series/C210 Series Chipset Family USB Enhanced Host Controller #1 (rev 04) 00:1f.0 ISA bridge: Intel Corporation HM76 Express Chipset LPC Controller (rev 04) 00:1f.2 SATA controller: Intel Corporation 7 Series Chipset Family 6-port SATA Controller [AHCI mode] (rev 04) 00:1f.3 SMBus: Intel Corporation 7 Series/C210 Series Chipset Family SMBus Controller (rev 04) 01:00.0 Ethernet controller: Realtek Semiconductor Co., Ltd. RTL8101E/RTL8102E PCI Express Fast Ethernet controller (rev 05) 02:00.0 Network controller: Broadcom Corporation BCM43142 802.11b/g/n (rev 01)
lsusb
结果:
Bus 002 Device 002: ID 8087:0024 Intel Corp. Integrated Rate Matching Hub Bus 002 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub Bus 001 Device 005: ID 064e:8132 Suyin Corp. Bus 001 Device 004: ID 0bda:0129 Realtek Semiconductor Corp. RTS5129 Card Reader Controller Bus 001 Device 003: ID 0a5c:21d7 Broadcom Corp. BCM43142 Bluetooth 4.0
总线001设备002:ID 8087:0024 Intel Corp. Integrated Rate Matching Hub Bus 001 Device 001:ID 1d6b:0002 Linux Foundation 2.0 root hub Bus 004 Device 001:ID 1d6b:0003 Linux Foundation 3.0 root hub Bus 003 Device 002:ID 19d2:0031中兴WCDMA技术MSM MF110 / MF627 / MF636总线003设备001:ID 1d6b:0002 Linux Foundation 2.0根集线器
不幸的是,您的蓝牙设备:
Bus 001 Device 003: ID 0a5c:21d7 Broadcom Corp. BCM43142 Bluetooth 4.0
任何版本的Ubuntu都不支持,请参考
Bug1129865 [Broadcom Combo BT / Wifi卡] 21D3 21D7蓝牙根本检测不到任何东西
(原因列于评论#7)
我建议你订阅这个bug:
错误1065400支持加载Broadcom蓝牙固件
这个post可能有一个解决方法,祝你好运!
与Diabolik2类似的步骤。 新信息是获取hex文件的位置和方式。
资料来源:
- https://bugs.launchpad.net/ubuntu/+source/linux/+bug/1065400/comments/11
- https://askubuntu.com/a/534632/336592 。
为了获得完整的解决方案,我从头开始编写所有步骤:
-
查找您设备的ID:
$ lsusb | grep蓝牙
我的输出例如:
总线001设备003:ID 0a5c:21d7 Broadcom Corp. BCM43142蓝牙4.0
从中应该记住0a5c:21d7 。
-
获取设备的hex文件:
- 在谷歌搜索蓝牙驱动程序后,我选择了这个下载: http : //drivers.softpedia.com/get/BLUETOOTH/Broadcom/Broadcom-43142-Bluetooth-40-Adapter-Driver-12007030-for-Windows-8.shtml #下载
- 我偶然提取了最后一个.hex文件。 幸运的是它奏效了。 步骤:在nautilus中右键单击下载的.cab文件>选择打开存档管理器 >选择存档列表中的最后一个.hex文件>右键单击> 提取…
- 下载并编译hex2hcd
$ git clone git://github.com/jessesung/hex2hcd.git $ cd hex2hcd $ make
- 将.hex转换为.hcd
$ ./hex2hcd /path/to/extracted.hex /where/you/want/your_new.hcd
-
将hcd文件复制到/ lib / firmware作为lib / firmware / fw- 0a5c_21d7 .hcd。
在文件名中使用您之前找到的ID。
答案说我必须安装Windows来获取Linux的固件……声音不对,不是吗?
但之前的答案是黄金。 我在戴尔使用Ubuntu 12.04 386后长时间工作蓝牙。这里是我之前答案的完成(特别是某人):
-
sb的驾驶室很好,并且在这个系列上有几个芯片的hex文件。
-
cabextract是一个提取.cab存档的工具。 只是:
sudo apt-get install cabextract
并通过以下方式提取:
cabextract 20573731_e75f2c1244fb153ccc4c1cac0dfbbab030d18543.cab
请注意,cab中没有目录,只有文件,因此您将获得大量的hex文件。 mkdir特定目录并在那里提取cab是很好的。
- 如何获得正确的hex文件 。
所以我有芯片的ID: 0a5c:21d7和一堆hex文件。 我怎样才能找到合适的产品? 诀窍是调查.inf文件,指示Windows安装什么。 搜索21D7(注意大写字母D而不是’d’)我得到这个:
%Dell1704.DeviceDesc%= RAMUSB21D7,USB \ VID_0A5C&PID_21D7; BRCM Generic 43142A0 RAMUSB
USB / VID和PID是我在lsusb:capital(0a5c:21d7)上得到的。 我需要在inf文件中搜索下一个RAMUSB21D7(这是设备的描述)。
这是我的结果:
;;;;;;;;;;;;;RAMUSB21D7;;;;;;;;;;;;;;;;; [RAMUSB21D7.CopyList] bcbtums.sys btwampfl.sys BCM43142A0_001.001.011.0122.0126.hex
我将使用的hex文件是BCM43142A0_001.001.011.0122.0126.hex
其余与上述相同。 通过git获取工具,构建它,将hex文件转换为hcd,丢弃/重新加载btusb。
注意:请注意hcd文件应该以fw -……开头而不是fw _……我犯了这个错误。 🙂
我用这篇文章的解决方案解决了这个问题:
总之,我已完成以下步骤:列出您的ID:
lsusb
我的身份是: 0a5c:21d7
获取文件.hex:在您的Windows分区中(假设您使用Windows进行双启动) ,在C:\windows\system32\drivers
获取文件BCMxxxx.hex。 如果有两个或更多文件.hex,请查看Windows设备管理器正在使用哪个文件。 将此文件复制到主目录中
打开终端并输入以下命令:
sudo apt-get install git git clone git://github.com/jessesung/hex2hcd.git cd hex2hcd make ./hex2hcd ../BCMxxxx.xxx.xxx.xx.hex fw-0a5c_21d7.hcd (Replace 0a5c_21d7 with your id) sudo cp fw* /lib/firmware
使用以下命令重新加载模块:
sudo modprobe -r btusb sudo modprobe btusb
重启你的电脑。
打开终端并写:
dmesg | grep firmware
如果可以,你可以查看消息:
[ xxxxxxxxxx] Bluetooth: firmware loaded
这是所有的了。
祝你好运Diabolik2
在我的情况下,蓝牙固件没有加载,直到我在/ lib / firmware /中创建了brcm目录并将文件重命名为
BCM43142A0-0a5c-21d7.hcd
我正在使用Debian 8和戴尔Inspiron 15
干杯
解决方案有效(Ubuntu 14.04 kernel-4.2)在我的例子中,HCD文件需要命名为BCM.hcd。 您应该为hcd文件命名的确切文件名将在加载错误的描述中说明,可以使用以下命令查看:
dmesg | grep firmware
正如威尔夫所说!