Starting with arm64 snapshot kernel 1818 and continuing to 1822, the latest
snapshot, I've been experiencing a persistent problem with the RPi3's USB
bus locking up in a way that requires physical access to power cycle, and
is thus a fairly serious regression. This system has been running
continuously on -current since about 6.8-current without anything even
remotely like this happening.

The 100bT interface is at smsc0 on the usb bus. Initially, it looked like
there may have been a weird race condition since I also had a USB-based
flash drive plugged in, but moving that drive around to the other ports,
and eventual complete removal, hasn't stopped the hanging.

The hang is visible in dmesg as follows:

usbd_start_next: error=5
usbd_start_next: error=5
usbd_free_xfer: xfer=0xffffff8004e74a20 not free
smsc0: warning: Failed to read register 0x114
smsc0: warning: MII is busy

Searching around, I find references to some of these errors in FreeBSD and
OpenBSD going back at least to 2014, but no clear resolution. It's
_possible_ that I have some kind of creeping hardware failure, but it
doesn't seem likely.

Once the error messages appear, I can no longer access the system over the
network. I've since connected the serial console. If I try to reboot while
it's in this state, the system will hang hard and not even respond to the
console. If I try `ifconfig smsc0 down` it hangs in the same way.

While the USB drive was still part of the repro configuration, attempting
to sync or otherwise access the drive also resulted in the hard hang,
leading me to conclude this is a USB issue rather than either a mass
storage or an ethernet issue.

I've also done the usual variable elimination by using different USB
drives, different ethernet cables, different port & different switch, etc.
I no longer appear to be able to isolate this further myself.

My only recourse once it's in this state is to hard power cycle.

I'm happy to try and help debug further; I strongly prefer that
7.2-release/-stable doesn't include this behavior.

s.

- - - - -

U-Boot 2021.10 (Aug 14 2022 - 07:34:41 -0600)

DRAM:  948 MiB
RPI 3 Model B (0xa52082)
MMC:   mmc@7e202000: 0, mmcnr@7e300000: 1
Loading Environment from FAT... Unable to read "uboot.env" from mmc0:1...
In:    serial
Out:   vidconsole
Err:   vidconsole
Net:   No ethernet found.
starting USB...
Bus usb@7e980000: usb dr_mode not found
USB DWC2
scanning bus usb@7e980000 for devices... 3 USB Device(s) found
       scanning usb for storage devices... 0 Storage Device(s) found
Hit any key to stop autoboot:  0
switch to partitions #0, OK
mmc0 is current device
Scanning mmc 0:1...
libfdt fdt_check_header(): FDT_ERR_BADMAGIC
Scanning disk [email protected]...
Card did not respond to voltage select! : -110
Scanning disk [email protected]...
Disk [email protected] not ready
Found 3 disks
Missing RNG device for EFI_RNG_PROTOCOL
No EFI system partition
BootOrder not defined
EFI boot manager: Cannot load any image
Found EFI removable media binary efi/boot/bootaa64.efi
208243 bytes read in 16 ms (12.4 MiB/s)
libfdt fdt_check_header(): FDT_ERR_BADMAGIC
Booting /efi\boot\bootaa64.efi
disks: sd0*
>> OpenBSD/arm64 BOOTAA64 1.12
boot>
booting sd0a:/bsd: 9728880+2393576+267480+835344
[709364+91+1152744+677225]=0x1179698
[ using 2540208 bytes of bsd ELF symbol table ]
Copyright (c) 1982, 1986, 1989, 1991, 1993
        The Regents of the University of California.  All rights reserved.
Copyright (c) 1995-2022 OpenBSD. All rights reserved.
https://www.OpenBSD.org

OpenBSD 7.2 (GENERIC.MP) #1822: Sat Sep 17 00:50:23 MDT 2022
    [email protected]:/usr/src/sys/arch/arm64/compile/GENERIC.MP
