Skip to content

Using Usb-device Vault perf, validate device's bulk I/O, Isochronous In transfer

License

Notifications You must be signed in to change notification settings

Vaultmicro/uvperf

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

1 Commit
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Goal of uvperf

USBdevice Vault perf 테스트 툴을 사용하여, host<->device의 Bulk In, Bulk Out, Isochronous In transfer들의 bandwidth. accuracy를 파악할 수 있다.

How to run uvperf

Install libusbK driver

  1. Using Zadig-2.8.exe
  2. If you can't see the deivce, check Option->List All Devices
  3. Install libusbK(v3.1.0.0)

uvperf.c

  1. gcc로 컴파일 할 경우 링크 경로 지정 -> -L"{libusbk.dll 경로}" -l"usb"
  2. CMake, MinGW 사용, script 폴더의 uvperf_build, uvperf_exe 참조
  3. Visual Studio로 컴파일 할 경우 -> #pragma comment(lib, "libusbk.lib") 추가

Usage of uvperf

CLI

uvperf -v VID -p PID -i INTERFACE -a AltInterface -e ENDPOINT -m TRANSFERMODE -T TIMER -t TIMEOUT -f FileIO -b BUFFERCOUNT -l READLENGTH -w WRITELENGTH -r REPEAT -S Example

  • -v VID
    USB Vendor ID
  • -p PID
    USB Product ID
  • -i INTERFACE
    USB Interface
  • -a AltInterface
    USB Alternate Interface
  • -e ENDPOINT
    USB Endpoint
  • -m TRANSFERMODE
    0 = Async, 1 = Sync
  • -T TIMER
    Timer in seconds
  • -t TIMEOUT
    USB Transfer Timeout
  • -f FILEIO
    Use file I/O, default : FALSE
  • -b BUFFERCOUNT
    Number of buffers to use
  • -l READLENGTH
    Length of read transfers
  • -w WRITELENGTH
    Length of write transfers
  • -r REPEAT
    Number of transfers to perform
  • -S
    Show transfer data, default : FALSE
uvperf -v 0x1004 -p 0xa000 -i 0 -a 0 -e 0x81 -m 0 -t 1000 -l 1024 -r 1000 -R

This will perform 1000 bulk transfers of 1024 bytes to endpoint 0x81 on interface 0, alternate setting 0 of a device with VID 0x1004 and PID 0xA000 The transfers will have a timeout of 1000ms.

List

uvperf -l | -w Buffersize

then, you can select device and endpoint ( recommend type with buffer size and timeout with commands )

Bandwitdh

In the middle of excution, press "q" or "Q" then, show the log average Bandwidth ( Mpbs ), and total transfer

Known Issue

  1. Windows상에서만 test 가능
  2. Multi transfer 미지원

About

Using Usb-device Vault perf, validate device's bulk I/O, Isochronous In transfer

Resources

License

Stars

Watchers

Forks

Packages

No packages published