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.

Enhanced Host Controller Interface USB Performance Issues

Hello,

 

The performance of the USB EHCI is weak. Using a MSD as a source, for transferring data to/from it, shows that it takes about 2 times longer in WinCE as compared to the Linux BSP, for the same OMAP35X platform. The USB performance problem shows up on the Mistral board, as well, using WinCE 6.15 BSP.

I am looking for a solution.

 

Thanks,

Eugen

 

  • Pl. provide more details about

    (a) how you are performing the test

    (b) what USB stick are you using

    (c) where are you writing to or reading from

    (d) specific throughput numbers you are getting

     

    thanks

    Atul

  • System

    OMAP35X, 600MHz, RAM-based registry, USB3320 Controller

    Test Cases Description

     

    Used Windows Explorer to copy from the MSD to the root and vice-versa a 10 MB file

    Deleted the file after either transfer.

     

    USB Sticks (Mass Storage Device - MSD)

     

    Black 4GB Kingston Data Traveller
    Memorex 512MB
    Blue 4GB Kingston Data Traveller
     Sandisk Cruzer 1GB
    Throughput

    8 seconds to copy the 10MB file from the MSD to the root,

    39 seconds to copy the 10MB file from the root to MSD.

     

  • On our unified BSP (http://software-dl.ti.com/sdoemb/sdoemb_public_sw/wince_sdk/01_00_00/index_FDS.html) we see 8Mbps read and 27 Mbps write on EHCI. Do you have File Cache manager enabled or disabled? Can you try disabling it and check if you see different results

     

    thanks

    Atul

  • Atul,

    1. as mentioned earlier, these numbers are based on 6.15 BSP, and not on the new BSP_WINCE_ARM_A8_01_00_00 BSP.

    2. the numbers you have provided for the BSP_WINCE_ARM_A8_01_00_00, indicate that the READ performance may be even slower or equal (1 MB/sec as opposed to 1.25 MB/Sec yielded by the 6.15 BSP). The WRITE though, seems to be of higher performance (3.375 MB/sec versus 0.26 MB/Sec yielded by 6.15 BSP).

    3. The Linux BSP, for the same platform, yields - for READ - approx 3.78 MB/Sec, and 3.69 MB/Sec for WRITE operation.

    Using 6.15 as the base line, how can we get the numbers par with the Linux BSP?

    Thanks,

    Eugen

  • Hi Eugen,

    Linux is known to have one of the best USB stack around and it is unlikely that you would manage to get the same results in Windows CE. Also, I find it interesting that you get pretty much the same throughput in write and read operations, which is never the case in this kind of benchmarks. Did you get the Linux numbers yourself or did you find them from some external source? Also, do you know if the file cache was used when running these tests as it could be one explanation for the high numbers.

  • Hello,

    For Linux numbers, I did get the numbers myself. As mentioned earlier, we do provide both BSPs, Linux and WinCE. 

    I have tried both - enabling and disabling the file cache, with no difference in results. Also, I have tried running the EHCI driver in kernel mode, just in case, with no difference as well. We are doing further investigations into understanding its timings.

    Thanks,

    Eugen