Re: port-arm/60021: USB-only boot: uhub0 attaches but uhub1 never appears, no hotplug events; SD-boot sees hub+umass fine
Nick Hudson <[email protected]>
| Newsgroups | gmane.os.netbsd.bugs |
|---|---|
| Message-ID | <[email protected]> |
> On 4 Aug 2026, at 14:34, Taylor R Campbell <[email protected]> wrote: > >> Date: Sat, 21 Feb 2026 10:39:41 +0000 >> From: Nick Hudson <[email protected]> >> >> This is almost certainly that autoconf doesn't wait (long enough) for >> sub-ordintate hubs >> >> https://nxr.netbsd.org/xref/src/sys/dev/usb/uhub.c#880 >> >> 880 mutex_enter(&sc->sc_lock); >> 881 sc->sc_explorepending = false; >> 882 for (int i = 0; i < sc->sc_statuslen; i++) { >> 883 if (sc->sc_statuspend[i] != 0) { >> 884 memcpy(sc->sc_status, sc->sc_statuspend, >> 885 sc->sc_statuslen); >> 886 memset(sc->sc_statuspend, 0, sc->sc_statuslen); >> 887 usb_needs_explore(sc->sc_hub); >> 888 break; >> 889 } >> 890 } >> 891 mutex_exit(&sc->sc_lock); >> 892 if (sc->sc_first_explore) { >> 893 config_pending_decr(sc->sc_dev); >> 894 sc->sc_first_explore = false; >> 895 } > > I don't understand, doesn't it wait for subordinate hubs? Sure, but not long enough... > ... Maybe the > USB hub just doesn't report the device ready at first? Because there’s no guarantee (afaik) that the root hub will see the built-in hub immediately.