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.

Babble fault

TI Starterware support Team,

My customer uses Starterware for AM335x platform.

-Issue:
 When USB memory inserts to their system with AM335x,
 the babble faults appear.

-Details:
 *occurrence rate; about 1%, but once this babble fault occurs,
   it does not recover with re-inserting USB memory.
 *The usb memory is specified by customer and never occured this error so far.

-Quastions:
1. This babble fault is same as babble interrupt in Linux?
    I just refer the following post.
    https://e2e.ti.com/support/embedded/linux/f/354/t/484475

2. If "Babble fault" is "Bubble interrupt",  does the babble fault occurs
    when the hots(AM335x) receives more data than the specific maximum packet size?

3. Are there any work around for this issue with Starterware?
    In this community site. there are some workarounds such as the patches for Linux,
    or using USB hub.
    However my customer can not change their board design,
    so they would like to fix this issue by softwate; means starterware.

Best regards,
Kanae

  • Could anybody reply for this?

    Best regards,
    Kanae

  • Hi,
    Should I move this post to Sitara processors forum?
  • Kanae,

    Apologies for the delayed response. We are looking into this and will get back to you.
    The thread can remain here for now.

    Lali
  • Hi,

    Can you give the details what is the starterware SW version used? what USB example used? usb_device_host_msc? Is the console report babble error via interrupt?

    The issue looks similar to e2e.ti.com/.../484475

    Babble: From USB specification, it is unexpected bus activity that persists beyond a specified point in a (micro)frame. Commonly, a babble error occurs when the host or the device receives more data than the specific maximum packet size.

    There is HW check from e2e.ti.com/.../533088. Is the issue on TI AM335x EVM or a customer board following TI schematic guideline? Do you have any USB hub in between host and USB memory stick?

    In order to recover, the software has to reset the host USB controller.

    Regards, Eric
  • Hi Eric,
    Thank you for your reply.

    My customer uses their own program based on the example "usb_host_msc"
    in "AM335X_StarterWare 02.00.01.01".
    I do not have the console report because it occurs about one per cent
    when they inserts USB memory in their system as I wrote in above "Details".
    I guess that the console shows "Babble fault".

    I have already checked this e2e post; "e2e.ti.com/.../484475" as I wrote in above Q1
    and reported them as some references to my customer.
    And also my customer has checked their board following TI schematic guideline.

    Could I know how to reset the host USB controller with the starterware to recover?

    Best regards,
    Kanae
  • Hi Eric,

    Could I have your comments?
    Can USB controller reset by starterware?

    Best refards,
    Kanae

  • Kanae,

    The main() routine of the usb_host_msc() is a two level while() loop. When the babble interrupt is notified:
    if((STATE_BABBLE_INT==iStatus)||(STATE_UNKNOWN_DEVICE==iStatus))
    {
    USBHMSCDriveClose(g_ulMSCInstance);
    iStatus = 0;
    break;
    }
    The outer while() loop does the USB reset. Did customer run into the STATE_BABBLE_INT==iStatus condition?

    Regards, Eric
  • Hi Eric,

    Thank you for your reply.
    I will check it my customer.

    If my customer uses to run into the STATE_BABBLE_INT==iStatus condition,
    it must be work the USB control reset.
    It means that "USB memory re-inserting to the system with AM335x" makes
    the reset of USB controller.

    Is my understanding correct?


    Best regards,
    Kanae

  • Kanae,

    Yes, if their USB memory insersion caused the babble error on the AM335x USB host side, the babble interrupt handler will be invoked to reset the USB controller on AM335x.

    Regards, Eric