2.4Ghz on Linksys WRT1900acs does not work

Hi!

I have a strange problem here. My 2.4Ghz wifi radio on the Linksys WRT1900acs does not work. I can configure and enable it without problems, but the ssid on multiple client devices is not shown. Therefore i can't connect to the network using this radio.

I just noted the problem recently after running my configuration for some years. I have an additional router/ap with 2.4Ghz wifi which acted unbeknownst to me as fallback (same ssids are used). I can't say for sure, if it ever worked.

Before posting here i tried updating openwrt. Currently i run openwrt-21.02 branch (git-21.231.26241-422c175) / OpenWrt 21.02.0 r16279-5cc0535800 . My wrt1900acs should act as dump ap.

Here is my configuration:

/etc/config/network:

config interface 'loopback'
	option device 'lo'
	option proto 'static'
	option ipaddr '127.0.0.1'
	option netmask '255.0.0.0'

config globals 'globals'
	option ula_prefix 'xxx::/48'

config device
	option name 'br-lan'
	option type 'bridge'
	list ports 'lan1'
	list ports 'lan2'
	list ports 'lan3'
	list ports 'lan4'

config interface 'lan'
	option device 'br-lan'
	option proto 'dhcp'

config device
	option name 'wan'
	option macaddr 'xxx'

config interface 'wan'
	option device 'wan'
	 option proto 'dhcp'

config interface 'wan6'
	option device 'wan'
	option proto 'dhcpv6'

/etc/config/wireless:

config wifi-device 'radio0'
	option type 'mac80211'
	option hwmode '11a'
	option path 'soc/soc:pcie/pci0000:00/0000:00:01.0/0000:01:00.0'
	option htmode 'VHT80'
	option country 'FR'
	option cell_density '0'
	option channel '56'

config wifi-iface 'default_radio0'
	option device 'radio0'
	option network 'lan'
	option mode 'ap'
	option macaddr 'xx'
	option ssid 'fast'
	option encryption 'psk2'
	option key 'xxx'

config wifi-device 'radio1'
	option type 'mac80211'
	option hwmode '11g'
	option path 'soc/soc:pcie/pci0000:00/0000:00:02.0/0000:02:00.0'
	option cell_density '0'
	option channel 'auto'
	option country 'DE'
	option legacy_rates '1'

config wifi-iface 'default_radio1'
	option device 'radio1'
	option network 'lan'
	option mode 'ap'
	option macaddr 'xxx'
	option ssid 'slow'
	option encryption 'psk2'
  	option key 'xxxx'


The 5Ghz wifi works as intended. But 2.4ghz with ssid slow seems to be not broadcasting at all. The ip of the bridge device is configured via dhcp from the main router/ap.

