Hi, On Wed, Sep 24, 2014 at 11:20:31AM -0500, Felipe Balbi wrote: > > > > > Therefore stalling is appropriate. Why it causes it problem for your > > > > > system is a different matter. Is your UDC hardware capable of > > > > > halting > > > > > bulk endpoints? > > > > > > > > yeah, that part is just fine; I also verified with my sniffer that bulk > > > > halt is happening as it should. The problem, however, is that after that > > > > halt condition happens, host (same board has xhci too, Linux 3.17-rc5) > > > > issues a reset recovery > > > > > > It shouldn't; there's no reason for it to do so. Unless something > > > else is going wrong on the host side. Have you tried capturing a > > > usbmon trace on the host? > > > > I'll capture usbmon and send here shortly. > > here it is... Interesting part starts at line 73 (114 on this email) > where the data transport received EPIPE (due to Stall). This time > however, I was eventually able to talk to the device and managed to > issue quite a few writes to it.
so here's sequence of events so far:
- Enumration goes fine
- Get Max Lun -> 0 (single lun)
- Inquiry -> Passed
- Test Unit Ready -> Failed
- Request Sense (Unit Attention) -> Passed
- Test Unit Ready -> Passed
- Mode Sense -> Stall of Data transport.
- Clear Endpoint Feature (HALT) EP1 IN
- After clear feature, a 16 bulk in completes. Shouldn't gadget
driver have cancelled that ?
- Bus reset
This remains for a few iterations. One thing is very interesting ...
[ snip ]
> ed2541c0 1239906485 S Bo:003:01 -115 31 = 55534243 1e000000 12000000 80000603
> 00000012 00000000 00000000 000000
> ed2541c0 1239906590 C Bo:003:01 0 31 >
> ec1a8740 1239906770 S Bi:003:01 -115 18 <
> ec1a8740 1239906871 C Bi:003:01 0 18 = 70000600 0000000a 00000000 29000000
> 0000
> ed2541c0 1239906975 S Bi:003:01 -115 13 <
> ed2541c0 1239907026 C Bi:003:01 0 13 = 55534253 1e000000 00000000 00
> ed2541c0 1239907803 S Bo:003:01 -115 31 = 55534243 1f000000 00020000 80000ca1
> 082e0001 00000000 ec000000 000000
0xa1 ? What is this ? Looks like XHCI corrupted the packet ? I can see
the same SCSI opcode (0xa1) with my sniffer.
--
balbi
signature.asc
Description: Digital signature
