Re: Troubles booting Pi2 from USB using bootcode.bin method

From: Mark Millard via freebsd-arm <freebsd-arm_at_freebsd.org>
Date: Sun, 31 Oct 2021 00:31:15 UTC
On 2021-Oct-30, at 14:35, bob prohaska <fbsd@www.zefox.net> wrote:

> On Sat, Oct 30, 2021 at 01:41:52AM -0700, Mark Millard via freebsd-arm wrote:
>>>> 
>>>> Yep: it picks one. Swapping or moving which ports are used
>>>> may change which one is used when both are connected.
>>>> 
> 
> It appears that choice of USB hub ports makes a difference. 
> At least sometimes, connecting the USB3 drive to the hub
> port formerly occupied by the USB2 drive results in a hands-
> off boot. Unfortunately, not always. Interrupting u-boot
> and issuing a usb reset command or two generally finds the
> USB3 drive, which can then be booted explicitly.
> 
> 
> 
> I've captured one failure session at
> http://www.zefox.net/~fbsd/rpi2/bootproblems/bootlog-usb3-solo.fail
> but cannot reliably reproduce it. 
> 
> When the console offers the
> U-Boot> 
> prompt, is that coming from bootcode.bin, or something else?
> 
> Could anything be learned from trying to boot the armv7-configured
> disk on a Pi3B or B+ ? That's a relatively easy experiment.  I'm
> trying to use a rather old Pi with a comparatively new USB drive.
> The Pi3s on hand are at least somewhat more modern.

Some of the bootlog-usb3-solo.fail content makes me think of
a prior exchange that we had about U-Boot and getting it
to wait appropraitely or other such issues:

QUOTE FROM OLD MESSAGE (Outmost and inner most is my
material, the other is your material)

>> But I've also seen other, more complete information
>> indicating that there is a environment setting
>> (showing an example value):
>> 
>> usb_ready_retry=5
>> 
>> to set up before the usb restart (or usb start)
>> command. It deals with the issue more explicitly
>> for slow devices.
>> 
>> Another one is (units: msec):
>> 
>> usb_pgood_delay=10000
>> 
> Presto! using editenv usb_pgood_delay prompted for input, typing 10000
> and hitting return set the value and the disk was found.

Cool.

> It looks like the setting can only be saved to microSD. With
> no card saveenv reports
> Saving Environment to FAT... Card did not respond to voltage select!
> Failed (1)
> 
> 
> 
>> There are also device that have problems with
>> large transfers and require extra protocol to
>> deal with transfer problems before they will
>> work again, U-Boot not doing that.
>> 
>> usb_max_blk=20
>> 
>> sets a old historical value that generally
>> just works for such devices form what I read.
>> 
>> I see no indication that other usb commands are
>> worthwhile until one has avoided that "Request
>> Sense returned 02 04 01" message for usb reset
>> (a.k.a. usb start).
>> 
>> The reports of this sort of thing are not limited
>> to RPi's and go back to at least 2014.
>> 
>> If I understand correctly, usb_ready_retry and
>> usb_pgood_delay and usb_max_blk are part of
>> normal U-Boot builds these days. But I'm not
>> certain of that.
END QUOTE FROM OLD MESSAGE


===
Mark Millard
marklmi at yahoo.com
( dsl-only.net went
away in early 2018-Mar)