I have been having some issues getting memory sticks to be detected in Windows CE on the i.MX28. Some do not show up at all, others show up randomly after multiple insertions. When they do show up I can transfer files to it, but cannot transfer files from the disk >1MB.
I have an SMSC USB hub device creating three ports from the one host port on my i.MX28 board. USB keyboards and mice work without issue.
I noticed that Freescale has its own clone of the Microsoft USB host drivers under: c:\wince600\platform\common\src\soc\common_fsl_v2_pdk1_9\ms
I found a nice article on the web that addresses the bugs in the microsoft code which appear to have been cloned across to the Freescale implementation. One of which is a nasty issue whereby the memcpy parameters are the wrong way round!!
Viewing the debug output I see that one type of memory stick stops during the attach device stage. Another memory stick actually mounts as DSK1 but then continuously outputs ScsiGetSenseData error:1460 and ScsiTestUnitReady error:1460, followed by BOT_DataTransfer errors.
I am yet to implement the fixes in the link above (they do seem to point to the same sort of issues - especially trying to talk to the memory stick before it is ready).
I was just wondering if anyone else had had any issues with memory stick reliability with the i.MX28 and what their experiences are?
Kind regards, Mark