« 入庫単価が変動する物の在庫金額と回転率 Excel Power Pivot | トップページ | EdgeTXの送信機をUSB接続してRealFlightで使用する方法 »

STMicroElectronicsのSTM32 DFU USBドライバーとThrustMaster/Guillemotの競合問題

1. 前置き

NEXUS-XRのFCのFirmwareをINAVに書き換える時にWindowsが適切なDFUのドライバーを使用してくれず、PCがNEXUS-XRとDFUモードで通信できない問題が発生しました。色々試行錯誤したら、DFUで通信できていたTX16S Mark IIのEdgeTXも通信エラーになりました。BetaFlight、RotorFlight、ExpressLRSなども同様だと思います。但し、EdgeTXは、本記事の方法でもDFUモードをWindowsが認識しませんでした。

現象

  1. デバイスマネージャーの「ユニバーサル シリアル バス デバイス」にASUSのマザーボード用の「AURA LED Controller」のみが表示され、「STM32 BOOTLOADER」が表示されない。
    260529stm32ng1
  2. INAV Configuratorでは、DFUと表示されるものの、通信エラーが発生しFirmwareの更新ができない。
    EdgeTX ConpanionからのFirmware更新でも通信エラーになる。
  3. USBDeviewでは、次のものが表示される。
Description Service Description Driver Filename Device Mfg Friendly Name
Guillemot STM DFU Device @oem37.inf,%SvcDesc%;Guillemot DFU Driver for STM DFU Class Devices GuiSTDFUDev.sys Guillemot Corporation  
WinUsb Device WinUSB - Kernel Driver 06/02/2012 6.1.7600.16385 WinUsb.sys WinUsb Device AURA LED Controller

当初"AURA LED Controller"が"STM32のDFUドライバ"と競合して"STM32 BOOTLOADER"が表示されないのだと想像していました。

原因の1つは、"Guillemot STM DFU Device"でした。これは"ThrustMaster"の"USBコントローラー/ジョイスティック"の"Conrol Panel"をインストールする時に、一緒にインストールされるドライバーです。ThrustMaster製品のFirmwareのUpdateに使用されるものです。

ZadagやImpulseRC Driver Fixerでドライバーをインストールすると、インストールの途中で一瞬デバイスマネージャーの"ユニバーサルシリアルバスデバイス"に"STM32 BOOTLOADER"が表示されますが、直ぐに消えてしまいます。

2. 対策

試行錯誤の過程でZadigやImpulseRC Driver Fixerを実行したことで、ドライバー情報が追加されました。これらは使えない無駄な情報です。
対策としては、これらの無駄なドライバー情報とGuillemot STM DFU Deviceを含む全てのSTM32 DFU関連のドライバー情報を削除し、STMicroElectronicsの最新ドライバーを入れます。
しかし、STM32 BOOTLOADERがデバイスマネージャーに表示されないので、デバイスマネージャーからアンインストールができません。
そこで、次の手順で情報の削除とアンインストールをします。

1) USBDeviewでアンインストール

  1. ThrustMaster/Guillemotの製品を取り外します。(念のため、ドライバーを削除したときに、自動的に再インストールされないようにする。)
  2. USBDeviewをダウンロードし、実行します。
    https://www.nirsoft.net/utils/usb_devices_view.html#DownloadLinks
    [Download USBDeview for x64 systems]をクリックし、ダウンロードしたファイルを展開して、USBDeview.exeを実行します。
    (USBDeviewはインストールして使用するソフトではありません。)
  3. 一覧の中のSTM32 DFU関連のドライバー(Product IDがdf11)のDriver InfPath(例:oem37.inf)をメモします。
    アンインストール対象例 : Guillemot STM DFUと書かれているもの
  4. 当該USBドライバーを右クリックし[Uninstall]します。これで、レジストリ-が削除されます。

[*1] プロバイダー名がSTMicroelectronicsとなっているものも古い可能性があり、後で入れ直すので消して良いです。

参考

削除されるレジストリ : コンピューター\HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Enum\USB\VID_0483&PID_DF11\

