Date: Thu, 29 Sep 2022 22:23:20 -0700 From: Mark Millard <marklmi@yahoo.com> To: bob prohaska <fbsd@www.zefox.net> Cc: freebsd-arm <freebsd-arm@freebsd.org>, freebsd-uboot@freebsd.org Subject: Re: u-boot debug, was: Re: U-boot on RPI3, sees disk but won't boot it Message-ID: <894FEFBF-12BA-49CD-BE87-662CD110C03F@yahoo.com> In-Reply-To: <ABFBD0E6-8A9B-4C99-84DF-BF398F23678A@yahoo.com> References: <81F58716-72CE-45E8-951A-B7B92AD0FE95@yahoo.com> <20220928172839.GA75564@www.zefox.net> <62A7FD9D-DFAD-46B2-8681-F6EF0E5AC0DE@yahoo.com> <8CB25EDF-704A-4F86-B0D4-40818291C161@yahoo.com> <20220928234341.GA77046@www.zefox.net> <20220929002131.GA77106@www.zefox.net> <197D3C46-063B-4C67-AB1A-A3A072521D7F@yahoo.com> <A8C2BA4E-4520-4B34-9614-DDC4D8BEB097@yahoo.com> <6AA65AE6-41F1-405F-A592-7D641EA4C9CF@yahoo.com> <E3A1C678-8C47-4283-9F9F-4C9011DB8A2B@yahoo.com> <20220929054120.GA77803@www.zefox.net> <D7A62820-4928-49F0-8387-C1E6D998B121@yahoo.com> <ABFBD0E6-8A9B-4C99-84DF-BF398F23678A@yahoo.com>
next in thread | previous in thread | raw e-mail | index | archive | help
On 2022-Sep-29, at 00:18, Mark Millard <marklmi@yahoo.com> wrote: > On 2022-Sep-28, at 23:59, Mark Millard <marklmi@yahoo.com> wrote: >=20 >> On 2022-Sep-28, at 22:41, bob prohaska <fbsd@www.zefox.net> wrote: >>=20 >>> I've put the full output from a failed (no storage >>> device found) attempt at >>> http://www.zefox.net/~fbsd/rpi3/u-boot/u-boot-debug-log >>>=20 >>> The obvious error message is: >>> Cannot enable port 1 after 5 retries, disabling port. >>> Nothing about device 152d. >>=20 >> The RPi3B has 5 USB ports for devices, one being internal >> that is tied to the EtherNet port if I remember correctly. >> It also has a root hub,6 six overall. >>=20 >> Your failure log is about failing to get the root >> hub working --which in turn blocks all the other >> ports form being accessible. >>=20 >>> Tomorrow I'll try to capture a complete log of a=20 >>> successful boot for comparison. The boot success >>> rate is so far is 7 in 9 or 10, depending on how >>> one counts.=20 >>=20 >> I'd also recommend recording a bunch of failures >> and seeing what wort of variety exists in the >> details of them. >>=20 >> FYI: My log shows a Root Hub Port 1 status >> sequence: 511, 511, 503. Yours: 311, 311, >> (5 times:) 301. So it looks like what the >> status encoding is and what the implications >> are. >=20 > Accidental send. Continuing. . . >=20 > The output uses %x (so: hexadecimal). For reference: >=20 > ./include/usb_defs.h:#define USB_PORT_STAT_CONNECTION 0x0001 > ./include/usb_defs.h:#define USB_PORT_STAT_ENABLE 0x0002 > ./include/usb_defs.h:#define USB_PORT_STAT_SUSPEND 0x0004 > ./include/usb_defs.h:#define USB_PORT_STAT_OVERCURRENT 0x0008 > ./include/usb_defs.h:#define USB_PORT_STAT_RESET 0x0010 > ./include/usb_defs.h:#define USB_PORT_STAT_POWER 0x0100 > ./include/usb_defs.h:#define USB_PORT_STAT_LOW_SPEED 0x0200 > ./include/usb_defs.h:#define USB_PORT_STAT_HIGH_SPEED 0x0400 /* = support for EHCI */ > ./include/usb_defs.h:#define USB_PORT_STAT_SUPER_SPEED 0x0600 /* = faking support to XHCI */ > ./include/usb_defs.h:#define USB_PORT_STAT_SPEED_MASK \ > ./include/usb_defs.h: (USB_PORT_STAT_LOW_SPEED | = USB_PORT_STAT_HIGH_SPEED) > ./include/usb_defs.h:#define USB_SS_PORT_STAT_MASK = (USB_PORT_STAT_CONNECTION | \ > ./include/usb_defs.h: = USB_PORT_STAT_ENABLE | \ > ./include/usb_defs.h: = USB_PORT_STAT_OVERCURRENT | \ > ./include/usb_defs.h: = USB_PORT_STAT_RESET) > ./include/usb_defs.h:#define USB_PORT_STAT_C_CONNECTION 0x0001 > ./include/usb_defs.h:#define USB_PORT_STAT_C_ENABLE 0x0002 > ./include/usb_defs.h:#define USB_PORT_STAT_C_SUSPEND 0x0004 > ./include/usb_defs.h:#define USB_PORT_STAT_C_OVERCURRENT 0x0008 > ./include/usb_defs.h:#define USB_PORT_STAT_C_RESET 0x0010 >=20 > Note: USB_PORT_STAT_C_* is for port status change information. >=20 > 0x311 and 0x301 indicate USB_PORT_STAT_LOW_SPEED instead of > USB_PORT_STAT_HIGH_SPEED. They also indicate lack of > USB_PORT_STAT_ENABLE. As for what happens just before each of the 4 log file's "0 Storage Device(s) found", all the examples are the same. For: Manufacturer=20 Product U-Boot Root Hub SerialNumber=20 bind node usb1@1 it ends up with the portstatus sequence of values: 311, 311, (5 times, 4 from retries:) 301 instead of what it gets when it later gets "1 Storage Device(s) found": 511, 511, 503 So no other port or device is found when it ends up with "0 Storage Device(s) found". 311: USB_PORT_STAT_LOW_SPEED |USB_PORT_STAT_POWER |USB_PORT_STAT_RESET |USB_PORT_STAT_CONNECTION 301: USB_PORT_STAT_LOW_SPEED |USB_PORT_STAT_POWER |USB_PORT_STAT_CONNECTION 511: USB_PORT_STAT_HIGH_SPEED |USB_PORT_STAT_POWER |USB_PORT_STAT_RESET |USB_PORT_STAT_CONNECTION 503: USB_PORT_STAT_HIGH_SPEED |USB_PORT_STAT_POWER |USB_PORT_STAT_ENABLE |USB_PORT_STAT_CONNECTION I've no clue what makes the distinction happen on/for "U-Boot Root Hub". Nor does it looks likely that I'd figure such out. =3D=3D=3D Mark Millard marklmi at yahoo.com
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?894FEFBF-12BA-49CD-BE87-662CD110C03F>