[Solved] WRT1200AC, ac wireless stopped working

Hi, I have a WRT1200AC, and ac wireless stopped working. bgn still works. I can see the network on Android devices with good reception, but right after trying to connect the reception disappears.
The Wireless scan in Luci on ac does not find any network eventhough there are ac networks in the neighborhood.
Restart log of the interface looks good:

Tue Mar 19 15:21:17 2019 daemon.notice hostapd: wlan0: interface state ENABLED->DISABLED
Tue Mar 19 15:21:17 2019 daemon.notice hostapd: wlan0: AP-DISABLED
Tue Mar 19 15:21:17 2019 daemon.notice hostapd: wlan0: CTRL-EVENT-TERMINATING
Tue Mar 19 15:21:17 2019 daemon.notice hostapd: nl80211: deinit ifname=wlan0 disabled_11b_rates=0
Tue Mar 19 15:21:17 2019 kern.info kernel: [674529.197442] device wlan0 left promiscuous mode
Tue Mar 19 15:21:17 2019 kern.info kernel: [674529.202069] br-lan: port 4(wlan0) entered disabled state
Tue Mar 19 15:21:17 2019 kern.debug kernel: [674529.216869] ieee80211 phy0: change: 0x40
Tue Mar 19 15:21:17 2019 kern.debug kernel: [674529.324474] ieee80211 phy0: change: 0x100
Tue Mar 19 15:21:17 2019 daemon.notice netifd: Network device 'wlan0' link is down
Tue Mar 19 15:21:17 2019 user.notice mac80211: Failed command: iw phy phy0 set antenna all all
Tue Mar 19 15:21:17 2019 daemon.notice netifd: radio0 (2250): command failed: Not supported (-95)
Tue Mar 19 15:21:17 2019 user.notice mac80211: Failed command: iw phy phy0 set distance 0
Tue Mar 19 15:21:17 2019 daemon.err hostapd: Configuration file: /var/run/hostapd-phy0.conf
Tue Mar 19 15:21:17 2019 kern.debug kernel: [674529.790179] ieee80211 phy0: change: 0xffffffff
Tue Mar 19 15:21:17 2019 kern.info kernel: [674529.907301] IPv6: ADDRCONF(NETDEV_UP): wlan0: link is not ready
Tue Mar 19 15:21:17 2019 kern.info kernel: [674529.914385] br-lan: port 4(wlan0) entered blocking state
Tue Mar 19 15:21:17 2019 kern.info kernel: [674529.919837] br-lan: port 4(wlan0) entered disabled state
Tue Mar 19 15:21:17 2019 kern.info kernel: [674529.925411] device wlan0 entered promiscuous mode
Tue Mar 19 15:21:17 2019 kern.info kernel: [674529.930310] br-lan: port 4(wlan0) entered blocking state
Tue Mar 19 15:21:17 2019 kern.info kernel: [674529.935746] br-lan: port 4(wlan0) entered forwarding state
Tue Mar 19 15:21:17 2019 daemon.notice hostapd: wlan0: interface state UNINITIALIZED->COUNTRY_UPDATE
Tue Mar 19 15:21:17 2019 daemon.notice hostapd: wlan0: interface state COUNTRY_UPDATE->HT_SCAN
Tue Mar 19 15:21:17 2019 kern.debug kernel: [674529.941994] ieee80211 phy0: change: 0x100
Tue Mar 19 15:21:17 2019 kern.debug kernel: [674529.955077] ieee80211 phy0: change: 0x40
Tue Mar 19 15:21:18 2019 kern.debug kernel: [674530.178260] ieee80211 phy0: change: 0x40
Tue Mar 19 15:21:18 2019 kern.info kernel: [674530.348675] br-lan: port 4(wlan0) entered disabled state
Tue Mar 19 15:21:18 2019 daemon.notice hostapd: Switch own primary and secondary channel to get secondary channel with no Beacons from other BSSes
Tue Mar 19 15:21:18 2019 kern.debug kernel: [674530.398470] ieee80211 phy0: change: 0x40
Tue Mar 19 15:21:18 2019 kern.debug kernel: [674530.506584] ieee80211 phy0: change: 0x100
Tue Mar 19 15:21:18 2019 daemon.err hostapd: Using interface wlan0 with hwaddr 00:25:9c:13:f1:9f and ssid "BMO[ac]"
Tue Mar 19 15:21:18 2019 kern.debug kernel: [674530.582611] ieee80211 phy0: change: 0x100
Tue Mar 19 15:21:18 2019 kern.debug kernel: [674530.595671] ieee80211 phy0: change: 0x42
Tue Mar 19 15:21:18 2019 kern.debug kernel: [674530.704749] ieee80211 phy0: change: 0x40
Tue Mar 19 15:21:18 2019 kern.info kernel: [674530.890949] IPv6: ADDRCONF(NETDEV_CHANGE): wlan0: link becomes ready
Tue Mar 19 15:21:18 2019 kern.info kernel: [674530.897501] br-lan: port 4(wlan0) entered blocking state
Tue Mar 19 15:21:18 2019 kern.info kernel: [674530.902949] br-lan: port 4(wlan0) entered forwarding state
Tue Mar 19 15:21:18 2019 daemon.notice hostapd: wlan0: interface state HT_SCAN->ENABLED
Tue Mar 19 15:21:18 2019 daemon.notice hostapd: wlan0: AP-ENABLED
Tue Mar 19 15:21:18 2019 daemon.notice netifd: Network device 'wlan0' link is up

