Partilhar via


Pacote USBTCD

USBTCD é a combinação de um aplicativo de modo de usuário e driver de modo kernel. A ferramenta executa operações de leitura e gravação. Inicia transferências de controlo, em massa, e isócronas de dados de vários comprimentos diferentes para e do dispositivo de teste. Para um dispositivo SuperMUTT, o USBTCD transfere dados para os fluxos suportados por um endpoint do tipo bulk. Ele também pode enviar o buffer de transferência como MDLs encadeadas. Nesse caso, você pode especificar o número de segmentos no buffer de transferência.

Os arquivos USBTCD estão incluídos no pacote de software MUTT.

USBTCD

Para usar esses comandos, o driver USBTCD (USBTCD.sys) deve ser carregado como o driver de função para o dispositivo. Para carregar o driver para o dispositivo, execute MUTTUtil e especifique USBTCD.inf. Esta ferramenta carrega USBTCD.sys para todos os dispositivos USB conectados.

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_078E&REV_8011 :             0  : USBTCD
Return value: 1

Você pode usar os comandos a seguir para medir o desempenho de transferências de e para os pontos de extremidade em massa de um dispositivo SuperMUTT.

Usbtcd –perf –read 1 100 2 10240000 0

Usbtcd –perf –write 1 100 0 10240000 0

No comando anterior, o USBTCD lê 10240000 bytes do pipe 2. No segundo comando, o USBTCD inicia uma operação de gravação onde 10240000 bytes são enviados para o pipe 0. Para ambos os comandos, a ferramenta executa a operação 100 vezes e não especifica um valor de tempo limite.

Esses comandos são usados para medir o desempenho de pontos finais em massa do dispositivo MUTT. Observe que os tamanhos de transferência são reduzidos neste caso.

Usbtcd –perf –read 1 100 2 512000 0

Usbtcd –perf –write 1 100 0 512000 0

Esses comandos medem o desempenho das transferências de dados para fluxos de pontos finais em massa do dispositivo SuperMUTT. Atualmente, o firmware do dispositivo tenta mudar de fluxo a cada milissegundo, enviando um ERDY juntamente com o novo número de fluxo para o host. Isso é implementado com um temporizador dentro do dispositivo.

Usbtcd –sread 1 100 7 1 1024 0

Usbtcd –swrite 1 100 6 1 1024 0

No comando anterior, o USBTCD lê e grava em um fluxo específico no bulk endpoint de um dispositivo SuperMUTT. No primeiro comando, a ferramenta inicia um thread de trabalho que lê 1024 bytes do fluxo 1 associado ao pipe 7. Da mesma forma, o segundo comando grava 1024 bytes no fluxo 1 associado ao pipe 6. Para ambos os comandos, a ferramenta executa a operação 100 vezes e não especifica um valor de tempo limite.

Para ver a ajuda no USBTCD, execute o seguinte comando:

usbtcd -?

O comando mostra informações sobre as opções de linha de comando. Tamanhos de transferência, verbosidade, tempos limite de transferência e muito mais podem ser especificados na linha de comando.