On Thu, 1 Mar 2007, Antti P Miettinen wrote:

> >> Does anyone have tools/scripts for decoding the usbmon logs?
> >
> > You don't really need them all that much, as long as you do not
> > try to decode the data. Just look at the usbmon.txt, and follow
> > from there word by word, left to right.
> 
> Well - I would mostly just like to educate myself. E.g. having
> something that would tell me that this:
> 
> f7723ac0 30344798 S Ci:001:00 s a3 00 0000 0001 0004 4 <
> f7723ac0 30344798 C Ci:001:00 0 4 = 01050000
> 
> is a port status query to the hub would help me a lot in understanding
> what is going on :-)

Maybe the attached document will help a little bit.  It's something I put 
together to help myself decode usbmon logs.  It contains information on 
the most common control requests from chapter 9 (all devices), chapter 11 
(hubs), and the HID spec.

Alan Stern
                Standard device requests

RQtype Req      Value           Index   Length
----------------------------------------------
  0     1       dev-feat        0       0       Clear device feature
  0     3       dev-feat        0       0       Set device feature
  0     5       address         0       0       Set device address
  0     9       config-value    0       0       Set configuration
  1     b       altsetting      intf    0       Set interface
  1     1       intf-feat       intf    0       Clear interface feature
  1     3       intf-feat       intf    0       Set interface feature
  2     1       ep-feat         ep      0       Clear endpoint feature
  2     3       ep-feat         ep      0       Set endpoint feature
 80     0       0               0       2       Get device status
 80     6       descr-type/     0/      len     Get descriptor
                index           lang-ID
 80     8       0               0       1       Get configuration
 81     0       0               intf    2       Get interface status
 81     a       0               intf    1       Get interface (altsetting)
 82     0       0               ep      2       Get endpoint status

Device features:        0 = self-powered, 1 = remote wakeup
Interface features:     None
Endpoint features:      0 = halt
Descriptor types:       1 = device, 2 = config, 3 = string, (4 = interface,
        5 = endpoint), 6 = device qualifier, 7 = other-speed config



                Hub class requests

RQtype Req      Value           Index   Length
----------------------------------------------
 20     1       hub-feat        0       0       Clear hub feature
 20     3       hub-feat        0       0       Set hub feature
 23     1       port-feat       sel/    0       Clear port feature
                                port
 23     3       port-feat       sel/    0       Set port feature
                                port
 a0     0       0               0       4       Get hub status
 a0     6       2900            0       len     Get hub descriptor
 a3     0       0               port    4       Get port status

Hub features:   0 = hub local power, 1 = hub over current,
                10 = ch hub local power, 11 = ch hub over current
Port features:  0 = connect, 1 = enable, 2 = suspend, 3 = over current,
                4 = reset, 8 = power, 9 = low speed, a = high speed,
                b = test mode, c = indicator,
                10 = ch connect, 11 = ch enable, 12 = ch suspend,
                13 = ch over current, 14 = ch reset
Selector is used for port indicators



               HID class requests

RQtype Req      Value           Index   Length
----------------------------------------------
 21     9       report-type/ID  intf    len     Set report
 21     a       duration/ID     intf    0       Set idle
 21     b       proto           intf    0       Set protocol
 81     6       descr-type/set  intf    len     Get class descriptor
 a1     1       report-type/ID  intf    len     Get report
 a1     2       0/ID            intf    1       Get idle
 a1     3       0               intf    1       Get protocol

Report type:            1 = input, 2 = output, 3 = feature
Descriptor type:        21 = HID, 22 = Report, 23 = Physical
Protocol:               0 = boot, 1 = report
-------------------------------------------------------------------------
Take Surveys. Earn Cash. Influence the Future of IT
Join SourceForge.net's Techsay panel and you'll get the chance to share your
opinions on IT & business topics through brief surveys-and earn cash
http://www.techsay.com/default.php?page=join.php&p=sourceforge&CID=DEVDEV
_______________________________________________
linux-usb-devel@lists.sourceforge.net
To unsubscribe, use the last form field at:
https://lists.sourceforge.net/lists/listinfo/linux-usb-devel

Reply via email to