デュアルブートシステムと Bluetooth 機器

<< 戻る   トップ >>

メインマシンである ingres VI は Linux と Windows のデュアルブートシステムになっている。自宅では、Linux で Bluetooth マウスとキーボードを接続して使っている。そのまま Windows にリブートしても使えるだろうと、簡単に考えて起動してみたが認識してくれないのであった。よく考えてみれば Bluetooth 機器は、PS/2 ポートや USB で有線接続されている機器とは違って、OS レベルでの認証が必要なのだ。それなら Windows でも認証してやれば問題なかろう、と思ったのだがなかなか一筋縄ではいかない。運悪く Windows での作業を急いでいたので、とりあえず最寄りの USB マウスとキーボードを接続して済ませてしまった。

おそらく、マウスやキーボードは「すでに(Linux で)認証済みのマシンから再認証を求められた」と解釈し、認証プロセスを打ち切ってしまうのか、接続できないのである。したがって、マウスやキボードを初期化してから Windows で接続してしまえば、すでに認証済みの Linux からも Windows からも使えるのではないかと予想している。そんなわけで、これより術式を始める。

まずはマウスから。モノは Buffalo BSMBB08 である。以前の接続設定を削除し、再接続を試みる。Bluetooth デバイスリストに BSMBB08 が表示され、接続プロセスが順調に進行し、完了のメッセージが表示されるも動作しない。BSMBB08 にマルチペアリング機能はないので、接続設定を完全にクリアし ingres VI との接続を確実に「忘れさせる」ために Xperia Z Ultra と接続し、さらにそれを解消してから再接続させてみた。結果は変わらず。ここに至って、マウスのみならずキーボードも接続できない原因が、もしかして Bluetooth のデバイスドライバ関連の問題ではとの疑念を抱く。

intel Centrino® Advanced-N6235 のデバイスドライバをインストールしたところマウスが動作。これよりキーボードの接続を試みる。デバイスドライバの問題であったとすれば、問題なく動作するのではないだろうか。

Windows で接続完了して動作。結局デバイスドライバの問題だったようだ。これで Linux 側からの使用できればよいのだが。さっそく試みてみる。マウスは接続された。しかし、キーボードは反応せず。Windows への接続時に、パスキーの自動生成を用いた。イヤな予感がしたのだが、おそらく Linux と Windows で異なるバスキーを持ってしまったのではないだろうか。パスキーの統一を試みるとしよう。

同じパスキーを用いるようにしたが、キーボードの共用は達成できず。パスキー以外にも、キーボードが接続先を認識するデータがあるのだろうか。ということで、とりあえず Google 先生に「bluetooth デュアルブート」について訪ねてみると、ずばり「マルチブート環境の全OSで同じBluetoothデバイスを使う」(hanawa 氏による hnw の日記) というブログ記事が見つかった。同記事によれば、接続 (ペアリング) が完了すると、リンクキーという24バイトほどのバイナリデータが作成されるとのこと。このリンクキーを各 OS 間で共有すれば動作するのだそうだ。Windows のキーは例によってレジストリの迷宮に隠されている。Windows レジストリは読み取りはともかく書き込みがストレスフルなので、Windows で接続を確立してリンクキーを作成し、Linux のリンクキーを変更することにする。

Windows レジストリはやはり迷宮で、今回はユーザ権限に阻まれて regedit で書き込むどころか読むことすらできないという体たらくであった。hnw 日記にあったツールを使って読み取り、Linux 側のリンクキーを変更した。その後再起動してみたら見事にストールしたりしたが、二度ほどの強制電源切断・起動を経て動作を確認できた。


作成: 2015-05-09 17:48:46.0更新: 2015-05-10 10:30:44.0
http://museo-anonimo.jp/nanban/?id=1295,http://museo-anonimo.jp/nanban/tr/1295