The usbdump utility is layered over libusb 0.1.8 - in particular the 
Sun Ray and Solaris implementations of that library.

usbdump has several options, shown below, which include listing 
all the USB busses that can be found for the Sun Ray session
specified via the $DISPLAY environment variable or -x flag.
An option is also provided for the root user to snoop for devices
on all DTUs.

This is included in the pcsctools tree to help diagnose potential
issues with PCSClite and the CCID handler when USB devices are involved.
If usbdump can't find the devices for a specific Sun Ray session then
PCSClite and the CCID handler won't be able to find them either,
so this can help isolate failures.

The ability of this tool to display the USB product and vendor IDs for
devices can also help diagnose issues related to which devices the
CCID handler recognizes as valid smart card readers.

usage: ./usbdump

   [-v vendor id]  - Match vendor ID
   [-p product id] - Match product ID
   [-a ]           - Dump all descriptors
   [-s ]           - Dump device summary
   [-l ]           - List available devices
   [-A ]           - List for all Sun Ray DTUs
   [-r ]           - Interpret raw DM descriptor
   [-x :<dpy#> ]   - Specify Sun Ray session via it's $DISPLAY value
   [-d debug lvl]  - libusb debug level
   [-i filename]   - Read DM desc from file [default=stdin]

   Example:  ./usbdump -v a81 -p 101 -as

       manufacturer:      "Questionable Devices, Inc."
       product:           "Curious Indeed 5000"
       vendor/product:    [ a23, 231 ]
       class/sub/proto:   00/00/00
       Nbr. confs:        1

       configuration 1:   nbr. interfaces: 2
           interface 1:   nbr. endpoints:  1
                  EP 1:   Isochronous OUT
           interface 2:   nbr. endpoints:  8
                  EP 1:   Control OUT
                  EP 3:   Interrupt IN
                  EP 4:   Bulk OUT

