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. Ele inicia transferências de dados de controle, em massa, isócronas de vários comprimentos de transferência de e para o dispositivo de teste. Para um dispositivo SuperMUTT, o USBTCD transfere dados para fluxos compatíveis com um ponto de extremidade em massa. Ele também pode enviar o buffer de transferência como MDLs encadeados. 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 do dispositivo, execute MUTTUtil e especifique USBTCD.inf. Essa ferramenta carrega USBTCD.sys para todos os dispositivos USB anexados.

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, USBTCD lê 10240000 bytes do pipe 2. No segundo comando, USBTCD inicia uma operação de gravação em que 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 de extremidade em massa do dispositivo MUTT. Observe que os tamanhos de transferência são reduzidos nesse 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 de extremidade em massa do dispositivo SuperMUTT. Atualmente, o firmware do dispositivo tenta alternar fluxos a cada milissegundo enviando um ERDY junto 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, USBTCD lê e grava em um fluxo específico no ponto de extremidade em massa 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 exibir 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, detalhamento, tempos limite de transferência e muito mais podem ser especificados na linha de comando.