I played with Beacon Interval and DTIM, so I deleted all networks on that radio and tried to create from scratch with defaults.
How is the antenna configuration on this device, I guess the external antenna is ac 5GHz, while the internal one is 2,4GHz bgn?

What is the configuration of network and wireless?
cat /etc/config/network ; cat /etc/config/wireless

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

config globals 'globals'
	option ula_prefix 'fdbf:3a3a:8b07::/48'

config interface 'lan'
	option type 'bridge'
	option ifname 'eth0.1'
	option proto 'static'
	option netmask '255.255.255.0'
	option ip6assign '60'
	option ipaddr '192.168.8.101'
	option gateway '192.168.8.1'
	option delegate '0'
	option dns '192.168.8.1'

config interface 'wan'
	option ifname 'eth1.2'
	option proto 'dhcp'

config interface 'wan6'
	option ifname 'eth1.2'
	option proto 'dhcpv6'

config switch
	option name 'switch0'
	option reset '1'

config switch_vlan
	option device 'switch0'
	option vlan '1'
	option ports '0 1 2 3 5t'
	option vid '1'

config switch_vlan
	option device 'switch0'
	option vlan '2'
	option ports '4 6t'
	option vid '2'


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 country 'DE'
	option htmode 'VHT40'
	option legacy_rates '0'
	option beacon_int '200'
	option channel '120'

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 htmode 'HT20'
	option country 'DE'
	option legacy_rates '1'
	option channel '6'
	option beacon_int '200'

config wifi-iface
	option device 'radio1'
	option mode 'ap'
	option encryption 'psk2+ccmp'
	option key '#######################'
	option ssid 'BMO'
	option wpa_disable_eapol_key_retries '1'
	option dtim_period '3'
	option network 'lan'

config wifi-iface
	option device 'radio1'
	option mode 'ap'
	option dtim_period '3'
	option encryption 'psk2+ccmp'
	option key '#######################'
	option wpa_disable_eapol_key_retries '1'
	option ssid 'BMO[guest]'

config wifi-iface
	option device 'radio1'
	option mode 'ap'
	option ssid 'BANET'
	option dtim_period '3'
	option encryption 'psk2'
	option key '#######################'
	option wpa_disable_eapol_key_retries '1'
	option network 'lan'

config wifi-iface
	option device 'radio0'
	option mode 'ap'
	option ssid 'BMO[ac]'
	option network 'lan'
	option encryption 'psk2+ccmp'
	option key '#######################'

Channel 120 is in the DFS list. Run iw list to see the available non DFS and use one of those.

Hi DFS does not work proper in this driver. what is option dtim_period '3' ?
One more thing you can not change the cuntry code. You have to use what ever cuntry code your router defaults to. eg my router is from france so I have to use fr even tho I am in the UK if I change to GB the driver crashes.

Ok, I read what DFS means, "Dynamic Frequency Selection". Do you mean those frequencies tagged as "radar detection"?

