[U-Boot] "usb reset" issue with some pen drives which work well in Linux/Windows

Debashish Rath Debashish.Rath at tridentmicro.com
Wed Nov 24 13:57:05 CET 2010


Hello,
I was trying to add usb support to u-boot for my Arm cortex-A9 processor based board. I am using "U-Boot 2009.08".

I have tested the usb support (reset, fatls, fatload to boot linux etc) with the following devices and its working fine.
1. Western Digital "My Book" - Self powered USB HD
2. Western Digital "My Passport" - Bus powered USB HD
3. Transcend 4GB Pen drive - 2 makes

However one issue still remains. It is not working with some usb pen drives (which works with Linux and windows). I have done the testing on
1. Dane-Elec 2 GB Pen drive
2. nxp 256 MB pen drive

It seems these are some non-standard usb devices. With these devices uboot-usb is able to detect it, however during the mass storage scan, reset is getting failed (getting stall) and the following message we are getting:
"scanning bus for storage devices... 0 Storage Device(s) found"

Check the file - common/usb_storage.c. Function- usb_stor_BBB_reset : USB_STOR_PRINTF("RESET:stall\n");

I googled it however have not come across any fix so far.

Then I took the latest u-boot i.e. u-boot-2010.09 and back ported the usb stack. With that the "usb reset" is a success and it is able to detect it as a mass storage device. Commands like "usb storage", "usb tree" etc showing proper information about the pen driver. However File System commands like "fatls" is not working.

For USB support I have added the folling config stuffs to my file in include/configs
    #define CONFIG_CMD_USB
    #define CONFIG_USB_STORAGE
    #define CONFIG_USB_EHCI
    #define CONFIG_USB_EHCI_PNX84XX --> My usb config
    #define CONFIG_EHCI_HCD_INIT_AFTER_RESET
    #define CONFIG_SUPPORT_VFAT

Is this a know issue or I am doing something wrong. Please help me in resolving this issue.

Regards
Debashish Rath
Trident Microsystems




More information about the U-Boot mailing list