* [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 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 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: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 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 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 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 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 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 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