During the evaluation of the i.MX6 Quad for a product, we ran into USB performance problems.
We are using Freescale's kernel from BSP version 4.0.0.
We have connected a USB thumb drive to the OTG port and tested read and write speeds.
The device is USB 2.0 High-Speed compliant, so the port is operating at 480Mbps max.
The real bandwidth we measured was:
writing of 30MB file takes 10sec -> 3MB/s
reading of 30MB file takes 2.5sec -> 12MB/s
Important for our project is the reading speed. The test was a simply large-file copy.
Why is the performance so bad? Do you know of any optimizations than can be applied to the Linux driver?
We have conducted the tests on our custom i.MX6Q design as well as on the SabreSDP with i.MX6Q on it. The performance was identical.
What do you suggest?