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.

Sitara AM335x USB1 is not working as a host when using OTG

 

We are developing a product that is based on the Beaglebone black board. We are using the AM335x processor.

We are trying to use processor the USB0 and USB1  ports in an OTG mode.

Our system software is  using a standard Linux Kernel and Ubuntu 12.04 file system.

It seems that USB1 is working well when connected as a device – We are connecting and disconnecting it to a PC and the it is recognized by the PC each time it is plugged in without any problem.

However when we try to use it as a host (Using the standard OTG to host cable) the Linux kernel does not detect the devices that are connected to it.

We tried a working disk on key.

The only way to override this problem is to remove the device driver from kernel an than inserted it again – It is a workaround that we found in TI forums.

This workaround is not good enough for us  because it is not functioning as an OTG USB port.

Can anyone help us with this?

  • What version of the Linux kernel are you using on the AM335x? You mentioned Ubuntu 12.04 above, but I assuming that is your host machine configuration, or do I have that wrong.
    If you could detail what you baseline Linux support package (eg. SDK version, etc.) is that you are using, this would be helpful background.

    Also, from your description, it appears that the AM335x Linux kernel is able to eventually recognize a device connected to the USB OTG peripheral when you use the work around of unloading and loading the device driver. But the automatic detection of a device plug in event is not potentially getting triggered, sensed, recognized, etc.
  • Our linux kernel version is 3.8.13 Both our host machine and the embedded platform are running ubuntu 12.04 the embedded card is using the ubuntu 12.04 arm version.
  • Brian,

    This forum only supports TI official SDK releases, we don't support upstream kernel versions, since they do not some patches TI added.

    So if possible, please use AMSDK8.0, which use TI patched kernel 3.14 and has been validated on TI platforms. And ensure

    - The hw design of both USB0 and USB1 should follow USB0 on TI AM335x GP EVM, not BBB. BBB does not have OTG support, its USB0 is peripheral-only and USB1 is host-only.

    - the DTS USB1 configuration is similar to USB0 of the GP EVM to enable Dual role mode switching.

  • Have you replicated this issue on the BeagleboneBlack itself or other evaluation board?
    Also, what are the specific commands you are using on the linux console to recreate this scenario?