On Fri, 4 Jul 2014, Mathias Nyman wrote:

On 07/01/2014 09:07 AM, Mike Mammarella wrote:
Hi

Can you add xhci debugging by enabling CONFIG_DYNAMIC_DEBUG, and run
`echo -n 'module xhci_hcd =p' > /sys/kernel/debug/dynamic_debug/control`
as root,
and send me the output of dmesg.

Without debugging info it's hard to guess what's going on.

The microframe rounding look a bit suspicious:
[12864.453456] usb 3-4: ep 0x81 - rounding interval to 128 microframes, ep desc 
says 255 microframes

xhci specs says it needs the interval rounded to nearest 2^(X) value, which 
would be 256, not 128. I'll take a look at that.

An other possibility is that it's related to how xhci handles halted endpoints. 
I got some untested code to fix this, It needs a lot of cleanup but can be 
tested.

If you are able to test my ep_reset_halt_test branch (with xhci debugging) I'd 
be interested to know if it helps.

Code is at:
git://git.kernel.org/pub/scm/linux/kernel/git/mnyman/xhci.git ep_reset_halt_test

-Mathias

Thanks! I've built a kernel from fb58633e with CONFIG_DYNAMIC_DEBUG enabled.
(I also had to mount debugfs, it turns out.) The scanner does not work in
this configuration. I've posted the logs here:

http://spark.crystalorb.net/mikem/dmesg.log
http://spark.crystalorb.net/mikem/scanadf.log

dmesg seems to have much more information than what showed up on the
console (which showed only MATTU messages); it may be relevant when
sifting through that output that the root file system is also on USB.


Thanks,

Took a quick look, but can't find any obvious reason why it fails.
I'll be out of office next week, but I'll try to take a better look again when 
I return

usbmon traces of this could give some hint on what is happening

-Mathias


Sorry for the delay getting back to you - I've captured traces with EHCI (works) and XHCI (fails). In both cases the scanner is device 10 on bus 1. The kernel is the Debian 3.14.12 kernel (so, in particular, not your ep_reset_halt_test branch), in case that's important for these traces.

http://spark.crystalorb.net/mikem/usbmon-success.log
http://spark.crystalorb.net/mikem/usbmon-failure.log

I appreciate your help looking into this!

Mike
--
To unsubscribe from this list: send the line "unsubscribe linux-usb" in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html

Reply via email to