[U-Boot] Need help with u-boot problem with usb-keyboard / kvm switch

Bo Shen voice.shen at atmel.com
Fri Sep 19 05:41:46 CEST 2014


Hi All,

On 09/18/2014 03:29 AM, Eric Nelson wrote:
> Hi Hans,
>
> On 09/17/2014 12:11 PM, Hans de Goede wrote:
>> Hi Marek, et al,
>>
>> I'm working on cleaning up Luc's hdmi out support patchset for
>> sunxi.
>>
>> As part of this I want to also add support for usb keyboards,
>> so as to get a full console without needing to solder wires
>> to testpoints on some boards :)
>>
>> So when I plug in the usb coming from my kvm I get this:
>>
>> (Re)start USB...
>> USB0:   USB EHCI 1.00
>> scanning bus 0 for devices... EHCI timed out on TD - token=0x80008c80
>> 3 USB Device(s) found
>>         scanning usb for storage devices... 0 Storage Device(s) found
>>
>> And the usb keyboard does not work.
>>
>> If I plug in a single usb-2 hub (no ohci support for sunxi in u-boot
>> yet), then things do work, but after a few minutes of inactivity the
>> usb code starts spamming the console with:
>>
>> EHCI timed out on TD - token=0x80008c80
>> EHCI timed out on TD - token=0x80008c80
>> ...
>>
>> Could this be a problem with the phy settings (iow a sunxi specific
>> problem)?
>>
>
> Probably not.
>
> We've seen the same thing on SABRE Lite and Nitrogen6X boards.
>
> U-Boot > usb start ; setenv stdin serial,usbkbd
> (Re)start USB...
> USB0:   USB EHCI 1.00
> scanning bus 0 for devices... 2 USB Device(s) found
> USB1:   USB EHCI 1.00
> scanning bus 1 for devices... EHCI timed out on TD - token=0x80008c80
> EHCI timed out on TD - token=0x80008c80
> EHCI timed out on TD - token=0x80008c80
> 6 USB Device(s) found
>         scanning usb for storage devices... 1 Storage Device(s) found
>         scanning usb for ethernet devices... 0 Ethernet Device(s) found
> Timeout poll on interrupt endpoint
> Failed to get keyboard state from device 1c4f:0002
> U-Boot > usb tree
> USB device tree:
>    1  Hub (480 Mb/s, 0mA)
>    |  u-boot EHCI Host Controller
>    |
>    +-2  Mass Storage (480 Mb/s, 100mA)
>         Generic Mass Storage 4A3709D5
>
>    3  Hub (480 Mb/s, 0mA)
>    |  u-boot EHCI Host Controller
>    |
>    +-4  Hub (480 Mb/s, 2mA)
>      |
>      +-5  Human Interface (1.5 Mb/s, 100mA)
>      |    Logitech USB Optical Mouse
>      |
>      +-6  Hub (480 Mb/s, 100mA)
>      | |   USB 2.0 Hub
>      | |
>      | +-7  Human Interface (1.5 Mb/s, 98mA)
>      |      USB USB Keykoard
>      |
>      +-8   (12 Mb/s, 100mA)
>
> Oddly, the issue seems to be specific to **some** USB keyboards.
>
> We have some (mostly older) USB keyboards that just work and
> have had investigation on our to-do list for quite some
> time now.
>
> I was going to start with a question to the list:
>
> 	Is anyone else using USB keyboard support?

I use the USB keyboard with following hack patch (which based on 
v2013.04), then it works well on my side.

--->8---
diff --git a/drivers/usb/host/ohci-hcd.c b/drivers/usb/host/ohci-hcd.c
index bc17b85..b74bfd7 100644
--- a/drivers/usb/host/ohci-hcd.c
+++ b/drivers/usb/host/ohci-hcd.c
@@ -515,6 +515,7 @@ static inline int sohci_return_job(struct ohci *hc, 
urb_priv_t *urb)
                         ohci_readl(&regs->intrdisable); /* PCI posting 
flush */
                 }
                 urb->actual_length = 0;
+#if 0
                 td_submit_job(
                                 urb->dev,
                                 urb->pipe,
@@ -523,6 +524,8 @@ static inline int sohci_return_job(struct ohci *hc, 
urb_priv_t *urb)
                                 NULL,
                                 urb,
                                 urb->interval);
+#endif
+               urb_free_priv(urb);
                 break;
         case PIPE_CONTROL:
         case PIPE_BULK:
---8<---

> USB mass storage seems to be pretty reliable. We have
> folks using it as an alternate boot for emergency
> situations.
>
> Regards,
>
>
> Eric

Best Regards,
Bo Shen



More information about the U-Boot mailing list