A.BluetoothデバイスドライバーはOSによって認識されて動作するから
BluetoothデバイスはBluetoothデバイスドライバーによって制御されます。
BluetoothデバイスドライバーはOSによって制御されます。
パソコンは電源投入時、ハードウェア→BIOS→OS→アプリケーションの順番で起動されます。
従って、BIOS起動時にOSが起動していないため、Bluetoothデバイスが使えないということになります。
対象読者
暇な人
ことの発端
Riot「ゲームのクライアントをアップデートしたから更新よろ。 あ、場合によってはBIOSの設定変更もする必要があるからよろw」
Bluetoothキーボード「BIOS画面で使えません。というかOS起動前なのでBluetoothキーボードが使えないのでBIOS画面に入れません。」
有線キーボード「自分、いけます。」
ということでなぜ、BIOS画面でBluetoothデバイスが使えないか気になったので調べてみました。
BIOSとはハードウェア制御プログラム
電源投入時、ハードウェア→BIOS→OS→アプリケーションの順番で起動されます。
BIOSは以下の機能を提供しています。
・ハードウェア制御
・入出力デバイス制御
・OS読み込み
BIOSには基本的なデバイスドライバが含まれており、これによってキーボードやマウスなどの入力デバイスを認識し、制御することができます。
BIOSはシステムの起動を管理し、ハードウェアの初期化をすることが主な役割のため基本的なデバイスの制御のみを提供しています。
Bluetoothデバイスは複雑なプロトコルを必要とする
以下はBluetooth SIGが公開しているBluetoothデバイスのプロトコルスタックです。
複数のプロトコルで構成され、複数のレイヤーで構成されています。
また、以下はMicrosoftが公開しているBluetoothドライバーのプロトコルスタックです。
こちらも複数のプロトコルで構成され、複数のレイヤーで構成されています。
ここでは細かいところまでは説明しませんが、まとめるとBluetooth通信には以下のようなプロトコルが必要となります。
・デバイスの発見
・ペアリング
・認証
・暗号化
・接続
・データ転送
・プロファイル管理
こうした高度なプロトコルはOSの機能に依存するほかなく、BIOSでは提供できません。
まとめ
Bluetoothデバイス(通信)は非常に複雑なプロトコルを必要とし、それはOSの機能に依存している。
電源投入時、BIOS→OSという順番で起動するので、OS依存のBluetoothデバイスはBIOS起動時には使用できない。
参考
https://www.bluetooth.com/wp-content/uploads/2022/05/the-bluetooth-le-primer-v1.2.0.pdf
https://www.bluetooth.com/wp-content/uploads/2022/05/the-bluetooth-le-primer-v1.2.0.pdf
https://ja.wikipedia.org/wiki/Basic_Input/Output_System
https://www.musen-connect.co.jp/blog/course/trial-production/mechanism-of-bluetooth-stack-structure-overview/
余談
有線デバイスは捨てずに持っておこうね