real mem  = 970924032 (925MB)
avail mem = 906711040 (864MB)
random: good seed from bootblocks
mainbus0 at root: Raspberry Pi 3 Model B Rev 1.2
cpu0 at mainbus0 mpidr 0: ARM Cortex-A53 r0p4
cpu0: 32KB 64b/line 2-way L1 VIPT I-cache, 32KB 64b/line 4-way L1 D-cache
cpu0: 512KB 64b/line 16-way L2 cache
cpu0: CRC32,ASID16
cpu1 at mainbus0 mpidr 1: ARM Cortex-A53 r0p4
cpu1: 32KB 64b/line 2-way L1 VIPT I-cache, 32KB 64b/line 4-way L1 D-cache
cpu1: 512KB 64b/line 16-way L2 cache
cpu1: CRC32,ASID16
cpu2 at mainbus0 mpidr 2: ARM Cortex-A53 r0p4
cpu2: 32KB 64b/line 2-way L1 VIPT I-cache, 32KB 64b/line 4-way L1 D-cache
cpu2: 512KB 64b/line 16-way L2 cache
cpu2: CRC32,ASID16
cpu3 at mainbus0 mpidr 3: ARM Cortex-A53 r0p4
cpu3: 32KB 64b/line 2-way L1 VIPT I-cache, 32KB 64b/line 4-way L1 D-cache
cpu3: 512KB 64b/line 16-way L2 cache
cpu3: CRC32,ASID16
efi0 at mainbus0: UEFI 2.8
efi0: Das U-Boot rev 0x20211000
apm0 at mainbus0
simplefb0 at mainbus0: 656x416, 32bpp
wsdisplay0 at simplefb0 mux 1
wsdisplay0: screen 0-5 added (std, vt100 emulation)
"system" at mainbus0 not configured
"axi" at mainbus0 not configured
simplebus0 at mainbus0: "soc"
bcmclock0 at simplebus0
bcmmbox0 at simplebus0
bcmgpio0 at simplebus0
bcmaux0 at simplebus0
bcmdmac0 at simplebus0: DMA0 DMA2 DMA4 DMA5 DMA8 DMA9 DMA10 DMA11
bcmintc0 at simplebus0
pluart0 at simplebus0: rev 2, 16 byte fifo
pluart0: console
bcmsdhost0 at simplebus0: 250 MHz base clock
sdmmc0 at bcmsdhost0: 4-bit, sd high-speed, mmc high-speed, dma
dwctwo0 at simplebus0
bcmdog0 at simplebus0
bcmrng0 at simplebus0
bcmtemp0 at simplebus0
"local_intc" at simplebus0 not configured
sdhc0 at simplebus0
sdhc0: SDHC 3.0, 200 MHz base clock
sdmmc1 at sdhc0: 4-bit, sd high-speed, mmc high-speed
"firmware" at simplebus0 not configured
"power" at simplebus0 not configured
"mailbox" at simplebus0 not configured
"gpiomem" at simplebus0 not configured
"fb" at simplebus0 not configured
"vcsm" at simplebus0 not configured
"virtgpio" at simplebus0 not configured
"clocks" at mainbus0 not configured
"phy" at mainbus0 not configured
"arm-pmu" at mainbus0 not configured
agtimer0 at mainbus0: 19200 kHz
gpioleds0 at mainbus0: "led0"
"fixedregulator_3v3" at mainbus0 not configured
"fixedregulator_5v0" at mainbus0 not configured
"bootloader" at mainbus0 not configured
usb0 at dwctwo0: USB revision 2.0
scsibus0 at sdmmc0: 2 targets, initiator 0
sd0 at scsibus0 targ 1 lun 0: <SD/MMC, JB1RT, 0030> removable
sd0: 30528MB, 512 bytes/sector, 62521344 sectors
uhub0 at usb0 configuration 1 interface 0 "Broadcom DWC2 root hub" rev
2.00/1.00:
uhub1 at uhub0 port 1 configuration 1 interface 0 "Standard Microsystems
product 0x9514" rev 2.00/2.00 addr 2
bwfm0 at sdmmc1 function 1
manufacturer 0x02d0, product 0xa9a6 at sdmmc1 function 2 not configured
smsc0 at uhub1 port 1 configuration 1 interface 0 "Standard Microsystems
SMSC9512/14" rev 2.00/2.00 addr 3
smsc0: address b8:27:eb:6b:fa:be
ukphy0 at smsc0 phy 1: Generic IEEE 802.3u media interface, rev. 3: OUI
0x0001f0, model 0x000c
vscsi0 at root
scsibus1 at vscsi0: 256 targets
softraid0 at root
scsibus2 at softraid0: 256 targets
root on sd0a (99221aceceba5553.a) swap on sd0b dump on sd0b
WARNING: / was not properly unmounted
WARNING: CHECK AND RESET THE DATE!
gpio0 at bcmgpio0: 54 pins
bwfm0: address b8:27:eb:3e:af:eb

Reply via email to