Fix for Linksys EA3500 with OpenWRT 2.4GHz Wifi not working


tl;dr:

In /etc/config/wireless, under the config wifi-device 'radio0' section, change the option hw_mode '11a' line to option hw_mode '11g' and restart. See the bottom of this post for an example.


Here is my thread on the OpenWRT forums.

I recently installed OpenWRT firmware on my Linksys EA3500 router so I could send WOL (Wake-on-LAN) packets to my PC to turn it on from outside of my local network. Everything worked great except for the 2.4GHz WiFi (radio0).

I looked through the system logs and found this:

# logread | grep radio0
...
radio0 (2030): Hardware does not support configured mode
radio0 (2030): wlan0: IEEE 802.11 Hardware does not support configured mode (2) (hw_mode in hostapd.conf)
radio0 (2030): Could not select hw_mode and channel. (-2)
...

The referenced hostapd.conf is actually /var/run/hostapd-phy0.conf which is automatically generated from /etc/config/wireless. If we look in /etc/config/wireless we see this configuration for radio0:

# cat /etc/config/wireless

config wifi-device 'radio0'
        option type 'mac80211'
        option path 'mbus/mbus:pcie-controller/pci0000:00/0000:00:01.0/0000:01:00.0'
        option hwmode '11a'
        option channel 'auto'

...

"IEEE 802.11 Hardware does not support configured mode (2) (hw_mode"

This error tells us that the WiFi device's wireless protocol (hw_mode/hwmode) has been improperly configured. As you can see from the configuration above, by default radio0 is incorrectly configured as a 5GHz radio with the 802.11a/n protocol (11a). To fix this we need to change the value to 11g to correctly configure the radio to use the 802.11b/g/n 2.4GHz protocol.

Specifically, we need to change the option hw_mode '11a' line to option hw_mode '11g' in /etc/config/wireless like so:

config wifi-device 'radio0'
        option type 'mac80211'
        option path 'mbus/mbus:pcie-controller/pci0000:00/0000:00:01.0/0000:01:00.0'
        option hwmode '11g'
        option channel 'auto'

Restart the router to cause /var/run/hostapd-phy0.conf to be regenerated from your new /etc/config/wireless.

Mike Moore

Read more posts by this author.

Austin, TX yo1.dog
comments powered by Disqus