参考 : USBDeviewでのGuillemot STM DFU Deviceの情報
Device Name : Port_#0001.Hub_#0003
Description : Guillemot STM DFU Device
Device Type : Application Specific
Connected : No
Safe To Unplug : Yes
Disabled : No
USB Hub : No
Drive Letter :
Serial Number : 1d3t15
Registry Time 1 : 2026/04/28 火 11:44:31
Registry Time 2 : 2026/04/12 日 14:03:58
VendorID : 0483
ProductID : df11
Firmware Revision : 22.00
WCID :
USB Class : fe
USB SubClass : 01
USB Protocol : 02
Hub / Port :
Computer Name : Z690
Vendor Name :
Product Name :
ParentId Prefix :
Service Name : GuiSTDFUDev
Service Description: @oem37.inf,%SvcDesc%;Guillemot DFU Driver for STM DFU Class Devices
Driver Filename : GuiSTDFUDev.sys
Device Class :
Device Mfg : Guillemot Corporation
Friendly Name :
Power :
USB Version :
Driver Description: Guillemot STM DFU Device
Driver Version : 7.0.3.0
Driver InfSection : _Install.NTamd64
Driver InfPath : oem37.inf
Instance ID : USB\VID_0483&PID_DF11\316433743135
Capabilities : Removable, UniqueID, SurpriseRemovalOK
Install Time :
First Install Time:
Connect Time :
Disconnect Time :

2) コマンドプロンプトで削除

ドライバーパッケージツールで、不要なドライバをドライバーストアから削除し、ドライバーパッケージをアンインストールします。

  1. [Start]-[Windowsツール]-[コマンドプロンプト]を右クリックし[管理者として実行]。
  2. 次のコマンドを実行して、ドライバーの一覧を表示します。
pnputil /enum-drivers
  1. 表示されたドライバーの中で、次のようなstm32 bootloader/dfu/VID_0483&PID_DF11関連の公開名のファイル名(oem*.inf)をメモします。1)でメモしたファイル名があれば、それも含めてください。
元の名前: guistdfudev.inf
プロバイダー名: Guillemot Corporation
署名者名: Microsoft Windows Hardware Compatibility Publisher
元の名前: stm32__bootloader.inf
プロバーダー名: libwdi
署名者名: USB\VID_0483&PID_DF11 (libwdi autogenerated)
元の名前: usb_device.inf
プロバイダー名: libusb.info
署名者名: USB\VID_0483&PID_DF11 (libwdi autogenerated)
元の名前:      stm32bootloader.inf
プロバイダー名: STMicroelectronics
クラス名: USBDevice
クラス GUID: {88bae032-5a81-49f0-bc3d-a4ff138216d6}
ドライバー バージョン: 05/07/2018 1.1.0.0
署名者名: Microsoft Windows Hardware Compatibility Publisher
属性: Declarative
WHCP バージョン: 不明
参考 : pnputil /enum-drivers の表示例
公開名:     oem81.inf
元の名前: guistdfudev.inf
プロバイダー名: Guillemot Corporation
クラス名: MEDIA
クラス GUID: {4d36e96c-e325-11ce-bfc1-08002be10318}
ドライバー バージョン: 08/15/2023 7.0.3.0
署名者名: Microsoft Windows Hardware Compatibility Publisher
属性: Declarative
Attested
WHCP バージョン: 不明

公開名: oem132.inf
元の名前: guistdfudev.inf
プロバイダー名: Guillemot Corporation
クラス名: MEDIA
クラス GUID: {4d36e96c-e325-11ce-bfc1-08002be10318}
ドライバー バージョン: 04/24/2026 7.4.9.0
署名者名: Microsoft Windows Hardware Compatibility Publisher
属性: Universal
Attested
WHCP バージョン: 不明
公開名:     oem60.inf
元の名前: stm32__bootloader.inf
プロバイダー名: libwdi
クラス名: USBDevice
クラス GUID: {88bae032-5a81-49f0-bc3d-a4ff138216d6}
ドライバー バージョン: 06/02/2012 6.1.7600.16385
署名者名: USB\VID_0483&PID_DF11 (libwdi autogenerated)
属性: Legacy
WHCP バージョン: 不明
公開名:     oem110.inf
元の名前: stm32bootloader.inf
プロバイダー名: STMicroelectronics
クラス名: USBDevice
クラス GUID: {88bae032-5a81-49f0-bc3d-a4ff138216d6}
ドライバー バージョン: 05/07/2018 1.1.0.0
署名者名: Microsoft Windows Hardware Compatibility Publisher
属性: Declarative
WHCP バージョン: 不明
  1. 次のコマンドで、メモしたoem*.infファイルのドライバーをアンインストールします。
pnputil /delete-driver oem*.inf /uninstall /force

*にはメモしたファイル名の番号を入れます。

3) Guillemot STM DFU Device のドライバーファイルの削除

