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.

AM3358(BBB) USB failing and not recovering device

Apologies if this is not the right forum, feel free to reassign it to "Linux software" if it is more appropriate.

My system communication link:

BBB USB <-> USB2514B based USB hub <-> FTDI FT232
Abruptly fails for no evident reason (possibly EMI or other induced noise... there is a vast evidence ( better say a lot of rumors ) of the BBB USB being very sensitive all over the web).
uname -r output:
4.1.10-ti-r21 
dmesg output:  
[ 4951.213705] usb 1-1.1: USB disconnect, device number 3
[ 4951.215742] ftdi_sio ttyUSB0: FTDI USB Serial Device converter now disconnected from ttyUSB0
[ 4951.216492] ftdi_sio 1-1.1:1.0: device disconnected
[ 4951.458827] usb 1-1.1: new full-speed USB device number 5 using musb-hdrc
[ 4951.538810] usb 1-1.1: device descriptor read/64, error -32
[ 4951.728815] usb 1-1.1: device descriptor read/64, error -32
[ 4951.918801] usb 1-1.1: new full-speed USB device number 6 using musb-hdrc
[ 4951.998947] usb 1-1.1: device descriptor read/64, error -32
[ 4952.188807] usb 1-1.1: device descriptor read/64, error -32
[ 4952.378887] usb 1-1.1: new full-speed USB device number 7 using musb-hdrc
[ 4952.798847] usb 1-1.1: device not accepting address 7, error -32
[ 4952.898825] usb 1-1.1: new full-speed USB device number 8 using musb-hdrc
[ 4953.318766] usb 1-1.1: device not accepting address 8, error -32
[ 4953.325078] usb 1-1-port1: unable to enumerate USB device 
the link doesn't recover unless the hub goes through a hardware reset or a power OFF\ON cycle; 
The hub appears to go in "Suspended Mode" when the problem arises.
My question(s):
there is a Sitara Linux MUSB Issue with the USB_RESUME in AMSDK 08.00.00.00: is the kernel 4.1.10-ti-r21 incorporating the workaround?
Any way I can software reset the hub from Linux?
Any hint on what is happening?
Shall I generate a Linux kernel by myself, using SDK 02.00.00.00? does it make sense? why the SDK is 02 while the AMSDK is 08? what's the difference?
Thanks in advance for any help on this.
Guido
  • Hi Guido,

    I will forward this to the USB experts.
  • guido paoluzi cusani51 said:
    dmesg output:  
    [ 4951.213705] usb 1-1.1: USB disconnect, device number 3

    What caused the device disconnect? Did you unplugged the FTDI device?

    Please try to add option "usbcore.autosuspend=-1" into your uboot bootargs, to see if the issue still exists.

    guido paoluzi cusani51 said:
    there is a Sitara Linux MUSB Issue with the USB_RESUME in AMSDK 08.00.00.00: is the kernel 4.1.10-ti-r21 incorporating the workaround?

    I not not sure from where you got this 4.1.10-ti-r21 kernel, I don't recognize the tag, but if it is TI 4.1.10 kernel, the USB_RESUME_TIMEOUT patch should be already included, you can check your kernel source code anyway.

    guido paoluzi cusani51 said:
    Shall I generate a Linux kernel by myself, using SDK 02.00.00.00? does it make sense? why the SDK is 02 while the AMSDK is 08? what's the difference?

    It is always advised to test with newer kernels to see if the issue has been fixed. The SDK 02 you referred is called Processor SDK, which is descendant of AMSDK and reset the version number from 01.

  • Bin Liu said:
    guido paoluzi cusani51
    dmesg output:  
    [ 4951.213705] usb 1-1.1: USB disconnect, device number 3
    What caused the device disconnect? Did you unplugged the FTDI device?

    Not at all! I have no clue what is causing the disconnection, I hoped to get a hint...

    I read odf Beaglebone USB data and power lines sensitivity to noise, but could not detect anything particularly wrong.

    Please try to add option "usbcore.autosuspend=-1" into your uboot bootargs, to see if the issue still exists.

    Thank you. I'll try and follow up

    guido paoluzi cusani51
    there is a Sitara Linux MUSB Issue with the USB_RESUME in AMSDK 08.00.00.00: is the kernel 4.1.10-ti-r21 incorporating the workaround?
    guido paoluzi cusani51
    Shall I generate a Linux kernel by myself, using SDK 02.00.00.00? does it make sense? why the SDK is 02 while the AMSDK is 08? what's the difference?

    Thanks, the above make sense to me. I will post on the BeagleBoard.corg forum to find out what SDK was used to generate 4.1.10-ti-r21