Found the culprit. In reform-hw-setup the module mdio_mux_meson_g12a is removed and then loaded again but that workaround stopped working when somewhere between 6.17 and 6.18 that module started to be built as a built-in. I don’t know if I have time to investigate what exactly triggered this difference in behaviour. But CONFIG_MDIO_BUS_MUX_MESON_G12A=y was a setting since July 2023 and despite the “y” was built as a module. Now this changed and as it is a built-in now, the phy reset hack is no longer working. This was hard to notice because it turns out that the modprobe utility does not exit non-zero and prints nothing when trying to modprobe a built-in.
I have now set CONFIG_MDIO_BUS_MUX_MESON_G12A=m which means that mdio_mux_meson_g12a gets built as a module again. I also added code to the gitlab CI scripts which make sure that kernel/drivers/net/mdio/mdio-mux-meson-g12a.ko is part of the resulting package and fails otherwise. In the next reform-tools release, reform-hw-setup will have a change which first calls modinfo -n mdio_mux_meson_g12a and that fails if mdio_mux_meson_g12a is not a module. I will also add a similar check to reform-check. That way, this problem should not re-appear in the future and even if it does, should be easier to diagnose.
Those who want to try out 6.19 with working ethernet on a311d can put this into their apt sources.list:
deb [trusted=yes arch=arm64] https://source.mnt.re/reform/reform-debian-packages/-/jobs/19313/artifacts/raw/repo reform main
I just got this build installed on a BananaPi in a Reform the testing motherboard and its all working at the HQ! and I tested that wifi is working internally too.