以前、ラズパイ4(Raspberry Pi 4)にWindows 10をインストールする手順を書きましたが、その手順ではドライバがないためBluetoothが使用できないという制約がありました。
その後、有志によりテスト版Bluetoothドライバが公開されまして、こちらをインストールすることで Raspberry Pi 4 上のWindows 10環境でもBluetoothが使用可能になります。
テスト版ということもあってインストール手順がやや複雑ですのでこちらで紹介したいと思います。
用意するもの
- Windows 10 ARM64インストール済みの Raspberry Pi 4 Model B
こちらの記事に従ってWindows 10のインストールを済ませておいてください。
PL011ドライバ&UEFIファームウェアの差し替え
-
Windows 10インストール済みのmicroSDをPCに接続しておきます
PC上でWindowsパーティションとBOOTパーティションのドライブレターを確認しておいてください。下図の場合だとWindowsがX:
でBOOTがY:
ですね。
-
展開したフォルダ内の
SerPL011_48MHz.zip
を展開するとSerPL011.inf
ファイルが入っているのでこのファイルのフルパスを控えておきます -
展開した中の
RPi4
フォルダに入っているRPI_EFI.fd
ファイルで、BOOTパーティション内の同名ファイルを上書きします
-
PowerShellを管理者権限で起動して以下のコマンドを実行します
※WindowsパーティションのドライブレターX:
は各自の環境に合わせてください
Get-WindowsDriver -Path X:\ | ? {$_.OriginalFileName -match 'serpl011.inf'} | Remove-WindowsDriver
Add-WindowsDriver -Path X:\ -Driver "<SerPL011_48MHz.infのフルパス>" -ForceUnsigned
Bluetoothドライバのインストール
-
cywbtserialbus_v1.0_ARM64_Debug.zip
をダウンロードして展開します
展開した中にcywbtserialbus.inf
ファイルが入っているのでこのファイルのフルパスを控えておきます。
-
PowerShellを管理者権限で起動して以下のコマンドを実行します
※WindowsパーティションのドライブレターX:
は各自の環境に合わせてください
Add-WindowsDriver -Path X:\ -Driver "<cywbtserialbus.infのフルパス>" -ForceUnsigned
Bluetooth伝送速度の調整
ここまでの手順で既にBluetoothが使用可能になりましたが、デフォルトでは伝送速度が制限されてしまうので設定を調整して高速化します。
デフォルトで速度が制限されているのは Raspberry Pi 3 で使用した際にCPU負荷が高まりクラッシュする問題を回避するためのようですので、Pi 3 で試す場合は変更しないほうが良いと思います
-
Bluetoothドライバインストール済みのWindows 10で Raspberry Pi 4 を起動します
-
レジストリエディタで以下のレジストリの値を
921600
(10進)に変更して再起動します
HKEY_LOCAL_MACHINE\System\CurrentControlSet\Services\cywbtserialbus\Parameters\BaudRate
手でレジストリ変更したくない方は以下コマンドでどうぞ
reg add HKLM\SYSTEM\CurrentControlSet\Services\cywbtserialbus\Parameters /v BaudRate /t REG_DWORD /d 921600 /f
おわり
以上でBluetoothが使用できるようになったかと思います。
テスト版ドライバということですが、手元のBluetoothヘッドホンとAndroidスマホでのBluetoothテザリングは特に問題なく動作しました。
将来的にはインストール手順がもっと簡略化されると嬉しいですね。