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.

CDC known issue of ti2013.12.01 Linux Kernel

Guru 10085 points
Other Parts Discussed in Thread: AM3352

 

I would like to know about CDC known issue: D-01241 in ti2013.12.01 Linux Kernel Release Notes.

http://processors.wiki.ti.com/index.php/Sitara_Linux_SDK_Kernel_Release_Notes#Known_Issues

 Are there any details of causes for this issue?
I understand it is “Under Investigation”; however my customer needs to know
any information to increase the throughput from 200Kbps to 1Mbps for their system.
Device: AM335x

==Known Issues==
D-01241: MUSB device cdc throughput is low  CDC device throughput is low at ~48Mbps compared to ~159Mbps in previous v3.2 release for TCP transfers with a 64KB window size.
=============== 

Best regards,
Kanae

  • Hi. Here is additional information.

    Evaluation status;
    -Custom board with AM3352
    -The board has a 3G communication module to communicate via USB_CDC I/F.
    -Throughput results comparing linux-3.2 with linux-3.12.6
    Kernel version                  throughput
    ----------------------------------------------------
    linux-3.2;    SDKv6.0      1Mbps - 900 Kbps
    linux-3.12.6; SDKv7.0       200Kbps - 300 Kbps

    The cause of this difference may be from the CDC known issue: D-01241.

    Is there any clue to solve this problem?
    Is there plan to improve this function?
    Any comment would be appreciated.

    Best regards,
    Kanae

  • Hi Kanae,

    I talked to our development team and there is a plan to resolve this issue by our next major SDK release which will occur during the 2nd half of the year.

    There isn't a concrete date I can give you for when this will be resolved but I'm currently keeping track of this issue and as soon as it is resolved I can let you know.

  •  

    Hi Franklin,
    Thank you for your reply.
    I suppose your development team has already known this cause of issue.
    musb_host.c file in the kernel-3.12.10- ti2013.12.01 is missing the following
    patches that included musb_host.c file in the kernel-3.2.

     =============================================================
                                              /* done if urb buffer is full or short packet is recd */
                                             done = (urb->actual_length + xfer_len >=
                                                                         urb->transfer_buffer_length
    -                                                       || dma->actual_len < qh->maxpacket);
    +                                                      || dma->actual_len < qh->maxpacket
    +                                                      || dma->actual_len % qh->maxpacket);
                               }

                                /* send IN token for next packet, without AUTOREQ */
    =============================================================

    Could you please ask your development team whether this is caused the issue,
    or other reasons?

    Best regards,
    Kanae


  • Hi Franklin,

    Did you have any information from your development team for this patch?
    Any comments would be appreciated.

    Best regards,
    Kanae