Atheros AR9227 wireless broken after updating to 21.02.1

After updating to 21.02.1, Wirreles connectivity stopped working.
This happend to me on the FritzBox 7320 aswell as the FritzBox 7312. They both use the same wireless chipset (Atheros AR9227). the 7320 was one some 19.x version while the 7312 was on 18.x before upgrading. Sadly i dont know the exact version numbers.

Running the wifi command yields

[...]
"radio0": {
                "up": false,
                "pending": false,
                "autostart": true,
                "disabled": false,
                "retry_setup_failed": true,
                "config": {
                        "hwmode": "11g",
                        "path": "pci0000:00/0000:00:0e.0",
                        "htmode": "HT20",
                        "channel": "auto",
                        "legacy_rates": true,
                        "txpower": 20,
                        "cell_density": 0,
                        "disabled": false
                }
[...]

trying wifi up or uci set wireless.radio0.disabled='0' → uci commit did not fix anything. If you need any further command outputs, just ask.

did you reset your settings going to 21.02 ?

no. is there a way to avoid doing that?

if the wifi was migrated to ath79 (check installed kmods) from the old Atheros code/kmods, you might need to reset it, to get the wifi back.

might be useful/relevant Upgrading TL-WDR4300 ar71xx 19.07 to ath79 21.02

i only see

ath                    19040  3 ath9k,ath9k_common,ath9k_hw
ath9k                  97904  0
ath9k_common           12064  1 ath9k
ath9k_hw              349536  2 ath9k,ath9k_common
ath9k_pci_owl_loader    1984  0

ok, so that would be a no then :wink:

what doesn't work, exactly - "up": false, doesn't look promising, for sure.

i did a factory reset and it is working again. can i submit this as a bug somewhere even though i have little data?

Then it's probably because of the migration from swconfig to DSA, it requires a reset too.

The new kernel handles hardware buses differently thus there is a different "path" to the wifi chip. On first booting a new version it should detect the chip at its new path as an additional wifi-device (radio). The original radio configuration, now having a wrong path, will not work.

So you could go into /etc/config/wireless and change the new radioX to be radio 0, with its option path, deleting the old radio0.

But it is highly recommended to delete all configuration and start over instead. Some of the other paradigms in config files have changed and they are not always backward compatible.

1 Like