次のフォルダーを削除するか、別の場所に移動します。これにより、DFUモードでUSB接続した時に再インストールされることを阻止します。

C:\Program Files (x86)\Guillemot\DFU_ST

もし、次のフォルダの下にDFU_STフォルダがあれば、それも削除するか移動します。

C:\Program Files\Guillemot

もし、次のファイルがあれば、それも削除するか移動したほうが良いかも知れません?

C:\Program Files\Thrustmaster\TM Flight Series\drivers\amd64\GuiSTDFUDevUpdate64.dll
C:\Program Files\Thrustmaster\TM Flight Series\drivers\x86\GuiSTDFUDevUpdate.dll

次のものがあれば、残します。これが使用したいSTMicroElectronicsのドライバーです。

C:\Program Files\STMicroelectronics\STM32Cube\STM32CubeProgrammer\Drivers

4) STM32CubeProgrammerのインストール

STMicroElectronicsのドライバーをインストールするために、STM32CubeProgrammerをインストールします。

  1. STM32CubeProgrammer software for all STM32 のインストール
    次のサイトから STM32CubeProgrammer software for all STM32 をダウンロードし、インストールします。GuestでOKです。入力したメールアドレスにダウンロードリンクが送られてきます。Win64でOKです。
    https://www.st.com/en/development-tools/stm32cubeprog.html

  2. 次の設定でインストールします。

  • STM32CubeProgrammer : 🗹
  • STM32TrustedPackageCreator : ☐
  • STMicroelectronicsユニバーサル シリアル バス デバイス : インストール
    260529stm32cube1 260529stm32cube2 260529stm32cube4 260529stm32ube5

以上でDFUモードで接続するための準備が完了します。

参考 : ThrustMaster製品の利用

Guillemot STM DFU Deviceを削除しても、ThrustMasterのUSB JoyStickは使用できます。
この状態でThrustMasterの製品のFirmware updateができるかは未確認です。できない場合は、削除したフォルダを元に戻すか、TrustMasterのソフトを再インストールすればよいと思われます。ThrustMesterのUSB JoyStickは、Firmware単体では提供されていないので、アプリごと再インストールしかないと思われます。そうすると、再びGuillemot STM DFU Deviceが入るので、削除作業が必要になります。Guillemotには、競合問題を改善してほしいものです。

参考 : USBDeviewの情報(非接続時)
Device Name : Port_#0001.Hub_#0003
Description : STM32 Bootloader
Device Type : Application Specific
Connected : No
Safe To Unplug : No
Disabled : No
USB Hub : No
Drive Letter :
Serial Number : STM32FxSTM32
Registry Time 1 : 2026/05/27 水 16:34:06
Registry Time 2 : 2026/05/27 水 16:34:06
VendorID : 0483
ProductID : df11
Firmware Revision : 22.00
WCID :
USB Class : fe
USB SubClass : 01
USB Protocol : 02
Hub / Port :
Computer Name : Z690
Vendor Name :
Product Name :
ParentId Prefix :
Service Name : WINUSB
Service Description: @winusb.inf,%WINUSB_SvcName%;WinUsb ドライバー
Driver Filename : WinUsb.sys
Device Class :
Device Mfg : STMicroelectronics
Friendly Name : @oem60.inf,%DeviceName%;STM32 Bootloader
Power :
USB Version :
Driver Description: STM32 Bootloader
Driver Version : 1.3.0.0
Driver InfSection : USB_Install
Driver InfPath : oem60.inf
Instance ID : USB\VID_0483&PID_DF11\STM32FxSTM32
Capabilities : Removable, UniqueID
Install Time :
First Install Time:
Connect Time :
Disconnect Time :
参考 : pnputil /enum-drivers の情報
公開名: oem60.inf
元の名前: stm32bootloader.inf
プロバイダー名: STMicroelectronics
クラス名: USBDevice
クラス GUID: {88bae032-5a81-49f0-bc3d-a4ff138216d6}
ドライバー バージョン: 11/28/2025 1.3.0.0
署名者名: STMicroelectronics International N.V.
属性: Legacy
WHCP バージョン: 不明

3. NEXUS-XRのFCのFirmwareをINAVにする例

