Cross-platform USB device lister and profiler that extends lsusb with modern features and better output formatting.
Cyme is a cross-platform USB device profiler that serves as a modern replacement for the traditional lsusb command. It lists system USB buses and devices while providing full device descriptor information across Linux, macOS, and Windows platforms. The tool maintains compatibility with lsusb through the --lsusb flag while adding enhanced functionality.
The tool uses native Rust libraries (nusb for device profiling, udevrs for Linux device information) by default, eliminating external dependencies that plague traditional USB tools on non-Linux platforms. It supports multiple profiling backends including libusb and macOS system_profiler for different use cases. Cyme provides improved tree visualization with configurable verbosity levels that show devices, configurations, interfaces, and endpoints in a hierarchical format.
Key features include advanced filtering options (by name, serial, class, vendor ID), customizable display blocks for different descriptor types, colored output with UTF-8 characters and device icons, JSON export functionality, and a watch subcommand for monitoring USB hotplug events. The tool automatically scales output to terminal width and includes options for masking serial numbers when sharing device information.
Cyme targets embedded developers and system administrators who frequently work with USB devices and need reliable cross-platform USB enumeration. It addresses common limitations of existing tools like verbose output being too cluttered, poor tree formatting, and unreliable operation on non-Linux systems.
# via Homebrew
brew install cyme
# via Pacman
pacman -S cyme
# via Cargo
cargo install cyme