# iw list 
Wiphy phy1
	max # scan SSIDs: 4
	max scan IEs length: 2242 bytes
	max # sched scan SSIDs: 0
	max # match sets: 0
	max # scan plans: 1
	max scan plan interval: -1
	max scan plan iterations: 0
	Retry short limit: 7
	Retry long limit: 4
	Coverage class: 0 (up to 0m)
	Device supports AP-side u-APSD.
	Device supports T-DLS.
	Available Antennas: TX 0 RX 0
	Supported interface modes:
		 * managed
		 * AP
		 * AP/VLAN
		 * monitor
		 * mesh point
	Band 1:
		Capabilities: 0x106f
			RX LDPC
			HT20/HT40
			SM Power Save disabled
			RX HT20 SGI
			RX HT40 SGI
			No RX STBC
			Max AMSDU length: 3839 bytes
			DSSS/CCK HT40
		Maximum RX AMPDU length 65535 bytes (exponent: 0x003)
		Minimum RX AMPDU time spacing: 4 usec (0x05)
		HT TX/RX MCS rate indexes supported: 0-15, 32
		VHT Capabilities (0x33813930):
			Max MPDU length: 3895
			Supported Channel Width: neither 160 nor 80+80
			RX LDPC
			short GI (80 MHz)
			SU Beamformer
			SU Beamformee
			RX antenna pattern consistency
			TX antenna pattern consistency
		VHT RX MCS set:
			1 streams: MCS 0-9
			2 streams: MCS 0-9
			3 streams: not supported
			4 streams: not supported
			5 streams: not supported
			6 streams: not supported
			7 streams: not supported
			8 streams: not supported
		VHT RX highest supported: 0 Mbps
		VHT TX MCS set:
			1 streams: MCS 0-9
			2 streams: MCS 0-9
			3 streams: not supported
			4 streams: not supported
			5 streams: not supported
			6 streams: not supported
			7 streams: not supported
			8 streams: not supported
		VHT TX highest supported: 0 Mbps
		Frequencies:
			* 2412 MHz [1] (20.0 dBm)
			* 2417 MHz [2] (20.0 dBm)
			* 2422 MHz [3] (20.0 dBm)
			* 2427 MHz [4] (20.0 dBm)
			* 2432 MHz [5] (20.0 dBm)
			* 2437 MHz [6] (20.0 dBm)
			* 2442 MHz [7] (20.0 dBm)
			* 2447 MHz [8] (20.0 dBm)
			* 2452 MHz [9] (20.0 dBm)
			* 2457 MHz [10] (20.0 dBm)
			* 2462 MHz [11] (20.0 dBm)
			* 2467 MHz [12] (20.0 dBm)
			* 2472 MHz [13] (20.0 dBm)
			* 2484 MHz [14] (disabled)
	valid interface combinations:
		 * #{ AP } <= 16, #{ mesh point } <= 1, #{ managed } <= 1,
		   total <= 16, #channels <= 1, radar detect widths: { 20 MHz (no HT), 20 MHz, 40 MHz, 80 MHz, 160 MHz }

	HT Capability overrides:
		 * MCS: ff ff ff ff ff ff ff ff ff ff
		 * maximum A-MSDU length
		 * supported channel width
		 * short GI for 40 MHz
		 * max A-MPDU length exponent
		 * min MPDU start spacing
