與 Diabolik2 類似的步驟。新資訊是在哪裡以及如何獲取十六進位檔案。

與 Diabolik2 類似的步驟。新資訊是在哪裡以及如何獲取十六進位檔案。

我有一台預先安裝了 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 類似的步驟。新資訊是在哪裡以及如何獲取十六進位檔案。

資料來源:

為了獲得完整的解決方案,我從頭開始寫下所有步驟:

  1. 尋找您裝置的 ID:

    $ lsusb | grep 藍牙

    我的輸出例如:

    總線 001 設備 003:ID 0a5c:21d7 Broadcom Corp. BCM43142 藍牙 4.0

    從中0a5c:21d7應該記住。

  2. 取得適合您裝置的十六進位檔案:

  3. 將 hcd 檔案複製到/lib/固件作為lib/韌體/fw-0a5c_21d7.hcd。

    在檔案名稱中使用您之前找到的 ID。

答案2

回答說我必須安裝 Windows 才能取得 Linux 韌體......聽起來不對,不是嗎?

但之前的答案都是金子。我在戴爾的 Ubuntu 12.04 386 上使用了很長時間後,藍牙仍然可以工作。

  1. 某人的駕駛室很好,有這個系列的幾個晶片的十六進位。

  2. cabextract 是提取 .cab 檔案的工具。只是:

    sudo apt-get 安裝 cabextract

並透過以下方式提取:

cabextract 20573731_e75f2c1244fb153ccc4c1cac0dfbbab030d18543.cab

請注意,cab 內沒有目錄,只有文件,因此您將獲得很多十六進位。最好 mkdir 一個特定的目錄並在其中提取 cab。

  1. 如何獲得正確的十六進位文件

所以我有晶片的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

乾杯

相關內容