Condividi tramite


Pacchetto USBTCD

USBTCD è la combinazione di un'applicazione in modalità utente e di un driver in modalità kernel. Lo strumento esegue operazioni di lettura e scrittura. Avvia il controllo, la massa, l'isocrona, i trasferimenti di dati di varie lunghezze di trasferimento da e verso il dispositivo di test. Per un dispositivo SuperMUTT, USBTCD trasferisce i dati ai flussi supportati da un endpoint in blocco. Può anche inviare il buffer di trasferimento come mdls concatenati. In tal caso, è possibile specificare il numero di segmenti nel buffer di trasferimento.

I file USBTCD sono inclusi nel pacchetto software MUTT.

USBTCD

Per usare questi comandi, il driver USBTCD (USBTCD.sys) deve essere caricato come driver di funzione per il dispositivo. Per caricare il driver per il dispositivo, eseguire MUTTUtil e specificare USBTCD.inf. Questo strumento carica USBTCD.sys per tutti i dispositivi USB collegati.

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

È possibile usare i comandi seguenti per misurare le prestazioni per i trasferimenti da e verso gli endpoint in blocco di un dispositivo SuperMUTT.

Usbtcd –perf –read 1 100 2 10240000 0

Usbtcd –perf –write 1 100 0 10240000 0

Nel comando precedente USBTCD legge 10240000 byte dalla pipe 2. Nel secondo comando USBTCD avvia un'operazione di scrittura in cui vengono inviati 10240000 byte alla pipe 0. Per entrambi i comandi, lo strumento esegue l'operazione 100 volte e non specifica un valore di timeout.

Questi comandi vengono usati per misurare le prestazioni degli endpoint bulk del dispositivo MUTT. Si noti che le dimensioni del trasferimento vengono ridotte in questo caso.

Usbtcd –perf –read 1 100 2 512000 0

Usbtcd –perf –write 1 100 0 512000 0

Questi comandi misurano le prestazioni dei trasferimenti di dati ai flussi degli endpoint in blocco del dispositivo SuperMUTT. Attualmente, il firmware del dispositivo tenta di cambiare i flussi ogni millisecondo inviando un ERDY insieme al nuovo numero di flusso all'host. Implementato con un timer all'interno del dispositivo.

Usbtcd –sread 1 100 7 1 1024 0

Usbtcd –swrite 1 100 6 1 1024 0

Nel comando precedente USBTCD legge e scrive in un flusso specifico nell'endpoint bulk di un dispositivo SuperMUTT. Nel primo comando lo strumento avvia un thread di lavoro che legge 1024 byte dal flusso 1 associato alla pipe 7. Analogamente, il secondo comando scrive 1024 byte nel flusso 1 associato alla pipe 6. Per entrambi i comandi, lo strumento esegue l'operazione 100 volte e non specifica un valore di timeout.

Per visualizzare la Guida su USBTCD, eseguire il comando seguente:

usbtcd -?

Il comando mostra informazioni sulle opzioni della riga di comando. È possibile specificare dimensioni di trasferimento, dettaglio, timeout di trasferimento e altro ancora nella riga di comando.