以上でWindowsがSTMicroElectronicsのドライバーを使用する環境になったので、INAVを例に実際のFirmware Update手順を紹介します。
ここでは、NEXUS-XRのFCをINAV ConfiguratorでINAVにします。

  1. NEXUX-XRのFCボタンを押したまま、PCにUSB接続します。すると、デバイスマネージャーの「ユニバーサル シリアル バス デバイス」に「STM32 BOOTLOADER」が表示されます。不明なデバイスになった時は、もう一度行ってください。
    260529stm32ok1 260529stm32ok2 260529stm32ok3
  2. INAV Configuratorを起動すると、上部にDFUと表示されます。
  3. [ファームウェアフラッシャー]からファームウェアを書き込みます。
  • FCボード : NEXUSX
  • ファームウェアバージョン : (stable)の最新バージョンを選ぶ
  • 再起動シーケンスなし : Off
  • チップメモリの完全消去 : On(RotorFlightから書き換える時や、INAVのメジャーバージョンを変える時などは、On)
  • 伝送速度の手動選択 : Off
  • 未検証版リリースを表示 : Off
  1. [ファームウェアを選択[Online]]-[ファームウェアの更新]。
    (予めファームウェアをダウンロードしている場合は、[ファームウェアを選択]でファイルを選択する。)

 

4. EdgeTXの更新例

1) PCにUSB接続して更新

  1. EdgeTX Conpanionのインストール
    次のサイトの右のReleaseから最新版のedgetx-cpn-win64-vx.xx.x.zipをダウンロードし、インストールします。

EdgeTX Conpanionは上書きインストールされず、古いバージョンも並行して使用できるので、不要であれば古いバージョンをアンインストールします。その時、Settingを残しておくと良いです。Microsoft Visual C++ 2015-2022 Redistributableは、恐らく新しいバージョンでも使用すると思うので、残しておきます。これはアンインストールしても、新しいバージョンをインストールするときに、インストールできます。

  1. Firmwareの書き込み
    1. 送信機の電源を入れずにPCにUSB接続します。すると、6POSスイッチの1が点灯した状態になります。
    2. EdgeTX Conpanion の[Tool]-[Update conponents...]で、Updateしたいものが選ばれているかを確認し、[OK]すると、必要なUpdateされたファイルがダウンロードされます。
    3. [Radio]-[Write Firmware to Radio]で書き込みます。

注意 : 送信機のトリムSWのT4とT1を内側にしながら電源を入れても、PCにはDFUモードで認識されません。

  1. SDカードは、EdgeTX Conpanionから次の操作で更新します。
    [Tools]-[Synchronize SD card...]

2) 送信機単体で更新

接続に失敗した場合は、送信機本体で更新します。

  1. edgetx-firmware-vx.xx.x.zipをダウンロードして、適切な.binファイル(TX16S Mark II なら、tx16s-で始まるファイル)をSDカードのFIRMWAREフォルダにコピーします。

  2. T4とT1を中央にしながら電源を入れ[Write Firmware]-[tx16s-xxxxxxx.bin]で[ENT]を長押しで、アップデートします。

参考 : 通常起動から[SYS]-[Storage]-[FIRMWARE]-[tx16s-xxxxxxx.bin]-[Flash bootloader]では、アップデートしませんでした。

  1. SDカードは、EdgeTX Conpanionから次の操作で更新します。
    [Tools]-[Synchronize SD card...]

3) 送信機単体でBoot Loaderを更新

Bootloaderは、送信機本体で更新します。

  1. edgetx-firmware-vx.xx.x.zipをダウンロードして、適切な.binファイル(TX16S Mark II なら、tx16s-で始まるファイル)をSDカードのFIRMWAREフォルダにコピーします。このファイルは、Firmwareのファイルと同じです。

  2. 通常起動から[SYS]-[Storage]-[FIRMWARE]-[tx16s-xxxxxxx.bin]-[Flash bootloader]で、アップデートします。
  3. T4とT1を中央にしながら電源を入れ、Bootloaderのバージョンが更新されたことを確認します。

5. 参考

Guillemot STM DFU Device Driver は、あちこちで迷惑を掛けているようです。Guillemotさんは、他人に迷惑を掛けないように改善できないのでしょうか? MicrosoftもSTSTMicroelectronics のドライバを優先するようにできないものなのでしょうか?

|

« 入庫単価が変動する物の在庫金額と回転率 Excel Power Pivot | トップページ | EdgeTXの送信機をUSB接続してRealFlightで使用する方法 »

コメント

コメントを書く



(ウェブ上には掲載しません)




« 入庫単価が変動する物の在庫金額と回転率 Excel Power Pivot | トップページ | EdgeTXの送信機をUSB接続してRealFlightで使用する方法 »