Partilhar via


MuttUtil

MuttUtil executa várias tarefas em dispositivos MUTT.

  • Atualiza o firmware dos dispositivos de teste.
  • Instala drivers para dispositivos MUTT.
  • Verifica se os dispositivos estão instalados sem erros.
  • Altera a velocidade do barramento de operação do dispositivo.
  • Configura o dispositivo para enviar um sinal de despertar de retomada após um período de tempo especificado.
  • Para o MUTT Pack, configura o hub para operar à máxima ou alta velocidade, como um hub single-TT ou multi-TT.

MuttUtil é incorporado na seção de instalação dos scripts de teste incluídos para garantir que o dispositivo de teste seja atualizado corretamente para o firmware mais recente. A ferramenta está incluída no pacote de software MUTT.

Observação

Utilize CMUTTUtil.exe para dispositivos CMUTT (SuperMUTT). Por exemplo, execute CMuttUtil.exe -updatefirmware para atualizar a imagem no CMUTT. CMuttUtil.exe pode ser instalado a partir do pacote de software MUTT descrito em Visão geral dos dispositivos Microsoft USB Test Tool (MUTT). Para obter detalhes, consulte TypeCSuperMUTT.pdf na pasta de instalação.

Como executar MuttUtil

Ajuda do MuttUtil

Execute o seguinte comando para obter uma lista de opções de linha de comando:

MUTTUtil.exe

Localizando todos os dispositivos MUTT conectados ao sistema

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

O comando anterior indica que o sistema tem um SuperMUTT (1) e um MUTT Pack (0) anexados. O driver de modo kernel fornecido pela Microsoft, Winusb.sys, é o driver de função para o dispositivo SuperMUTT. Para obter informações sobre Winusb.sys, consulte Introdução ao WinUSB para desenvolvedores.

O CÓDIGO DE PROBLEMA 28 para o dispositivo MUTT Pack indica que nenhum driver está carregado para o dispositivo.

Alterar a personalidade de um dispositivo MUTT

Os dispositivos MUTT também são usados como dispositivos de teste para o exemplo de aplicativo UWP USB. Para esse cenário, o firmware deve ser atualizado executando a -SetWinRTUsb opção. Neste exercício, o dispositivo SuperMUTT está configurado para a personalidade WinRT.

Para alterá-lo de volta para personalidade MUTT, use este comando:

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

Observe que o ID de hardware é alterado para USB\VID_045E&PID_078F&REV_0037. A versão de revisão indica o número da versão do firmware.

Instalando um driver para um dispositivo MUTT

Especifique o arquivo INF para o driver que contém informações de instalação. Por exemplo

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

O comando anterior substitui o driver existente pelo driver USBTCD.sys especificado. O driver está incluído no pacote de software MUTT.

Se você tiver vários dispositivos MUTT conectados, poderá atualizar o driver simultaneamente.

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

O comando anterior instala USBTCD.sys para o dispositivo 0, Winusb.sys para o dispositivo 1 e assim por diante.

Atualizando o firmware em um dispositivo 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

O comando atualiza a EEPROM com firmware apenas se a versão existente no dispositivo for antiga. A imagem do firmware está incorporada na ferramenta. Se o dispositivo tiver uma versão mais recente do que o firmware instalado pela ferramenta, ele não substitui o firmware no dispositivo. Se você quiser substituir o firmware no dispositivo, independentemente da versão, execute MuttUtil com a -ForceUpdateFirmware opção em vez disso.

Outra maneira de atualizar o firmware é escrevendo-o diretamente na EEPROM ou RAM. Esta opção requer que tenha o ficheiro de firmware.

Para apagar a EEPROM, utilize a -EraseEEPROM opção

Desconectando, reconectando e enumerando novamente o dispositivo

MuttUtil.exe -Reconnect

MuttUtil.exe -CyclePort

O comando anterior faz com que o dispositivo se desconecte e, em seguida, reconecte-se na mesma porta.

A opção -CyclePort faz com que o dispositivo se desconecte e se reconecte à porta; contudo, o dispositivo não é desconectado eletricamente. O dispositivo é desconectado e reconectado no software. Esta operação resulta na redefinição do dispositivo, e o Gestor PnP reconstrói o nó do dispositivo.

Para redefinir o hub de um dispositivo MUTT Pack ou SuperMUTT Pack, use este comando:

MuttUtil.exe -# 1 -ResetHub

Alterar a velocidade do dispositivo

Você pode alterar a velocidade do dispositivo de dispositivos MUTT usando este comando:

MuttUtil.exe -# 0 -SetFullSpeed

MuttUtil.exe -# 1 -SetHighSpeed

O comando faz com que o dispositivo se desconecte e, em seguida, reconecte na mesma porta na velocidade especificada.

Se você quiser alterar a velocidade do hub, de um MUTT Pack ou SuperMUTT Pack, para operar no modo de velocidade máxima, use o -HubFS comando:

MuttUtil.exe -# 1 -HubFS

Enviar um sinal de retomada para ativar o sistema

Normalmente, o dispositivo (em baixa potência) envia um sinal de retomada após determinada ação do usuário. Você pode simular esse comportamento usando este comando:

MuttUtil.exe -WakeAfterSuspend 5000

O comando configura o dispositivo para enviar um sinal de retomada, 5 segundos após a suspensão do barramento.

Você também pode configurar o dispositivo para desconectar e reconectar em um período específico depois que o barramento é suspenso, usando a opção -DisconnectAfterSuspend.

Configuração e restabelecimento de sobrecorrente na porta downstream - MUTT Pack e SuperMUTT Pack

Esses comandos ativam e desativam o pino de sobrecorrente da porta exposta do Mutt-Pack.

MuttUtil.exe -# 1 -SetOvercurrent

MuttUtil.exe -# 1 -ClearOvercurrent

Convertendo o hub em um hub de alta velocidade TT - MUTT Pack e SuperMUTT Pack

Você pode definir o hub para operar como um hub de alta velocidade multi-TT ou um hub de alta velocidade single-TT usando estes comandos:

MuttUtil.exe -# 1 -HubHSMultiTT

MuttUtil.exe -# 1 -HubHSSingleTT