I'm running OpenWRT as a router and wireless access point on an x86-64 box. This box has WAN and LAN Ethernet ports and two MT7921U USB wireless adapters. After upgrading from 24.10.7 to 25.12.5, my APs did not start. Computers on the wired LAN still had Internet access. I am booting ISO images built from the image builder, with configuration injected at build time, so this was not an in-place upgrade. The log contains several lines like:
Wed Jul 1 14:06:43 2026 daemon.notice netifd: wd5 (3467): wifi-scripts: Bug: PHY is undefined for device
Wed Jul 1 14:06:43 2026 daemon.notice netifd: wd2 (3526): wifi-scripts: Bug: PHY is undefined for device
with the parenthesized numbers changing each time (possibly pids?). The full log and contents of /etc/config/wireless are in this Gist due to forum post length limits.
I resolved the problem by adding option phy 'phy0' and 'phy1' to the wifi-device blocks in /etc/config/wireless. The /etc/config/wireless wiki page says the phy option is autodetected by default, but that autodetection seems to be broken in 25.12. I don't know whether the phys are consistently named phy0 and phy1. While they are the same model adapter, I have the 2.4GHz adapter in a USB 2 port so it doesn't generate USB 3 interference with itself. I am using the macaddr option to distinguish them in /etc/config/wireless.
There is a GitHub issue regarding the "PHY is undefined for device" message, with this merged PR apparently fixing it. There is a recent open PR also regarding phy names. But all of that is about phy names declared for appliance routers in /etc/board.json. I don't have a board.json in my image and I don't think it's generally used on x86. I also don't think my phys were actually renamed, considering that adding option phy 'phy0' worked.
Does the same thing happen if you just move what ports the adapters are in ? Whenever I migrate my vms to another device or move the port the adapter is in I usually have to edit /etc/config/wireless and fix up the path for radio0, usually by just copying the path from radio1. Obviously you have two so you'd probably see a new radio2 and radio3 and you'd need to fix up the path and remove the new entries.
Maybe after an upgrade yours got switched around or maybe you can get the new paths into the config with 'wifi config' or 'wifi reconf' etc etc
Config files may not work between new major versions. When you change major versions you should delete /etc/config/wireless and let the firstboot script build a new base config that follows the new syntax.
It is used and as of recently, it is being generated before kernel modules for your adaptor are loaded, so they do not get recognized. Take a look at this issue below