Compartilhar via


MuttUtil

O MuttUtil realiza 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 ativação após um período especificado.
  • Para o MUTT Pack, ele configura o hub para operar em velocidade máxima ou alta; como um hub TT único ou multi-TT.

O 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

Use 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 (MUTT) Microsoft USB Test Tool. Para obter detalhes, consulte TypeCSuperMUTT.pdf na pasta de instalação.

Como executar o 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 DO PROBLEMA 28 para o dispositivo MUTT Pack mostra que nenhum driver foi 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 opção -SetWinRTUsb. Neste exercício, o dispositivo SuperMUTT é definido como personalidade WinRT.

Para alterá-lo de volta para a 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 a ID do hardware é alterada 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 somente se a versão no dispositivo for antiga. A imagem do firmware é incorporada na ferramenta. Se o dispositivo tiver uma versão mais recente do que o firmware instalado pela ferramenta, ele não substituirá o firmware no dispositivo. Se você quer substituir o firmware no dispositivo, independentemente da versão, execute o MuttUtil com a opção -ForceUpdateFirmware.

Outra maneira de atualizar o firmware é gravá-lo diretamente na EEPROM ou na RAM. Esta opção requer que você tenha o arquivo de firmware.

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

Desconectando, reconectando e enumerando novamente o dispositivo

MuttUtil.exe -Reconnect

MuttUtil.exe -CyclePort

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

A opção -CyclePort faz com que o dispositivo se desconecte e se conecte novamente à porta, exceto que o dispositivo não está desconectado eletricamente. O dispositivo é desconectado e reconectado no software. Essa operação leva à redefinição do dispositivo e o Gerenciador de PnP recria o nó do dispositivo.

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

MuttUtil.exe -# 1 -ResetHub

Alterando a velocidade do dispositivo

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

MuttUtil.exe -# 0 -SetFullSpeed

MuttUtil.exe -# 1 -SetHighSpeed

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

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

MuttUtil.exe -# 1 -HubFS

Enviando 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 determinado período de tempo após a suspensão do barramento usando a opção -DisconnectAfterSuspend.

Configurando e limpando a sobrecarga na porta downstream da porta MUTT Pack e SuperMUTT Pack

Esses comandos definem e limpam o pino de sobrecarga para a porta exposta do Mutt-Pack.

MuttUtil.exe -# 1 -SetOvercurrent

MuttUtil.exe -# 1 -ClearOvercurrent

Convertendo o hub em um hub TT de alta velocidade, 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 TT único usando estes comandos:

MuttUtil.exe -# 1 -HubHSMultiTT

MuttUtil.exe -# 1 -HubHSSingleTT