MuttUtil

MuttUtil 可在 MUTT 设备上执行各种任务。

  • 更新测试设备的固件。
  • 为 MUTT 设备安装驱动程序。
  • 验证设备安装是否正确无误。
  • 更改设备的运行总线速度。
  • 配置设备在指定时间段后发送恢复唤醒信号。
  • 对于 MUTT Pack,它将中心设置为全速或高速运行;作为单 TT 或多 TT 中心。

MuttUtil 嵌入了随附测试脚本的安装部分,以确保测试设备正确升级到最新固件。 该工具包含在 MUTT 软件包中。

注意

对 CMUTT (SuperMUTT) 设备使用 CMUTTUtil.exe。 例如,运行 CMuttUtil.exe -updatefirmware 以更新 CMUTT 上的映像。 CMuttUtil.exe 可从 Microsoft USB 测试工具 (MUTT) 设备概述中描述的 MUTT 软件包中安装。 有关详细信息,请参阅安装文件夹中的 TypeCSuperMUTT.pdf。

如何运行 MuttUtil

MuttUtil 帮助

运行以下命令可获得命令行选项列表:

MUTTUtil.exe

查找连接到系统的所有 MUTT 设备

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

上述命令表示系统已连接 SuperMUTT (1) 和 MUTT Pack (0)。 Microsoft 提供的内核模式驱动程序 Winusb.sys 是 SuperMUTT 设备的功能驱动程序。 有关Winusb.sys的信息,请参阅 面向开发人员的 WinUSB 简介。

MUTT Pack 设备的故障代码 28 表示未加载该设备的驱动程序。

更改 MUTT 设备的个性化

MUTT 设备还被用作 USB UWP 应用示例的测试设备。 在这种情况下,必须通过运行 -SetWinRTUsb 选项来更新固件。 在本练习中,SuperMUTT 设备被设置为 WinRT 个性化。

要将其改回 MUTT 个性化,请使用以下命令:

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

请注意,硬件 ID 已更改为 USB\VID_045E&PID_078F&REV_0037。 修订版本表示固件版本号。

为 MUTT 设备安装驱动程序

指定包含安装信息的驱动程序 INF 文件。 例如,

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

上述命令将用指定的 USBTCD.sys 驱动程序替换现有驱动程序。 驱动程序包含在 MUTT 软件包中。

如果连接了多个 MUTT 设备,则可以同时更新驱动程序。

MUTTUtil.exe -# 0 -# 1 -MultiUpdateDriver USBTCD.inf usbfx2.inf

上述命令为设备 0 安装 USBTCD.sys,为设备 1 安装 Winusb.sys,以此类推。

更新 MUTT 设备的固件

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

仅当设备中的固件版本较旧时,该命令才会用固件更新 EEPROM。 固件映像已嵌入工具中。 如果设备的固件版本比工具安装的版本新,则它不会替换设备中的固件。 如果要更换设备中的固件而不考虑版本,请改为使用 -ForceUpdateFirmware 选项运行 MuttUtil。

另一种更新固件的方法是直接将其写入 EEPROM 或 RAM。 此方法要求拥有固件文件。

要擦除 EEPROM,请使用 -EraseEEPROM 选项

断开、重新连接和重新枚举设备

MuttUtil.exe -Reconnect

MuttUtil.exe -CyclePort

上述命令会导致设备断开连接,然后在同一端口上重新连接。

-CyclePort 选项会使设备断开连接,然后再连接回端口,但设备并没有断开电气连接。 设备断开连接,在软件中重新连接。 此操作会导致设备重置,PnP 管理器会重建设备节点。

要重置 MUTT Pack 或 SuperMUTT Pack 设备的中心,请使用以下命令:

MuttUtil.exe -# 1 -ResetHub

更改设备速度

使用以下命令可以更改 MUTT 设备的设备速度:

MuttUtil.exe -# 0 -SetFullSpeed

MuttUtil.exe -# 1 -SetHighSpeed

该命令将使设备断开连接,然后以指定的速度在同一端口上重新连接。

如果要将 MUTT Pack 或 SuperMUTT Pack 的中心速度改为全速模式,请使用 -HubFS 命令:

MuttUtil.exe -# 1 -HubFS

发送恢复信号以唤醒系统

通常情况下,设备(在低功耗状态下)会根据用户的特定操作发送恢复信号。 可以使用以下命令来模拟这种行为:

MuttUtil.exe -WakeAfterSuspend 5000

该命令会将设备配置为在总线暂停 5 秒后发送恢复信号。

还可以使用 -DisconnectAfterSuspend 选项配置设备在总线暂停后的一段时间内断开并重新连接。

设置和清除端口下游端口的过流 - MUTT Pack 和 SuperMUTT Pack

这些命令用于设置和清除 Mutt-Pack 公开端口的过流引脚。

MuttUtil.exe -# 1 -SetOvercurrent

MuttUtil.exe -# 1 -ClearOvercurrent

将中心转换为 TT 高速中心 - MUTT Pack 和 SuperMUTT Pack

可以使用以下命令将中心设置为作为多 TT 高速中心或单 TT 高速中心运行:

MuttUtil.exe -# 1 -HubHSMultiTT

MuttUtil.exe -# 1 -HubHSSingleTT