[PATCH] usb: ehci: Fix "EHCI timed out on TD - token=XXXX" error on ehci-hcd

Marek Vasut marex at denx.de
Sat Mar 14 19:16:38 CET 2020


On 3/2/20 6:00 PM, Tom Rini wrote:
> On Mon, Mar 02, 2020 at 01:39:49AM +0100, Marek Vasut wrote:
>> On 3/2/20 12:04 AM, Tom Rini wrote:
>> [...]
>>
>>>>> 3 USB Device(s) found
>>>>>        scanning usb for ethernet devices... 0 Ethernet Device(s) found
>>>>> Hit any key to stop autoboot:  2  0 
>>>>> BeagleBoard # usb tree
>>>>> USB device tree:
>>>>>   1  Hub (480 Mb/s, 0mA)
>>>>>   |  u-boot EHCI Host Controller 
>>>>>   |
>>>>>   |+-2  Hub (480 Mb/s, 2mA)
>>>>>     |
>>>>>     |+-3  See Interface (480 Mb/s, 0mA)
>>>>>          ??????????? ??????????? ???????????
>>>>>        
>>>>> BeagleBoard # 
>>>>>
>>>>> Note that the hub and ethernet are on-SBC and not something I'm plugging
>>>>> in.  Thanks!
>>>>
>>>> The device #3 is a usb mass storage or what is it ?
>>>
>>> It's a usb ethernet device.
>>>
>>>> Can you try and implement usb_get_max_xfer_size for musb and make it
>>>> report 240*512 unconditionally (*size = 240*512; return 0;) ? I think
>>>> that would "fix" it for you on omap too.
>>>
>>> I'll pencil in some time to try that, thanks.
>>
>> That's not gonna help you with USB ethernet. I recall seeing flakiness
>> with asix devices, maybe that's what you're running into?
>>
>> Do you have any further details on that device ? lsusb -vvv would help.
> 
> I can only give:
> 
> BeagleBoard # usb info
> 1: Hub,  USB Revision 2.0
>  - u-boot EHCI Host Controller
>  - Class: Hub
>  - PacketSize: 64  Configurations: 1
>  - Vendor: 0x0000  Product 0x0000 Version 1.0
>    Configuration: 1
>    - Interfaces: 1 Self Powered 0mA
>      Interface: 0
>      - Alternate Setting 0, Endpoints: 1
>      - Class Hub
>      - Endpoint 1 In Interrupt MaxPacket 8 Interval 255ms
> 
> 2: Hub,  USB Revision 2.0
>  - Class: Hub
>  - PacketSize: 64  Configurations: 1
>  - Vendor: 0x0424  Product 0x9514 Version 2.0
>    Configuration: 1
>    - Interfaces: 1 Self Powered Remote Wakeup 2mA
>      Interface: 0
>      - Alternate Setting 0, Endpoints: 1
>      - Class Hub
>      - Endpoint 1 In Interrupt MaxPacket 1 Interval 12ms
>      - Endpoint 1 In Interrupt MaxPacket 1 Interval 12ms
> 
> 3: Vendor specific,  USB Revision 2.0
>  - Class: Vendor specific
>  - PacketSize: 64  Configurations: 1
>  - Vendor: 0x0424  Product 0xec00 Version 2.0
>    Configuration: 1
>    - Interfaces: 1 Self Powered Remote Wakeup 2mA
>      Interface: 0
>      - Alternate Setting 0, Endpoints: 3
>      - Class Vendor specific
>      - Endpoint 1 In Bulk MaxPacket 512
>      - Endpoint 2 Out Bulk MaxPacket 512
>      - Endpoint 3 In Interrupt MaxPacket 16 Interval 4ms
> 
> As the old Fedora core image on the SD card there isn't happy and I
> don't have time to dig in to that problem right now.  But please note
> that the issue here is a relatively recent regression as Guillaume
> reported.

Link would be helpful.

I tried this on R-Car3 EHCI via USB 2.0 hub and I don't see any issue
with detecting either ASIX 0b95:7720 Zoltan Tech ZoWii , asix_usb ,
ethernet OR SMSC 95xx 0454:9e00 ATMES oabrDongle . So I suspect this
must be some limitation of the EHCI on the AM335x somehow ?

Or does it also happen on other SoCs and/or other USB controllers and/or
USB ethernet adapters? I need a way to replicate the issue if I should
debug it.

-- 
Best regards,
Marek Vasut


More information about the U-Boot mailing list