エラー
QMK Toolboxでファームウェアを書き込む際に、
STM32 DFU device has NO DRIVER driver assigned but should be WinUSB. Flashing may not succeed.
という警告メッセージが表示されることがあります。
この状態で書き込み(Flash)を行うと、「Flash Conplete」と表示されますが書き込みはうまくいかず、キーボードとしては使用できません。
対処方法
STM32 DFUデバイスに適切なドライバをインストールします。
(以下、WindowsPCの場合の例)
1.ドライバのアンインストール
まずは「デバイスマネージャー」を開きます。
Win + X でメニューを開き、デバイスマネージャーを選択することで開けます。
デバイスマネージャーを開けたら、「ユニバーサル シリアル バス コントローラー」や「ほかのデバイス」の中からSTM32 DFUデバイスを見つけます。
右クリックをして「デバイスのアンインストール」を選択すると、ドライバがアンインストールされます。
2.Zadigの入手
Zadigというフリーソフトを使用してドライバのインストールを行います。
https://zadig.akeo.ieを開き、「Download」内の「Zadig X.X」をクリックすると、Zadigをダウンロードできます。
“zadig-X.X.exe”のダウンロードが完了したら、ダブルクリックして実行します。
バージョンチェックの選択は「No」で問題ありません。
3.ドライバのインストール
Zadigが起動すると画像のような画面になります。
① リストから書き込み対象を選択します。
「STM32 BOOTLOADER」や「STM Device in DFU Mode」と表示されていると思います。アンインストール時の名称でまず探してみましょう。
リストに表示されない場合は、上部の「Options」メニューから「List All Devices」を選択したり、キーボードを再接続したりしてみてください。
② ドライバとして「WinUSB (v6.x.x.x)」を選択し、「Install Driver」ボタンをクリックしてドライバーをインストールします。
Zadigを使用する際は、必ず正しい対象デバイスを選択するように注意しましょう。
ドライバのインストールに成功すると、下のようなメッセージが表示されます。
再度デバイスマネージャー開いてみると、「ユニバーサル シリアル バス デバイス」に表示されていることが確認できます。
4.QMK Toolboxでファームウェアを書き込む
上記の手順でドライバがインストールできたら、再度QMK Toolboxを用いてファームウェアを書き込んでみましょう。
接続時のエラーメッセージが消えていれば、成功です。