Re: USB disconnects in 2.6.20-rc5 (but improved behaviour over earlier RCs)
Alan Stern <[email protected]>
| Newsgroups | gmane.linux.usb.devel,gmane.spam.detected |
|---|---|
| Message-ID | <[email protected]> |
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 ------------------------------------------------------------------------- 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 _______________________________________________ [email protected] To unsubscribe, use the last form field at: https://lists.sourceforge.net/lists/listinfo/linux-usb-devel
cheat.txt
(text/plain, 2.2 KB)
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