Skip site navigation (1)Skip section navigation (2)
Date:      Sun, 31 Mar 2024 12:10:59 -0700
From:      Mark Millard <marklmi@yahoo.com>
To:        Lexi Winter <lexi@le-fay.org>
Cc:        FreeBSD ARM List <freebsd-arm@freebsd.org>, freebsd-current@freebsd.org
Subject:   Re: 15.0 on RPi4, USB broken: uhub_reattach_port: port 2 reset failed, error=USB_ERR_TIMEOUT
Message-ID:  <04AA156F-129B-41C2-AB3D-B762585F8BC0@yahoo.com>
In-Reply-To: <ZghruPv71WIkoLnQ@ilythia.eden.le-fay.org>
References:  <ZghruPv71WIkoLnQ@ilythia.eden.le-fay.org>

next in thread | previous in thread | raw e-mail | index | archive | help
On Mar 30, 2024, at 12:44, Lexi Winter <lexi@le-fay.org> wrote:

> i'm using 15.0 (f66a994d59) on an 4GB RPi4 with a USB<>SATA adapter =
for
> the root disk:
>=20
> usb_msc_auto_quirk: UQ_MSC_NO_GETMAXLUN set for USB mass storage =
device ASM1153USB3.0TOSATA ASM1153USB3.0TOSATA (0x174c:0x55aa)
> ugen0.3: <ASM1153USB3.0TOSATA ASM1153USB3.0TOSATA> at usbus0
> umass0 on uhub1
> umass0: <ASM1153USB3.0TOSATA ASM1153USB3.0TOSATA, class 0/0, rev =
2.10/1.00, addr 2> on usbus0
> umass0:  SCSI over Bulk-Only; quirks =3D 0x0100
> umass0:1:0: Attached to scbus1
> da0 at umass-sim0 bus 0 scbus1 target 0 lun 0
> da0: <ASM1153U ASM1153USB3.0TOS 0> Fixed Direct Access SPC-4 SCSI =
device
> da0: Serial Number 123456789019
> da0: 40.000MB/s transfers
> da0: 228936MB (468862128 512 byte sectors)
> da0: quirks=3D0x2<NO_6_BYTE>
>=20
> when connected via USB 2, this works fine.  when connected via USB =
3.0,
> the device sometimes fails to attach on boot, causing mountroot to =
fail.
> i can reproduce this reliably with both GENERIC-NODEBUG and a custom
> modular kernel, and sometimes (but not every boot) with GENERIC.
>=20
> when the problem happens, with USB_DEBUG enabled, the kernel logs:
>=20
> uhub_reattach_port: port 2 reset failed, error=3DUSB_ERR_TIMEOUT
> uhub_reattach_port: device problem (USB_ERR_TIMEOUT), disabling port 2
>=20
> however, if i boot with "boot -v", the device is reliably detected
> correctly.  since -v shouldn't cause any functional changes, i suspect
> this may be some kind of timing issue.
>=20
> i've tried increasing some of the USB timings (hw.usb.timings.*) but
> this didn't seem to have any effect.  is there anything else i could =
try
> that might affect this, or is this perhaps a known issue?
>=20

Here is my config.txt material related to such issues:

#
# Local addition that avoids USB3 SSD boot failures that look like:
#   uhub_reattach_port: port ? reset failed, error=3DUSB_ERR_TIMEOUT
#   uhub_reattach_port: device problem (USB_ERR_TIMEOUT), disabling port =
?
# WARNING, not sufficient for "boot -s": that needs the full =
force_turbo=3D1
initial_turbo=3D60

As far as I can tell, without using one of the turbo settings, the
more modern RPI firmware is varying the speed of the clock in the early
boot time frame and FreeBSD is working in a way that requires more
uniformity for such. (May be delays based on just loop counting?)


=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?04AA156F-129B-41C2-AB3D-B762585F8BC0>