winget install --id tuna-f1sh.cyme
About Cyme
A modern cross-platform lsusb that attempts to maintain compatibility with, but also add new features. Profiles system USB buses and the devices on those buses, including full device descriptors.
What's new in 2.3.0
Big reduction of profiling time^ when filtering by passing options with filter to profiler. Previously, filtering was done post profiling of all devices - even those that would be filtered out. This included opening descriptors and reading data for redundant devices. Also wrote some more tests to diff actual output of lsusb against cyme --lsusb - found some discrepancies in the tree and tree verbose output which have been fixed. ^ ~O(n) where n is devices on host - ~ because depends on descriptors and number of filter matches. See #104 for more details. Changed - tree: default to branch sort to match lsusb and expected. - main: default --block-operation is add not new (replace) (#106). Added - profiler: reduce profiling time when filtering by passing options with filter to profiler (#104). - profiler: gets active config and alt setting for interfaces. - profiler: (Linux) sysfs fallback for hub ports, active config and alt setting. - watch: if not started with --verbose then could not cycle verbose mode with 'v' key. - arg: hidden --filter-post for filtering post profiling in case fallback to previous behaviour is required. - icons: defaults include CANnectivity gs_usb devices. - icons: defaults update Arduino and add Qualcomm EDL. Fixed - lsusb: fix --tree --verbose using PCI IDs not root hub USB IDs. - lsusb: fix --tree -v showing all config and alt interfaces, not just active like lsusb --tree -v. - main: --device -D not working without --lsusb flag.
Version history
| Version | Updated | Notes |
|---|---|---|
| 2.3.0 | Unknown | Big reduction of profiling time^ when filtering by passing options with filter to profiler. Previously, filtering was done post profiling of all devices - even those that would be filtered out. This included opening desc... |
| 2.2.11 | Unknown | Fixed - build: colored crate breaking change without major release (#92). |
| 2.2.10 | Unknown | - profiler: fix always reading extra descriptors even when not verbose (#91). |
| 2.2.9 | Unknown | - typos: typos and spelling mistakes (#90), (usbutils#240). |
| 2.2.8 | Unknown | Added - profiling: obtain interface /dev/ paths on Linux - see README for example serial device finding (#80, #89). - profiling: obtain interface block device mount paths if MSD (#60, #89). Fixed - nusb profiler: use des... |
| 2.2.7 | Unknown | - config: some settings not being applied from config file (#82). - args: sort args not being applied (#82). |
| 2.2.6 | Unknown | - watch: panic exiting due to potential dropped channel send (#79). |
| 2.2.5 | Unknown | - config: encoding arg not being passed to print settings (#77). |
| 2.2.4 | Unknown | - Update to use release v0.2.0 of nusb. |
| 2.2.3 | Unknown | Added - --block-operation add to control how block args are processed: new, add, append, prepend or remove from config/defaults (#72). - Block args can take comma separated values (#72). - Default block args in --help (#... |
| 2.2.0 | Unknown | cyme watch subcommand to watch for USB device hotplug events and live edit display settings. A simple TUI proof of concept that grew beyond just showing hotplug events into something quite handy for exploring enumerated... |
| 2.1.3 | Unknown | Fixed - lsusb-verbose: hub dump not reading full descriptor for bcd >= 0x0300 so missing hub descriptor (#63). - lsusb-verbose: verbose white space and some strings. Changed - build: hide --gen behind cli_generate featur... |
| 2.1.1 | Unknown | Release notes |