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.

DM8168 USB CDC ACM driver reliability issue



Hi experts,

Whe we plug in/pull out a USB CDC ACM device, just after 5-6 round the port cannot be available.

I debugged it and find drivers/usb/core/message.c, in usb_start_wait_urb(), it stuck by wait_for_completion(), if we pull out the USB-serial device and plug in it again, even the enumeration will be failed.

And we also found this issue occurs when we use USB hub chip - SMSC USB2512 hub, if we use another USB connector which connected with DM8168 USB pins directly, it is no problem.

Would you please give us some advice?

 

Best Regards,

Jed

  • Jed,

    Are you using DM816x EZSDK 5.05.02.00? Are you using DM816x TI EVM or DM816x based custom board?

    Note that USB hub is supported for DM816x PG2.x device.

    See also if the below wiki pages will be in help:

    http://processors.wiki.ti.com/index.php/AM335x_Schematic_Checklist#USB

    http://processors.wiki.ti.com/index.php/DM81xx_AM38XX_USB_User_Guide

    http://processors.wiki.ti.com/index.php/Usbtest

    http://processors.wiki.ti.com/index.php/DM816x_C6A816x_AM389x_PCIeToUSB

    http://processors.wiki.ti.com/index.php/Evtest

    http://processors.wiki.ti.com/index.php/USB_Debug_Techniques

    Regards,
    Pavel

  • Hi Pavel,

    We are using  DM816x EZSDK 5.05.01.04, and it occurs on our DM8168 based custom board.

    and now we use DM8168CCYG4 device.

     

    Thanks and Regards,

    Jed

  • Jed,

    Jed ZHU said:
    We are using  DM816x EZSDK 5.05.01.04

    This EZSDK version has old PSP (linux kernel). I would recommend you to switch to the latest linux kernel version, where we have many USB fixes/patches and try with it:

    http://arago-project.org/git/projects/?p=linux-omap3.git;a=shortlog;h=refs/heads/ti81xx-master

    Jed ZHU said:
    and it occurs on our DM8168 based custom board

    Can you try to reproduce this issue on the DM816x EVM, do you have the same?

    Jed ZHU said:
    now we use DM8168CCYG4 device

    This is DM8168 2.1 device, so USB HUB should be able to work fine.

    Regards,
    Pavel

  • Hi Pavel,

    Since DM816x EVM has no on-board hub chip, just now we tested it with a commercial hub (NEC UPD720114 chip) and easily reproduced this issue on DM816xEVM.

    And I compared the PSP version of EZSDK 5.05.02.00, it is same as EZSDK 5.05.01.04. Does TI have one specific USB patch so that I patch it once?

  • Jed,

    Jed ZHU said:
    And I compared the PSP version of EZSDK 5.05.02.00, it is same as EZSDK 5.05.01.04.

    The latest kernel version from the linux-omap3 (ti81xx-master) has USB patches above the latest PSP version.

    Jed ZHU said:
    Does TI have one specific USB patch so that I patch it once?

    No

    BR
    Pavel

  • Jed,

    See also if the below links will be in help:

    http://e2e.ti.com/support/dsp/davinci_digital_media_processors/f/717/p/208949/740273.aspx#740273

    http://processors.wiki.ti.com/index.php/Usbgeneralpage#USB_controller_in_host_mode

    http://processors.wiki.ti.com/index.php/Usbgeneralpage#USB_CDC-HOST

    Regards,
    Pavel

  • Pavel,

    Where can I find the latest PSP source code?

    Thanks and Regards,

    Jed

  • Jed,

    Jed ZHU said:
    Where can I find the latest PSP source code?

    http://arago-project.org/git/projects/?p=linux-omap3.git;a=shortlog;h=refs/heads/ti81xx-master -> snapshot ->
    linux-omap3-97101e6c43c0e956dbc2863bd3e50ab70f987a91 -> linux-omap3/

    Then you should enter the linux-omap3 folder, build new uImage and use it:

    linux-omap3$ make ti8168_evm_defconfig

    linux-omap3$ make menuconfig  --> configure USB host and CDC

    linux-omap3$ make uImage

    BR
    Pavel

  • Pavel,

    OK, I will try it. Thank you so much.

     Best Regards,

    Jed