This thread has been locked.

If you have a related question, please click the "Ask a related question" button in the top right corner. The newly created question will be automatically linked to this question.

How many hubs (in depth) will USB0 on the L137 support?

Other Parts Discussed in Thread: OMAP-L137

Our design with the L137/L138 using USB0 (the high speed connection) requires 5 hubs connected in serial fashion, that is one hub connected to a downstream hub connected to a downstream hub, etc.  We tested this on a HP laptop, no problem.  Tested on the OMAP-L137 eval board using USB1 (the full speed link) and no problem.  When connected to the USB0 port, only three hubs are recognized, the fourth is not recognized.  According to the USB spec, 5 hubs deep is the limit, which is what we are seeing on USB1 and other devices we have tested.  Is there some switch in the Linux kernel or does USB0 not support this.

  • USB0 link (USB OTG port) has only 4Rx and 4Tx endpoints to it is running out of endpoints to support more hubs. Which kernal version are you using ? Please check if you have

    support for "Interrupt endpoint scheduling" in your code base. You need to enable this to support multi level hubs.

    You can try applying the patch below to bring in this feature if not available.

    http://arago-project.org/git/people/?p=ajay/omap-usb-driver.git;a=commit;h=ba5e8ae366b8195c7d65d461228eb23abb81e75c

    Regards,

    ajay

  • We laoded the patch this morning and it worked.  Actually it works better than the USB specification.  We actually have 6 hubs connected to the USB port and a device a the end of the chain is working.  Now the cables between hubs is only 8 inches, but at least our concept seems like it will work.  There is more testing to do.  Thanks for the help.

  • good to read this. I saw some bug fix patches  for "interrupt endpoint scheduling" on same page. So if you face any issue then please try those patches as well.

    Regards,
    Ajay

  • BTW, We recommend to use onl 5level hubs as described in USB specification. Level-6 might be working due to short cable length.

  • Thanks, we are convinced that the only reason 6 hubs deep works, is because we are use 8 inch usb cables between each hub.

    Thanks again