[U-Boot-Users] AT91SAM9261-EK USB storage not working...

Hello Stelian,
Thank you for adding support for the Atmel AT91SAM9261-EK to U-boot.
But I have a question here: Does USB-storage devices work in U-boot at your place? (e.g. 1GB USB memory stick) I use U-boot 1.3.4-rc1
I first ran into this problem on our custom board from which I derived the BSP from your patchset, but I noticed that it does not seem to work either on the AT91SAM9261-EK kit. So, I am curious if I broke something, or if something else fundamental is wrong here...
When I do a usb scan, It recognises 2 devices, but when it starts looking for usb-storage devices, it takes a while, and finally it ends up with this error: ---------------------------------------- Device NOT ready Request Sense returned 0 0 0 ----------------------------------------
Kind Regards,
Remy

Le samedi 26 juillet 2008 à 00:22 +0200, Remy Bohmer a écrit :
Hello Stelian,
Hi Rémy,
Thank you for adding support for the Atmel AT91SAM9261-EK to U-boot.
But I have a question here: Does USB-storage devices work in U-boot at your place? (e.g. 1GB USB memory stick) I use U-boot 1.3.4-rc1
[...]
You're correct, USB support on the AT91SAM9 boards has some unknown issues. I can reproduce the behaviour you're seing easily here.
Nicolas Ferre (added in CC:) confirmed the problem too (with both the current U-Boot version and the atmel specific 1.1.5-atmel_1.5 version). But he is very certain that it did work at some time in the past, with some USB storage devices.
So it may be a matter of hardware (lo or hi-speed USB storage devices ?), or a matter of timing somewhere in the driver, I do not know. The Linux USB stack works perfectly, so this is not a hardware problem on the AT91SAM9 chip or board.
Somebody needs to debug this, but I didn't found the time to investigate yet. If you badly need it to work, well, you're welcome to try debugging it :)
Thanks,

Hello Stelian,
You're correct, USB support on the AT91SAM9 boards has some unknown issues. I can reproduce the behaviour you're seing easily here.
That is at least some good news. It confirms that I did not introduce this problem myself :-)
Nicolas Ferre (added in CC:) confirmed the problem too (with both the current U-Boot version and the atmel specific 1.1.5-atmel_1.5 version). But he is very certain that it did work at some time in the past, with some USB storage devices.
I am very certain that it worked on 1.1.5_atmel_1.4 version, with exactly the same USB memory stick as the one that does not work on thecurrent releases... So, I can rule the USB stick as well...
So it may be a matter of hardware (lo or hi-speed USB storage devices ?), or a matter of timing somewhere in the driver, I do not know. The Linux USB stack works perfectly, so this is not a hardware problem on the AT91SAM9 chip or board.
I agree
Somebody needs to debug this, but I didn't found the time to investigate yet. If you badly need it to work, well, you're welcome to try debugging it :)
I hoped someone already had a solution, that why I asked you ;-) and yes, it _must_ work here, and I believe I have to dig in this myself. Maybe next week...
Kind regards,
Remy

Le lundi 28 juillet 2008 à 12:59 +0200, Remy Bohmer a écrit :
I am very certain that it worked on 1.1.5_atmel_1.4 version, with exactly the same USB memory stick as the one that does not work on thecurrent releases... So, I can rule the USB stick as well...
This makes you a good test configuration.
[...]
I hoped someone already had a solution, that why I asked you ;-) and yes, it _must_ work here, and I believe I have to dig in this myself. Maybe next week...
Good luck, I am waiting for your patch then :)

Hello Stelian and others,
I have made some progress here, and I would like to inform you all:
But I have a question here: Does USB-storage devices work in U-boot at your place? (e.g. 1GB USB memory stick) I use U-boot 1.3.4-rc1
You're correct, USB support on the AT91SAM9 boards has some unknown issues. I can reproduce the behaviour you're seing easily here. Nicolas Ferre (added in CC:) confirmed the problem too (with both the current U-Boot version and the atmel specific 1.1.5-atmel_1.5 version). But he is very certain that it did work at some time in the past, with some USB storage devices.
I have done a lot of debugging/testing etc. and I noticed that binary deliverables of U-boot for the evaluationkit work properly with USB-storage devices on the AT91SAM9261-EK kit. They were all based on U-boot 1.1.3, 1.1.4, 1.1.5 Atmel versions.
But, I was not able to get a working version when I build such a code tree myself. I use gcc version 4.2.3 (Sourcery G++ Lite 2008q1-126) An hour ago I got the stupid idea to get an older compiler: gcc version 3.4.2 (release) (CodeSourcery ARM Q3D 2004)
And this one delivers a working usb-ohci in u-boot.bin :-))
Even u-boot-1.3.4-rc1 now works with USB-storage devices on these at91sam9261 cores. I also tried GCC 4.1.0, but that one delivered also a broken binary Compiling without optimisation (-Os) resulted in a binary that did not boot at all... (not debugged yet why)
So, with GCC 4.2.3 everything in U-boot seems to work, except the USB-OHCI driver... For the USB-OHCI driver we apparantly need a GCC 3.xx compiler.
Now, we need to debug why GCC 4.x is a problem...
Kind Regards,
Remy
So it may be a matter of hardware (lo or hi-speed USB storage devices ?), or a matter of timing somewhere in the driver, I do not know. The Linux USB stack works perfectly, so this is not a hardware problem on the AT91SAM9 chip or board.
Somebody needs to debug this, but I didn't found the time to investigate yet. If you badly need it to work, well, you're welcome to try debugging it :)

Hi Remy,
Le jeudi 31 juillet 2008 à 15:24 +0200, Remy Bohmer a écrit :
Hello Stelian and others,
I have made some progress here, and I would like to inform you all:
[...]
I have done a lot of debugging/testing etc. and I noticed that binary deliverables of U-boot for the evaluationkit work properly with USB-storage devices on the AT91SAM9261-EK kit. They were all based on U-boot 1.1.3, 1.1.4, 1.1.5 Atmel versions.
But, I was not able to get a working version when I build such a code tree myself. I use gcc version 4.2.3 (Sourcery G++ Lite 2008q1-126) An hour ago I got the stupid idea to get an older compiler: gcc version 3.4.2 (release) (CodeSourcery ARM Q3D 2004)
FYI, I have been using a CS toolchain here too (2007q3) and had optimisation problems with it (net/net.c:NetReceive() gets miscompiled when using -Os, but behaves correctly when compiled with -O2).
I didn't have any problems with the (older) ELDK 4.1 gcc compiler. Maybe you should try it first.
participants (2)
-
Remy Bohmer
-
Stelian Pop