Prime MusicがAmazonから提供されるようになったので意味もなく
ブルースとかレゲエとかヘヴィメタルとか聴いてます
閑話休題
ブルースではなくbluezです
私のラップトップはThinkPad Edge E145なのですが,これのwifiが
Broadcomの43228 + 20702A1 comboです.
43228(pci)のほうは,Linuxカーネルのリバースエンジニアリングドライバ(メインライン)なりプロプライエタリのwlドライバなりが存在します.
なので,無線LANには困りません.
もう片方,207021A(vid:0a5c, pid:21f3)のほうが問題でした.
btusbドライバがカーネルにはあるので,ちゃんとデバイスは読めるのですが,
バイナリブロブ(ファームウェア)は存在しません.
なので,このbluetoothインターフェイスは使えませんでした.
しかし,これの解決方法を知ったので以下に
他のマシンでも同様です.
または,http://catalog.update.microsoft.com/v7/site/ScopedViewRedirect.aspx?updateid=87a7756f-1451-45da-ba8a-55f8aa29dfee
から.cabのパッケージをダウンロードする手もあります
setupに必要なファイル群が解凍されたらsetupそのものは実行しないようにすれば良いです
cabをダウンロードしたならばcabextractコマンドをインストールして使いましょう
ID 0a5c:21f3となっていれば,0a5cがvid(ベンダーID)で21f3がpid(製品ID)です
解凍先のWin32とかWin64とかのディレクトリをを見にいきましょう(32か64はどっちでも良いです).
cabextractでcabから取り出したならばならコマンドを実行したディレクトリにファイル群が展開されます.
*.hexというファイルが,Windowsのbroadcomなbluetoothドライバファームウェアです.*.hexは大量にあるので,まず,
bcbtums-win8x64-brcm.inf
とかそんな感じのファイルを探して,開きます.
このファイルをlessとかで開いて,先に控えたpidで検索します.
おそらく,
この行の一番右の列に自分のマシンの名前(たとえばこのThinkPad Edge E145なら,Lenovo Edge 43228 + 20702A1 comoboとありました)があるでしょうか?
それが確認できたら次は,BlueRAMUSB21F3 というinfのセクションを検索します.
すると,そのセクションの中に,*.hexのファイル名が書いてあるのを見つける事ができるかと思います.
たとえば43228 + 20702A1 comoboならばBCM20702A1_001.002.014.1443.1448.hexです
最後に,bluez-utilsに入っているhex2hcdコマンドをつかって,
/usr/lib/firmware/brcmに移動してやる時のファイル名は,BCM2070A1-(VID)-(PID).hcdになっています.このファイル名はdmesgでファームウェアのロードに失敗している箇所でも確認可能です.
また,infにかかれているファームウェアファイルがかかれたセクションは一般にBlueRAMUSB(PID)になってると思われます.
なお,同様の手段でDell XPS13 (2015含む)などでもbluetoothがつかえます.
以上でした.
ブルースとかレゲエとかヘヴィメタルとか聴いてます
閑話休題
ブルースではなくbluezです
私のラップトップはThinkPad Edge E145なのですが,これのwifiが
Broadcomの43228 + 20702A1 comboです.
43228(pci)のほうは,Linuxカーネルのリバースエンジニアリングドライバ(メインライン)なりプロプライエタリのwlドライバなりが存在します.
なので,無線LANには困りません.
もう片方,207021A(vid:0a5c, pid:21f3)のほうが問題でした.
btusbドライバがカーネルにはあるので,ちゃんとデバイスは読めるのですが,
バイナリブロブ(ファームウェア)は存在しません.
なので,このbluetoothインターフェイスは使えませんでした.
しかし,これの解決方法を知ったので以下に
1. 公式のWindowsドライバをDownload
ThinkPadならば,普通に公式サイトからダウンロードしてください他のマシンでも同様です.
または,http://catalog.update.microsoft.com/v7/site/ScopedViewRedirect.aspx?updateid=87a7756f-1451-45da-ba8a-55f8aa29dfee
から.cabのパッケージをダウンロードする手もあります
2. 解凍
普通にexeをダウンロードしたらならば,wineかWindowsで起動して中身を取り出しますsetupに必要なファイル群が解凍されたらsetupそのものは実行しないようにすれば良いです
cabをダウンロードしたならばcabextractコマンドをインストールして使いましょう
3. インストール
まず,lsusbコマンドで自分のマシンのbroadcomなbluetoothデバイスのIDを控えましょうID 0a5c:21f3となっていれば,0a5cがvid(ベンダーID)で21f3がpid(製品ID)です
解凍先のWin32とかWin64とかのディレクトリをを見にいきましょう(32か64はどっちでも良いです).
cabextractでcabから取り出したならばならコマンドを実行したディレクトリにファイル群が展開されます.
*.hexというファイルが,Windowsのbroadcomなbluetoothドライバファームウェアです.*.hexは大量にあるので,まず,
bcbtums-win8x64-brcm.inf
とかそんな感じのファイルを探して,開きます.
このファイルをlessとかで開いて,先に控えたpidで検索します.
おそらく,
%BRCM20702A1.DeviceDesc=%BlueRAMUSB21F3, USB\VID_0A5C&PID_21F3 ...みたいな行がまず見つかります.
この行の一番右の列に自分のマシンの名前(たとえばこのThinkPad Edge E145なら,Lenovo Edge 43228 + 20702A1 comoboとありました)があるでしょうか?
それが確認できたら次は,BlueRAMUSB21F3 というinfのセクションを検索します.
すると,そのセクションの中に,*.hexのファイル名が書いてあるのを見つける事ができるかと思います.
たとえば43228 + 20702A1 comoboならばBCM20702A1_001.002.014.1443.1448.hexです
最後に,bluez-utilsに入っているhex2hcdコマンドをつかって,
$ hex2hcd BCM20702A1_001.002.014.1443.1448.hexとしてください.これで,rebootするかbtusbドライバをmodprobeなどで一度rmmodしてからinsmodをしてやるなどすると,bluetoothデバイスがつかえるようになります.
# mv BCM20702A1_001.002.014.1443.1448.hcd /usr/lib/firmware/brcm/BCM2070A1-0a5c-21f3.hcd
/usr/lib/firmware/brcmに移動してやる時のファイル名は,BCM2070A1-(VID)-(PID).hcdになっています.このファイル名はdmesgでファームウェアのロードに失敗している箇所でも確認可能です.
また,infにかかれているファームウェアファイルがかかれたセクションは一般にBlueRAMUSB(PID)になってると思われます.
なお,同様の手段でDell XPS13 (2015含む)などでもbluetoothがつかえます.
以上でした.