cancel
Showing results for 
Search instead for 
Did you mean: 

Mass Storage Host class, some not compatible pen drive

u23
Senior
Posted on January 14, 2015 at 15:09

I have used the STM32_USB_HOST_Library V2.1.0 (19-March-2012) on STM32F105 for implement Mass Storage Host class.

The file system is has been implemented with FatFs Module Source Files R0.07e.

The my problem is that not all pen drive are recognized!

The symptom is that the USB Host core main state machine process (USBH_Process) remains in the HOST_ENUMERATION state!

Below the list of pen drive tested:

Made         Capacity     File System     Cluster size     Vel. Read         Vel. Write    Compatible

Kingston     14,42 GB     FAT32          8 KB             18,12 MB/s      1,44 MB/s   YES

Gudget         0,94 GB         FAT         16 KB              15,20 MB/s     5,43 MB/s   YES

Kingston     0,93 GB         FAT32          4 KB          12,13 MB/s         2,05 MB/s  YES

Laser         3,76 GB         FAT32          4 KB          15,60 MB/s         2,48 MB/s    NO

Verbatim     7,50 GB         FAT32          4 KB          13,60 MB/s         3,85 MB/s   NO

Verbatim     7,28 GB         FAT32          4 KB          19,8 MB/s         10,20 MB/s   NO

any idea?

Thanks

5 REPLIES 5
John F.
Senior
Posted on January 15, 2015 at 09:21

Maybe not software? Maybe the larger faster parts use more power and your power supply is insufficiently decoupled, underpowered and drooping or noisy?

u23
Senior
Posted on January 15, 2015 at 14:54

How can I verify this?

Thanks

John F.
Senior
Posted on January 16, 2015 at 09:31

Is it custom hardware? You could look at supply with an oscilloscope - add additional decoupling to USB stick supply - involve the circuit designer - read the power supply chip data sheet.

u23
Senior
Posted on January 16, 2015 at 12:12

I resolved!

Is not the hardware problem, but is interrupt priority problem.

I have set the the usb interrupt priority at top.

John F.
Senior
Posted on January 16, 2015 at 13:54

Did you previously have higher priority interrupts that blocked? If so, what length of time do you think is critical?

Pleased to hear you now have it working.