USB Memory Stick issues i.MX28 Windows CE

cancel
Showing results for 
Show  only  | Search instead for 
Did you mean: 

USB Memory Stick issues i.MX28 Windows CE

2,585 Views
markwilliams
Senior Contributor I

Hi all,

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!!

Discover the Windows Embedded Experience: Windows Embedded CE: USB memory stick fix

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

Labels (2)
0 Kudos
3 Replies

1,014 Views
markwilliams
Senior Contributor I

Hi Adeneo, thanks for the reply.

I have implemented the USB memory stick 'fixes' required to patch the various Microsoft bugs but still have issues.

I realised that USB memory sticks are the first high-speed devices I have connected to my board. I therefore modified the USB driver to limit the operation to maximum of USB Full Speed Mode and the memory sticks appear and work reliably.

I guess I have an issue with my board / hub that is causing issues with high speed transfers which I will start debugging next.

For reference, for anyone else wanting to test this, the file I modified is:

C:\WINCE600\PLATFORM\COMMON\src\soc\COMMON_FSL_V2_PDK1_9\MS\USBH\EHCI\chw.cpp

In the function 'PowerOnAllPorts()' I uncommented the setting of the 'port force full speed connect' and added a retail message for debugging purposes:

// Testing for full speed

portSc.bit.PFSC = 0x1;

RETAILMSG(1,(TEXT("USB limited to full speed (PFSC bit set)\r\n")));

Now I need to start debugging my high-speed issues....

0 Kudos

1,014 Views
mujeebshaik
Contributor II

Hi,

I am using i.MX53 QSB board, OS:WINCE700

I want to send data to PC from USB prot and receive dat from PC on Same port this is my requiremet,in WinCE catalog items i have enabled the USBFn Serial Client Under USB Functions,But the Device(i.MX53) is not detecting as COM device in PC Device manager what may the problem please help me,

is there any other way to establish communication between PC and i.MX53 Device Please suggest me.

Thanks in Advance...

Thanks & Regards,

Mujeeb Shaik

0 Kudos

1,014 Views
karina_valencia
NXP Apps Support
NXP Apps Support

Deactivated user can you help on this case?

0 Kudos