A GUI tool for USB viewing, reading and writing.
You are suggested to install an udev rule file for unprivileged users to be able to access USB device.
See: libusb calls without sudo using udev-rules.
Alternatively, simply run this application with root privileges.
- Support detect and list USB devices
- Support hotplug
- Support parse and show following descriptors:
- Configuration Descriptor
- Device Descriptor
- Interface Descriptor
- Endpoint Descriptor
- Hub Descriptor
- BOS Descriptor
- All Device Capability Descriptors specified at USB Spec 3.2
- Following extra descriptors of Interface Descriptors
- HID Descriptor and its Report Descriptor
- DFU Descriptor
- All Descriptors specified at Audio Spec v1.0
- All Descriptors specified at Audio Spec v2.0
- All Descriptors specified at Audio Spec v3.0
- All Descriptors specified at Video Spec v1.5
- Following extra descriptors of Configuration Descriptors
- Interface Association Descriptor
- OTG Descriptor
- Security Descriptor
- Encryption Type Descriptor
- Quick Reference for fields of descriptors. Currently UAC descriptors are not covered.
- Support Endpoint data transfers
- Display or edit data in hex and ASCII, supported by QHexEdit
- Support set alternative settings of interfaces
- Multiple themes supported by GTRONICK/QSS
The release page provides the lastest AppImage files.
git clone --recurse-submodules https://github.com/NichtsHsu/usb-regulus.git
-
Install Qt and select GCC x64 toolkit (I have only tested Qt 5.15.3 and Qt 6.4.0). Or, if you are working on a release of Linux which contains the qt5/6 package just install it.
-
Install necessary C++ compiling packages, such as
build-essential
,g++
,make
,cmake
and so on. -
Install
libusb-1.0
andlibudev
. For an example, on Ubuntu:sudo apt install libusb-1.0-0-dev libudev-dev
-
Open Qt Creator, and select this project, then build.
If you would like to build with terminal:
cd usb-regulus mkdir build cd build qmake .. make
If your shell complains
command not found: qmake
, please use{Your Qt Install Path}/gcc_64/bin/qmake
instead. -
Run with
./usb-regulus
command. Or, write a desktop entry file for it. -
Remember to copy the
assets
folder under build directory together if you want to copy theusb-regulus
binary file.
I have never used MacOS, but it should not be much different from Linux.
Not Support Yet
Because libusb
doesn't seem to work well on Windows, especially it does not support hotplug. I'm looking for the possibility to use WinUsb instead of libusb, but the work will not be started until the basic functions on Linux are done.