Uvperf
Using Usb-device Vault perf, validate device's bulk I/O, Isochronous In transfer
Install / Use
/learn @Vaultmicro/UvperfREADME
Goal of uvperf
USBdevice Vault perf 테스트 툴을 사용하여, host<->device의 Bulk In, Bulk Out, Isochronous In transfer들의 bandwidth. accuracy를 파악할 수 있다.
How to run uvperf
Install libusbK driver
- Using Zadig-2.8.exe
- If you can't see the deivce, check Option->List All Devices
- Install libusbK(v3.1.0.0)
uvperf.c
- gcc로 컴파일 할 경우 링크 경로 지정 -> -L"{libusbk.dll 경로}" -l"usb"
- CMake, MinGW 사용, script 폴더의 uvperf_build, uvperf_exe 참조
- 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<br/> USB Vendor ID
- -p PID<br/> USB Product ID
- -i INTERFACE<br/> USB Interface
- -a AltInterface<br/> USB Alternate Interface
- -e ENDPOINT<br/> USB Endpoint
- -m TRANSFERMODE<br/> 0 = Async, 1 = Sync
- -T TIMER<br/> Timer in seconds
- -t TIMEOUT<br/> USB Transfer Timeout
- -f FILEIO<br/> Use file I/O, default : FALSE
- -b BUFFERCOUNT<br/> Number of buffers to use
- -l READLENGTH<br/> Length of read transfers
- -w WRITELENGTH<br/> Length of write transfers
- -r REPEAT<br/> Number of transfers to perform
- -S <br/> 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
- Windows상에서만 test 가능
- Multi transfer 미지원
Related Skills
node-connect
351.4kDiagnose OpenClaw node connection and pairing failures for Android, iOS, and macOS companion apps
frontend-design
110.7kCreate distinctive, production-grade frontend interfaces with high design quality. Use this skill when the user asks to build web components, pages, or applications. Generates creative, polished code that avoids generic AI aesthetics.
openai-whisper-api
351.4kTranscribe audio via OpenAI Audio Transcriptions API (Whisper).
qqbot-media
351.4kQQBot 富媒体收发能力。使用 <qqmedia> 标签,系统根据文件扩展名自动识别类型(图片/语音/视频/文件)。
