# DF-5003 — truephy_attach "no media present" branch skips all media setup →
miibus_mediainit panics on the empty list (4th instance of the DF-4930 family)

## What

`truephy_attach()` has the standard family shape (truephy.c:170-176):

```c
	if ((sc->mii_capabilities & BMSR_MEDIAMASK) == 0 &&
	    (sc->mii_extcapabilities & EXTSR_MEDIAMASK) == 0)
		kprintf("no media present");          /* <-- adds NO media */
	else
		mii_phy_add_media(sc);
	...
	MIIBUS_MEDIAINIT(sc->mii_dev);            /* truephy.c:178 */
```

When the ET1011/ET1011C's BMSR reports no media bits and EXTSR reports no
extended media (faulty or malicious PHY-in-the-loop), no media entry is
ever added; `MIIBUS_MEDIAINIT` dispatches to `miibus_mediainit()`
(mii.c:227-245), whose terminal `ifmedia_set(&mii->mii_media, 0)`
panics — `panic("ifmedia_set")` (sys/net/if_media.c:174). Same sink as
DF-4930 (atphy), DF-4957 (ciphy), DF-4981 (jmphy) — **proven live on this
kernel by the DF-5001 hub replay** (../DF-5001/panic.txt: the walk from
mii.c:238-244 on an empty list → `panic: ifmedia_set`, guest down).

**truephy-specific pass-2 note:** the family leaf-fix pattern from
DF-4930 ("just call mii_phy_add_media() unconditionally") does NOT work
here — truephy always sets `MIIF_NOISOLATE` (truephy.c:157) and
`mii_phy_add_media()`'s IFM_NONE fallback is gated on MIIF_NOISOLATE
being CLEAR (mii_physubr.c:230-232), so an unconditional call still adds
nothing. The working fixes are (a) the **hub fix (DF-5001, recommended —
covers the whole family)** or (b) an explicit `ifmedia_add` in the
no-media branch (fix.diff here, mirroring DF-4957's ciphy fix).

## Reproduce

The sink is already proven on the guest kernel by the DF-5001 pack
(../DF-5001/: baseline `hw.miihub_fire=1` → panic + guest down;
`hw.miihub_fixcheck=1` → fixed walk survives). What cannot be exercised
on this guest is the *entry* into the branch: it requires an Agere
ET1011/ET1011C PHY (MII_PHYDESC(AGERE, ET1011/ET1011C), truephy.c:69-73)
whose ID registers match but whose BMSR/EXTSR media bits read zero — PHY
register behavior is not emulatable in QEMU. Hence `not_reproduced`
end-to-end (same classification as DF-4930/4957/4981).

## Fix

Primary: the DF-5001 hub fix (miibus_mediainit empty-list guard) — one
change covers every family member including this one. Leaf parity:
`fix.diff` (explicit IFM_NONE fallback via ifmedia_add; applies cleanly;
compiles under -Werror as a KLD source on the guest — fixcheck-build.log).
