This is a place holder for feedback on all the USB sticks that are tested with MQX to ensure maximum compatibility.
1) Please post top USB Memory Stick Vendor for your region that need to be tested.
2) Please post the make/model/description of working and non-working USB sticks that you have tested.
Add a post for any USB stick that does work as well.
-
Is there today a solution to add by ourself new USB stick to MQX ? What is the process to do it ?
This is a REAL problem for my customer which can use just a few of USB sticks (above 50% of commercial availability)...
The projet run under MQX 3.8.1
I have not found a single SanDisk drive that works!
Setup: CW10.2, MQX3.8, TWRK53, Project: msd_cmd_twrk53n512 (But my own program on my custom K53 board is where I first discovered the issue)
Results:
SanDisk 8GB Model: SDCZ6-8192RB, U3 Removed, Full Fresh FAT32 Format
=============START OF A NEW SESSION==================
VID = 0x0781, PID = 0x5406
Testing: GET MAX LUN Command...OK
Testing: TEST UNIT READY Command...OK
Testing: REQUEST SENSE Command...OK
Testing: INQUIRY Command...OK
Testing: REQUEST SENSE Command...OK
Testing: READ FORMAT CAPACITIES Command...OK
Testing: REQUEST SENSE Command...OK
Testing: READ CAPACITY Command...OK
Testing: REQUEST SENSE Command...OK
Testing: READ(10) Command...Unsupported by device (bStatus=0x1)
Testing: MODE SENSE Command...Unsupported by device (bStatus=0xfffffff9)
Testing: PREVENT-ALLOW MEDIUM REMOVAL Command...Unsupported by device (bStatus=0xfffffff9)
Testing: REQUEST SENSE Command...Unsupported by device (bStatus=0xfffffff9)
Testing: VERIFY Command...Unsupported by device (bStatus=0xfffffff9)
Testing: WRITE(10) Command...Unsupported by device (bStatus=0xfffffff9)
Testing: REQUEST SENSE Command...Unsupported by device (bStatus=0xfffffff9)
Testing: START-STOP UNIT Command...Unsupported by device (bStatus=0xfffffff9)
SanDisk Cruzer 4GB Model: SDCZ36-004G, FAT32, No U3
=============START OF A NEW SESSION==================
VID = 0x0781, PID = 0x5530
Testing: GET MAX LUN Command...OK
Testing: TEST UNIT READY Command...OK
Testing: REQUEST SENSE Command...OK
Testing: INQUIRY Command...OK
Testing: REQUEST SENSE Command...OK
Testing: READ FORMAT CAPACITIES Command...OK
Testing: REQUEST SENSE Command...OK
Testing: READ CAPACITY Command...OK
Testing: REQUEST SENSE Command...OK
Testing: READ(10) Command...Unsupported by device (bStatus=0x1)
Testing: MODE SENSE Command...Unsupported by device (bStatus=0xfffffff9)
Testing: PREVENT-ALLOW MEDIUM REMOVAL Command...Unsupported by device (bStatus=0xfffffff9)
Testing: REQUEST SENSE Command...Unsupported by device (bStatus=0xfffffff9)
Testing: VERIFY Command...Unsupported by device (bStatus=0xfffffff9)
Testing: WRITE(10) Command...Unsupported by device (bStatus=0xfffffff9)
Testing: REQUEST SENSE Command...Unsupported by device (bStatus=0xfffffff9)
Testing: START-STOP UNIT Command...Unsupported by device (bStatus=0xfffffff9)
SanDisk Cruzer 16GB Model: SDCZ36-016G, FAT32, No U3
=============START OF A NEW SESSION==================
VID = 0x0781, PID = 0x5530
Testing: GET MAX LUN Command...OK
Testing: TEST UNIT READY Command...OK
Testing: REQUEST SENSE Command...OK
Testing: INQUIRY Command...OK
Testing: REQUEST SENSE Command...OK
Testing: READ FORMAT CAPACITIES Command...Unsupported by device (bStatus=0x1)
Testing: REQUEST SENSE Command...Unsupported by device (bStatus=0xfffffff9)
Testing: READ CAPACITY Command...Unsupported by device (bStatus=0xfffffff9)
Testing: REQUEST SENSE Command...Unsupported by device (bStatus=0xfffffff9)
Testing: READ(10) Command...Unsupported by device (bStatus=0xfffffff9)
Testing: MODE SENSE Command...Unsupported by device (bStatus=0xfffffff9)
Testing: PREVENT-ALLOW MEDIUM REMOVAL Command...Unsupported by device (bStatus=0xfffffff9)
Testing: REQUEST SENSE Command...Unsupported by device (bStatus=0xfffffff9)
Testing: VERIFY Command...Unsupported by device (bStatus=0xfffffff9)
Testing: WRITE(10) Command...Unsupported by device (bStatus=0xfffffff9)
Testing: REQUEST SENSE Command...Unsupported by device (bStatus=0xfffffff9)
Testing: START-STOP UNIT Command...Unsupported by device (bStatus=0xfffffff9)
Promo Drive, ST U210 1G, FAT32, Single Partition
=============START OF A NEW SESSION==================
VID = 0x0dd8, PID = 0x1728
Testing: GET MAX LUN Command...OK
Testing: TEST UNIT READY Command...OK
Testing: REQUEST SENSE Command...Unsupported by device (bStatus=0x97)
Testing: INQUIRY Command...Unsupported by device (bStatus=0xfffffff9)
Testing: REQUEST SENSE Command...Unsupported by device (bStatus=0xfffffff9)
Testing: READ FORMAT CAPACITIES Command...Unsupported by device (bStatus=0xfffffff9)
Testing: REQUEST SENSE Command...Unsupported by device (bStatus=0xfffffff9)
Testing: READ CAPACITY Command...Unsupported by device (bStatus=0xfffffff9)
Testing: REQUEST SENSE Command...Unsupported by device (bStatus=0xfffffff9)
Testing: READ(10) Command...Unsupported by device (bStatus=0xfffffff9)
Testing: MODE SENSE Command...Unsupported by device (bStatus=0xfffffff9)
Testing: PREVENT-ALLOW MEDIUM REMOVAL Command...Unsupported by device (bStatus=0xfffffff9)
Testing: REQUEST SENSE Command...Unsupported by device (bStatus=0xfffffff9)
Testing: VERIFY Command...Unsupported by device (bStatus=0xfffffff9)
Testing: WRITE(10) Command...Unsupported by device (bStatus=0xfffffff9)
Testing: REQUEST SENSE Command...Unsupported by device (bStatus=0xfffffff9)
Testing: START-STOP UNIT Command...Unsupported by device (bStatus=0xfffffff9)
Kingston 32MB (Yes, MB) No Model Listed, FAT
=============START OF A NEW SESSION==================
VID = 0x04e8, PID = 0x0100
Testing: GET MAX LUN Command...OK
Testing: TEST UNIT READY Command...OK
Testing: REQUEST SENSE Command...OK
Testing: INQUIRY Command...OK
Testing: REQUEST SENSE Command...OK
Testing: READ FORMAT CAPACITIES Command...OK
Testing: REQUEST SENSE Command...OK
Testing: READ CAPACITY Command...OK
Testing: REQUEST SENSE Command...OK
Testing: READ(10) Command...OK
Testing: MODE SENSE Command...OK
Testing: PREVENT-ALLOW MEDIUM REMOVAL Command...OK
Testing: REQUEST SENSE Command...OK
Testing: VERIFY Command...OK
Testing: WRITE(10) Command...OK
Testing: REQUEST SENSE Command...OK
Testing: START-STOP UNIT Command...OK
Kingston DataTraveler 8GB DTI/8GB, FAT32
=============START OF A NEW SESSION==================
VID = 0x0951, PID = 0x1603
Testing: GET MAX LUN Command...OK
Testing: TEST UNIT READY Command...OK
Testing: REQUEST SENSE Command...OK
Testing: INQUIRY Command...OK
Testing: REQUEST SENSE Command...OK
Testing: READ FORMAT CAPACITIES Command...OK
Testing: REQUEST SENSE Command...OK
Testing: READ CAPACITY Command...OK
Testing: REQUEST SENSE Command...OK
Testing: READ(10) Command...OK
Testing: MODE SENSE Command...OK
Testing: PREVENT-ALLOW MEDIUM REMOVAL Command...OK
Testing: REQUEST SENSE Command...OK
Testing: VERIFY Command...OK
Testing: WRITE(10) Command...OK
Testing: REQUEST SENSE Command...OK
Testing: START-STOP UNIT Command...OK
Freescale Drive included with CW License, 16GB, FAT32
=============START OF A NEW SESSION==================
VID = 0x090c, PID = 0x1000
Testing: GET MAX LUN Command...OK
Testing: TEST UNIT READY Command...OK
Testing: REQUEST SENSE Command...OK
Testing: INQUIRY Command...OK
Testing: REQUEST SENSE Command...OK
Testing: READ FORMAT CAPACITIES Command...OK
Testing: REQUEST SENSE Command...OK
Testing: READ CAPACITY Command...OK
Testing: REQUEST SENSE Command...OK
Testing: READ(10) Command...OK
Testing: MODE SENSE Command...OK
Testing: PREVENT-ALLOW MEDIUM REMOVAL Command...OK
Testing: REQUEST SENSE Command...OK
Testing: VERIFY Command...OK
Testing: WRITE(10) Command...OK
Testing: REQUEST SENSE Command...OK
Testing: START-STOP UNIT Command...OK
Promo Drive, No Model, 128MB, FAT
=============START OF A NEW SESSION==================
VID = 0x13fe, PID = 0x1a00
Testing: GET MAX LUN Command...OK
Testing: TEST UNIT READY Command...OK
Testing: REQUEST SENSE Command...OK
Testing: INQUIRY Command...OK
Testing: REQUEST SENSE Command...OK
Testing: READ FORMAT CAPACITIES Command...OK
Testing: REQUEST SENSE Command...OK
Testing: READ CAPACITY Command...OK
Testing: REQUEST SENSE Command...OK
Testing: READ(10) Command...OK
Testing: MODE SENSE Command...OK
Testing: PREVENT-ALLOW MEDIUM REMOVAL Command...OK
Testing: REQUEST SENSE Command...OK
Testing: VERIFY Command...OK
Testing: WRITE(10) Command...OK
Testing: REQUEST SENSE Command...OK
Testing: START-STOP UNIT Command...OK
Promo Drive, No Model, 32MB, FAT
=============START OF A NEW SESSION==================
VID = 0x0ea0, PID = 0x6828
Testing: GET MAX LUN Command...OK
Testing: TEST UNIT READY Command...OK
Testing: REQUEST SENSE Command...OK
Testing: INQUIRY Command...OK
Testing: REQUEST SENSE Command...OK
Testing: READ FORMAT CAPACITIES Command...OK
Testing: REQUEST SENSE Command...OK
Testing: READ CAPACITY Command...OK
Testing: REQUEST SENSE Command...OK
Testing: READ(10) Command...OK
Testing: MODE SENSE Command...OK
Testing: PREVENT-ALLOW MEDIUM REMOVAL Command...OK
Testing: REQUEST SENSE Command...OK
Testing: VERIFY Command...OK
Testing: WRITE(10) Command...OK
Testing: REQUEST SENSE Command...OK
Testing: START-STOP UNIT Command...OK
Lexar 8GB Model: LJDTT8GB-000-1002N, FAT32
=============START OF A NEW SESSION==================
VID = 0x05dc, PID = 0xa813
Testing: GET MAX LUN Command...OK
Testing: TEST UNIT READY Command...OK
Testing: REQUEST SENSE Command...OK
Testing: INQUIRY Command...OK
Testing: REQUEST SENSE Command...OK
Testing: READ FORMAT CAPACITIES Command...OK
Testing: REQUEST SENSE Command...OK
Testing: READ CAPACITY Command...OK
Testing: REQUEST SENSE Command...OK
Testing: READ(10) Command...OK
Testing: MODE SENSE Command...OK
Testing: PREVENT-ALLOW MEDIUM REMOVAL Command...OK
Testing: REQUEST SENSE Command...OK
Testing: VERIFY Command...OK
Testing: WRITE(10) Command...OK
Testing: REQUEST SENSE Command...OK
Testing: START-STOP UNIT Command...OK
Today I found an old SanDisk drive that actually works, as well as one more drive that fails more commands than any others I've seen. Here are the results:
SanDisk Cruzer Micro 1.0 GB, Model: SDCZ6-1024, FAT format, No U3
=============START OF A NEW SESSION==================
VID = 0x0781, PID = 0x5406
Testing: GET MAX LUN Command...OK
Testing: TEST UNIT READY Command...OK
Testing: REQUEST SENSE Command...OK
Testing: INQUIRY Command...OK
Testing: REQUEST SENSE Command...OK
Testing: READ FORMAT CAPACITIES Command...OK
Testing: REQUEST SENSE Command...OK
Testing: READ CAPACITY Command...OK
Testing: REQUEST SENSE Command...OK
Testing: READ(10) Command...OK
Testing: MODE SENSE Command...OK
Testing: PREVENT-ALLOW MEDIUM REMOVAL Command...OK
Testing: REQUEST SENSE Command...OK
Testing: VERIFY Command...OK
Testing: WRITE(10) Command...OK
Testing: REQUEST SENSE Command...OK
Testing: START-STOP UNIT Command...OK
Ativa, No Model, 4GB, FAT32
=============START OF A NEW SESSION==================
VID = 0x05dc, PID = 0xa790
Testing: GET MAX LUN Command...OK
Testing: TEST UNIT READY Command...Unsupported by device (bStatus=0x97)
Testing: REQUEST SENSE Command...Unsupported by device (bStatus=0xfffffff9)
Testing: INQUIRY Command...Unsupported by device (bStatus=0xfffffff9)
Testing: REQUEST SENSE Command...Unsupported by device (bStatus=0xfffffff9)
Testing: READ FORMAT CAPACITIES Command...Unsupported by device (bStatus=0xfffffff9)
Testing: REQUEST SENSE Command...Unsupported by device (bStatus=0xfffffff9)
Testing: READ CAPACITY Command...Unsupported by device (bStatus=0xfffffff9)
Testing: REQUEST SENSE Command...Unsupported by device (bStatus=0xfffffff9)
Testing: READ(10) Command...Unsupported by device (bStatus=0xfffffff9)
Testing: MODE SENSE Command...Unsupported by device (bStatus=0xfffffff9)
Testing: PREVENT-ALLOW MEDIUM REMOVAL Command...Unsupported by device (bStatus=0xfffffff9)
Testing: REQUEST SENSE Command...Unsupported by device (bStatus=0xfffffff9)
Testing: VERIFY Command...Unsupported by device (bStatus=0xfffffff9)
Testing: WRITE(10) Command...Unsupported by device (bStatus=0xfffffff9)
Testing: REQUEST SENSE Command...Unsupported by device (bStatus=0xfffffff9)
Testing: START-STOP UNIT Command...Unsupported by device (bStatus=0xfffffff9)
We have had a great deal of grief over this problem as well. What we found is that the speed of the USB Flash Drive is the deciding factor. The software consistently fails on very fast drives and always works on slower drives. The definition of slow and fast is open, but fast for us was about 30% faster than the slower drives. We have tried several drives and the ones that work for us on our in-house board are from SanDisk, and are the cheap ones from Costco 4G, 4 for 17$ on a card.
What I believe is the problem is that the MQX scheduler interrupts and gets between the USB transfer at a byte level and the transfer fails on a missed response. We have seen similar issues with the i2c driver where the ACK was missed because of the RTOS scheduling interrupt. This was verified by the MQX people in the development team in Europe. This was more prevalent in MQX 3.7 than 3.8. I don't think we have seen the i2c timeout in 3.8 as yet.
This problem makes it very difficult to deliver a product to a customer base that will use their own flash drives at some point. The entire product can be seen as unreliable or faulty.
Grief is a good way to put it. I haven't seen problems with the canned example applications that come with MQX, but in real applications where there is a lot going on, problems with the USB drives happen frequently. So I, too, am suspicious it has something to do with other peripherals interrupting the system, context switching, etc. We stayed on 3.7, we had consistent problems on 3.8 reading files from a USB stick on startup. We are using the 5125 board. For us two things usually happen, either the USB stick stops working all together and we have to pull it out and re-insert it to get it to work again, or we will see a string of corrupted data in the files we are writing out. We really need this fixed.
We are not only seeing some USB drives that fail, but a significant difference in speed when opening a file. A few of the USB drives that we tried open the file in 8-9 sec. Other take ~40-60 sec to open the same file. No clear relation to USB speed or density of the drive.
KINGSTON DATATRAVELER G2 4GB
CW 7.2, MQX 3.6, M52259DEMO
=============START OF A NEW SESSION==================
VID = 0x0951, PID = 0x1624
Testing: GET MAX LUN Command...OK
Testing: TEST UNIT READY Command...OK
Testing: REQUEST SENSE Command Test stops here!
Dear all,
I strongly recommend you to use msd_commands from MQX version 3.5 as there is one important bug fixed.
If you report your USB disk findings, please include always application, MQX version, board and target used for testing.
Thank you.
My USB stick does not have VID and PID. The only info it has is Production Revision Level 1100. It is provided by a third party and we have tone of it to distribute to our customers.
Runing the test for my USB stick does not result anything in HyperTerminal. To verify my setup, I also ran it with Freescale Metal-Black USB stick which shows all commands are OK.
Hi,
Trascend 8GB works nicely
regards
nibble
TDK 8GB - Not Working (Works on Windows and on Mac)
here is the log:
shell> Mass Storage Device Attached
=============START OF A NEW SESSION==================
Testing: GET MAX LUN Command...OK
Testing: TEST UNIT READY Command...OK
Testing: REQUEST SENSE Command...Unsupported by device (bStatus=0xfffffff8)
Testing: INQUIRY Command...Unsupported by device (bStatus=0xfffffff9)
Testing: REQUEST SENSE Command...Unsupported by device (bStatus=0xfffffff9)
Testing: READ FORMAT CAPACITIES Command...Unsupported by device (bStatus=0xfffff
ff9)
Testing: REQUEST SENSE Command...Unsupported by device (bStatus=0xfffffff9)
Testing: READ CAPACITY Command...Unsupported by device (bStatus=0xfffffff9)
Testing: REQUEST SENSE Command...Unsupported by device (bStatus=0xfffffff9)
Testing: READ(10) Command...Unsupported by device (bStatus=0xfffffff9)
Testing: MODE SENSE Command...Unsupported by device (bStatus=0xfffffff9)
Testing: PREVENT-ALLOW MEDIUM REMOVAL Command...Unsupported by device (bStatus=0
xfffffff9)
Testing: REQUEST SENSE Command...Unsupported by device (bStatus=0xfffffff9)
Testing: VERIFY Command...Unsupported by device (bStatus=0xfffffff9)
Testing: WRITE(10) Command...Unsupported by device (bStatus=0xfffffff9)
Testing: REQUEST SENSE Command...Unsupported by device (bStatus=0xfffffff9)
Testing: START-STOP UNIT Command...Unsupported by device (bStatus=0xfffffff9)
Test done!
Some more devices:
- EutronSec Picodisk 512MB - OK
- SANDISK Cruzer U3 16GB (after uninstalling the U3 garbage and repartitioning it with only one partition) - Fails with the message:
************************************************************************
Vendor Information: SanDisk Mass Storage Device
Product Identification: U3 Cruzer Micro
Product Revision Level: 8.02
************************************************************************
Error while opening partition (UNKNOWN ERROR !!!)
Device removed, starting device cleanup
--->Closing MFS
--->Uninstalling
--->Uninstalling PM
--->Closing disk
--->Closing USB MFS
The MSD_commands example returns the log:
=============START OF A NEW SESSION==================
Testing: GET MAX LUN Command...OK
Testing: TEST UNIT READY Command...OK
Testing: REQUEST SENSE Command...OK
Testing: INQUIRY Command...OK
Testing: REQUEST SENSE Command...OK
Testing: READ FORMAT CAPACITIES Command...OK
Testing: REQUEST SENSE Command...OK
Testing: READ CAPACITY Command...OK
Testing: REQUEST SENSE Command...OK
Testing: READ(10) Command...OK
Testing: MODE SENSE Command...OK
Testing: PREVENT-ALLOW MEDIUM REMOVAL Command...OK
Testing: REQUEST SENSE Command...OK
Testing: VERIFY Command...OK
Testing: WRITE(10) Command...Unsupported by device (bStatus=0x1)
Testing: REQUEST SENSE Command...Unsupported by device (bStatus=0xfffffff9)
Testing: START-STOP UNIT Command...Unsupported by device (bStatus=0xfffffff9)
Test done!
Working:
Ultra 256M
Sandisk (various sizes tested)
Tested:
LAVOD 512MB FAT16 (0x06): OK
HD 160GB FAT32 LBA (0x0c) with IDEtoUSB bridge/adapter, seems work...