ファームウェアを探す:

ファームウェアを探す:

私は新しいBroadcom Bluetoothデバイスを搭載したLenovo Yoga 3を持っています。

起動時にBluetoothが検出され、gnomeでペアリングしようとするとデバイスのリストが表示されますが、ペアリングされたデバイスはありません。

このデバイスを操作するにはどうすればよいですか?

lsusb
Bus 002 Device 001: ID 1d6b:0003 Linux Foundation 3.0 root hub
Bus 001 Device 004: ID 048d:8386 Integrated Technology Express, Inc.
Bus 001 Device 003: ID 5986:0535 Acer, Inc
Bus 001 Device 002: ID 0489:e07a Foxconn / Hon Hai
Bus 001 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub
usb-devices
T:  Bus=01 Lev=01 Prnt=01 Port=03 Cnt=02 Dev#=  2 Spd=12  MxCh= 0
D:  Ver= 2.00 Cls=ff(vend.) Sub=01 Prot=01 MxPS=64 #Cfgs=  1
P:  Vendor=0489 ProdID=e07a Rev=01.12
S:  Manufacturer=Broadcom Corp
S:  Product=BCM20702A0
S:  SerialNumber=38B1DBE337E4
C:  #Ifs= 4 Cfg#= 1 Atr=e0 MxPwr=0mA
I:  If#= 0 Alt= 0 #EPs= 3 Cls=ff(vend.) Sub=01 Prot=01 Driver=btusb
I:  If#= 1 Alt= 0 #EPs= 2 Cls=ff(vend.) Sub=01 Prot=01 Driver=btusb
I:  If#= 2 Alt= 0 #EPs= 2 Cls=ff(vend.) Sub=ff Prot=ff Driver=(none)
I:  If#= 3 Alt= 0 #EPs= 0 Cls=fe(app. ) Sub=01 Prot=01 Driver=(none)

ベストアンサー1

バージョン3.19以降、Linuxカーネルはこのデバイスをサポートしていますが、デバイスのファームウェアをカーネルに手動で提供する必要があります。

ファームウェアを探す:

Lenovo(またはコンピュータ製造元のWebサイト)からダウンロードできるデバイスのWindowsドライバでファームウェアを見つけることができます。ほとんどのドライバは直接解凍できますが、この特定のコンピュータではドライバはファイルなので.exe使用する必要がありますwine

wine 4ab802rf.exe

「インストール」の指示に従ってください。ウィザードは.exeファイルを抽出し、最後のステップでインストールを要求します。 「今すぐ Broadcom Bluetooth ドライバをインストールする」を選択解除します。

ここに画像の説明を入力してください。

ドライバファイルが次の場所に抽出されました。~/.wine/driver_c/drivers/Broadcom Bluetooth Driver/

正しいファイル識別

私の場合、解凍したパッケージに20〜30個のファームウェアファイルが含まれていました。お使いのデバイスに対応するものがドライバファイルの1つに表示されますinf。の出力でデバイスIDを見つけます。lsusb不明な場合。usb-devicesこの場合、ファイルをe07agrepして、infそのデバイスについて説明するファイルを見つけます。

grep -c E07A -r --include \*.inf
Win32/LD/bcbtumsLD-win7x86.inf:0
Win32/bcmhidnossr.inf:0
Win32/btwl2cap.inf:0
Win32/btwavdt.inf:0
Win32/btwrchid.inf:0
Win32/bcbtums-win8x86-brcm.inf:17
Win32/btwaudio.inf:0
Win64/LD/bcbtumsLD-win7x64.inf:0
Win64/bcmhidnossr.inf:0
Win64/btwl2cap.inf:0
Win64/btwavdt.inf:0
Win64/btwrchid.inf:0
Win64/bcbtums-win8x64-brcm.inf:17
Win64/btwaudio.inf:0
Autorun.inf:0

したがって、このドライバでは、Win32/bcbtums-win8x86-brcm.infまたはWin64/bcbtums-win8x64-brcm.inf。ファイルを見て、近くに記載されている16進ファイルを見つけますE07A

;;;;;;;;;;;;;RAMUSBE07A;;;;;;;;;;;;;;;;;

[RAMUSBE07A.CopyList]
bcbtums.sys
btwampfl.sys
BCM20702A1_001.002.014.1443.1496.hex

したがって、ファームウェアは同じディレクトリにあり、名前はBCM20702A1_001.002.014.1443.1496.hex

ファームウェアの変換と配置

ダウンロードとコンパイルhex2hcdツール

git clone https://github.com/jessesung/hex2hcd.git
cd hex2hcd
make

ファームウェアを次に変換するhcd

hex2hcd BCM20702A1_001.002.014.1443.1496.hex firmware.hcd

ファームウェアの名前を変更し、システムのファームウェアサブディレクトリに移動します。

su -c 'mv firmware.hcd /lib/firmware/brcm/BCM20702A0-0489-e07a.hcd'

このファイルの名前は非常に重要です。この例では、4文字の2セットが0489-e07aデバイスのベンダーIDと製品IDと一致する必要があります。

ファームウェアのロード

ファームウェアをロードする最も簡単な方法は、コンピュータの電源を切ってから再びオンにすることです。コンピュータをシャットダウンする必要があります。単に再起動するだけでは、このファームウェアを再ロードすることはできません。

おすすめ記事