Wiphy phy0
	max # scan SSIDs: 4
	max scan IEs length: 2247 bytes
	max # sched scan SSIDs: 0
	max # match sets: 0
	max # scan plans: 1
	max scan plan interval: -1
	max scan plan iterations: 0
	Retry short limit: 7
	Retry long limit: 4
	Coverage class: 0 (up to 0m)
	Device supports AP-side u-APSD.
	Device supports T-DLS.
	Available Antennas: TX 0 RX 0
	Supported interface modes:
		 * managed
		 * AP
		 * AP/VLAN
		 * monitor
		 * mesh point
	Band 2:
		Capabilities: 0x106f
			RX LDPC
			HT20/HT40
			SM Power Save disabled
			RX HT20 SGI
			RX HT40 SGI
			No RX STBC
			Max AMSDU length: 3839 bytes
			DSSS/CCK HT40
		Maximum RX AMPDU length 65535 bytes (exponent: 0x003)
		Minimum RX AMPDU time spacing: 4 usec (0x05)
		HT TX/RX MCS rate indexes supported: 0-15, 32
		VHT Capabilities (0x33813930):
			Max MPDU length: 3895
			Supported Channel Width: neither 160 nor 80+80
			RX LDPC
			short GI (80 MHz)
			SU Beamformer
			SU Beamformee
			RX antenna pattern consistency
			TX antenna pattern consistency
		VHT RX MCS set:
			1 streams: MCS 0-9
			2 streams: MCS 0-9
			3 streams: not supported
			4 streams: not supported
			5 streams: not supported
			6 streams: not supported
			7 streams: not supported
			8 streams: not supported
		VHT RX highest supported: 0 Mbps
		VHT TX MCS set:
			1 streams: MCS 0-9
			2 streams: MCS 0-9
			3 streams: not supported
			4 streams: not supported
			5 streams: not supported
			6 streams: not supported
			7 streams: not supported
			8 streams: not supported
		VHT TX highest supported: 0 Mbps
		Frequencies:
			* 5180 MHz [36] (20.0 dBm)
			* 5200 MHz [40] (20.0 dBm)
			* 5220 MHz [44] (20.0 dBm)
			* 5240 MHz [48] (20.0 dBm)
			* 5260 MHz [52] (20.0 dBm) (radar detection)
			* 5280 MHz [56] (20.0 dBm) (radar detection)
			* 5300 MHz [60] (20.0 dBm) (radar detection)
			* 5320 MHz [64] (20.0 dBm) (radar detection)
			* 5500 MHz [100] (26.0 dBm) (radar detection)
			* 5520 MHz [104] (26.0 dBm) (radar detection)
			* 5540 MHz [108] (26.0 dBm) (radar detection)
			* 5560 MHz [112] (26.0 dBm) (radar detection)
			* 5580 MHz [116] (26.0 dBm) (radar detection)
			* 5600 MHz [120] (26.0 dBm) (radar detection)
			* 5620 MHz [124] (26.0 dBm) (radar detection)
			* 5640 MHz [128] (26.0 dBm) (radar detection)
			* 5660 MHz [132] (26.0 dBm) (radar detection)
			* 5680 MHz [136] (26.0 dBm) (radar detection)
			* 5700 MHz [140] (26.0 dBm) (radar detection)
			* 5720 MHz [144] (disabled)
			* 5745 MHz [149] (13.0 dBm)
			* 5765 MHz [153] (13.0 dBm)
			* 5785 MHz [157] (13.0 dBm)
			* 5805 MHz [161] (13.0 dBm)
	valid interface combinations:
		 * #{ AP } <= 16, #{ mesh point } <= 1, #{ managed } <= 1,
		   total <= 16, #channels <= 1, radar detect widths: { 20 MHz (no HT), 20 MHz, 40 MHz, 80 MHz, 160 MHz }

	HT Capability overrides:
		 * MCS: ff ff ff ff ff ff ff ff ff ff
		 * maximum A-MSDU length
		 * supported channel width
		 * short GI for 40 MHz
		 * max A-MPDU length exponent
		 * min MPDU start spacing

As for the country code, I did not switch that, I'm in Germany, have set the code to DE, but not sure if the device is really german.

DTIM, yes, I played with that, but after deleting all SSIDs and creating a new one this should get the default value again?

Yes.

It should, but I don't see it in mine, so you better use wifi config to create the default /etc/config/wireless file.

I deleted all SSIDs on ac wifi again and did wifi config. Now the scanning finds neighbor networks again. So I can only use frequencies outside the radar detection because it is not working on my hardware?

Seems so. Normally when you select a DFS channel, the radio must also monitor for any active radars before transmitting.

Sorry, but why is this restriction? The WRT1200AC and its series is quite a standard Openwrt device. Does DFS work on Linksys stock firmware? Does any of the others WRT1900 or WRT3200 work in the complete ac range?
I mean in Germany there is almost the complete channel range 52 – 64 (5,25 – 5,35 GHz) and 100 – 140 (5,47 – 5,725 GHz) restricted for DFS I learned today. So there isn't much space anymore for non-DFS channels. I thought the switch to 5GHz would give more freedom on channels than over-populated 2,4GHz, but not auto-channel-hopping is required per design, while auto-channel on 2,4GHz is often discouraged from. If all clients do auto-hopping, the whole channel usage won't be more stable and everyone is hopping.

DFS means a mechanism to allow unlicensed devices to use the 5 GHz frequency bands already allocated to radar systems without causing interference to those radars. The concept of DFS is to have the unlicensed device detect the presence of a radar system on the channel they are using and, if the level of the radar is above a certain threshold, vacate that channel and select an alternate channel.

I actually meant, why is the restriction, that this important function doesn't work on my hardware? I can't even use half of the frequencies. Is that working on Linksys stock devices?

Maybe @tapper can explain it to you better, since he mentioned the improper driver.

It's been a while since I've used Linksys stock, but I'm almost positive that there wasn't even an option to select dfs channels on my wrt1200, meaning there was only 36-48 149-165.

