Re: at91sam9x5: USB mass storage gadget problems

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

 



On Thu, 12 Nov 2015, Douglas Gilbert wrote:

> Yes, the X201 has USB 2.0 host ports. It is running a stock Ubuntu
> 15.10 kernel: 4.2.0-18-generic and the log indicates that the
> ehci_pci driver is being used. Part of the X201's syslog is
> attached in which a driver complains about the invalid maxpacket
> values of 64.
> 
> So its seems that the ehci drivers as used on the X201 can work
> around the invalid maxpacket value (64) while the xhci drivers
> used by the X240 (due to the USB 3.0 host ports) get tripped up.

Yes, I think that's right.  The restriction that high speed bulk 
endpoints must have a maxpacket size of 512 is enforced by the xHCI 
hardware but not by the EHCI hardware; this explains why ehci-hcd is 
able to work around such violations while xhci-hcd isn't.

> Still looking at drivers/usb/gadget/udc/atmel_usba_udc.c which
> has lots of changes between lk 3.19.0-rc4 and 4.0.0-rc4 . The
> maxpacket value seems (to me) to be related to the fifo-size
> in the gadget section of this dts include file:
>    arch/arm/boot/dts/at91sam9x5.dtsi
> which has 1024 for ep1 through ep5 and 64 for ep0.

The assignment of endpoints isn't done in the UDC driver; it is carried 
out by epautoconf.c in drivers/usb/gadget/.  So you may need to expand 
your bisection search beyond the single UDC driver source file.

Have you tried enabling debugging in the gadget drivers and checking 
out the kernel log on the gadget?

> So it looks like 1.5 bugs:
>    - one in atmel's udc driver for the at91sam9x5 family, and
>    - the inconsistency between the ehci driver working around
>      invalid maxpacket values and the xhci driver behaving
>      badly (lots of bus resets and a badly made SCSI storage
>      device [e.g. INQUIRY works but READ(10) fails]).

The first is clearly a bug, although at the moment we can't be sure 
where.  The second is an unavoidable hardware restriction, not a bug.  
Anyway, if you fix the first problem then the second won't be an issue.

Alan Stern

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



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

  Powered by Linux