MuttUtil
MuttUtil führt verschiedene Aufgaben auf MUTT-Geräten aus.
- Aktualisiert die Firmware der Testgeräte.
- Installiert Treiber für MUTT-Geräte.
- Überprüft, ob die Geräte ohne Fehler installiert werden.
- Ändert die Betriebsbusgeschwindigkeit des Geräts.
- Konfiguriert das Gerät so, dass ein Reaktivierungssignal nach einem bestimmten Zeitraum gesendet wird.
- Beim MUTT-Paket stellt es den Hub auf Betrieb mit voller oder hoher Geschwindigkeit ein; als Single-TT- oder Multi-TT-Hub.
MuttUtil ist in den Installationsabschnitt der enthaltenen Testskripts eingebettet, um sicherzustellen, dass das Testgerät ordnungsgemäß auf die neueste Firmware aktualisiert wird. Das Tool ist im MUTT-Softwarepaket enthalten.
Hinweis
Verwenden Sie CMUTTUtil.exe für CMUTT(SuperMUTT)-Geräte. Führe Sie beispielsweise CMuttUtil.exe -updatefirmware
aus, um das Image auf CMUTT zu aktualisieren. CMuttUtil.exe kann über das MUTT-Softwarepaket installiert werden, das in Übersicht über Microsoft USB Test Tool (MUTT)-Geräte beschrieben ist. Ausführliche Informationen finden Sie unter TypeCSuperMUTT.pdf im Installationsordner.
Ausführen von MuttUtil
MuttUtil-Hilfe
Führen Sie den folgenden Befehl aus, um eine Liste der Befehlszeilenoptionen abzurufen:
MUTTUtil.exe
Suchen aller MUTT-Geräte, die an das System angeschlossen sind
MUTTUtil.exe -list
: : HARDWARE ID : PROBLEM CODE : DRIVER
DEVICE : 0 : USB\VID_045E&PID_0611&REV_0034 : 0 : WINUSB
DEVICE : 1 : USB\VID_045E&PID_078E&REV_8011 : 28 :
Return value: 1
Der vorangehende Befehl zeigt an, dass an das System ein SuperMUTT (1) und ein MUTT Pack (0) angeschlossen sind. Der von Microsoft bereitgestellte Kernelmodustreiber Winusb.sys ist der Funktionstreiber für das SuperMUTT-Gerät. Informationen zu Winusb.sys finden Sie in der Einführung in WinUSB für Entwickler.
PROBLEMCODE 28 für das MUTT Pack-Gerät gibt an, dass kein Treiber für das Gerät geladen wird.
Ändern der Persönlichkeit eines MUTT-Geräts
MUTT-Geräte werden auch als Testgeräte für das USB UWP-App-Beispiel verwendet. Für dieses Szenario muss die Firmware aktualisiert werden, indem die -SetWinRTUsb
-Option ausgeführt wird. In dieser Übung ist das SuperMUTT-Gerät auf die WinRT-Persönlichkeit festgelegt.
Verwenden Sie den folgenden Befehl, um es wieder in die MUTT-Persönlichkeit zu ändern:
MuttUtil.exe -# 1 -MuttPersonality
c:\Program Files (x86)\USBTest\x64>MuttUtil.exe -MuttPersonality
Looking for MUTT devices
Send command to change device personality
Return value: 0
c:\Program Files (x86)\USBTest\x64>MuttUtil.exe -list
: : HARDWARE ID : PROBLEM CODE : DRIVER
DEVICE : 0 : USB\VID_045E&PID_078F&REV_0034 : 0 : WINUSB
Return value: 1
Beachten Sie, dass die Hardware-ID in USB\VID_045E&PID_078F&REV_0037 geändert wird. Die Revisionsversion gibt die Firmwareversionsnummer an.
Installieren eines Treibers für ein MUTT-Gerät
Geben Sie die INF-Datei für den Treiber an, der Installationsinformationen enthält. Beispiel:
MUTTUtil.exe -UpdateDriver USBTCD.inf
c:\Program Files (x86)\USBTest\x64>MuttUtil.exe -UpdateDriver USBTCD.inf
Return value: 0
c:\Program Files (x86)\USBTest\x64>MuttUtil.exe -list
: : HARDWARE ID : PROBLEM CODE : DRIVER
DEVICE : 0 : USB\VID_045E&PID_078F&REV_0034 : 0 : USBTCD
Return value: 1
Mit dem vorherigen Befehl wird der vorhandene Treiber durch den angegebenen USBTCD.sys-Treiber ersetzt. Der Treiber ist im MUTT-Softwarepaket enthalten.
Wenn mehrere MUTT-Geräte angeschlossen sind, können Sie den Treiber gleichzeitig aktualisieren.
MUTTUtil.exe -# 0 -# 1 -MultiUpdateDriver USBTCD.inf usbfx2.inf
Der vorherige Befehl installiert USBTCD.sys für Gerät 0, Winusb.sys für Gerät 1 usw.
Aktualisieren der Firmware auf einem MUTT-Gerät
MuttUtil.exe -UpdateFirmware
c:\Program Files (x86)\USBTest\x64>MuttUtil.exe -UpdateFirmware
Looking for MUTT devices
0: Updating device firmware from version 34 to version 37
Erasing EEPROM -- this takes approx 30 seconds
Writing core firmware image
Writing Table at sector 0x09
Writing Table at sector 0x0A
Writing Table at sector 0x0B
Writing Table at sector 0x0C
Writing Table at sector 0x0D
Writing Table at sector 0x0E
Writing Table at sector 0x0F
Writing Table at sector 0x10
Writing Table at sector 0x08
0: Resetting device
Return value: 0
c:\Program Files (x86)\USBTest\x64>MuttUtil.exe -list
: : HARDWARE ID : PROBLEM CODE : DRIVER
DEVICE : 0 : USB\VID_045E&PID_078F&REV_0037 : 0 : USBTCD
Return value: 1
Der Befehl aktualisiert den EEPROM nur mit Firmware, wenn die Version des Geräts alt ist. Das Firmwareimage ist in das Tool eingebettet. Wenn das Gerät über eine neuere Version als die vom Tool installierte Firmware verfügt, ersetzt es die Firmware nicht im Gerät. Wenn Sie die Firmware unabhängig von der Version auf dem Gerät ersetzen möchten, führen Sie stattdessen MuttUtil mit der -ForceUpdateFirmware
-Option aus.
Eine andere Möglichkeit zum Aktualisieren der Firmware besteht darin, sie direkt in EEPROM oder RAM zu schreiben. Diese Option erfordert, dass Sie über die Firmwaredatei verfügen.
Um EEPROM zu löschen, verwenden Sie die -EraseEEPROM
-Option.
Trennen, erneutes Verbinden und erneutes Aufzählen des Geräts
MuttUtil.exe -Reconnect
MuttUtil.exe -CyclePort
Der vorherige Befehl bewirkt, dass das Gerät die Verbindung trennt und dann erneut an demselben Port verbunden wird.
Die -CyclePort
-Option bewirkt, dass das Gerät die Verbindung zum Port trennt und erneut herstellt, mit der Ausnahme, dass das Gerät nicht elektrisch getrennt wird. Das Gerät wird in der Software abgetrennt und wieder angeschlossen. Dieser Vorgang führt zum Zurücksetzen des Geräts, und der PnP-Manager erstellt den Geräteknoten neu.
Verwenden Sie den folgenden Befehl, um den Hub eines MUTT Pack- oder eines SuperMUTT Pack-Geräts zurückzusetzen:
MuttUtil.exe -# 1 -ResetHub
Ändern der Geschwindigkeit des Geräts
Mit diesem Befehl können Sie die Gerätegeschwindigkeit von MUTT-Geräten ändern:
MuttUtil.exe -# 0 -SetFullSpeed
MuttUtil.exe -# 1 -SetHighSpeed
Der Befehl bewirkt, dass das Gerät die Verbindung trennt und dann an demselben Port mit der angegebenen Geschwindigkeit erneut verbunden wird.
Wenn Sie die Geschwindigkeit des Hubs, eines MUTT Pack oder SuperMUTT Pack ändern möchten, um im Vollgeschwindigkeitsmodus zu arbeiten, verwenden Sie den -HubFS
-Befehl:
MuttUtil.exe -# 1 -HubFS
Senden eines Wiederaufnahmesignals zum Reaktivieren des Systems
Normalerweise sendet das Gerät (bei niedrigem Stromverbrauch) bei einer bestimmten Benutzeraktion ein Wiederaufnahmesignal. Sie können dieses Verhalten mithilfe dieses Befehls simulieren:
MuttUtil.exe -WakeAfterSuspend 5000
Mit dem Befehl wird das Gerät so konfiguriert, dass ein Wiederaufnahmesignal gesendet wird, 5 Sekunden nach dem Anhalten des Bus.
Sie können das Gerät auch so konfigurieren, dass die Verbindung getrennt und in einem bestimmten Zeitraum wieder hergestellt wird, nachdem der Bus angehalten wurde, indem Sie die -DisconnectAfterSuspend
-Option verwenden.
Einstellen und Löschen von Überstrom am Port-Downstream-Port – MUTT Pack und SuperMUTT Pack
Diese Befehle setzen und löschen den Überstrom-Pin für den freiliegenden Port des Mutt-Packs.
MuttUtil.exe -# 1 -SetOvercurrent
MuttUtil.exe -# 1 -ClearOvercurrent
Konvertieren des Hubs in einen TT High Speed Hub – MUTT Pack und SuperMUTT Pack
Mit diesen Befehlen können Sie den Hub so einstellen, dass er als Multi-TT-Hochgeschwindigkeits-Hub oder als Single-TT-Hochgeschwindigkeits-Hub funktioniert:
MuttUtil.exe -# 1 -HubHSMultiTT
MuttUtil.exe -# 1 -HubHSSingleTT