* [U-Boot] [patch 0/2] Some more USB-OHCI bugfixes
@ 2008-10-08 8:54 Remy Bohmer
2008-10-08 8:54 ` [U-Boot] [patch 1/2] fix USB initialisation procedure Remy Bohmer
` (4 more replies)
0 siblings, 5 replies; 21+ messages in thread
From: Remy Bohmer @ 2008-10-08 8:54 UTC (permalink / raw)
To: u-boot
The USB OHCI init procedure sets the maximum message length the wrong way.
A max of 64 bits should not be done by writing '64' in maxpacketsize, but '3'.
While fixing this problem it turned out that there is more wrong here in this
code it turned out that the wrong bits were checked to determine if the pipe
was of type PIPE_INTERRUPT. This series fixes those errors also.
I made it 2 seperate patches. The 1st of this series is fully tested and correct
on at least the AT91SAM9261 cores. I hope it fixes the known problems on
AT91SAM9263 (and other) cores also, maybe Stelian can verify this.
If it does not help on sam9263, it should not make it worse either...
The 2nd patch, however, is created by search-for-the-same-errors-and-replace.
I am not able to test that patch, I do not have the boards, so that needs to be
done by others or by review. It is clear that code there is buggy in the
first place.
These patches require my previous series called
'Improve stability USB memory sticks for the common OHCI USB layer.' to be
applied before this series. So they should apply on the u-boot-usb git tree.
--> git://git.denx.de/u-boot-usb.git
I want to mention also, that everytime I look deeper into this code, I find new
bugs. It appears that several parts of this code is written with interrupt
handling in mind, while we have no interrupt handling at all.
Assumptions are done that a interrupt handler does things asynchronous, causing
long loops that have no real use at all...
So, no guarantees that _all_ problems are solved by now...
Kind Regards,
Remy
--
^ permalink raw reply [flat|nested] 21+ messages in thread
* [U-Boot] [patch 1/2] fix USB initialisation procedure
2008-10-08 8:54 [U-Boot] [patch 0/2] Some more USB-OHCI bugfixes Remy Bohmer
@ 2008-10-08 8:54 ` Remy Bohmer
2008-10-09 12:10 ` Jean-Christophe PLAGNIOL-VILLARD
2008-10-08 8:54 ` [U-Boot] [patch 2/2] The PIPE_INTERRUPT flag is used wrong Remy Bohmer
` (3 subsequent siblings)
4 siblings, 1 reply; 21+ messages in thread
From: Remy Bohmer @ 2008-10-08 8:54 UTC (permalink / raw)
To: u-boot
An embedded and charset-unspecified text was scrubbed...
Name: outgoing/fix-usb-init-procedure.patch
Url: http://lists.denx.de/pipermail/u-boot/attachments/20081008/51f06d6e/attachment.txt
^ permalink raw reply [flat|nested] 21+ messages in thread
* [U-Boot] [patch 2/2] The PIPE_INTERRUPT flag is used wrong
2008-10-08 8:54 [U-Boot] [patch 0/2] Some more USB-OHCI bugfixes Remy Bohmer
2008-10-08 8:54 ` [U-Boot] [patch 1/2] fix USB initialisation procedure Remy Bohmer
@ 2008-10-08 8:54 ` Remy Bohmer
2008-10-08 10:12 ` [U-Boot] [patch 0/2] Some more USB-OHCI bugfixes Markus Klotzbücher
` (2 subsequent siblings)
4 siblings, 0 replies; 21+ messages in thread
From: Remy Bohmer @ 2008-10-08 8:54 UTC (permalink / raw)
To: u-boot
An embedded and charset-unspecified text was scrubbed...
Name: outgoing/usb-fix-PIPE_flag-usage.patch
Url: http://lists.denx.de/pipermail/u-boot/attachments/20081008/ed996ae4/attachment.txt
^ permalink raw reply [flat|nested] 21+ messages in thread
* [U-Boot] [patch 0/2] Some more USB-OHCI bugfixes
2008-10-08 8:54 [U-Boot] [patch 0/2] Some more USB-OHCI bugfixes Remy Bohmer
2008-10-08 8:54 ` [U-Boot] [patch 1/2] fix USB initialisation procedure Remy Bohmer
2008-10-08 8:54 ` [U-Boot] [patch 2/2] The PIPE_INTERRUPT flag is used wrong Remy Bohmer
@ 2008-10-08 10:12 ` Markus Klotzbücher
2008-10-08 10:41 ` Stelian Pop
2008-10-09 8:33 ` Stelian Pop
4 siblings, 0 replies; 21+ messages in thread
From: Markus Klotzbücher @ 2008-10-08 10:12 UTC (permalink / raw)
To: u-boot
Hi Remy,
On Wed, Oct 08, 2008 at 10:54:13AM +0200, Remy Bohmer wrote:
> The USB OHCI init procedure sets the maximum message length the wrong way.
> A max of 64 bits should not be done by writing '64' in maxpacketsize, but '3'.
> While fixing this problem it turned out that there is more wrong here in this
> code it turned out that the wrong bits were checked to determine if the pipe
> was of type PIPE_INTERRUPT. This series fixes those errors also.
Ok, great!
> I made it 2 seperate patches. The 1st of this series is fully tested and correct
> on at least the AT91SAM9261 cores. I hope it fixes the known problems on
> AT91SAM9263 (and other) cores also, maybe Stelian can verify this.
> If it does not help on sam9263, it should not make it worse either...
Ok, looking forward to feedback...
> The 2nd patch, however, is created by search-for-the-same-errors-and-replace.
> I am not able to test that patch, I do not have the boards, so that needs to be
> done by others or by review. It is clear that code there is buggy in the
> first place.
Ok.
> These patches require my previous series called
> 'Improve stability USB memory sticks for the common OHCI USB layer.' to be
> applied before this series. So they should apply on the u-boot-usb git tree.
> --> git://git.denx.de/u-boot-usb.git
I'll test them here on sequoia and apply if they pass :-)
> I want to mention also, that everytime I look deeper into this code, I find new
> bugs. It appears that several parts of this code is written with interrupt
> handling in mind, while we have no interrupt handling at all.
> Assumptions are done that a interrupt handler does things asynchronous, causing
> long loops that have no real use at all...
> So, no guarantees that _all_ problems are solved by now...
Yes, this is ancient Linux code, but in contrast to the linux usb
stack wasn't rewritten several times. It was considered several times
to (re) import current Linux usb code, but it's obviously no small
job...
Thank you for the great work!
Best regards
Markus
--
DENX Software Engineering GmbH, MD: Wolfgang Denk & Detlev Zundel
HRB 165235 Munich, Office: Kirchenstr.5, D-82194 Groebenzell, Germany
Phone: +49-8142-66989-0 Fax: +49-8142-66989-80 Email: office at denx.de")
^ permalink raw reply [flat|nested] 21+ messages in thread
* [U-Boot] [patch 0/2] Some more USB-OHCI bugfixes
2008-10-08 8:54 [U-Boot] [patch 0/2] Some more USB-OHCI bugfixes Remy Bohmer
` (2 preceding siblings ...)
2008-10-08 10:12 ` [U-Boot] [patch 0/2] Some more USB-OHCI bugfixes Markus Klotzbücher
@ 2008-10-08 10:41 ` Stelian Pop
2008-10-09 8:33 ` Stelian Pop
4 siblings, 0 replies; 21+ messages in thread
From: Stelian Pop @ 2008-10-08 10:41 UTC (permalink / raw)
To: u-boot
Le mercredi 08 octobre 2008 ? 10:54 +0200, Remy Bohmer a ?crit :
> I made it 2 seperate patches. The 1st of this series is fully tested and correct
> on at least the AT91SAM9261 cores. I hope it fixes the known problems on
> AT91SAM9263 (and other) cores also, maybe Stelian can verify this.
> If it does not help on sam9263, it should not make it worse either...
I'll hopefully do the tests tomorrow.
Stelian.
--
Stelian Pop <stelian@popies.net>
^ permalink raw reply [flat|nested] 21+ messages in thread
* [U-Boot] [patch 0/2] Some more USB-OHCI bugfixes
2008-10-08 8:54 [U-Boot] [patch 0/2] Some more USB-OHCI bugfixes Remy Bohmer
` (3 preceding siblings ...)
2008-10-08 10:41 ` Stelian Pop
@ 2008-10-09 8:33 ` Stelian Pop
2008-10-09 9:51 ` Remy Bohmer
4 siblings, 1 reply; 21+ messages in thread
From: Stelian Pop @ 2008-10-09 8:33 UTC (permalink / raw)
To: u-boot
Le mercredi 08 octobre 2008 ? 10:54 +0200, Remy Bohmer a ?crit :
> I made it 2 seperate patches. The 1st of this series is fully tested and correct
> on at least the AT91SAM9261 cores. I hope it fixes the known problems on
> AT91SAM9263 (and other) cores also, maybe Stelian can verify this.
> If it does not help on sam9263, it should not make it worse either...
It still doesn't help (on AT91SAM9263):
usb start
(Re)start USB...
USB: scanning bus for devices... New Device 0
usb_control_msg: request: 0x6, requesttype: 0x80, value 0x100 index 0x0 length 0x40
set address 1
usb_control_msg: request: 0x5, requesttype: 0x0, value 0x1 index 0x0 length 0x0
usb_control_msg: request: 0x6, requesttype: 0x80, value 0x100 index 0x0 length 0x12
usb_control_msg: request: 0x6, requesttype: 0x80, value 0x200 index 0x0 length 0x9
usb_control_msg: request: 0x6, requesttype: 0x80, value 0x200 index 0x0 length 0x19
get_conf_no 0 Result 25, wLength 25
if 0, ep 0
##EP epmaxpacketin[1] = 2
set configuration 1
usb_control_msg: request: 0x9, requesttype: 0x0, value 0x1 index 0x0 length 0x0
new device strings: Mfr=0, Product=1, SerialNumber=0
usb_control_msg: request: 0x6, requesttype: 0x80, value 0x300 index 0x0 length 0xFF
USB device number 1 default language ID 0x409
usb_control_msg: request: 0x6, requesttype: 0x80, value 0x301 index 0x409 length 0xFF
Manufacturer
Product OHCI Root Hub
SerialNumber
usb_control_msg: request: 0x6, requesttype: 0xA0, value 0x2900 index 0x0 length 0x4
usb_control_msg: request: 0x6, requesttype: 0xA0, value 0x2900 index 0x0 length 0x9
usb_control_msg: request: 0x0, requesttype: 0xA0, value 0x0 index 0x0 length 0x4
usb_control_msg: request: 0x3, requesttype: 0x23, value 0x8 index 0x1 length 0x0
usb_control_msg: request: 0x3, requesttype: 0x23, value 0x8 index 0x2 length 0x0
usb_control_msg: request: 0x0, requesttype: 0xA3, value 0x0 index 0x1 length 0x4
usb_control_msg: request: 0x0, requesttype: 0xA3, value 0x0 index 0x2 length 0x4
usb_control_msg: request: 0x0, requesttype: 0xA3, value 0x0 index 0x2 length 0x4
usb_control_msg: request: 0x1, requesttype: 0x23, value 0x10 index 0x2 length 0x0
usb_control_msg: request: 0x3, requesttype: 0x23, value 0x4 index 0x2 length 0x0
usb_control_msg: request: 0x0, requesttype: 0xA3, value 0x0 index 0x2 length 0x4
usb_control_msg: request: 0x1, requesttype: 0x23, value 0x14 index 0x2 length 0x0
New Device 1
usb_control_msg: request: 0x6, requesttype: 0x80, value 0x100 index 0x0 length 0x40
ERROR: USB-error: DEVICENOTRESPONDING: Device did not respond to token (IN) or did
not provide a handshake (OUT) (5)
ERROR: USB-error: DEVICENOTRESPONDING: Device did not respond to token (IN) or did
not provide a handshake (OUT) (5)
usb_new_device: usb_get_descriptor() failed
usb_control_msg: request: 0x1, requesttype: 0x23, value 0x1 index 0x2 length 0x0
2 USB Device(s) found
scanning bus for storage devices... 0 Storage Device(s) found
U-Boot>
--
Stelian Pop <stelian@popies.net>
^ permalink raw reply [flat|nested] 21+ messages in thread
* [U-Boot] [patch 0/2] Some more USB-OHCI bugfixes
2008-10-09 8:33 ` Stelian Pop
@ 2008-10-09 9:51 ` Remy Bohmer
2008-10-09 15:01 ` Stelian Pop
0 siblings, 1 reply; 21+ messages in thread
From: Remy Bohmer @ 2008-10-09 9:51 UTC (permalink / raw)
To: u-boot
Hello Stelian,
> It still doesn't help (on AT91SAM9263):
grmbl...
I believe this has to be debugged on this specific controller, since I
do not have one here I cannot debug it myself... :-(
At least we made a large step forward on many other cores, but
apparently we are not there yet for all cores...
Looking at the logging, it seems that communication to the root hub
itself is working properly, but everything to the bus fails.
Are you sure that _all_ peripheral clocks are running? Are you sure
that the 48MHz clock is running (derived from PLLB), and configured
properly?
This clock is required, but is usually _not_ configured by U-boot (for
the AT91SAM series) but by the bootstrap code. You could check if the
current settings for PLLB matches the settings done by Linux.
Good luck... (I hope to hear from you if you get it working, or if I
can do anything to assist you on this)
Kind Regards,
Remy
>
> usb start
> (Re)start USB...
> USB: scanning bus for devices... New Device 0
> usb_control_msg: request: 0x6, requesttype: 0x80, value 0x100 index 0x0 length 0x40
> set address 1
> usb_control_msg: request: 0x5, requesttype: 0x0, value 0x1 index 0x0 length 0x0
> usb_control_msg: request: 0x6, requesttype: 0x80, value 0x100 index 0x0 length 0x12
> usb_control_msg: request: 0x6, requesttype: 0x80, value 0x200 index 0x0 length 0x9
> usb_control_msg: request: 0x6, requesttype: 0x80, value 0x200 index 0x0 length 0x19
> get_conf_no 0 Result 25, wLength 25
> if 0, ep 0
> ##EP epmaxpacketin[1] = 2
> set configuration 1
> usb_control_msg: request: 0x9, requesttype: 0x0, value 0x1 index 0x0 length 0x0
> new device strings: Mfr=0, Product=1, SerialNumber=0
> usb_control_msg: request: 0x6, requesttype: 0x80, value 0x300 index 0x0 length 0xFF
> USB device number 1 default language ID 0x409
> usb_control_msg: request: 0x6, requesttype: 0x80, value 0x301 index 0x409 length 0xFF
> Manufacturer
> Product OHCI Root Hub
> SerialNumber
> usb_control_msg: request: 0x6, requesttype: 0xA0, value 0x2900 index 0x0 length 0x4
> usb_control_msg: request: 0x6, requesttype: 0xA0, value 0x2900 index 0x0 length 0x9
> usb_control_msg: request: 0x0, requesttype: 0xA0, value 0x0 index 0x0 length 0x4
> usb_control_msg: request: 0x3, requesttype: 0x23, value 0x8 index 0x1 length 0x0
> usb_control_msg: request: 0x3, requesttype: 0x23, value 0x8 index 0x2 length 0x0
> usb_control_msg: request: 0x0, requesttype: 0xA3, value 0x0 index 0x1 length 0x4
> usb_control_msg: request: 0x0, requesttype: 0xA3, value 0x0 index 0x2 length 0x4
> usb_control_msg: request: 0x0, requesttype: 0xA3, value 0x0 index 0x2 length 0x4
> usb_control_msg: request: 0x1, requesttype: 0x23, value 0x10 index 0x2 length 0x0
> usb_control_msg: request: 0x3, requesttype: 0x23, value 0x4 index 0x2 length 0x0
> usb_control_msg: request: 0x0, requesttype: 0xA3, value 0x0 index 0x2 length 0x4
> usb_control_msg: request: 0x1, requesttype: 0x23, value 0x14 index 0x2 length 0x0
> New Device 1
> usb_control_msg: request: 0x6, requesttype: 0x80, value 0x100 index 0x0 length 0x40
> ERROR: USB-error: DEVICENOTRESPONDING: Device did not respond to token (IN) or did
> not provide a handshake (OUT) (5)
> ERROR: USB-error: DEVICENOTRESPONDING: Device did not respond to token (IN) or did
> not provide a handshake (OUT) (5)
> usb_new_device: usb_get_descriptor() failed
> usb_control_msg: request: 0x1, requesttype: 0x23, value 0x1 index 0x2 length 0x0
> 2 USB Device(s) found
> scanning bus for storage devices... 0 Storage Device(s) found
> U-Boot>
>
> --
> Stelian Pop <stelian@popies.net>
>
>
^ permalink raw reply [flat|nested] 21+ messages in thread
* [U-Boot] [patch 1/2] fix USB initialisation procedure
2008-10-08 8:54 ` [U-Boot] [patch 1/2] fix USB initialisation procedure Remy Bohmer
@ 2008-10-09 12:10 ` Jean-Christophe PLAGNIOL-VILLARD
2008-10-09 13:19 ` Wolfgang Denk
0 siblings, 1 reply; 21+ messages in thread
From: Jean-Christophe PLAGNIOL-VILLARD @ 2008-10-09 12:10 UTC (permalink / raw)
To: u-boot
On 10:54 Wed 08 Oct , Remy Bohmer wrote:
> The max packet size is encoded as 0,1,2,3 for 8,16,32,64 bytes.
> At some places directly 8,16,32,64 was used instead of the encoded
> value. Made a enum for the options to make this more clear and to help
> preventing similar errors in the future.
>
> After fixing this bug it became clear that another bug existed where
> the 'pipe' is and-ed with PIPE_* flags, where it should have been
> 'usb_pipetype(pipe)', or even better usb_pipeint(pipe).
>
> Also removed the triple 'get_device_descriptor' sequence, it has no use,
> and Windows nor Linux behaves that way.
> There is also a poll going on with a timeout when usb_control_msg() fails.
> However, the poll is useless, because the flag will never be set on a error,
> because there is no code that runs in a parallel that can set this flag.
> Changed this to something more logical.
>
> Tested on AT91SAM9261ek and compared the flow on the USB bus to what
> Linux is doing. There is no difference anymore in the early initialisation
> sequence.
>
> Signed-off-by: Remy Bohmer <linux@bohmer.net>
> ---
> common/usb.c | 50 +++++++++++++++++++++++--------------------------
> drivers/usb/usb_ohci.c | 14 +++++--------
> include/usb.h | 16 ++++++++++++---
> 3 files changed, 43 insertions(+), 37 deletions(-)
>
> Index: u-boot-git-22092008/common/usb.c
> ===================================================================
> --- u-boot-git-22092008.orig/common/usb.c 2008-10-08 10:51:49.000000000 +0200
> +++ u-boot-git-22092008/common/usb.c 2008-10-08 10:51:50.000000000 +0200
> @@ -196,15 +196,14 @@ int usb_control_msg(struct usb_device *d
> if (timeout == 0)
> return (int)size;
>
> - while (timeout--) {
> - if (!((volatile unsigned long)dev->status & USB_ST_NOT_PROC))
> - break;
> - wait_ms(1);
> - }
> if (dev->status == 0)
> return dev->act_len;
please add {}?to if too or remove the else
> - else
> + else {
> + /* Let's wait a while for the timeout to elaps.
> + * it has no real use, but it keeps the interface happy. */
> + wait_ms(timeout);
> return -1;
> + }
> }
>
> /*-------------------------------------------------------------------
> @@ -442,14 +441,14 @@ int usb_get_configuration_no(struct usb_
>
>
> config = (struct usb_config_descriptor *)&buffer[0];
> - result = usb_get_descriptor(dev, USB_DT_CONFIG, cfgno, buffer, 8);
> struct usb_device *parent = dev->parent;
> @@ -809,20 +805,22 @@ int usb_new_device(struct usb_device *de
>
> desc = (struct usb_device_descriptor *)tmpbuf;
> dev->descriptor.bMaxPacketSize0 = 64; /* Start off at 64 bytes */
> - dev->maxpacketsize = 64; /* Default to 64 byte max packet size */
> + /* Default to 64 byte max packet size */
> + dev->maxpacketsize = PACKET_SIZE_64;
> dev->epmaxpacketin [0] = 64;
> dev->epmaxpacketout[0] = 64;
> - for (j = 0; j < 3; ++j) {
> - err = usb_get_descriptor(dev, USB_DT_DEVICE, 0, desc, 64);
> - if (err < 0) {
> - USB_PRINTF("usb_new_device: 64 byte descr\n");
> - break;
> - }
> +
> + err = usb_get_descriptor(dev, USB_DT_DEVICE, 0, desc, 64);
> + if (err < 0) {
> + USB_PRINTF("usb_new_device: usb_get_descriptor() failed\n");
> + return 1;
> }
> +
> Index: u-boot-git-22092008/include/usb.h
> ===================================================================
> --- u-boot-git-22092008.orig/include/usb.h 2008-10-08 10:51:45.000000000 +0200
> +++ u-boot-git-22092008/include/usb.h 2008-10-08 10:51:50.000000000 +0200
> @@ -129,6 +129,13 @@ struct usb_config_descriptor {
> struct usb_interface_descriptor if_desc[USB_MAXINTERFACES];
> } __attribute__ ((packed));
>
> +enum {
> + /* Maximum packet size; encoded as 0,1,2,3 = 8,16,32,64 */
> + PACKET_SIZE_8 = 0,
> + PACKET_SIZE_16 = 1,
> + PACKET_SIZE_32 = 2,
> + PACKET_SIZE_64 = 3,
why not diectly the value?
> +};
>
> struct usb_device {
> int devnum; /* Device number on USB bus */
> @@ -137,9 +144,12 @@ struct usb_device {
> char prod[32]; /* product */
> char serial[32]; /* serial number */
>
> - int maxpacketsize; /* Maximum packet size; encoded as 0,1,2,3 = 8,16,32,64 */
Best Regards,
J.
^ permalink raw reply [flat|nested] 21+ messages in thread
* [U-Boot] [patch 1/2] fix USB initialisation procedure
2008-10-09 12:10 ` Jean-Christophe PLAGNIOL-VILLARD
@ 2008-10-09 13:19 ` Wolfgang Denk
2008-10-09 14:43 ` Markus Klotzbücher
0 siblings, 1 reply; 21+ messages in thread
From: Wolfgang Denk @ 2008-10-09 13:19 UTC (permalink / raw)
To: u-boot
Dear Jean-Christophe PLAGNIOL-VILLARD,
In message <20081009121044.GA25278@game.jcrosoft.org> you wrote:
>
> > if (dev->status == 0)
> > return dev->act_len;
> please add {}?to if too or remove the else
> > - else
> > + else {
> > + /* Let's wait a while for the timeout to elaps.
> > + * it has no real use, but it keeps the interface happy. */
> > + wait_ms(timeout);
> > return -1;
> > + }
Good catch.
Actually the "else" should be removed.
Best regards,
Wolfgang Denk
--
DENX Software Engineering GmbH, MD: Wolfgang Denk & Detlev Zundel
HRB 165235 Munich, Office: Kirchenstr.5, D-82194 Groebenzell, Germany
Phone: (+49)-8142-66989-10 Fax: (+49)-8142-66989-80 Email: wd at denx.de
In the strict scientific sense we all feed on death -- even
vegetarians.
-- Spock, "Wolf in the Fold", stardate 3615.4
^ permalink raw reply [flat|nested] 21+ messages in thread
* [U-Boot] [patch 1/2] fix USB initialisation procedure
2008-10-09 13:19 ` Wolfgang Denk
@ 2008-10-09 14:43 ` Markus Klotzbücher
2008-10-09 14:59 ` Stefan Roese
2008-10-09 18:42 ` Wolfgang Denk
0 siblings, 2 replies; 21+ messages in thread
From: Markus Klotzbücher @ 2008-10-09 14:43 UTC (permalink / raw)
To: u-boot
On Thu, Oct 09, 2008 at 03:19:22PM +0200, Wolfgang Denk wrote:
> Dear Jean-Christophe PLAGNIOL-VILLARD,
>
> In message <20081009121044.GA25278@game.jcrosoft.org> you wrote:
> >
> > > if (dev->status == 0)
> > > return dev->act_len;
> > please add {}?to if too or remove the else
> > > - else
> > > + else {
> > > + /* Let's wait a while for the timeout to elaps.
> > > + * it has no real use, but it keeps the interface happy. */
> > > + wait_ms(timeout);
> > > return -1;
> > > + }
>
> Good catch.
Quite honest, I think this is *way* to pedantic. I'd really prefer to
let people who are contributing significantly do their work instead of
bugging them with such rare coding style violations.
> Actually the "else" should be removed.
How so?
Best regards
Markus
--
DENX Software Engineering GmbH, MD: Wolfgang Denk & Detlev Zundel
HRB 165235 Munich, Office: Kirchenstr.5, D-82194 Groebenzell, Germany
Phone: +49-8142-66989-0 Fax: +49-8142-66989-80 Email: office at denx.de")
^ permalink raw reply [flat|nested] 21+ messages in thread
* [U-Boot] [patch 1/2] fix USB initialisation procedure
2008-10-09 14:43 ` Markus Klotzbücher
@ 2008-10-09 14:59 ` Stefan Roese
2008-10-09 15:09 ` Markus Klotzbücher
` (2 more replies)
2008-10-09 18:42 ` Wolfgang Denk
1 sibling, 3 replies; 21+ messages in thread
From: Stefan Roese @ 2008-10-09 14:59 UTC (permalink / raw)
To: u-boot
On Thursday 09 October 2008, Markus Klotzb?cher wrote:
> On Thu, Oct 09, 2008 at 03:19:22PM +0200, Wolfgang Denk wrote:
> > Dear Jean-Christophe PLAGNIOL-VILLARD,
> >
> > In message <20081009121044.GA25278@game.jcrosoft.org> you wrote:
> > > > if (dev->status == 0)
> > > > return dev->act_len;
> > >
> > > please add {}?to if too or remove the else
> > >
> > > > - else
> > > > + else {
> > > > + /* Let's wait a while for the timeout to elaps.
> > > > + * it has no real use, but it keeps the interface happy. */
> > > > + wait_ms(timeout);
> > > > return -1;
> > > > + }
> >
> > Good catch.
>
> Quite honest, I think this is *way* to pedantic. I'd really prefer to
> let people who are contributing significantly do their work instead of
> bugging them with such rare coding style violations.
ACK from me here. "Minor" coding style violations like these braces issue or
too long lines should not delay patches.
> > Actually the "else" should be removed.
>
> How so?
Because of the "return dev->act_len;" above. :)
Best regards,
Stefan
=====================================================================
DENX Software Engineering GmbH, MD: Wolfgang Denk & Detlev Zundel
HRB 165235 Munich, Office: Kirchenstr.5, D-82194 Groebenzell, Germany
Phone: +49-8142-66989-0 Fax: +49-8142-66989-80 Email: office at denx.de
=====================================================================
^ permalink raw reply [flat|nested] 21+ messages in thread
* [U-Boot] [patch 0/2] Some more USB-OHCI bugfixes
2008-10-09 9:51 ` Remy Bohmer
@ 2008-10-09 15:01 ` Stelian Pop
2008-10-10 7:21 ` Remy Bohmer
0 siblings, 1 reply; 21+ messages in thread
From: Stelian Pop @ 2008-10-09 15:01 UTC (permalink / raw)
To: u-boot
Le jeudi 09 octobre 2008 ? 11:51 +0200, Remy Bohmer a ?crit :
> Looking at the logging, it seems that communication to the root hub
> itself is working properly, but everything to the bus fails.
> Are you sure that _all_ peripheral clocks are running? Are you sure
> that the 48MHz clock is running (derived from PLLB), and configured
> properly?
> This clock is required, but is usually _not_ configured by U-boot (for
> the AT91SAM series) but by the bootstrap code. You could check if the
> current settings for PLLB matches the settings done by Linux.
Bingo ! The bootstrap code does appear to setup some wrong values for
the PLLB multiplier/divisor. Once I set up the PLLB to use the same
values as Linux, USB starts to work ! Yay !
Still, only one of my three USB sticks works, the other two exhibit some
error, so maybe there is something additional to be done:
The working USB stick says:
usb start
(Re)start USB...
USB: scanning bus for devices... New Device 0
usb_control_msg: request: 0x6, requesttype: 0x80, value 0x100 index 0x0 length 0x40
set address 1
usb_control_msg: request: 0x5, requesttype: 0x0, value 0x1 index 0x0 length 0x0
usb_control_msg: request: 0x6, requesttype: 0x80, value 0x100 index 0x0 length 0x12
usb_control_msg: request: 0x6, requesttype: 0x80, value 0x200 index 0x0 length 0x9
usb_control_msg: request: 0x6, requesttype: 0x80, value 0x200 index 0x0 length 0x19
get_conf_no 0 Result 25, wLength 25
if 0, ep 0
##EP epmaxpacketin[1] = 2
set configuration 1
usb_control_msg: request: 0x9, requesttype: 0x0, value 0x1 index 0x0 length 0x0
new device strings: Mfr=0, Product=1, SerialNumber=0
usb_control_msg: request: 0x6, requesttype: 0x80, value 0x300 index 0x0 length 0xFF
USB device number 1 default language ID 0x409
usb_control_msg: request: 0x6, requesttype: 0x80, value 0x301 index 0x409 length 0xFF
Manufacturer
Product OHCI Root Hub
SerialNumber
usb_control_msg: request: 0x6, requesttype: 0xA0, value 0x2900 index 0x0 length 0x4
usb_control_msg: request: 0x6, requesttype: 0xA0, value 0x2900 index 0x0 length 0x9
usb_control_msg: request: 0x0, requesttype: 0xA0, value 0x0 index 0x0 length 0x4
usb_control_msg: request: 0x3, requesttype: 0x23, value 0x8 index 0x1 length 0x0
usb_control_msg: request: 0x3, requesttype: 0x23, value 0x8 index 0x2 length 0x0
usb_control_msg: request: 0x0, requesttype: 0xA3, value 0x0 index 0x1 length 0x4
usb_control_msg: request: 0x0, requesttype: 0xA3, value 0x0 index 0x1 length 0x4
usb_control_msg: request: 0x1, requesttype: 0x23, value 0x10 index 0x1 length 0x0
usb_control_msg: request: 0x3, requesttype: 0x23, value 0x4 index 0x1 length 0x0
usb_control_msg: request: 0x0, requesttype: 0xA3, value 0x0 index 0x1 length 0x4
usb_control_msg: request: 0x1, requesttype: 0x23, value 0x14 index 0x1 length 0x0
New Device 1
usb_control_msg: request: 0x6, requesttype: 0x80, value 0x100 index 0x0 length 0x40
usb_control_msg: request: 0x3, requesttype: 0x23, value 0x4 index 0x1 length 0x0
usb_control_msg: request: 0x0, requesttype: 0xA3, value 0x0 index 0x1 length 0x4
usb_control_msg: request: 0x1, requesttype: 0x23, value 0x14 index 0x1 length 0x0
set address 2
usb_control_msg: request: 0x5, requesttype: 0x0, value 0x2 index 0x0 length 0x0
usb_control_msg: request: 0x6, requesttype: 0x80, value 0x100 index 0x0 length 0x12
usb_control_msg: request: 0x6, requesttype: 0x80, value 0x200 index 0x0 length 0x9
usb_control_msg: request: 0x6, requesttype: 0x80, value 0x200 index 0x0 length 0x27
get_conf_no 0 Result 39, wLength 39
if 0, ep 0
if 0, ep 1
if 0, ep 2
##EP epmaxpacketout[1] = 64
##EP epmaxpacketin[2] = 64
##EP epmaxpacketin[3] = 64
set configuration 1
usb_control_msg: request: 0x9, requesttype: 0x0, value 0x1 index 0x0 length 0x0
new device strings: Mfr=1, Product=2, SerialNumber=3
usb_control_msg: request: 0x6, requesttype: 0x80, value 0x300 index 0x0 length 0xFF
USB device number 2 default language ID 0x409
usb_control_msg: request: 0x6, requesttype: 0x80, value 0x301 index 0x409 length 0xFF
usb_control_msg: request: 0x6, requesttype: 0x80, value 0x302 index 0x409 length 0xFF
usb_control_msg: request: 0x6, requesttype: 0x80, value 0x303 index 0x409 length 0xFF
Manufacturer P Technology
Product USB Mass Storage Device
SerialNumber 0000000000058D
usb_control_msg: request: 0x0, requesttype: 0xA3, value 0x0 index 0x2 length 0x4
2 USB Device(s) found
scanning bus for storage devices... usb_control_msg: request: 0xFF, requesttype: 0x21, value 0x0 index 0x0 length 0x0
usb_control_msg: request: 0x1, requesttype: 0x2, value 0x0 index 0x82 length 0x0
usb_control_msg: request: 0x1, requesttype: 0x2, value 0x0 index 0x1 length 0x0
1 Storage Device(s) found
U-Boot> usb storage
Device 0: Vendor: UT163 Rev: 0.00 Prod: USB Flash Disk
Type: Removable Hard Disk
Capacity: 963.9 MB = 0.9 GB (1974271 x 512)
U-Boot>
And the failing one says:
usb start
(Re)start USB...
USB: scanning bus for devices... New Device 0
usb_control_msg: request: 0x6, requesttype: 0x80, value 0x100 index 0x0 length 0x40
set address 1
usb_control_msg: request: 0x5, requesttype: 0x0, value 0x1 index 0x0 length 0x0
usb_control_msg: request: 0x6, requesttype: 0x80, value 0x100 index 0x0 length 0x12
usb_control_msg: request: 0x6, requesttype: 0x80, value 0x200 index 0x0 length 0x9
usb_control_msg: request: 0x6, requesttype: 0x80, value 0x200 index 0x0 length 0x19
get_conf_no 0 Result 25, wLength 25
if 0, ep 0
##EP epmaxpacketin[1] = 2
set configuration 1
usb_control_msg: request: 0x9, requesttype: 0x0, value 0x1 index 0x0 length 0x0
new device strings: Mfr=0, Product=1, SerialNumber=0
usb_control_msg: request: 0x6, requesttype: 0x80, value 0x300 index 0x0 length 0xFF
USB device number 1 default language ID 0x409
usb_control_msg: request: 0x6, requesttype: 0x80, value 0x301 index 0x409 length 0xFF
Manufacturer
Product OHCI Root Hub
SerialNumber
usb_control_msg: request: 0x6, requesttype: 0xA0, value 0x2900 index 0x0 length 0x4
usb_control_msg: request: 0x6, requesttype: 0xA0, value 0x2900 index 0x0 length 0x9
usb_control_msg: request: 0x0, requesttype: 0xA0, value 0x0 index 0x0 length 0x4
usb_control_msg: request: 0x3, requesttype: 0x23, value 0x8 index 0x1 length 0x0
usb_control_msg: request: 0x3, requesttype: 0x23, value 0x8 index 0x2 length 0x0
usb_control_msg: request: 0x0, requesttype: 0xA3, value 0x0 index 0x1 length 0x4
usb_control_msg: request: 0x0, requesttype: 0xA3, value 0x0 index 0x1 length 0x4
usb_control_msg: request: 0x1, requesttype: 0x23, value 0x10 index 0x1 length 0x0
usb_control_msg: request: 0x3, requesttype: 0x23, value 0x4 index 0x1 length 0x0
usb_control_msg: request: 0x0, requesttype: 0xA3, value 0x0 index 0x1 length 0x4
usb_control_msg: request: 0x1, requesttype: 0x23, value 0x14 index 0x1 length 0x0
New Device 1
usb_control_msg: request: 0x6, requesttype: 0x80, value 0x100 index 0x0 length 0x40
usb_control_msg: request: 0x3, requesttype: 0x23, value 0x4 index 0x1 length 0x0
usb_control_msg: request: 0x0, requesttype: 0xA3, value 0x0 index 0x1 length 0x4
usb_control_msg: request: 0x1, requesttype: 0x23, value 0x14 index 0x1 length 0x0
set address 2
usb_control_msg: request: 0x5, requesttype: 0x0, value 0x2 index 0x0 length 0x0
usb_control_msg: request: 0x6, requesttype: 0x80, value 0x100 index 0x0 length 0x12
usb_control_msg: request: 0x6, requesttype: 0x80, value 0x200 index 0x0 length 0x9
usb_control_msg: request: 0x6, requesttype: 0x80, value 0x200 index 0x0 length 0x27
get_conf_no 0 Result 39, wLength 39
if 0, ep 0
if 0, ep 1
if 0, ep 2
##EP epmaxpacketin[1] = 64
##EP epmaxpacketout[2] = 64
##EP epmaxpacketin[3] = 2
set configuration 1
usb_control_msg: request: 0x9, requesttype: 0x0, value 0x1 index 0x0 length 0x0
new device strings: Mfr=16, Product=32, SerialNumber=48
usb_control_msg: request: 0x6, requesttype: 0x80, value 0x300 index 0x0 length 0xFF
USB device number 2 default language ID 0x409
usb_control_msg: request: 0x6, requesttype: 0x80, value 0x310 index 0x409 length 0xFF
usb_control_msg: request: 0x6, requesttype: 0x80, value 0x320 index 0x409 length 0xFF
usb_control_msg: request: 0x6, requesttype: 0x80, value 0x330 index 0x409 length 0xFF
Manufacturer TTI-WDE
Product USB 2.0 Mobile Disk
SerialNumber FF04112100886
usb_control_msg: request: 0x0, requesttype: 0xA3, value 0x0 index 0x2 length 0x4
2 USB Device(s) found
scanning bus for storage devices... usb_control_msg: request: 0xFF, requesttype: 0x21, value 0x0 index 0x0 length 0x0
ERROR: USB-error: STALL: TD was moved to the Done Queue because the endpoint returned a STALL PID (4)
ERROR: USB-error: STALL: TD was moved to the Done Queue because the endpoint returned a STALL PID (4)
ERROR: USB-error: DEVICENOTRESPONDING: Device did not respond to token (IN) or did
not provide a handshake (OUT) (5)
ERROR: USB-error: DEVICENOTRESPONDING: Device did not respond to token (IN) or did
not provide a handshake (OUT) (5)
usb_control_msg: request: 0xFF, requesttype: 0x21, value 0x0 index 0x0 length 0x0
ERROR: USB-error: DEVICENOTRESPONDING: Device did not respond to token (IN) or did
not provide a handshake (OUT) (5)
ERROR: USB-error: DEVICENOTRESPONDING: Device did not respond to token (IN) or did
not provide a handshake (OUT) (5)
usb_control_msg: request: 0x1, requesttype: 0x2, value 0x0 index 0x81 length 0x0
ERROR: USB-error: DEVICENOTRESPONDING: Device did not respond to token (IN) or did
not provide a handshake (OUT) (5)
ERROR: USB-error: DEVICENOTRESPONDING: Device did not respond to token (IN) or did
not provide a handshake (OUT) (5)
usb_control_msg: request: 0x1, requesttype: 0x2, value 0x0 index 0x2 length 0x0
ERROR: USB-error: DEVICENOTRESPONDING: Device did not respond to token (IN) or did
not provide a handshake (OUT) (5)
ERROR: USB-error: DEVICENOTRESPONDING: Device did not respond to token (IN) or did
not provide a handshake (OUT) (5)
ERROR: USB-error: DEVICENOTRESPONDING: Device did not respond to token (IN) or did
not provide a handshake (OUT) (5)
ERROR: USB-error: DEVICENOTRESPONDING: Device did not respond to token (IN) or did
not provide a handshake (OUT) (5)
usb_control_msg: request: 0xFF, requesttype: 0x21, value 0x0 index 0x0 length 0x0
ERROR: USB-error: DEVICENOTRESPONDING: Device did not respond to token (IN) or did
not provide a handshake (OUT) (5)
ERROR: USB-error: DEVICENOTRESPONDING: Device did not respond to token (IN) or did
not provide a handshake (OUT) (5)
usb_control_msg: request: 0x1, requesttype: 0x2, value 0x0 index 0x81 length 0x0
ERROR: USB-error: DEVICENOTRESPONDING: Device did not respond to token (IN) or did
not provide a handshake (OUT) (5)
ERROR: USB-error: DEVICENOTRESPONDING: Device did not respond to token (IN) or did
not provide a handshake (OUT) (5)
usb_control_msg: request: 0x1, requesttype: 0x2, value 0x0 index 0x2 length 0x0
ERROR: USB-error: DEVICENOTRESPONDING: Device did not respond to token (IN) or did
not provide a handshake (OUT) (5)
ERROR: USB-error: DEVICENOTRESPONDING: Device did not respond to token (IN) or did
not provide a handshake (OUT) (5)
ERROR: USB-error: DEVICENOTRESPONDING: Device did not respond to token (IN) or did
not provide a handshake (OUT) (5)
ERROR: USB-error: DEVICENOTRESPONDING: Device did not respond to token (IN) or did
not provide a handshake (OUT) (5)
usb_control_msg: request: 0xFF, requesttype: 0x21, value 0x0 index 0x0 length 0x0
ERROR: USB-error: DEVICENOTRESPONDING: Device did not respond to token (IN) or did
not provide a handshake (OUT) (5)
ERROR: USB-error: DEVICENOTRESPONDING: Device did not respond to token (IN) or did
not provide a handshake (OUT) (5)
usb_control_msg: request: 0x1, requesttype: 0x2, value 0x0 index 0x81 length 0x0
ERROR: USB-error: DEVICENOTRESPONDING: Device did not respond to token (IN) or did
not provide a handshake (OUT) (5)
ERROR: USB-error: DEVICENOTRESPONDING: Device did not respond to token (IN) or did
not provide a handshake (OUT) (5)
usb_control_msg: request: 0x1, requesttype: 0x2, value 0x0 index 0x2 length 0x0
ERROR: USB-error: DEVICENOTRESPONDING: Device did not respond to token (IN) or did
not provide a handshake (OUT) (5)
ERROR: USB-error: DEVICENOTRESPONDING: Device did not respond to token (IN) or did
not provide a handshake (OUT) (5)
ERROR: USB-error: DEVICENOTRESPONDING: Device did not respond to token (IN) or did
not provide a handshake (OUT) (5)
ERROR: USB-error: DEVICENOTRESPONDING: Device did not respond to token (IN) or did
not provide a handshake (OUT) (5)
usb_control_msg: request: 0xFF, requesttype: 0x21, value 0x0 index 0x0 length 0x0
ERROR: USB-error: DEVICENOTRESPONDING: Device did not respond to token (IN) or did
not provide a handshake (OUT) (5)
ERROR: USB-error: DEVICENOTRESPONDING: Device did not respond to token (IN) or did
not provide a handshake (OUT) (5)
usb_control_msg: request: 0x1, requesttype: 0x2, value 0x0 index 0x81 length 0x0
ERROR: USB-error: DEVICENOTRESPONDING: Device did not respond to token (IN) or did
not provide a handshake (OUT) (5)
ERROR: USB-error: DEVICENOTRESPONDING: Device did not respond to token (IN) or did
not provide a handshake (OUT) (5)
usb_control_msg: request: 0x1, requesttype: 0x2, value 0x0 index 0x2 length 0x0
ERROR: USB-error: DEVICENOTRESPONDING: Device did not respond to token (IN) or did
not provide a handshake (OUT) (5)
ERROR: USB-error: DEVICENOTRESPONDING: Device did not respond to token (IN) or did
not provide a handshake (OUT) (5)
ERROR: USB-error: DEVICENOTRESPONDING: Device did not respond to token (IN) or did
not provide a handshake (OUT) (5)
ERROR: USB-error: DEVICENOTRESPONDING: Device did not respond to token (IN) or did
not provide a handshake (OUT) (5)
usb_control_msg: request: 0xFF, requesttype: 0x21, value 0x0 index 0x0 length 0x0
ERROR: USB-error: DEVICENOTRESPONDING: Device did not respond to token (IN) or did
not provide a handshake (OUT) (5)
ERROR: USB-error: DEVICENOTRESPONDING: Device did not respond to token (IN) or did
not provide a handshake (OUT) (5)
usb_control_msg: request: 0x1, requesttype: 0x2, value 0x0 index 0x81 length 0x0
ERROR: USB-error: DEVICENOTRESPONDING: Device did not respond to token (IN) or did
not provide a handshake (OUT) (5)
ERROR: USB-error: DEVICENOTRESPONDING: Device did not respond to token (IN) or did
not provide a handshake (OUT) (5)
usb_control_msg: request: 0x1, requesttype: 0x2, value 0x0 index 0x2 length 0x0
ERROR: USB-error: DEVICENOTRESPONDING: Device did not respond to token (IN) or did
not provide a handshake (OUT) (5)
ERROR: USB-error: DEVICENOTRESPONDING: Device did not respond to token (IN) or did
not provide a handshake (OUT) (5)
ERROR: USB-error: DEVICENOTRESPONDING: Device did not respond to token (IN) or did
not provide a handshake (OUT) (5)
ERROR: USB-error: DEVICENOTRESPONDING: Device did not respond to token (IN) or did
not provide a handshake (OUT) (5)
usb_control_msg: request: 0xFF, requesttype: 0x21, value 0x0 index 0x0 length 0x0
ERROR: USB-error: DEVICENOTRESPONDING: Device did not respond to token (IN) or did
not provide a handshake (OUT) (5)
ERROR: USB-error: DEVICENOTRESPONDING: Device did not respond to token (IN) or did
not provide a handshake (OUT) (5)
usb_control_msg: request: 0x1, requesttype: 0x2, value 0x0 index 0x81 length 0x0
ERROR: USB-error: DEVICENOTRESPONDING: Device did not respond to token (IN) or did
not provide a handshake (OUT) (5)
ERROR: USB-error: DEVICENOTRESPONDING: Device did not respond to token (IN) or did
not provide a handshake (OUT) (5)
usb_control_msg: request: 0x1, requesttype: 0x2, value 0x0 index 0x2 length 0x0
ERROR: USB-error: DEVICENOTRESPONDING: Device did not respond to token (IN) or did
not provide a handshake (OUT) (5)
ERROR: USB-error: DEVICENOTRESPONDING: Device did not respond to token (IN) or did
not provide a handshake (OUT) (5)
ERROR: USB-error: DEVICENOTRESPONDING: Device did not respond to token (IN) or did
not provide a handshake (OUT) (5)
ERROR: USB-error: DEVICENOTRESPONDING: Device did not respond to token (IN) or did
not provide a handshake (OUT) (5)
usb_control_msg: request: 0xFF, requesttype: 0x21, value 0x0 index 0x0 length 0x0
ERROR: USB-error: DEVICENOTRESPONDING: Device did not respond to token (IN) or did
not provide a handshake (OUT) (5)
ERROR: USB-error: DEVICENOTRESPONDING: Device did not respond to token (IN) or did
not provide a handshake (OUT) (5)
usb_control_msg: request: 0x1, requesttype: 0x2, value 0x0 index 0x81 length 0x0
ERROR: USB-error: DEVICENOTRESPONDING: Device did not respond to token (IN) or did
not provide a handshake (OUT) (5)
ERROR: USB-error: DEVICENOTRESPONDING: Device did not respond to token (IN) or did
not provide a handshake (OUT) (5)
usb_control_msg: request: 0x1, requesttype: 0x2, value 0x0 index 0x2 length 0x0
ERROR: USB-error: DEVICENOTRESPONDING: Device did not respond to token (IN) or did
not provide a handshake (OUT) (5)
ERROR: USB-error: DEVICENOTRESPONDING: Device did not respond to token (IN) or did
not provide a handshake (OUT) (5)
ERROR: USB-error: DEVICENOTRESPONDING: Device did not respond to token (IN) or did
not provide a handshake (OUT) (5)
ERROR: USB-error: DEVICENOTRESPONDING: Device did not respond to token (IN) or did
not provide a handshake (OUT) (5)
usb_control_msg: request: 0xFF, requesttype: 0x21, value 0x0 index 0x0 length 0x0
ERROR: USB-error: DEVICENOTRESPONDING: Device did not respond to token (IN) or did
not provide a handshake (OUT) (5)
ERROR: USB-error: DEVICENOTRESPONDING: Device did not respond to token (IN) or did
not provide a handshake (OUT) (5)
usb_control_msg: request: 0x1, requesttype: 0x2, value 0x0 index 0x81 length 0x0
ERROR: USB-error: DEVICENOTRESPONDING: Device did not respond to token (IN) or did
not provide a handshake (OUT) (5)
ERROR: USB-error: DEVICENOTRESPONDING: Device did not respond to token (IN) or did
not provide a handshake (OUT) (5)
usb_control_msg: request: 0x1, requesttype: 0x2, value 0x0 index 0x2 length 0x0
ERROR: USB-error: DEVICENOTRESPONDING: Device did not respond to token (IN) or did
not provide a handshake (OUT) (5)
ERROR: USB-error: DEVICENOTRESPONDING: Device did not respond to token (IN) or did
not provide a handshake (OUT) (5)
ERROR: USB-error: DEVICENOTRESPONDING: Device did not respond to token (IN) or did
not provide a handshake (OUT) (5)
ERROR: USB-error: DEVICENOTRESPONDING: Device did not respond to token (IN) or did
not provide a handshake (OUT) (5)
usb_control_msg: request: 0xFF, requesttype: 0x21, value 0x0 index 0x0 length 0x0
ERROR: USB-error: DEVICENOTRESPONDING: Device did not respond to token (IN) or did
not provide a handshake (OUT) (5)
ERROR: USB-error: DEVICENOTRESPONDING: Device did not respond to token (IN) or did
not provide a handshake (OUT) (5)
usb_control_msg: request: 0x1, requesttype: 0x2, value 0x0 index 0x81 length 0x0
ERROR: USB-error: DEVICENOTRESPONDING: Device did not respond to token (IN) or did
not provide a handshake (OUT) (5)
ERROR: USB-error: DEVICENOTRESPONDING: Device did not respond to token (IN) or did
not provide a handshake (OUT) (5)
usb_control_msg: request: 0x1, requesttype: 0x2, value 0x0 index 0x2 length 0x0
ERROR: USB-error: DEVICENOTRESPONDING: Device did not respond to token (IN) or did
not provide a handshake (OUT) (5)
ERROR: USB-error: DEVICENOTRESPONDING: Device did not respond to token (IN) or did
not provide a handshake (OUT) (5)
ERROR: USB-error: DEVICENOTRESPONDING: Device did not respond to token (IN) or did
not provide a handshake (OUT) (5)
ERROR: USB-error: DEVICENOTRESPONDING: Device did not respond to token (IN) or did
not provide a handshake (OUT) (5)
usb_control_msg: request: 0xFF, requesttype: 0x21, value 0x0 index 0x0 length 0x0
ERROR: USB-error: DEVICENOTRESPONDING: Device did not respond to token (IN) or did
not provide a handshake (OUT) (5)
ERROR: USB-error: DEVICENOTRESPONDING: Device did not respond to token (IN) or did
not provide a handshake (OUT) (5)
usb_control_msg: request: 0x1, requesttype: 0x2, value 0x0 index 0x81 length 0x0
ERROR: USB-error: DEVICENOTRESPONDING: Device did not respond to token (IN) or did
not provide a handshake (OUT) (5)
ERROR: USB-error: DEVICENOTRESPONDING: Device did not respond to token (IN) or did
not provide a handshake (OUT) (5)
usb_control_msg: request: 0x1, requesttype: 0x2, value 0x0 index 0x2 length 0x0
ERROR: USB-error: DEVICENOTRESPONDING: Device did not respond to token (IN) or did
not provide a handshake (OUT) (5)
ERROR: USB-error: DEVICENOTRESPONDING: Device did not respond to token (IN) or did
not provide a handshake (OUT) (5)
ERROR: USB-error: DEVICENOTRESPONDING: Device did not respond to token (IN) or did
not provide a handshake (OUT) (5)
ERROR: USB-error: DEVICENOTRESPONDING: Device did not respond to token (IN) or did
not provide a handshake (OUT) (5)
usb_control_msg: request: 0xFF, requesttype: 0x21, value 0x0 index 0x0 length 0x0
ERROR: USB-error: DEVICENOTRESPONDING: Device did not respond to token (IN) or did
not provide a handshake (OUT) (5)
ERROR: USB-error: DEVICENOTRESPONDING: Device did not respond to token (IN) or did
not provide a handshake (OUT) (5)
usb_control_msg: request: 0x1, requesttype: 0x2, value 0x0 index 0x81 length 0x0
ERROR: USB-error: DEVICENOTRESPONDING: Device did not respond to token (IN) or did
not provide a handshake (OUT) (5)
ERROR: USB-error: DEVICENOTRESPONDING: Device did not respond to token (IN) or did
not provide a handshake (OUT) (5)
usb_control_msg: request: 0x1, requesttype: 0x2, value 0x0 index 0x2 length 0x0
ERROR: USB-error: DEVICENOTRESPONDING: Device did not respond to token (IN) or did
not provide a handshake (OUT) (5)
ERROR: USB-error: DEVICENOTRESPONDING: Device did not respond to token (IN) or did
not provide a handshake (OUT) (5)
ERROR: USB-error: DEVICENOTRESPONDING: Device did not respond to token (IN) or did
not provide a handshake (OUT) (5)
ERROR: USB-error: DEVICENOTRESPONDING: Device did not respond to token (IN) or did
not provide a handshake (OUT) (5)
usb_control_msg: request: 0xFF, requesttype: 0x21, value 0x0 index 0x0 length 0x0
ERROR: USB-error: DEVICENOTRESPONDING: Device did not respond to token (IN) or did
not provide a handshake (OUT) (5)
ERROR: USB-error: DEVICENOTRESPONDING: Device did not respond to token (IN) or did
not provide a handshake (OUT) (5)
usb_control_msg: request: 0x1, requesttype: 0x2, value 0x0 index 0x81 length 0x0
ERROR: USB-error: DEVICENOTRESPONDING: Device did not respond to token (IN) or did
not provide a handshake (OUT) (5)
ERROR: USB-error: DEVICENOTRESPONDING: Device did not respond to token (IN) or did
not provide a handshake (OUT) (5)
usb_control_msg: request: 0x1, requesttype: 0x2, value 0x0 index 0x2 length 0x0
ERROR: USB-error: DEVICENOTRESPONDING: Device did not respond to token (IN) or did
not provide a handshake (OUT) (5)
ERROR: USB-error: DEVICENOTRESPONDING: Device did not respond to token (IN) or did
not provide a handshake (OUT) (5)
ERROR: USB-error: DEVICENOTRESPONDING: Device did not respond to token (IN) or did
not provide a handshake (OUT) (5)
ERROR: USB-error: DEVICENOTRESPONDING: Device did not respond to token (IN) or did
not provide a handshake (OUT) (5)
usb_control_msg: request: 0xFF, requesttype: 0x21, value 0x0 index 0x0 length 0x0
ERROR: USB-error: DEVICENOTRESPONDING: Device did not respond to token (IN) or did
not provide a handshake (OUT) (5)
ERROR: USB-error: DEVICENOTRESPONDING: Device did not respond to token (IN) or did
not provide a handshake (OUT) (5)
usb_control_msg: request: 0x1, requesttype: 0x2, value 0x0 index 0x81 length 0x0
ERROR: USB-error: DEVICENOTRESPONDING: Device did not respond to token (IN) or did
not provide a handshake (OUT) (5)
ERROR: USB-error: DEVICENOTRESPONDING: Device did not respond to token (IN) or did
not provide a handshake (OUT) (5)
usb_control_msg: request: 0x1, requesttype: 0x2, value 0x0 index 0x2 length 0x0
ERROR: USB-error: DEVICENOTRESPONDING: Device did not respond to token (IN) or did
not provide a handshake (OUT) (5)
ERROR: USB-error: DEVICENOTRESPONDING: Device did not respond to token (IN) or did
not provide a handshake (OUT) (5)
ERROR: USB-error: DEVICENOTRESPONDING: Device did not respond to token (IN) or did
not provide a handshake (OUT) (5)
ERROR: USB-error: DEVICENOTRESPONDING: Device did not respond to token (IN) or did
not provide a handshake (OUT) (5)
usb_control_msg: request: 0xFF, requesttype: 0x21, value 0x0 index 0x0 length 0x0
ERROR: USB-error: DEVICENOTRESPONDING: Device did not respond to token (IN) or did
not provide a handshake (OUT) (5)
ERROR: USB-error: DEVICENOTRESPONDING: Device did not respond to token (IN) or did
not provide a handshake (OUT) (5)
usb_control_msg: request: 0x1, requesttype: 0x2, value 0x0 index 0x81 length 0x0
ERROR: USB-error: DEVICENOTRESPONDING: Device did not respond to token (IN) or did
not provide a handshake (OUT) (5)
ERROR: USB-error: DEVICENOTRESPONDING: Device did not respond to token (IN) or did
not provide a handshake (OUT) (5)
usb_control_msg: request: 0x1, requesttype: 0x2, value 0x0 index 0x2 length 0x0
ERROR: USB-error: DEVICENOTRESPONDING: Device did not respond to token (IN) or did
not provide a handshake (OUT) (5)
ERROR: USB-error: DEVICENOTRESPONDING: Device did not respond to token (IN) or did
not provide a handshake (OUT) (5)
ERROR: USB-error: DEVICENOTRESPONDING: Device did not respond to token (IN) or did
not provide a handshake (OUT) (5)
ERROR: USB-error: DEVICENOTRESPONDING: Device did not respond to token (IN) or did
not provide a handshake (OUT) (5)
usb_control_msg: request: 0xFF, requesttype: 0x21, value 0x0 index 0x0 length 0x0
ERROR: USB-error: DEVICENOTRESPONDING: Device did not respond to token (IN) or did
not provide a handshake (OUT) (5)
ERROR: USB-error: DEVICENOTRESPONDING: Device did not respond to token (IN) or did
not provide a handshake (OUT) (5)
--
Stelian Pop <stelian@popies.net>
^ permalink raw reply [flat|nested] 21+ messages in thread
* [U-Boot] [patch 1/2] fix USB initialisation procedure
2008-10-09 14:59 ` Stefan Roese
@ 2008-10-09 15:09 ` Markus Klotzbücher
2008-10-09 15:22 ` Jerry Van Baren
2008-10-09 18:45 ` Wolfgang Denk
2 siblings, 0 replies; 21+ messages in thread
From: Markus Klotzbücher @ 2008-10-09 15:09 UTC (permalink / raw)
To: u-boot
On Thu, Oct 09, 2008 at 04:59:54PM +0200, Stefan Roese wrote:
> On Thursday 09 October 2008, Markus Klotzb?cher wrote:
> > On Thu, Oct 09, 2008 at 03:19:22PM +0200, Wolfgang Denk wrote:
> > > Dear Jean-Christophe PLAGNIOL-VILLARD,
> > >
> > > In message <20081009121044.GA25278@game.jcrosoft.org> you wrote:
> > > > > if (dev->status == 0)
> > > > > return dev->act_len;
> > > >
> > > > please add {}?to if too or remove the else
> > > >
> > > > > - else
> > > > > + else {
> > > > > + /* Let's wait a while for the timeout to elaps.
> > > > > + * it has no real use, but it keeps the interface happy. */
> > > > > + wait_ms(timeout);
> > > > > return -1;
> > > > > + }
> > >
> > > Good catch.
> >
> > Quite honest, I think this is *way* to pedantic. I'd really prefer to
> > let people who are contributing significantly do their work instead of
> > bugging them with such rare coding style violations.
>
> ACK from me here. "Minor" coding style violations like these braces issue or
> too long lines should not delay patches.
>
> > > Actually the "else" should be removed.
> >
> > How so?
>
> Because of the "return dev->act_len;" above. :)
Ahh, I see!
:-)
Best regards
Markus
--
DENX Software Engineering GmbH, MD: Wolfgang Denk & Detlev Zundel
HRB 165235 Munich, Office: Kirchenstr.5, D-82194 Groebenzell, Germany
Phone: +49-8142-66989-0 Fax: +49-8142-66989-80 Email: office at denx.de")
^ permalink raw reply [flat|nested] 21+ messages in thread
* [U-Boot] [patch 1/2] fix USB initialisation procedure
2008-10-09 14:59 ` Stefan Roese
2008-10-09 15:09 ` Markus Klotzbücher
@ 2008-10-09 15:22 ` Jerry Van Baren
2008-10-09 18:45 ` Wolfgang Denk
2 siblings, 0 replies; 21+ messages in thread
From: Jerry Van Baren @ 2008-10-09 15:22 UTC (permalink / raw)
To: u-boot
Stefan Roese wrote:
> On Thursday 09 October 2008, Markus Klotzb?cher wrote:
>> On Thu, Oct 09, 2008 at 03:19:22PM +0200, Wolfgang Denk wrote:
>>> Dear Jean-Christophe PLAGNIOL-VILLARD,
>>>
>>> In message <20081009121044.GA25278@game.jcrosoft.org> you wrote:
>>>>> if (dev->status == 0)
>>>>> return dev->act_len;
>>>> please add {} to if too or remove the else
>>>>
>>>>> - else
>>>>> + else {
>>>>> + /* Let's wait a while for the timeout to elaps.
>>>>> + * it has no real use, but it keeps the interface happy. */
>>>>> + wait_ms(timeout);
>>>>> return -1;
>>>>> + }
>>> Good catch.
>> Quite honest, I think this is *way* to pedantic. I'd really prefer to
>> let people who are contributing significantly do their work instead of
>> bugging them with such rare coding style violations.
>
> ACK from me here. "Minor" coding style violations like these braces issue or
> too long lines should not delay patches.
>
>>> Actually the "else" should be removed.
>> How so?
>
> Because of the "return dev->act_len;" above. :)
>
> Best regards,
> Stefan
Also agreed.
While we are painting the bike shed, I would suggest a better structure
would be to flip the conditional so that the normal flow goes out the
end of the module and the abnormal flow returns early. (The comment is
also a coding standards violation for multiline comments and has two
typos in it.)
if (dev->status != 0) {
/*
* Let's wait a while for the timeout to elapse.
* It has no real use, but it keeps the interface happy.
*/
wait_ms(timeout);
return -1;
}
return dev->act_len;
}
Hmmm, looking at the original changeset, my above point has some
validity. While we (gcc) can do a flow analysis and recognize that
something will be returned in all cases due to the if/else, it doesn't
jump out at a casual observation of the code. On the surface, the code
looks like it can fall off the end of the function (e.g. return "void"),
which would be very wrong. Making it obvious that the Right Thing[tm]
is returned: priceless.
> --- u-boot-git-22092008.orig/common/usb.c 2008-10-08 10:51:49.000000000 +0200
> +++ u-boot-git-22092008/common/usb.c 2008-10-08 10:51:50.000000000 +0200
> @@ -196,15 +196,14 @@ int usb_control_msg(struct usb_device *d
> if (timeout == 0)
> return (int)size;
>
> - while (timeout--) {
> - if (!((volatile unsigned long)dev->status & USB_ST_NOT_PROC))
> - break;
> - wait_ms(1);
> - }
> if (dev->status == 0)
> return dev->act_len;
> - else
> + else {
> + /* Let's wait a while for the timeout to elaps.
> + * it has no real use, but it keeps the interface happy. */
> + wait_ms(timeout);
> return -1;
> + }
> }
I like green paint,
gvb
^ permalink raw reply [flat|nested] 21+ messages in thread
* [U-Boot] [patch 1/2] fix USB initialisation procedure
2008-10-09 14:43 ` Markus Klotzbücher
2008-10-09 14:59 ` Stefan Roese
@ 2008-10-09 18:42 ` Wolfgang Denk
1 sibling, 0 replies; 21+ messages in thread
From: Wolfgang Denk @ 2008-10-09 18:42 UTC (permalink / raw)
To: u-boot
Dear Markus =?iso-8859-1?Q?Klotzb=FCcher?=,
In message <20081009144357.GA27523@lisa> you wrote:
>
> > > > if (dev->status == 0)
> > > > return dev->act_len;
> > > please add {}?to if too or remove the else
> > > > - else
> > > > + else {
> > > > + /* Let's wait a while for the timeout to elaps.
> > > > + * it has no real use, but it keeps the interface happy. */
> > > > + wait_ms(timeout);
> > > > return -1;
> > > > + }
...
> > Actually the "else" should be removed.
>
> How so?
Like that:
if (dev->status == 0)
return dev->act_len;
/*
* Let's wait a while for the timeout to elaps.
* it has no real use, but it keeps the interface happy.
*/
wait_ms(timeout);
return -1;
What exactly was your problem?
Best regards,
Wolfgang Denk
--
DENX Software Engineering GmbH, MD: Wolfgang Denk & Detlev Zundel
HRB 165235 Munich, Office: Kirchenstr.5, D-82194 Groebenzell, Germany
Phone: (+49)-8142-66989-10 Fax: (+49)-8142-66989-80 Email: wd at denx.de
Very ugly or very beautiful women should be flattered on their
understanding, and mediocre ones on their beauty.
-- Philip Earl of Chesterfield
^ permalink raw reply [flat|nested] 21+ messages in thread
* [U-Boot] [patch 1/2] fix USB initialisation procedure
2008-10-09 14:59 ` Stefan Roese
2008-10-09 15:09 ` Markus Klotzbücher
2008-10-09 15:22 ` Jerry Van Baren
@ 2008-10-09 18:45 ` Wolfgang Denk
2008-10-09 19:52 ` Markus Klotzbücher
2008-10-10 7:30 ` Remy Bohmer
2 siblings, 2 replies; 21+ messages in thread
From: Wolfgang Denk @ 2008-10-09 18:45 UTC (permalink / raw)
To: u-boot
Dear Stefan Roese,
In message <200810091659.55186.sr@denx.de> you wrote:
>
> > > >
> > > > > - else
> > > > > + else {
> > > > > + /* Let's wait a while for the timeout to elaps.
> > > > > + * it has no real use, but it keeps the interface happy. */
> > > > > + wait_ms(timeout);
> > > > > return -1;
> > > > > + }
> > >
> > > Good catch.
> >
> > Quite honest, I think this is *way* to pedantic. I'd really prefer to
> > let people who are contributing significantly do their work instead of
> > bugging them with such rare coding style violations.
>
> ACK from me here. "Minor" coding style violations like these braces issue or
> too long lines should not delay patches.
NAK, and NAK again from me. Note that it's not only a single small
violation, there is a whole list of it evenin this short code snippet:
- incorrect brace style
- unnecessary indentation
- incorrect multi-line comment style
It is much easier to fix such code when it's being added, than to fix
it later (which may or may not happen). See all the examples that got
commited that way - and that haven't been fixed since.
Best regards,
Wolfgang Denk
--
DENX Software Engineering GmbH, MD: Wolfgang Denk & Detlev Zundel
HRB 165235 Munich, Office: Kirchenstr.5, D-82194 Groebenzell, Germany
Phone: (+49)-8142-66989-10 Fax: (+49)-8142-66989-80 Email: wd at denx.de
Experience is what causes a person to make new mistakes instead of
old ones.
^ permalink raw reply [flat|nested] 21+ messages in thread
* [U-Boot] [patch 1/2] fix USB initialisation procedure
2008-10-09 18:45 ` Wolfgang Denk
@ 2008-10-09 19:52 ` Markus Klotzbücher
2008-10-10 7:30 ` Remy Bohmer
1 sibling, 0 replies; 21+ messages in thread
From: Markus Klotzbücher @ 2008-10-09 19:52 UTC (permalink / raw)
To: u-boot
On Thu, Oct 09, 2008 at 08:45:21PM +0200, Wolfgang Denk wrote:
> In message <200810091659.55186.sr@denx.de> you wrote:
> >
> > > > >
> > > > > > - else
> > > > > > + else {
> > > > > > + /* Let's wait a while for the timeout to elaps.
> > > > > > + * it has no real use, but it keeps the interface happy. */
> > > > > > + wait_ms(timeout);
> > > > > > return -1;
> > > > > > + }
> > > >
> > > > Good catch.
> > >
> > > Quite honest, I think this is *way* to pedantic. I'd really prefer to
> > > let people who are contributing significantly do their work instead of
> > > bugging them with such rare coding style violations.
> >
> > ACK from me here. "Minor" coding style violations like these braces issue or
> > too long lines should not delay patches.
>
> NAK, and NAK again from me. Note that it's not only a single small
> violation, there is a whole list of it evenin this short code snippet:
> - incorrect brace style
> - unnecessary indentation
> - incorrect multi-line comment style
>
> It is much easier to fix such code when it's being added, than to fix
> it later (which may or may not happen). See all the examples that got
> commited that way - and that haven't been fixed since.
True, you're technically right, of course, and I don't question
enforcing coding style in general. I just think that being too
critical has the potential of putting people off, and IMHO this list
can be very critical. Sometimes it's better to get a patch with a
couple of coding style violations than keeping the bug it would have
fixed.
Best regards
Markus
--
DENX Software Engineering GmbH, MD: Wolfgang Denk & Detlev Zundel
HRB 165235 Munich, Office: Kirchenstr.5, D-82194 Groebenzell, Germany
Phone: +49-8142-66989-0 Fax: +49-8142-66989-80 Email: office at denx.de")
^ permalink raw reply [flat|nested] 21+ messages in thread
* [U-Boot] [patch 0/2] Some more USB-OHCI bugfixes
2008-10-09 15:01 ` Stelian Pop
@ 2008-10-10 7:21 ` Remy Bohmer
2008-10-10 8:25 ` Stelian Pop
0 siblings, 1 reply; 21+ messages in thread
From: Remy Bohmer @ 2008-10-10 7:21 UTC (permalink / raw)
To: u-boot
Hello Stelian,
>> This clock is required, but is usually _not_ configured by U-boot (for
>> the AT91SAM series) but by the bootstrap code. You could check if the
>> current settings for PLLB matches the settings done by Linux.
> Bingo ! The bootstrap code does appear to setup some wrong values for
> the PLLB multiplier/divisor. Once I set up the PLLB to use the same
> values as Linux, USB starts to work ! Yay !
This is very good news, but it proves again that USB never worked
before on these cores...
Maybe more pieces are missing to get it completely working...
> Still, only one of my three USB sticks works, the other two exhibit some
> error, so maybe there is something additional to be done:
I see that a 'stall' state is returned by the device.
U-boot handles the stall state always as an error, and there is no
recovery from that.
Maybe, Markus has an idea to solve this?
Kind Regards,
Remy
>
> The working USB stick says:
>
> usb start
> (Re)start USB...
> USB: scanning bus for devices... New Device 0
> usb_control_msg: request: 0x6, requesttype: 0x80, value 0x100 index 0x0 length 0x40
> set address 1
> usb_control_msg: request: 0x5, requesttype: 0x0, value 0x1 index 0x0 length 0x0
> usb_control_msg: request: 0x6, requesttype: 0x80, value 0x100 index 0x0 length 0x12
> usb_control_msg: request: 0x6, requesttype: 0x80, value 0x200 index 0x0 length 0x9
> usb_control_msg: request: 0x6, requesttype: 0x80, value 0x200 index 0x0 length 0x19
> get_conf_no 0 Result 25, wLength 25
> if 0, ep 0
> ##EP epmaxpacketin[1] = 2
> set configuration 1
> usb_control_msg: request: 0x9, requesttype: 0x0, value 0x1 index 0x0 length 0x0
> new device strings: Mfr=0, Product=1, SerialNumber=0
> usb_control_msg: request: 0x6, requesttype: 0x80, value 0x300 index 0x0 length 0xFF
> USB device number 1 default language ID 0x409
> usb_control_msg: request: 0x6, requesttype: 0x80, value 0x301 index 0x409 length 0xFF
> Manufacturer
> Product OHCI Root Hub
> SerialNumber
> usb_control_msg: request: 0x6, requesttype: 0xA0, value 0x2900 index 0x0 length 0x4
> usb_control_msg: request: 0x6, requesttype: 0xA0, value 0x2900 index 0x0 length 0x9
> usb_control_msg: request: 0x0, requesttype: 0xA0, value 0x0 index 0x0 length 0x4
> usb_control_msg: request: 0x3, requesttype: 0x23, value 0x8 index 0x1 length 0x0
> usb_control_msg: request: 0x3, requesttype: 0x23, value 0x8 index 0x2 length 0x0
> usb_control_msg: request: 0x0, requesttype: 0xA3, value 0x0 index 0x1 length 0x4
> usb_control_msg: request: 0x0, requesttype: 0xA3, value 0x0 index 0x1 length 0x4
> usb_control_msg: request: 0x1, requesttype: 0x23, value 0x10 index 0x1 length 0x0
> usb_control_msg: request: 0x3, requesttype: 0x23, value 0x4 index 0x1 length 0x0
> usb_control_msg: request: 0x0, requesttype: 0xA3, value 0x0 index 0x1 length 0x4
> usb_control_msg: request: 0x1, requesttype: 0x23, value 0x14 index 0x1 length 0x0
> New Device 1
> usb_control_msg: request: 0x6, requesttype: 0x80, value 0x100 index 0x0 length 0x40
> usb_control_msg: request: 0x3, requesttype: 0x23, value 0x4 index 0x1 length 0x0
> usb_control_msg: request: 0x0, requesttype: 0xA3, value 0x0 index 0x1 length 0x4
> usb_control_msg: request: 0x1, requesttype: 0x23, value 0x14 index 0x1 length 0x0
> set address 2
> usb_control_msg: request: 0x5, requesttype: 0x0, value 0x2 index 0x0 length 0x0
> usb_control_msg: request: 0x6, requesttype: 0x80, value 0x100 index 0x0 length 0x12
> usb_control_msg: request: 0x6, requesttype: 0x80, value 0x200 index 0x0 length 0x9
> usb_control_msg: request: 0x6, requesttype: 0x80, value 0x200 index 0x0 length 0x27
> get_conf_no 0 Result 39, wLength 39
> if 0, ep 0
> if 0, ep 1
> if 0, ep 2
> ##EP epmaxpacketout[1] = 64
> ##EP epmaxpacketin[2] = 64
> ##EP epmaxpacketin[3] = 64
> set configuration 1
> usb_control_msg: request: 0x9, requesttype: 0x0, value 0x1 index 0x0 length 0x0
> new device strings: Mfr=1, Product=2, SerialNumber=3
> usb_control_msg: request: 0x6, requesttype: 0x80, value 0x300 index 0x0 length 0xFF
> USB device number 2 default language ID 0x409
> usb_control_msg: request: 0x6, requesttype: 0x80, value 0x301 index 0x409 length 0xFF
> usb_control_msg: request: 0x6, requesttype: 0x80, value 0x302 index 0x409 length 0xFF
> usb_control_msg: request: 0x6, requesttype: 0x80, value 0x303 index 0x409 length 0xFF
> Manufacturer P Technology
> Product USB Mass Storage Device
> SerialNumber 0000000000058D
> usb_control_msg: request: 0x0, requesttype: 0xA3, value 0x0 index 0x2 length 0x4
> 2 USB Device(s) found
> scanning bus for storage devices... usb_control_msg: request: 0xFF, requesttype: 0x21, value 0x0 index 0x0 length 0x0
> usb_control_msg: request: 0x1, requesttype: 0x2, value 0x0 index 0x82 length 0x0
> usb_control_msg: request: 0x1, requesttype: 0x2, value 0x0 index 0x1 length 0x0
> 1 Storage Device(s) found
> U-Boot> usb storage
> Device 0: Vendor: UT163 Rev: 0.00 Prod: USB Flash Disk
> Type: Removable Hard Disk
> Capacity: 963.9 MB = 0.9 GB (1974271 x 512)
> U-Boot>
>
> And the failing one says:
>
> usb start
> (Re)start USB...
> USB: scanning bus for devices... New Device 0
> usb_control_msg: request: 0x6, requesttype: 0x80, value 0x100 index 0x0 length 0x40
> set address 1
> usb_control_msg: request: 0x5, requesttype: 0x0, value 0x1 index 0x0 length 0x0
> usb_control_msg: request: 0x6, requesttype: 0x80, value 0x100 index 0x0 length 0x12
> usb_control_msg: request: 0x6, requesttype: 0x80, value 0x200 index 0x0 length 0x9
> usb_control_msg: request: 0x6, requesttype: 0x80, value 0x200 index 0x0 length 0x19
> get_conf_no 0 Result 25, wLength 25
> if 0, ep 0
> ##EP epmaxpacketin[1] = 2
> set configuration 1
> usb_control_msg: request: 0x9, requesttype: 0x0, value 0x1 index 0x0 length 0x0
> new device strings: Mfr=0, Product=1, SerialNumber=0
> usb_control_msg: request: 0x6, requesttype: 0x80, value 0x300 index 0x0 length 0xFF
> USB device number 1 default language ID 0x409
> usb_control_msg: request: 0x6, requesttype: 0x80, value 0x301 index 0x409 length 0xFF
> Manufacturer
> Product OHCI Root Hub
> SerialNumber
> usb_control_msg: request: 0x6, requesttype: 0xA0, value 0x2900 index 0x0 length 0x4
> usb_control_msg: request: 0x6, requesttype: 0xA0, value 0x2900 index 0x0 length 0x9
> usb_control_msg: request: 0x0, requesttype: 0xA0, value 0x0 index 0x0 length 0x4
> usb_control_msg: request: 0x3, requesttype: 0x23, value 0x8 index 0x1 length 0x0
> usb_control_msg: request: 0x3, requesttype: 0x23, value 0x8 index 0x2 length 0x0
> usb_control_msg: request: 0x0, requesttype: 0xA3, value 0x0 index 0x1 length 0x4
> usb_control_msg: request: 0x0, requesttype: 0xA3, value 0x0 index 0x1 length 0x4
> usb_control_msg: request: 0x1, requesttype: 0x23, value 0x10 index 0x1 length 0x0
> usb_control_msg: request: 0x3, requesttype: 0x23, value 0x4 index 0x1 length 0x0
> usb_control_msg: request: 0x0, requesttype: 0xA3, value 0x0 index 0x1 length 0x4
> usb_control_msg: request: 0x1, requesttype: 0x23, value 0x14 index 0x1 length 0x0
> New Device 1
> usb_control_msg: request: 0x6, requesttype: 0x80, value 0x100 index 0x0 length 0x40
> usb_control_msg: request: 0x3, requesttype: 0x23, value 0x4 index 0x1 length 0x0
> usb_control_msg: request: 0x0, requesttype: 0xA3, value 0x0 index 0x1 length 0x4
> usb_control_msg: request: 0x1, requesttype: 0x23, value 0x14 index 0x1 length 0x0
> set address 2
> usb_control_msg: request: 0x5, requesttype: 0x0, value 0x2 index 0x0 length 0x0
> usb_control_msg: request: 0x6, requesttype: 0x80, value 0x100 index 0x0 length 0x12
> usb_control_msg: request: 0x6, requesttype: 0x80, value 0x200 index 0x0 length 0x9
> usb_control_msg: request: 0x6, requesttype: 0x80, value 0x200 index 0x0 length 0x27
> get_conf_no 0 Result 39, wLength 39
> if 0, ep 0
> if 0, ep 1
> if 0, ep 2
> ##EP epmaxpacketin[1] = 64
> ##EP epmaxpacketout[2] = 64
> ##EP epmaxpacketin[3] = 2
> set configuration 1
> usb_control_msg: request: 0x9, requesttype: 0x0, value 0x1 index 0x0 length 0x0
> new device strings: Mfr=16, Product=32, SerialNumber=48
> usb_control_msg: request: 0x6, requesttype: 0x80, value 0x300 index 0x0 length 0xFF
> USB device number 2 default language ID 0x409
> usb_control_msg: request: 0x6, requesttype: 0x80, value 0x310 index 0x409 length 0xFF
> usb_control_msg: request: 0x6, requesttype: 0x80, value 0x320 index 0x409 length 0xFF
> usb_control_msg: request: 0x6, requesttype: 0x80, value 0x330 index 0x409 length 0xFF
> Manufacturer TTI-WDE
> Product USB 2.0 Mobile Disk
> SerialNumber FF04112100886
> usb_control_msg: request: 0x0, requesttype: 0xA3, value 0x0 index 0x2 length 0x4
> 2 USB Device(s) found
> scanning bus for storage devices... usb_control_msg: request: 0xFF, requesttype: 0x21, value 0x0 index 0x0 length 0x0
> ERROR: USB-error: STALL: TD was moved to the Done Queue because the endpoint returned a STALL PID (4)
> ERROR: USB-error: STALL: TD was moved to the Done Queue because the endpoint returned a STALL PID (4)
> ERROR: USB-error: DEVICENOTRESPONDING: Device did not respond to token (IN) or did
> not provide a handshake (OUT) (5)
> ERROR: USB-error: DEVICENOTRESPONDING: Device did not respond to token (IN) or did
> not provide a handshake (OUT) (5)
> usb_control_msg: request: 0xFF, requesttype: 0x21, value 0x0 index 0x0 length 0x0
> ERROR: USB-error: DEVICENOTRESPONDING: Device did not respond to token (IN) or did
> not provide a handshake (OUT) (5)
> ERROR: USB-error: DEVICENOTRESPONDING: Device did not respond to token (IN) or did
> not provide a handshake (OUT) (5)
> usb_control_msg: request: 0x1, requesttype: 0x2, value 0x0 index 0x81 length 0x0
> ERROR: USB-error: DEVICENOTRESPONDING: Device did not respond to token (IN) or did
> not provide a handshake (OUT) (5)
> ERROR: USB-error: DEVICENOTRESPONDING: Device did not respond to token (IN) or did
> not provide a handshake (OUT) (5)
> usb_control_msg: request: 0x1, requesttype: 0x2, value 0x0 index 0x2 length 0x0
> ERROR: USB-error: DEVICENOTRESPONDING: Device did not respond to token (IN) or did
> not provide a handshake (OUT) (5)
> ERROR: USB-error: DEVICENOTRESPONDING: Device did not respond to token (IN) or did
> not provide a handshake (OUT) (5)
> ERROR: USB-error: DEVICENOTRESPONDING: Device did not respond to token (IN) or did
> not provide a handshake (OUT) (5)
> ERROR: USB-error: DEVICENOTRESPONDING: Device did not respond to token (IN) or did
> not provide a handshake (OUT) (5)
> usb_control_msg: request: 0xFF, requesttype: 0x21, value 0x0 index 0x0 length 0x0
> ERROR: USB-error: DEVICENOTRESPONDING: Device did not respond to token (IN) or did
> not provide a handshake (OUT) (5)
> ERROR: USB-error: DEVICENOTRESPONDING: Device did not respond to token (IN) or did
> not provide a handshake (OUT) (5)
> usb_control_msg: request: 0x1, requesttype: 0x2, value 0x0 index 0x81 length 0x0
> ERROR: USB-error: DEVICENOTRESPONDING: Device did not respond to token (IN) or did
> not provide a handshake (OUT) (5)
> ERROR: USB-error: DEVICENOTRESPONDING: Device did not respond to token (IN) or did
> not provide a handshake (OUT) (5)
> usb_control_msg: request: 0x1, requesttype: 0x2, value 0x0 index 0x2 length 0x0
> ERROR: USB-error: DEVICENOTRESPONDING: Device did not respond to token (IN) or did
> not provide a handshake (OUT) (5)
> ERROR: USB-error: DEVICENOTRESPONDING: Device did not respond to token (IN) or did
> not provide a handshake (OUT) (5)
> ERROR: USB-error: DEVICENOTRESPONDING: Device did not respond to token (IN) or did
> not provide a handshake (OUT) (5)
> ERROR: USB-error: DEVICENOTRESPONDING: Device did not respond to token (IN) or did
> not provide a handshake (OUT) (5)
> usb_control_msg: request: 0xFF, requesttype: 0x21, value 0x0 index 0x0 length 0x0
> ERROR: USB-error: DEVICENOTRESPONDING: Device did not respond to token (IN) or did
> not provide a handshake (OUT) (5)
> ERROR: USB-error: DEVICENOTRESPONDING: Device did not respond to token (IN) or did
> not provide a handshake (OUT) (5)
> usb_control_msg: request: 0x1, requesttype: 0x2, value 0x0 index 0x81 length 0x0
> ERROR: USB-error: DEVICENOTRESPONDING: Device did not respond to token (IN) or did
> not provide a handshake (OUT) (5)
> ERROR: USB-error: DEVICENOTRESPONDING: Device did not respond to token (IN) or did
> not provide a handshake (OUT) (5)
> usb_control_msg: request: 0x1, requesttype: 0x2, value 0x0 index 0x2 length 0x0
> ERROR: USB-error: DEVICENOTRESPONDING: Device did not respond to token (IN) or did
> not provide a handshake (OUT) (5)
> ERROR: USB-error: DEVICENOTRESPONDING: Device did not respond to token (IN) or did
> not provide a handshake (OUT) (5)
> ERROR: USB-error: DEVICENOTRESPONDING: Device did not respond to token (IN) or did
> not provide a handshake (OUT) (5)
> ERROR: USB-error: DEVICENOTRESPONDING: Device did not respond to token (IN) or did
> not provide a handshake (OUT) (5)
> usb_control_msg: request: 0xFF, requesttype: 0x21, value 0x0 index 0x0 length 0x0
> ERROR: USB-error: DEVICENOTRESPONDING: Device did not respond to token (IN) or did
> not provide a handshake (OUT) (5)
> ERROR: USB-error: DEVICENOTRESPONDING: Device did not respond to token (IN) or did
> not provide a handshake (OUT) (5)
> usb_control_msg: request: 0x1, requesttype: 0x2, value 0x0 index 0x81 length 0x0
> ERROR: USB-error: DEVICENOTRESPONDING: Device did not respond to token (IN) or did
> not provide a handshake (OUT) (5)
> ERROR: USB-error: DEVICENOTRESPONDING: Device did not respond to token (IN) or did
> not provide a handshake (OUT) (5)
> usb_control_msg: request: 0x1, requesttype: 0x2, value 0x0 index 0x2 length 0x0
> ERROR: USB-error: DEVICENOTRESPONDING: Device did not respond to token (IN) or did
> not provide a handshake (OUT) (5)
> ERROR: USB-error: DEVICENOTRESPONDING: Device did not respond to token (IN) or did
> not provide a handshake (OUT) (5)
> ERROR: USB-error: DEVICENOTRESPONDING: Device did not respond to token (IN) or did
> not provide a handshake (OUT) (5)
> ERROR: USB-error: DEVICENOTRESPONDING: Device did not respond to token (IN) or did
> not provide a handshake (OUT) (5)
> usb_control_msg: request: 0xFF, requesttype: 0x21, value 0x0 index 0x0 length 0x0
> ERROR: USB-error: DEVICENOTRESPONDING: Device did not respond to token (IN) or did
> not provide a handshake (OUT) (5)
> ERROR: USB-error: DEVICENOTRESPONDING: Device did not respond to token (IN) or did
> not provide a handshake (OUT) (5)
> usb_control_msg: request: 0x1, requesttype: 0x2, value 0x0 index 0x81 length 0x0
> ERROR: USB-error: DEVICENOTRESPONDING: Device did not respond to token (IN) or did
> not provide a handshake (OUT) (5)
> ERROR: USB-error: DEVICENOTRESPONDING: Device did not respond to token (IN) or did
> not provide a handshake (OUT) (5)
> usb_control_msg: request: 0x1, requesttype: 0x2, value 0x0 index 0x2 length 0x0
> ERROR: USB-error: DEVICENOTRESPONDING: Device did not respond to token (IN) or did
> not provide a handshake (OUT) (5)
> ERROR: USB-error: DEVICENOTRESPONDING: Device did not respond to token (IN) or did
> not provide a handshake (OUT) (5)
> ERROR: USB-error: DEVICENOTRESPONDING: Device did not respond to token (IN) or did
> not provide a handshake (OUT) (5)
> ERROR: USB-error: DEVICENOTRESPONDING: Device did not respond to token (IN) or did
> not provide a handshake (OUT) (5)
> usb_control_msg: request: 0xFF, requesttype: 0x21, value 0x0 index 0x0 length 0x0
> ERROR: USB-error: DEVICENOTRESPONDING: Device did not respond to token (IN) or did
> not provide a handshake (OUT) (5)
> ERROR: USB-error: DEVICENOTRESPONDING: Device did not respond to token (IN) or did
> not provide a handshake (OUT) (5)
> usb_control_msg: request: 0x1, requesttype: 0x2, value 0x0 index 0x81 length 0x0
> ERROR: USB-error: DEVICENOTRESPONDING: Device did not respond to token (IN) or did
> not provide a handshake (OUT) (5)
> ERROR: USB-error: DEVICENOTRESPONDING: Device did not respond to token (IN) or did
> not provide a handshake (OUT) (5)
> usb_control_msg: request: 0x1, requesttype: 0x2, value 0x0 index 0x2 length 0x0
> ERROR: USB-error: DEVICENOTRESPONDING: Device did not respond to token (IN) or did
> not provide a handshake (OUT) (5)
> ERROR: USB-error: DEVICENOTRESPONDING: Device did not respond to token (IN) or did
> not provide a handshake (OUT) (5)
> ERROR: USB-error: DEVICENOTRESPONDING: Device did not respond to token (IN) or did
> not provide a handshake (OUT) (5)
> ERROR: USB-error: DEVICENOTRESPONDING: Device did not respond to token (IN) or did
> not provide a handshake (OUT) (5)
> usb_control_msg: request: 0xFF, requesttype: 0x21, value 0x0 index 0x0 length 0x0
> ERROR: USB-error: DEVICENOTRESPONDING: Device did not respond to token (IN) or did
> not provide a handshake (OUT) (5)
> ERROR: USB-error: DEVICENOTRESPONDING: Device did not respond to token (IN) or did
> not provide a handshake (OUT) (5)
> usb_control_msg: request: 0x1, requesttype: 0x2, value 0x0 index 0x81 length 0x0
> ERROR: USB-error: DEVICENOTRESPONDING: Device did not respond to token (IN) or did
> not provide a handshake (OUT) (5)
> ERROR: USB-error: DEVICENOTRESPONDING: Device did not respond to token (IN) or did
> not provide a handshake (OUT) (5)
> usb_control_msg: request: 0x1, requesttype: 0x2, value 0x0 index 0x2 length 0x0
> ERROR: USB-error: DEVICENOTRESPONDING: Device did not respond to token (IN) or did
> not provide a handshake (OUT) (5)
> ERROR: USB-error: DEVICENOTRESPONDING: Device did not respond to token (IN) or did
> not provide a handshake (OUT) (5)
> ERROR: USB-error: DEVICENOTRESPONDING: Device did not respond to token (IN) or did
> not provide a handshake (OUT) (5)
> ERROR: USB-error: DEVICENOTRESPONDING: Device did not respond to token (IN) or did
> not provide a handshake (OUT) (5)
> usb_control_msg: request: 0xFF, requesttype: 0x21, value 0x0 index 0x0 length 0x0
> ERROR: USB-error: DEVICENOTRESPONDING: Device did not respond to token (IN) or did
> not provide a handshake (OUT) (5)
> ERROR: USB-error: DEVICENOTRESPONDING: Device did not respond to token (IN) or did
> not provide a handshake (OUT) (5)
> usb_control_msg: request: 0x1, requesttype: 0x2, value 0x0 index 0x81 length 0x0
> ERROR: USB-error: DEVICENOTRESPONDING: Device did not respond to token (IN) or did
> not provide a handshake (OUT) (5)
> ERROR: USB-error: DEVICENOTRESPONDING: Device did not respond to token (IN) or did
> not provide a handshake (OUT) (5)
> usb_control_msg: request: 0x1, requesttype: 0x2, value 0x0 index 0x2 length 0x0
> ERROR: USB-error: DEVICENOTRESPONDING: Device did not respond to token (IN) or did
> not provide a handshake (OUT) (5)
> ERROR: USB-error: DEVICENOTRESPONDING: Device did not respond to token (IN) or did
> not provide a handshake (OUT) (5)
> ERROR: USB-error: DEVICENOTRESPONDING: Device did not respond to token (IN) or did
> not provide a handshake (OUT) (5)
> ERROR: USB-error: DEVICENOTRESPONDING: Device did not respond to token (IN) or did
> not provide a handshake (OUT) (5)
> usb_control_msg: request: 0xFF, requesttype: 0x21, value 0x0 index 0x0 length 0x0
> ERROR: USB-error: DEVICENOTRESPONDING: Device did not respond to token (IN) or did
> not provide a handshake (OUT) (5)
> ERROR: USB-error: DEVICENOTRESPONDING: Device did not respond to token (IN) or did
> not provide a handshake (OUT) (5)
> usb_control_msg: request: 0x1, requesttype: 0x2, value 0x0 index 0x81 length 0x0
> ERROR: USB-error: DEVICENOTRESPONDING: Device did not respond to token (IN) or did
> not provide a handshake (OUT) (5)
> ERROR: USB-error: DEVICENOTRESPONDING: Device did not respond to token (IN) or did
> not provide a handshake (OUT) (5)
> usb_control_msg: request: 0x1, requesttype: 0x2, value 0x0 index 0x2 length 0x0
> ERROR: USB-error: DEVICENOTRESPONDING: Device did not respond to token (IN) or did
> not provide a handshake (OUT) (5)
> ERROR: USB-error: DEVICENOTRESPONDING: Device did not respond to token (IN) or did
> not provide a handshake (OUT) (5)
> ERROR: USB-error: DEVICENOTRESPONDING: Device did not respond to token (IN) or did
> not provide a handshake (OUT) (5)
> ERROR: USB-error: DEVICENOTRESPONDING: Device did not respond to token (IN) or did
> not provide a handshake (OUT) (5)
> usb_control_msg: request: 0xFF, requesttype: 0x21, value 0x0 index 0x0 length 0x0
> ERROR: USB-error: DEVICENOTRESPONDING: Device did not respond to token (IN) or did
> not provide a handshake (OUT) (5)
> ERROR: USB-error: DEVICENOTRESPONDING: Device did not respond to token (IN) or did
> not provide a handshake (OUT) (5)
> usb_control_msg: request: 0x1, requesttype: 0x2, value 0x0 index 0x81 length 0x0
> ERROR: USB-error: DEVICENOTRESPONDING: Device did not respond to token (IN) or did
> not provide a handshake (OUT) (5)
> ERROR: USB-error: DEVICENOTRESPONDING: Device did not respond to token (IN) or did
> not provide a handshake (OUT) (5)
> usb_control_msg: request: 0x1, requesttype: 0x2, value 0x0 index 0x2 length 0x0
> ERROR: USB-error: DEVICENOTRESPONDING: Device did not respond to token (IN) or did
> not provide a handshake (OUT) (5)
> ERROR: USB-error: DEVICENOTRESPONDING: Device did not respond to token (IN) or did
> not provide a handshake (OUT) (5)
> ERROR: USB-error: DEVICENOTRESPONDING: Device did not respond to token (IN) or did
> not provide a handshake (OUT) (5)
> ERROR: USB-error: DEVICENOTRESPONDING: Device did not respond to token (IN) or did
> not provide a handshake (OUT) (5)
> usb_control_msg: request: 0xFF, requesttype: 0x21, value 0x0 index 0x0 length 0x0
> ERROR: USB-error: DEVICENOTRESPONDING: Device did not respond to token (IN) or did
> not provide a handshake (OUT) (5)
> ERROR: USB-error: DEVICENOTRESPONDING: Device did not respond to token (IN) or did
> not provide a handshake (OUT) (5)
> usb_control_msg: request: 0x1, requesttype: 0x2, value 0x0 index 0x81 length 0x0
> ERROR: USB-error: DEVICENOTRESPONDING: Device did not respond to token (IN) or did
> not provide a handshake (OUT) (5)
> ERROR: USB-error: DEVICENOTRESPONDING: Device did not respond to token (IN) or did
> not provide a handshake (OUT) (5)
> usb_control_msg: request: 0x1, requesttype: 0x2, value 0x0 index 0x2 length 0x0
> ERROR: USB-error: DEVICENOTRESPONDING: Device did not respond to token (IN) or did
> not provide a handshake (OUT) (5)
> ERROR: USB-error: DEVICENOTRESPONDING: Device did not respond to token (IN) or did
> not provide a handshake (OUT) (5)
> ERROR: USB-error: DEVICENOTRESPONDING: Device did not respond to token (IN) or did
> not provide a handshake (OUT) (5)
> ERROR: USB-error: DEVICENOTRESPONDING: Device did not respond to token (IN) or did
> not provide a handshake (OUT) (5)
> usb_control_msg: request: 0xFF, requesttype: 0x21, value 0x0 index 0x0 length 0x0
> ERROR: USB-error: DEVICENOTRESPONDING: Device did not respond to token (IN) or did
> not provide a handshake (OUT) (5)
> ERROR: USB-error: DEVICENOTRESPONDING: Device did not respond to token (IN) or did
> not provide a handshake (OUT) (5)
> usb_control_msg: request: 0x1, requesttype: 0x2, value 0x0 index 0x81 length 0x0
> ERROR: USB-error: DEVICENOTRESPONDING: Device did not respond to token (IN) or did
> not provide a handshake (OUT) (5)
> ERROR: USB-error: DEVICENOTRESPONDING: Device did not respond to token (IN) or did
> not provide a handshake (OUT) (5)
> usb_control_msg: request: 0x1, requesttype: 0x2, value 0x0 index 0x2 length 0x0
> ERROR: USB-error: DEVICENOTRESPONDING: Device did not respond to token (IN) or did
> not provide a handshake (OUT) (5)
> ERROR: USB-error: DEVICENOTRESPONDING: Device did not respond to token (IN) or did
> not provide a handshake (OUT) (5)
> ERROR: USB-error: DEVICENOTRESPONDING: Device did not respond to token (IN) or did
> not provide a handshake (OUT) (5)
> ERROR: USB-error: DEVICENOTRESPONDING: Device did not respond to token (IN) or did
> not provide a handshake (OUT) (5)
> usb_control_msg: request: 0xFF, requesttype: 0x21, value 0x0 index 0x0 length 0x0
> ERROR: USB-error: DEVICENOTRESPONDING: Device did not respond to token (IN) or did
> not provide a handshake (OUT) (5)
> ERROR: USB-error: DEVICENOTRESPONDING: Device did not respond to token (IN) or did
> not provide a handshake (OUT) (5)
> usb_control_msg: request: 0x1, requesttype: 0x2, value 0x0 index 0x81 length 0x0
> ERROR: USB-error: DEVICENOTRESPONDING: Device did not respond to token (IN) or did
> not provide a handshake (OUT) (5)
> ERROR: USB-error: DEVICENOTRESPONDING: Device did not respond to token (IN) or did
> not provide a handshake (OUT) (5)
> usb_control_msg: request: 0x1, requesttype: 0x2, value 0x0 index 0x2 length 0x0
> ERROR: USB-error: DEVICENOTRESPONDING: Device did not respond to token (IN) or did
> not provide a handshake (OUT) (5)
> ERROR: USB-error: DEVICENOTRESPONDING: Device did not respond to token (IN) or did
> not provide a handshake (OUT) (5)
> ERROR: USB-error: DEVICENOTRESPONDING: Device did not respond to token (IN) or did
> not provide a handshake (OUT) (5)
> ERROR: USB-error: DEVICENOTRESPONDING: Device did not respond to token (IN) or did
> not provide a handshake (OUT) (5)
> usb_control_msg: request: 0xFF, requesttype: 0x21, value 0x0 index 0x0 length 0x0
> ERROR: USB-error: DEVICENOTRESPONDING: Device did not respond to token (IN) or did
> not provide a handshake (OUT) (5)
> ERROR: USB-error: DEVICENOTRESPONDING: Device did not respond to token (IN) or did
> not provide a handshake (OUT) (5)
> usb_control_msg: request: 0x1, requesttype: 0x2, value 0x0 index 0x81 length 0x0
> ERROR: USB-error: DEVICENOTRESPONDING: Device did not respond to token (IN) or did
> not provide a handshake (OUT) (5)
> ERROR: USB-error: DEVICENOTRESPONDING: Device did not respond to token (IN) or did
> not provide a handshake (OUT) (5)
> usb_control_msg: request: 0x1, requesttype: 0x2, value 0x0 index 0x2 length 0x0
> ERROR: USB-error: DEVICENOTRESPONDING: Device did not respond to token (IN) or did
> not provide a handshake (OUT) (5)
> ERROR: USB-error: DEVICENOTRESPONDING: Device did not respond to token (IN) or did
> not provide a handshake (OUT) (5)
> ERROR: USB-error: DEVICENOTRESPONDING: Device did not respond to token (IN) or did
> not provide a handshake (OUT) (5)
> ERROR: USB-error: DEVICENOTRESPONDING: Device did not respond to token (IN) or did
> not provide a handshake (OUT) (5)
> usb_control_msg: request: 0xFF, requesttype: 0x21, value 0x0 index 0x0 length 0x0
> ERROR: USB-error: DEVICENOTRESPONDING: Device did not respond to token (IN) or did
> not provide a handshake (OUT) (5)
> ERROR: USB-error: DEVICENOTRESPONDING: Device did not respond to token (IN) or did
> not provide a handshake (OUT) (5)
>
> --
> Stelian Pop <stelian@popies.net>
>
>
^ permalink raw reply [flat|nested] 21+ messages in thread
* [U-Boot] [patch 1/2] fix USB initialisation procedure
2008-10-09 18:45 ` Wolfgang Denk
2008-10-09 19:52 ` Markus Klotzbücher
@ 2008-10-10 7:30 ` Remy Bohmer
1 sibling, 0 replies; 21+ messages in thread
From: Remy Bohmer @ 2008-10-10 7:30 UTC (permalink / raw)
To: u-boot
Hello All,
> NAK, and NAK again from me. Note that it's not only a single small
> violation, there is a whole list of it evenin this short code snippet:
> - incorrect brace style
> - unnecessary indentation
> - incorrect multi-line comment style
Okay, I used Linux/checkpatch.pl to check the coding style.
It did not complain at all, so are we in U-boot more pedantic than the
pedantic linix/checkpatch.pl script?
But, to keep everybody happy, I will change that and post a new patch soon...
Remy
>
> It is much easier to fix such code when it's being added, than to fix
> it later (which may or may not happen). See all the examples that got
> commited that way - and that haven't been fixed since.
>
> Best regards,
>
> Wolfgang Denk
>
> --
> DENX Software Engineering GmbH, MD: Wolfgang Denk & Detlev Zundel
> HRB 165235 Munich, Office: Kirchenstr.5, D-82194 Groebenzell, Germany
> Phone: (+49)-8142-66989-10 Fax: (+49)-8142-66989-80 Email: wd at denx.de
> Experience is what causes a person to make new mistakes instead of
> old ones.
> _______________________________________________
> U-Boot mailing list
> U-Boot at lists.denx.de
> http://lists.denx.de/mailman/listinfo/u-boot
>
^ permalink raw reply [flat|nested] 21+ messages in thread
* [U-Boot] [patch 0/2] Some more USB-OHCI bugfixes
2008-10-10 7:21 ` Remy Bohmer
@ 2008-10-10 8:25 ` Stelian Pop
2008-10-10 8:33 ` Remy Bohmer
0 siblings, 1 reply; 21+ messages in thread
From: Stelian Pop @ 2008-10-10 8:25 UTC (permalink / raw)
To: u-boot
Le vendredi 10 octobre 2008 ? 09:21 +0200, Remy Bohmer a ?crit :
> Hello Stelian,
>
> >> This clock is required, but is usually _not_ configured by U-boot (for
> >> the AT91SAM series) but by the bootstrap code. You could check if the
> >> current settings for PLLB matches the settings done by Linux.
>
> > Bingo ! The bootstrap code does appear to setup some wrong values for
> > the PLLB multiplier/divisor. Once I set up the PLLB to use the same
> > values as Linux, USB starts to work ! Yay !
>
> This is very good news, but it proves again that USB never worked
> before on these cores...
> Maybe more pieces are missing to get it completely working...
No, USB did work before on these cores, as the Atmel guys confirmed. I
guess some older versions of AT91Bootstrap had the proper PLLB
configuration settings which made USB work...
Stelian.
--
Stelian Pop <stelian@popies.net>
^ permalink raw reply [flat|nested] 21+ messages in thread
* [U-Boot] [patch 0/2] Some more USB-OHCI bugfixes
2008-10-10 8:25 ` Stelian Pop
@ 2008-10-10 8:33 ` Remy Bohmer
0 siblings, 0 replies; 21+ messages in thread
From: Remy Bohmer @ 2008-10-10 8:33 UTC (permalink / raw)
To: u-boot
Hello Stelian,
>> This is very good news, but it proves again that USB never worked
>> before on these cores...
>> Maybe more pieces are missing to get it completely working...
>
> No, USB did work before on these cores, as the Atmel guys confirmed. I
> guess some older versions of AT91Bootstrap had the proper PLLB
> configuration settings which made USB work...
Besides the bootstrap, Atmel always used the older series 1.1.2 till
1.1.5 which they patched themselves. and the only deliverables that
worked, were precompiled and delivered as binary by Atmel with a GCC
3.x compiler. This was my starting point for debugging these problems,
and put me on the compiler dependant problems in the first place.
In U-boot mainline it never worked before.
Remy
>
> Stelian.
> --
> Stelian Pop <stelian@popies.net>
>
>
^ permalink raw reply [flat|nested] 21+ messages in thread
end of thread, other threads:[~2008-10-10 8:33 UTC | newest]
Thread overview: 21+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2008-10-08 8:54 [U-Boot] [patch 0/2] Some more USB-OHCI bugfixes Remy Bohmer
2008-10-08 8:54 ` [U-Boot] [patch 1/2] fix USB initialisation procedure Remy Bohmer
2008-10-09 12:10 ` Jean-Christophe PLAGNIOL-VILLARD
2008-10-09 13:19 ` Wolfgang Denk
2008-10-09 14:43 ` Markus Klotzbücher
2008-10-09 14:59 ` Stefan Roese
2008-10-09 15:09 ` Markus Klotzbücher
2008-10-09 15:22 ` Jerry Van Baren
2008-10-09 18:45 ` Wolfgang Denk
2008-10-09 19:52 ` Markus Klotzbücher
2008-10-10 7:30 ` Remy Bohmer
2008-10-09 18:42 ` Wolfgang Denk
2008-10-08 8:54 ` [U-Boot] [patch 2/2] The PIPE_INTERRUPT flag is used wrong Remy Bohmer
2008-10-08 10:12 ` [U-Boot] [patch 0/2] Some more USB-OHCI bugfixes Markus Klotzbücher
2008-10-08 10:41 ` Stelian Pop
2008-10-09 8:33 ` Stelian Pop
2008-10-09 9:51 ` Remy Bohmer
2008-10-09 15:01 ` Stelian Pop
2008-10-10 7:21 ` Remy Bohmer
2008-10-10 8:25 ` Stelian Pop
2008-10-10 8:33 ` Remy Bohmer
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox