[U-Boot] Issue with USB mass storage (thumb drives)

Schrempf Frieder frieder.schrempf at exceet.de
Thu Feb 4 09:06:48 CET 2016


On 03.02.2016 17:40, Marek Vasut wrote:
> On Wednesday, February 03, 2016 at 12:49:20 PM, Schrempf Frieder wrote:
>> On 03.02.2016 12:12, Marek Vasut wrote:
>>> On Wednesday, February 03, 2016 at 11:15:00 AM, Schrempf Frieder wrote:
>>>> On 03.02.2016 10:55, Fabio Estevam wrote:
>>>>> On Wed, Feb 3, 2016 at 7:40 AM, Marek Vasut <marex at denx.de> wrote:
>>>>>> In that case, debug time.
>>>>>>
>>>>>> Usual problems are bad routing of the tracks on the board , so try
>>>>>> with USB 1.1 hub and if that works, that's your problem.
>>>>> Another suggestion would be to try the 100MB transfer in Linux and see
>>>>> if this works or not.
>>>>>
>>>>> That would help us to narrow down whether this is a hardware or
>>>>> software problem.
>>>> Thank you Marek and Fabio for your input!
>>>>
>>>> I tried the file transfer in Linux and this seems to work fine.
>>>> Also we have been using this hardware for quite some time, also with USB
>>>> mass storage and large files in Linux and I can't remember any problems.
>>>> For these reasons I think that the hardware is ok.
>>>>
>>>> I added the DEBUG defines and here are the lines around one of the
>>>> timeouts. With my very limited knowledge of how usb works, I can't read
>>>> much from those messages:
>>> It'd help if you shared your patch and the whole output. That way we can
>>> check if something goes wrong at the beginning.
>>>
>>> I wonder if we might be facing some misconfiguration of the USB PHY here
>>> ?
>>>
>>> I don't have a MX6Solo . Fabio, any chance you can try ?
>> Here is the debug log for "usb reset": http://paste.ubuntu.com/14865306/
>> And here the log for the file transfer (different thumb drive and
>> therefore different messages than posted before):
>> http://paste.ubuntu.com/14865349/
>>
>> The only changes to U-Boot I made is adding my board configuration
>> (derived from Freescale SabreSD config).
>> The only difference from the SabreSD config related to USB is, that I
>> have set CONFIG_USB_MAX_CONTROLLER_COUNT to 2 instead of 1.
> The detection seems fine, it even does what it's supposed to do.
>
> You have a USB hub somewhere in there, right ? Is it a powered one or not ?
>
> What I find weird in the later log is that the failure always happens when
> the buffer is at 0x19fffe00 . I suppose you're loading to 0x18000000 and you
> have 0x20000000 or 512MiB of RAM (?). Try loading to 0x8000000 and see if
> that helps. If it does, then you might be overwriting some malloc area of
> U-Boot or somesuch .

We have two self-powered USB hubs on our board, but we also have boards 
without any hub and I can see the same issue on those.

I tried loading to 0x8000000 and the strange thing is, that it even 
fails on those USB devices, that were previously working while loading 
to 0x18000000.

So reading fails on all USB devices I tried, when loading to 0x8000000 
with a log like this: http://paste.ubuntu.com/14875686/
But when I load to 0x18000000 I have 2 devices with 100% success rate: 
http://paste.ubuntu.com/14875795/
And 1 device with 100% failure rate: http://paste.ubuntu.com/14865349/

I even have 1GiB of RAM on this board.


More information about the U-Boot mailing list