我有一台預先安裝了 Ubuntu 12.04 的 Dell 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
Bus 001 Device 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 ZTE WCDMA Technologies MSM MF110/MF627/MF636
Bus 003 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub
答案1
與 Diabolik2 類似的步驟。新資訊是在哪裡以及如何獲取十六進位檔案。
資料來源:
- 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應該記住。
取得適合您裝置的十六進位檔案:
- 在谷歌搜尋藍牙驅動程式後,我選擇了這個下載:http://drivers.softpedia.com/get/BLUETOOTH/Broadcom/Broadcom-43142-Bluetooth-40-Adapter-Driver-12007030-for-Windows-8.shtml#download
- 我偶然提取了最後一個 .hex 檔案。幸運的是,它奏效了。步驟:在 nautilus 中右鍵下載的.計程車檔案 > 選擇使用存檔管理器開啟> 選擇最後一個.hex存檔清單中的檔案 > 右鍵 >提煉...
- 下載並編譯六氯環己烷
$ git 克隆 git://github.com/jessesung/hex2hcd.git $ cd 十六進位2hcd $ 製作
- 將 .hex 轉換為 .hcd
$ ./hex2hcd /path/to/extracted.hex /where/you/want/your_new.hcd
將 hcd 檔案複製到/lib/固件作為lib/韌體/fw-0a5c_21d7.hcd。
在檔案名稱中使用您之前找到的 ID。
答案2
回答說我必須安裝 Windows 才能取得 Linux 韌體......聽起來不對,不是嗎?
但之前的答案都是金子。我在戴爾的 Ubuntu 12.04 386 上使用了很長時間後,藍牙仍然可以工作。
某人的駕駛室很好,有這個系列的幾個晶片的十六進位。
cabextract 是提取 .cab 檔案的工具。只是:
sudo apt-get 安裝 cabextract
並透過以下方式提取:
cabextract 20573731_e75f2c1244fb153ccc4c1cac0dfbbab030d18543.cab
請注意,cab 內沒有目錄,只有文件,因此您將獲得很多十六進位。最好 mkdir 一個特定的目錄並在其中提取 cab。
- 如何獲得正確的十六進位文件。
所以我有晶片的ID:0a5c:21d7和一堆十六進位檔案。我怎麼才能找到適合我的那一款?訣竅是調查指示 Windows 安裝內容的 .inf 檔案。搜尋 21D7(注意大寫 D 而不是“d”)我得到:
%Dell1704.DeviceDesc%=RAMUSB21D7、USB\VID_0A5C&PID_21D7 ; BRCM 通用 43142A0 RAMUSB
USB/VID&PID 是我在 lsusb 上得到的:capital(0a5c:21d7)。 RAMUSB21D7 是我接下來需要在 inf 檔案中搜尋的內容(它是裝置的描述)。
這是我的結果:
;;;;;;;;;;;;;RAMUSB21D7;;;;;;;;;;;;;;;;;
[RAMUSB21D7.CopyList]
bcbtums.sys
btwampfl.sys
BCM43142A0_001.001.011.0122.0126.hex
我將使用的十六進位檔案是BCM43142A0_001.001.011.0122.0126.hex
其餘與上面相同。透過 git 取得工具,建構它,將十六進位檔案轉換為 hcd,丟棄/重新載入 btusb。
注意:請注意 hcd 檔案應該以 fw-...... 開頭,而不是 fw_...... 我犯了這個錯誤。 :)
答案3
我已經用來自的解決方案解決了這個問題這個帖子:
總而言之,我已經完成了以下步驟: 列出您的 id:
lsusb
我的 ID 是:0a5c:21d7
取得檔案 .hex :在您的 Windows 分割區中(假設您與 Windows 雙重啟動),取得檔案 BCMxxxx.hex 中的檔案C:\windows\system32\drivers
。如果有兩個或多個 .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
這就是全部。
祝惡魔2好運
答案4
就我而言,直到我在 /lib/firmware/ 中建立 brcm 目錄並將該檔案重命名為後,藍牙韌體才會載入
BCM43142A0-0a5c-21d7.hcd
我正在使用 Debian 8 和戴爾 Inspiron 15
乾杯