RE: EHSET with hub and PCIe root hub

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



On Thu, 12 Sep 2019, Alan Stern wrote:

> On Wed, 11 Sep 2019, Allen Blaylock wrote:
> 
> > So I do see the PORT_TEST SetFeature Request and Response when I use tcpdump to
> > make a capture using usbmon. Unfortunately I am not as familiar with the raw
> > usbmon output or some of the diagnostics output by usbmon so I may be missing 
> > something. Here is a capture from the sysfs usbmon file:
> > 
> > a52efe00 268933702 C Ii:002:01 0 1 = 08
> > a52efe00 268933736 S Ii:002:01 -115 1 <
> > a546b700 268934005 S Ci:002:00 s a3 00 0000 0003 0004 4 <
> > a546b700 268934303 C Ci:002:00 0 4 = 01010100
> > a546b700 268934327 S Co:002:00 s 23 01 0010 0003 0000 0
> > a546b700 268934384 C Co:002:00 0 0
> > a546b700 268934438 S Ci:002:00 s a3 00 0000 0003 0004 4 <
> > a546b700 268934520 C Ci:002:00 0 4 = 01010000
> > a546b700 268980085 S Ci:002:00 s a3 00 0000 0003 0004 4 <
> > a546b700 268980332 C Ci:002:00 0 4 = 01010000
> > a546b700 269030091 S Ci:002:00 s a3 00 0000 0003 0004 4 <
> > a546b700 269030333 C Ci:002:00 0 4 = 01010000
> > a546b700 269080082 S Ci:002:00 s a3 00 0000 0003 0004 4 <
> > a546b700 269080335 C Ci:002:00 0 4 = 01010000
> > a546b280 269130094 S Ci:002:00 s a3 00 0000 0003 0004 4 <
> > a546b280 269130339 C Ci:002:00 0 4 = 01010000
> > a546b280 269130376 S Co:002:00 s 23 03 0004 0003 0000 0
> > a546b280 269130577 C Co:002:00 0 0
> > a546be00 269160091 S Ci:002:00 s a3 00 0000 0003 0004 4 <
> > a546be00 269160344 C Ci:002:00 0 4 = 03051000
> > a546be00 269160361 S Co:002:00 s 23 01 0014 0003 0000 0
> > a546be00 269160416 C Co:002:00 0 0
> > a546be00 269230118 S Ci:000:00 s 80 06 0100 0000 0040 64 <
> > a546be00 269230341 C Ci:000:00 0 18 = 12010002 00000040 0a1a0401 00010102 0301
> > a546be00 269230358 S Co:002:00 s 23 03 0004 0003 0000 0
> > a546be00 269230425 C Co:002:00 0 0
> > a546be00 269260104 S Ci:002:00 s a3 00 0000 0003 0004 4 <
> > a546be00 269260354 C Ci:002:00 0 4 = 03051000
> > a546be00 269260374 S Co:002:00 s 23 01 0014 0003 0000 0
> > a546be00 269260430 C Co:002:00 0 0
> > a546be00 269330097 S Co:000:00 s 00 05 0004 0000 0000 0
> > a546be00 269330372 C Co:000:00 0 0
> > a546b700 269380050 S Ci:004:00 s 80 06 0100 0000 0012 18 <
> > a546b700 269380327 C Ci:004:00 0 18 = 12010002 00000040 0a1a0401 00010102 0301
> > a546b700 269380360 S Ci:004:00 s 80 06 0200 0000 0009 9 <
> > a546b700 269380453 C Ci:004:00 0 9 = 09022e00 01010080 32
> > a546b700 269380468 S Ci:004:00 s 80 06 0200 0000 002e 46 <
> > a546b700 269380574 C Ci:004:00 0 46 = 09022e00 01010080 32090400 0004ff00 00000705 02020002 00070504 02000200
> > a546b700 269380608 S Ci:004:00 s 80 06 0300 0000 00ff 255 <
> > a546b700 269380701 C Ci:004:00 0 4 = 04030904
> > a546b700 269380717 S Ci:004:00 s 80 06 0302 0409 00ff 255 <
> > a546b700 269380824 C Ci:004:00 0 34 = 22035500 53004200 20004500 48004f00 53005400 20005400 45005300 54004500
> > a546b700 269380845 S Ci:004:00 s 80 06 0301 0409 00ff 255 <
> > a546b700 269380949 C Ci:004:00 0 34 = 22035500 53004200 20004500 48004f00 53005400 20005400 45005300 54004500
> > a546b700 269380968 S Ci:004:00 s 80 06 0303 0409 00ff 255 <
> > a546b700 269381074 C Ci:004:00 0 10 = 0a034900 4f005600 3300
> > a546b280 269381564 S Co:004:00 s 00 09 0001 0000 0000 0
> > a546b280 269381704 C Co:004:00 0 0
> > a560a000 269407637 S Co:002:00 s 23 03 0015 0403 0000 0
> > a560a000 269407869 C Co:002:00 -32 0
> > 
> > I was unable to make sense of it with the help of the usbmon.txt documentation
> > and will need some more time using wireshark and the output of tcpdump to get 
> > familiar with decoding the raw usbmon output.
> 
> Most of the usbmon output shows that a device was attached to port 3 of
> hub 2 and enumerated as usual over the course of about half a second.  
> 
> The very last two lines show the computer sending the hub a
> Set-Port-Test request on port 3 for test mode 4, which is Test Packet.  
> The hub's response is a STALL, indicating that the hub doesn't
> understand or doesn't implement this request.

I should add that the USB 2.0 spec includes the following text (from
section 11.24.2.13):

	Test mode of a downstream facing port can only be used in
	a well defined sequence of hub states. This sequence is
	defined as follows:

	1)  All enabled downstream facing ports of the hub containing
	    the port to be tested must be (selectively) suspended via 
	    the SetPortFeature(PORT_SUSPEND) request.  Each downstream 
	    facing port of the hub must be in the disabled, 
	    disconnected, or suspended state (see Figure 11-9).

So you can see the hub probably failed the request because a
non-suspended device was connected to port 3.  (And who knows what was 
attached to the other ports -- the usbmon trace doesn't say.)

Alan Stern




[Index of Archives]     [Linux Media]     [Linux Input]     [Linux Audio Users]     [Yosemite News]     [Linux Kernel]     [Linux SCSI]     [Old Linux USB Devel Archive]

  Powered by Linux