2
5

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 5 years have passed since last update.

I-O Data USB-BT40LE

Last updated at Posted at 2015-07-08

中身がbroadcomチップだという理由で買ったbluetooth USBドングル。Linuxで動かす手順。試したのはUbuntu15とArch現行最新。

まず単純にUSBドングルを差し込む。journalctl -f で眺めて、下のようなエラーが出ると思う。気持ちが悪いのでこれをやっつける。

Bluetooth: hci0: BCM: patch brcm/BCM20702A0-0a5c-21e8.hcd not found

この、Firmwareの読み込みに失敗したというメッセージが出ている場合は、手動でファームウェアを用意する。broadcom が配っているはずのものなのだけど探した範囲では見つけられなかった。その代りに dropbox からダウンロードしろとか、ちょっと使うのが怖い方法ばかりが出てくる。

実は firmware は Windows 版ドライバに入っている hex ファイルを変換して得ることができる。

まず lsusb で USB ドングルの Vendor ID, Product ID を調べる。私の場合 0a5c 21e8 だった。

Windows に移動する(もともと Windows 用なので)。ドライバーをインストールしておく。私の場合はThinkPadのプリインストールがC:\Program Files\ThinkPad\Bluetooth Software\binにあった。インストールした bcm20702 系ドライバの入った bcbtums-win8x64-brcm.inf ファイル見つけ出して、中を見る 。ずらずらーとエントリがある中に、対象の ID が見つかるはず。

bcbtums-win8x64-brcm.inf
%BRCM20702.DeviceDesc%=RAMUSB21E8,          USB\VID_0A5C&PID_21E8                           ; 20702A1 dongles
 :
[RAMUSB21E8.CopyList]
bcbtums.sys
BCM20702A1_001.002.014.0889.0896.hex

というわけで、BCM20702A1_001.002.014.0889.0896.hex が目標のファイル。これをhex2hcd で変換する。bluez 5.28 以降で付属するほか、単体では https://github.com/jessesung/hex2hcd で見つかる。

hex2hcd BCM20702A1_001.002.014.0889.0896.hex BCM20702A0-0a5c-21e8.hcd

ファームウェアの置き場所は /lib/firmware/brcm/ 固定で、ファイル名はエラーメッセージの通りのものにする。

USB を抜き差しすれば、今度は正常にパッチが当たって、認識されるようになるはず。

2
5
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
2
5

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?