Nios® II Embedded Design Suite (EDS)
Support for Embedded Development Tools, Processors (SoCs and Nios® II processor), Embedded Development Suites (EDSs), Boot and Configuration, Operating Systems, C and C++
Intel Support hours are Monday-Fridays, 8am-5pm PST, except Holidays. Thanks to our community members who provide support during our down time or before we get to your questions. We appreciate you!

Need Forum Guidance? Click here
Search our FPGA Knowledge Articles here.
12367 Discussions

prebuilt U-Boot does not recognize some USB storage devices

Honored Contributor I

Hi All, 



I still haven't figured out how to re-build u-boot such that works for USB storage devices (see post: "rebuilt u-boot does not recognize USB storage devices"). I reverted to using the pre-built U-Boot in order to get some work done. 


The version (same as before) is: 

U-Boot 2013.01.01 (Aug 08 2014 - 10:46:23) 

arm-altera-eabi-gcc.exe (Sourcery CodeBench Lite 2013.11-67) 4.8.1 

GNU ld (Sourcery CodeBench Lite 2013.11-67) 


This version worked fine for the 3 or 4 different USB sticks I initially tested. Meaning that the USB storage device was found: 

SOCFPGA_CYCLONE5# usb start 

(Re)start USB... 

USB0: scanning bus 0 for devices... 1 USB Device(s) found 

scanning usb for storage devices... 1 Storage Device(s) found 





But then as I was preparing a (new) USB stick (different make/model) for a colleague - I got a different result: 

SOCFPGA_CYCLONE5# usb start 

(Re)start USB... 

USB0: scanning bus 0 for devices... DW_USB: Transfer completion interrupt timeout 

Timed out waiting for channel to disable 

1 USB Device(s) found 

scanning usb for storage devices... 0 Storage Device(s) found 




I rounded up all the USB sticks I had access to and found roughly 60% worked, the other 40% produced this same message "DW_USB: Transfer completion interrupt timeout". 


There doesn't seem to be a property of the USB stick that would indicate whether it's going to work or not. I have sticks from the same vendor - some work, others don't. Capacity doesn't make a difference - some 16GB sticks work, some don't just as much as 2GB sticks. I looked closely at the 'lsusb -v' output and Linux kernel dmesg output generated on insertion and see no one property that would indicate whether a stick would work or not. 



Can somebody who understands the USB support in U-Boot tell me (1) how I can resolve the "DW_USB: Transfer completion..." error, or (2) at the very least tell me what property of a USB stick I can view to know whether it will work or not. I can post some of the lsusb output from failed/working USB sticks if that helps.  



Thanks in advance, 

--George Broz 

Moog Industrial Group
0 Kudos
1 Reply
Honored Contributor I

Hi, I have a similar problem. 

It works nice with USB 3.0 flash drives, but does not recognize USB 2.0 


'lsusb -v' output shows 'bcdUSB' property, which indicates interface type. 


Also need to understand why it happens and how to resolve a problem.