v1.3.0 β Ethernet works π
[1.3.0] - 2026-06-24
Fixed
- On-board LAN9500A USB-Ethernet now works on mainline 6.12 π β the
long-standing "intermittent / never enumerates" problem is resolved. The
chip enumerates on every boot (0424:9e00βsmsc95xx β¦ eth0), the link comes
up at 100 Mbps/Full and passes traffic cleanly. Verified on hardware: 5/5
reboots all enumerate, 600 sustained pings at 0 % loss, 410 MB moved with
zero rx/tx/CRC/drop errors. Root cause was two combined bugs, both found by
stock-parity auditing against the factory Android kernel:- Patch 0012 (
mfd: omap-usb-host): mainline only enables the per-port
UTMI functional clock (usb_host_hs_utmi_pN_clkβ the L3INIT CLKCTRL
OPTFCLKEN gate) for TLL/HSIC port modes. An external-PHY (ehci-phy)
port falls through todefault:and never gets its clock, so the port-1 UTMI
link block ran unclocked (clk_summaryshowed it disabled) and the
controller never latched the downstream connect (PORTSC CCS stuck 0). Added
OMAP_EHCI_PORT_MODE_PHYto the clock enable/disable paths. - Patch 0006 (
usb: ehci-omap): stock'somap_ehci_soft_phy_reset(the
UHH softreset / gpio pulse / clock re-park / ULPI register burst) is not
the EHCI.resethook β it is a runtimeehci_hub_controlrecovery
handler that only fires when a port reset/resume times out, after a
device has connected. We were running that whole sequence at bring-up, which
blocked the very first connect. The.resethook is now a plain
ehci_setup()bring-up (the USB3320's reset defaults already put it in host
mode); the ULPI/UHH recovery helpers are retained for a future hub_control
hook.
- Patch 0012 (
Changed
- All kernel patch headers now carry
petronijus@bastla.com(was a work email /
placeholder).
Artifacts
nexusq-boot-v1.3.0.imgβ kernel-only change (the ethernet fix); flash to the
boot partition. The rootfs is unchanged from v1.2.0 β reuse
nexusq-rootfs-v1.2.0-sparse.imgfrom the v1.2.0 release.
Full Changelog: v1.2.0...v1.3.0