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.