Provided by: cyme_2.2.0+dfsg-2_amd64 bug

NAME

       cyme - List system USB buses and devices. A modern cross-platform lsusb

SYNOPSIS

       cyme  [-l|--lsusb]  [-t|--tree] [-d|--vidpid] [-s|--show] [-D|--device] [--filter-name] [--filter-serial]
       [--filter-class] [-v|--verbose]... [-b|--blocks]  [--bus-blocks]  [--config-blocks]  [--interface-blocks]
       [--endpoint-blocks]   [-m|--more]   [--sort-devices]   [--sort-buses]   [--group-devices]  [--hide-buses]
       [--hide-hubs] [--list-root-hubs] [--decimal] [--no-padding] [--color] [--encoding] [--icon]  [--headings]
       [--json]     [--from-json]    [-F|--force-libusb]    [-c|--config]    [-z|--debug]...    [--mask-serials]
       [--system-profiler] [-h|--help] [-V|--version]

DESCRIPTION

       List system USB buses and devices. A modern cross-platform lsusb

OPTIONS

       -l, --lsusb
              Attempt to maintain compatibility with lsusb output

       -t, --tree
              Dump USB device hierarchy as a tree

       -d, --vidpid=VIDPID
              Show only devices with the specified vendor and product ID  numbers  (in  hexadecimal)  in  format
              VID:[PID]

       -s, --show=SHOW
              Show only devices with specified device and/or bus numbers (in decimal) in format [[bus]:][devnum]

       -D, --device=DEVICE
              Selects which device lsusb will examine - supplied as Linux /dev/bus/usb/BBB/DDD style path

       --filter-name=FILTER_NAME
              Filter on string contained in name

       --filter-serial=FILTER_SERIAL
              Filter on string contained in serial

       --filter-class=FILTER_CLASS
              Filter on USB class code

              Possible values:

                     • use-interface-descriptor:  Device class is unspecified, interface descriptors are used to
                       determine needed drivers

                     • audio: Speaker, microphone, sound card, MIDI

                     • cdc-communications: The modern serial interface; appears as a  UART/RS232  port  on  most
                       systems

                     • hid: Human Interface Device; game controllers, keyboards, mice etc. Also commonly used as
                       a device data interface rather then creating something from scratch

                     • physical: Force feedback joystick

                     • image: Still imaging device; scanners, cameras

                     • printer: Laser printer, inkjet printer, CNC machine

                     • mass-storage:  Mass  storage  devices (MSD): USB flash drive, memory card reader, digital
                       audio player, digital camera, external drive

                     • hub: High speed USB hub

                     • cdc-data: Used together with class 02h (Communications and CDC Control) above

                     • smart-card: USB smart card reader

                     • content-security: Fingerprint reader

                     • video: Webcam

                     • personal-healthcare: Pulse monitor (watch)

                     • audio-video: Webcam, TV

                     • billboard: Describes USB-C alternate modes supported by device

                     • usb-type-c-bridge: An interface to expose and configure the USB  Type-C  capabilities  of
                       Connectors on USB Hubs or Alternate Mode Adapters

                     • bdp:  This  base  class  is  defined for devices that conform to the “VESA USB BDP Device
                       Specification” found at the VESA website. This specification defines the  usable  set  of
                       SubClass  and  Protocol  values.  Values outside of this defined spec are reserved. These
                       class codes can only be used in Interface Descriptors

                     • mctp: This base class is defined for devices that conform to the “MCTP over USB” found at
                       the DMTF website as DSP0283. This specification defines the usable set  of  SubClass  and
                       Protocol  values. Values outside of this defined spec are reserved. These class codes can
                       only be used in Interface Descriptors

                     • i3c-device: An interface to expose and configure I3C function  within  a  USB  device  to
                       allow  interaction  between host software and the I3C device, to drive transaction on the
                       I3C bus to/from target devices

                     • diagnostic: Trace and debugging equipment

                     • wireless-controller: Wireless controllers: Bluetooth adaptors, Microsoft RNDIS

                     • miscellaneous: This base class is defined  for  miscellaneous  device  definitions.  Some
                       matching SubClass and Protocols are defined on the USB-IF website

                     • application-specific-interface:  This  base  class is defined for devices that conform to
                       several class specifications found on the USB-IF website

                     • vendor-specific-class: This base class is defined for vendors to use as they please

       -v, --verbose
              Verbosity level (repeat provides count): 1 prints device configurations; 2  prints  interfaces;  3
              prints interface endpoints; 4 prints everything and more blocks

       -b, --blocks=BLOCKS
              Specify  the blocks which will be displayed for each device and in what order. Supply arg multiple
              times to specify multiple blocks

              Possible values:

                     • bus-number: Number of bus device is attached

                     • device-number: Bus issued device number

                     • branch-position: Position of device in parent branch

                     • port-path: Linux style port path

                     • sys-path: Linux udev reported syspath

                     • driver: Linux udev reported driver loaded for device

                     • icon: Icon based on VID/PID

                     • vendor-id: Unique vendor identifier - purchased from USB IF

                     • product-id: Vendor unique product identifier

                     • name: The device name as reported in descriptor or using usb_ids if None

                     • manufacturer: The device manufacturer as provided in descriptor or using usb_ids if None

                     • product-name: The device product name as reported by usb_ids vidpid lookup

                     • vendor-name: The device vendor name as reported by usb_ids vid lookup

                     • serial: Device serial string as reported by descriptor

                     • speed: Advertised device capable speed

                     • negotiated-speed: Negotiated device speed as connected

                     • tree-positions: Position along all branches back to trunk device

                     • bus-power: macOS system_profiler only - actually bus current in mA not power!

                     • bus-power-used: macOS system_profiler only - actually bus current used in mA not power!

                     • extra-current-used: macOS system_profiler only - actually bus  current  used  in  mA  not
                       power!

                     • bcd-device: The device version

                     • bcd-usb: The supported USB version

                     • base-class:  Base  class enum of interface provided by USB IF - only available when using
                       libusb

                     • sub-class: Sub-class value of interface provided by USB IF - only  available  when  using
                       libusb

                     • protocol:  Prototol  value  for  interface provided by USB IF - only available when using
                       libusb

                     • uid-class: Class name from USB IDs repository

                     • uid-sub-class: Sub-class name from USB IDs repository

                     • uid-protocol: Protocol name from USB IDs repository

                     • class: Fully defined USB Class Code enum based on BaseClass/SubClass/Protocol triplet

                     • base-value: Base class as number value rather than enum

                     • last-event: Last time device was seen

                     • event-icon: Event icon

       --bus-blocks=BUS_BLOCKS
              Specify the blocks which will be displayed for each bus and in what  order.  Supply  arg  multiple
              times to specify multiple blocks

              Possible values:

                     • bus-number: System bus number identifier

                     • icon: Icon based on VID/PID

                     • name: System internal bus name based on Root Hub device name

                     • host-controller: System internal bus provider name

                     • host-controller-vendor: Vendor name of PCI Host Controller from pci.ids

                     • host-controller-device: Device name of PCI Host Controller from pci.ids

                     • pci-vendor: PCI vendor ID (VID)

                     • pci-device: PCI device ID (PID)

                     • pci-revision: PCI Revsision ID

                     • port-path: syspath style port path to bus, applicable to Linux only

       --config-blocks=CONFIG_BLOCKS
              Specify  the  blocks  which will be displayed for each configuration and in what order. Supply arg
              multiple times to specify multiple blocks

              Possible values:

                     • name: Name from string descriptor

                     • number: Number of config, bConfigurationValue; value to set to enable to configuration

                     • num-interfaces: Interfaces available for this configuruation

                     • attributes: Attributes of configuration, bmAttributes

                     • icon-attributes: Icon representation of bmAttributes

                     • max-power: Maximum current consumption in mA

       --interface-blocks=INTERFACE_BLOCKS
              Specify the blocks which will be displayed for each  interface  and  in  what  order.  Supply  arg
              multiple times to specify multiple blocks

              Possible values:

                     • name: Name from string descriptor

                     • number: Interface number

                     • port-path: Interface port path, applicable to Linux

                     • base-class: Base class enum of interface provided by USB IF

                     • sub-class: Sub-class value of interface provided by USB IF

                     • protocol: Prototol value for interface provided by USB IF

                     • alt-setting: Interfaces can have the same number but an alternate settings defined here

                     • driver: Driver obtained from udev on Linux only

                     • sys-path: syspath obtained from udev on Linux only

                     • num-endpoints: An interface can have many endpoints

                     • icon: Icon based on BaseClass/SubCode/Protocol

                     • uid-class: Class name from USB IDs repository

                     • uid-sub-class: Sub-class name from USB IDs repository

                     • uid-protocol: Protocol name from USB IDs repository

                     • class: Fully defined USB Class Code based on BaseClass/SubClass/Protocol triplet

                     • base-value: Base class as number value rather than enum

       --endpoint-blocks=ENDPOINT_BLOCKS
              Specify  the  blocks  which  will  be  displayed  for  each endpoint and in what order. Supply arg
              multiple times to specify multiple blocks

              Possible values:

                     • number: Endpoint number on interface

                     • direction: Direction of data into endpoint

                     • transfer-type: Type of data transfer endpoint accepts

                     • sync-type: Synchronisation type (Iso mode)

                     • usage-type: Usage type (Iso mode)

                     • max-packet-size: Maximum packet size in bytes endpoint can send/recieve

                     • interval: Interval for polling endpoint data transfers. Value in  frame  counts.  Ignored
                       for  Bulk & Control Endpoints. Isochronous must equal 1 and field may range from 1 to 255
                       for interrupt endpoints

       -m, --more
              Print more blocks by default at each verbosity

       --sort-devices=SORT_DEVICES [default: device-number]
              Sort devices operation

              Possible values:

                     • device-number: Sort by bus device number

                     • branch-position: Sort by position in parent branch

                     • no-sort: No sorting; whatever order it was parsed

       --sort-buses
              Sort devices  by  bus  number.  If  using  any  sort-devices  other  than  no-sort,  this  happens
              automatically

       --group-devices=GROUP_DEVICES [default: no-group]
              Group devices by value when listing

              Possible values:

                     • no-group: No grouping

                     • bus: Group into buses with bus info as heading - like a flat tree

       --hide-buses
              Hide empty buses when printing tree; those with no devices

       --hide-hubs
              Hide  empty hubs when printing tree; those with no devices. When listing will hide hubs regardless
              of whether empty of not

       --list-root-hubs
              Show root hubs when listing; Linux only

       --decimal
              Show base16 values as base10 decimal instead

       --no-padding
              Disable padding to align blocks - will cause --headings to become maligned

       --color=COLOR [default: always]
              Output coloring mode

              Possible values:

                     • auto: Show colours if the output goes to an interactive console

                     • always: Always apply colouring to the output

                     • never: Never apply colouring to the output

       --encoding=ENCODING [default: glyphs]
              Output character encoding

              Possible values:

                     • glyphs: Use UTF-8 private use area characters such as those  used  by  NerdFont  to  show
                       glyph icons

                     • utf8: Use only standard UTF-8 characters for the output; no private use area glyph icons

                     • ascii: Use only ASCII characters for the output; 0x00 - 0x7F (127 chars)

       --icon=ICON [default: auto]
              When to print icon blocks

              Possible values:

                     • auto:   Show   icon   blocks   if   the   [`Encoding`]  supports  icons  matched  in  the
                       [`icon::IconTheme`]

                     • always: Always print icon blocks if included in configured blocks

                     • never: Never print icon blocks

       --headings
              Show block headings

       --json Output as json format after sorting, filters and tree settings are applied; without -tree will  be
              flattened dump of devices

       --from-json=FROM_JSON
              Read from json output rather than profiling system

       -F, --force-libusb
              Force pure libusb profiler on macOS rather than combining system_profiler output

              Has no effect on other platforms or when using nusb

       -c, --config=CONFIG
              Path to user config file to use for custom icons, colours and default settings

       -z, --debug
              Turn debugging information on. Alternatively can use RUST_LOG env: INFO, DEBUG, TRACE

       --mask-serials=MASK_SERIALS
              Mask serial numbers with '*' or random chars

              Possible values:

                     • hide: Hide with '*' char

                     • scramble: Mask by randomising existing chars

                     • replace: Mask by replacing length with random chars

       --system-profiler
              Use the system_profiler command on macOS to get USB data

              If not using nusb this is the default for macOS, merging with libusb data for verbose output. nusb
              uses IOKit directly so does not use system_profiler by default

       -h, --help
              Print help (see a summary with '-h')

       -V, --version
              Print version

VERSION

       v2.2.0

AUTHORS

       John Whittington <john@jbrengineering.co.uk>

                                                   cyme 2.2.0                                            cyme(1)