Hi When I use the 5 ghz radio on my wrt1200acm I stick to chan 36. I am sorry I cant be of more help but the driver is by Marvell not OpenWrt we just include it in the build. To send a mesage to the bloke working on the driver go to that link and make a new issue. Link:

1 Like

-> https://github.com/kaloz/mwlwifi/issues/357

The DE region code is not recognized by mwlwifi. See here for more information. You will have to remedy this yourself at a driver level. The issue thread has more information on how.

DFS wasn't really available on any other model apart from the 3200ACM (88W8964 chipset) on the stock Linksys firmware. As a result, the 1200AC & 1900AC(S) has shaky support for it, but at least it is there and it is better than nothing. The radar pulse detection (perhaps only with the 88W8864 chipset as in the 1200AC and 1900AC(S)) has issues in that it is too sensitive/not calibrated correctly against background noise, because it was never intended by Linksys/Belkin to support DFS out of the box. Now, this calibration data or whatever that is causing it to give out false positive radar detection and thus give an unstable 5GHz DFS experience is probably within the proprietary firmware binary blob, and not available for public perusing like the driver interface/hooks as what is available on GitHub. This probably won't be fixed given that Linksys/Belkin will have to re-certify their hardware with the FCC and ETSI, and with 802.11AX coming soon - renders this to 'not happening'.

So for supporting DE region code I would need to patch the driver and recompile the kernel module?
Which region code is working, so I can just use that? EU seems to be available in your linked patch.

Does that mean, Linksys was solving this by just blocking the DFS channels on the WRT1200AC hardware, only providing the few non-DFS channels in the GUI? If so I wouldn't call that device ready for german or european market. Only solution would be to switch to a 3200ACM. I bought the WRT1200AC especially for the 5GHz functionality.
As there are not many 5GHz networks yet I could live with the few non-DFS channels, hoping that other future devices from better manufacturer in the neighborhood will have better support for 5GHz and will be using those DFS channels.

The EU country code does not exist. It is an ISO-reserved country code for special use on EU official business only. If you don't want to recompile the firmware, use the FR country code. I believe 0x30 (EU-ETSI) is tied to FR .

As for your second statement, I wouldn't say that Linksys was blocking it, it was just that the device was never certified for it - so they just never coded it in. While Linksys and mwlwifi share the same proprietary firmware, the driver-wrapper around the binary blob is different in the stock firmware. What's more, is that I'm not even sure if 802.11h (DFS and Transmit Power Control) is required to be 802.11ac certified. Plenty of (extremely cheap) dual-band ISP GPON fiber modem/router combos around my neighborhood (including mine) also don't show DFS availability. Presumably as cost-cutting and time-saving measures from the certification process. So you can say that it isn't ready for the German or European market, but it doesn't matter as long as they still remain Wi-Fi Alliance, ETSI, or FCC certified - if it's good enough for the regulators, it's good enough for the market.

It sucks, I know - but regulators have really cracked down on open source firmware and radios. The choice was locking down the entire router firmware or only locking down the radio, leading us to where we are now. Not being able to fix or add features like we used to be able to on ath9k/ar71xx/ath79. If your next device will still be a WiFi 802.11ac device, mt76 followed by the ath10k chipsets are more open and thus probably have a more stable 5GHz experience. But I'd strongly recommend mt76 since it has the smallest amount of stuff obfuscated by a proprietary radio firmware binary.

Any device recommendation for mt76?

I selected the FR country code now, with channel 140 (non DFS), but it's failing:

Thu Mar 21 15:15:09 2019 daemon.warn hostapd: wlan0: IEEE 802.11 Configured channel (140) not found from the channel list of current mode (2) IEEE 802.11a
Thu Mar 21 15:15:09 2019 daemon.warn hostapd: wlan0: IEEE 802.11 Hardware does not support configured channel
Thu Mar 21 15:15:09 2019 daemon.err hostapd: Could not select hw_mode and channel. (-3)
Thu Mar 21 15:15:09 2019 daemon.notice hostapd: wlan0: interface state COUNTRY_UPDATE->DISABLED
Thu Mar 21 15:15:09 2019 daemon.notice hostapd: wlan0: AP-DISABLED
Thu Mar 21 15:15:09 2019 daemon.err hostapd: wlan0: Unable to setup interface.
Thu Mar 21 15:15:09 2019 daemon.notice hostapd: wlan0: interface state DISABLED->DISABLED