Status of the radio1 (2.4ghz) looks fine:


	"radio1": {
		"up": true,
		"pending": false,
		"autostart": true,
		"disabled": false,
		"retry_setup_failed": false,
		"config": {
			"hwmode": "11g",
			"path": "soc/soc:pcie/pci0000:00/0000:00:02.0/0000:02:00.0",
			"cell_density": 0,
			"channel": "auto",
			"country": "DE",
			"legacy_rates": true

I am playing around with the configuration for hours and can't get it to work. I am running out of ideas here. Is something something obviously from in my configuration?

Help would be really much appreciated.

Ok. Installed the stock firmware again. Same problem. I set the wrt1900acs to bridged mode. My main router assigns an ip to the wrt1900 route. I bring up 5ghz and 2.4ghz up. 5Ghz works. 2.4ghz shows up for some seconds (i run an wifi anlyzer on another linux machine). Then it disappears (db is shown with -110).
I think my hardware is broken.

Happy holidays.
Sorry to read about your Linksys router malfunction. Did your router 2.4 Ghz radio ever function with original stock firmware? Have you tried different power settings with 21.02? Do you have another compatible router which can be used to test this firmware and settings?

Best regards and happy holidays.

Hi Amat!

I wish you a happy new year 2022.

Did your router 2.4 Ghz radio ever function with original stock firmware?

I am not sure. The access point runs for more than two years with openwrt (version 17 i think it was). However, lately i noticed that some of my smarthome devices based on the esp32 microcontroller lost connection and didn't reconnect correctly. While debugging i noticed that this occurred when the esp32 devices connected to the 2.4Ghz network provided by my openwrt 1900acs ap/router. They connected and received an valid ip from my dhcp server, but were not responsive). To investigate further i renamed the 2.4 Ghz network and tried connecting with my mobile phone. I think the first attempt was successful, but i notice connection drops. So i started playing around with the channel setting. I also noticed, that my country code for the 2.4 Ghz network was wrong (FR instead of GR). So i changed that too even thought i later learned, that this is not a good idea for the mwlwifi driver. At some point i noticed, that the network does not appear anymore at all. Or only for a fraction of a second even though openwrt report that the network is up and running. So i thought it might be a bug and i started iteratively updating the firmware to version 21.02. But still no improvement. Than i tried the stock firmware. No luck either. Same error.

I operate under the assumption that when i upgrade or switch the firmware all settings are completely reverted? Or could i have accidentally destroyed the wifi card while i was playing around with the wifi settings, country code or channel?

I later learned, that mwlwifi has problems with the network card of the esp32 (see for example here: https://github.com/kaloz/mwlwifi/issues/278) So this problem might be totally unrelated to my current problem.

Have you tried different power settings with 21.02?

Yes. No luck.

Do you have another compatible router which can be used to test this firmware and settings?

No unfortunately not. My main router is a custom build linux machine.

For reference here the log entry when i start 2.4Ghz wifi:

Mon Jan  3 16:26:47 2022 daemon.notice netifd: Network device 'wlan1' link is up
Mon Jan  3 16:26:47 2022 kern.debug kernel: [326512.216124] ieee80211 phy1: change: 0xffffffff
Mon Jan  3 16:26:47 2022 daemon.notice netifd: Network device 'wlan1' link is down
Mon Jan  3 16:26:47 2022 kern.debug kernel: [326512.282541] ieee80211 phy1: change: 0x100
Mon Jan  3 16:26:47 2022 kern.debug kernel: [326512.294160] ieee80211 phy1: change: 0x42
Mon Jan  3 16:26:47 2022 daemon.notice netifd: Network device 'wlan1' link is up
Mon Jan  3 16:26:47 2022 kern.info kernel: [326512.419109] IPv6: ADDRCONF(NETDEV_CHANGE): wlan1: link becomes ready
Mon Jan  3 16:26:47 2022 daemon.notice hostapd: wlan1: interface state UNINITIALIZED->ENABLED
Mon Jan  3 16:26:47 2022 daemon.notice hostapd: wlan1: AP-ENABLED
Mon Jan  3 16:26:48 2022 daemon.notice netifd: Wireless device 'radio1' is now up
Mon Jan  3 16:26:50 2022 daemon.notice hostapd: wlan0: AP-STA-DISCONNECTED 9c:b6:d0:d5:78:91
Mon Jan  3 16:26:50 2022 daemon.info hostapd: wlan0: STA 9c:b6:d0:d5:78:91 IEEE 802.11: authenticated
Mon Jan  3 16:26:50 2022 daemon.info hostapd: wlan0: STA 9c:b6:d0:d5:78:91 IEEE 802.11: associated (aid 2)

I know this sounds obvious, but have you tried flashing the Linksys stock firmware and confirming the 2.4GHz radio works?

Yes. See above. Same problem. Thats why are wonder if some settings are written in the internal memory of the wifi card and are persistent independent from the firmware (openwrt or stock) is used.

I'm not convinced on the 5GHz radio showing FR and the 2.4GHz showing DE. Could you post back the results of the following command please?
iw reg get

Also have a look at the iw command in general here as there may be other useful commands like iw dev wlan1 station dump.

Let us know how you get on.

Hi willowen100!

Sorry for the late response. I was busy.

I'm not convinced on the 5GHz radio showing FR and the 2.4GHz showing DE. Could you post back the results of the following command please?

Yeah that was configured wrong but does not solve my problem. According to https://github.com/kaloz/mwlwifi/blob/master/README.md the country code should be left blank because the drive will choose it for me.

If i delete the country code from the /etc/config/wireless file, restart the router, iw reg get shows the following:

root@woodstock:~# iw reg get
global
country FR: DFS-ETSI
        (2400 - 2483 @ 40), (N/A, 20), (N/A)
        (5150 - 5250 @ 80), (N/A, 23), (N/A), NO-OUTDOOR, AUTO-BW
        (5250 - 5350 @ 80), (N/A, 20), (0 ms), NO-OUTDOOR, DFS, AUTO-BW
        (5470 - 5725 @ 160), (N/A, 26), (0 ms), DFS
        (5725 - 5875 @ 80), (N/A, 13), (N/A)
        (57000 - 66000 @ 2160), (N/A, 40), (N/A)

phy#1
country FR: DFS-ETSI
        (2400 - 2483 @ 40), (N/A, 20), (N/A)
        (5150 - 5250 @ 80), (N/A, 23), (N/A), NO-OUTDOOR, AUTO-BW
        (5250 - 5350 @ 80), (N/A, 20), (0 ms), NO-OUTDOOR, DFS, AUTO-BW
        (5470 - 5725 @ 160), (N/A, 26), (0 ms), DFS
        (5725 - 5875 @ 80), (N/A, 13), (N/A)
        (57000 - 66000 @ 2160), (N/A, 40), (N/A)

phy#0
country FR: DFS-ETSI
        (2400 - 2483 @ 40), (N/A, 20), (N/A)
        (5150 - 5250 @ 80), (N/A, 23), (N/A), NO-OUTDOOR, AUTO-BW
        (5250 - 5350 @ 80), (N/A, 20), (0 ms), NO-OUTDOOR, DFS, AUTO-BW
        (5470 - 5725 @ 160), (N/A, 26), (0 ms), DFS
        (5725 - 5875 @ 80), (N/A, 13), (N/A)
        (57000 - 66000 @ 2160), (N/A, 40), (N/A)

Seems like my wifi-card are hardcoded to country code FR (i read somewhere that is ok for this wifi card/driver).

But unfortunately i does not solve my problem. Using the program Vistumbler on my windows machine, i can see the 2.4Ghz blink on for < 10 seconds if channel 1 is configured. Than the wifi goes down and starts switching between active and dead. On the router i cannot see any suspicions log entrys. Stock firmware shows the same behaviour. Interestingly if i choose another channel, i don't see the ssid on my client pc at all.

Sounds like a hardware fault if both the stock Linksys firmware and OpenWrt are causing issues. You could try getting a warranty replacement as Linksys do offer a 5-year warranty on these devices. My original router had a non-working USB 3 port and they replaced it under it's hardware warranty.