The WRT3200ACM supports DFS bands over 5GHz. Few wireless routers support these bands as they are to be shared to radar systems. Of course they need to be regulated before being put into commercial use. Here is where DFS comes into play.

Broken DFS on OpenWRT

While the original firmware from LinkSys might do the job good enough, the open-sourced version of the wireless driver, mwlwifi, has suffered a lot of performance and compatibility issues.

It is now middle of year 2019, the development seems to have stopped for this project. Certainly for the wireless chipset, Marvel 88W8964, at least.

I have, at some point, changed the country code for radio2/phy2, the auxiliary radio. According to the repo doc, once the country code of that device has been changed, DFS will no longer work unless fresh install.

My only option as to

opkg remove kmod-btmrvl kmod-mwifiex-sdio mwifiex-sdio-firmware

so that the country code will not be conflicted by the non-exist device.

Try DFS channels

After the removal of packages in previous section, DFS worked for a while (1-3 hours), but the channel was then switched to none-DFS channels.

hostapd: wlan0: DFS-RADAR-DETECTED freq=5280 ht_enabled=1 chan_offset=-1 chan_width=2 cf1=5270 cf2=0
daemon.notice hostapd: wlan0: DFS-NEW-CHANNEL freq=5180 chan=36 sec_chan=1 kernel: [ 6567.283442] ieee80211 phy0: radar detected by firmware kernel: [ 6567.868754] ieee80211 phy0: channel switch is done
kern.debug kernel: [ 6567.873589] ieee80211 phy0: change: 0x40 hostapd: wlan0: IEEE 802.11 driver had channel switch: freq=5180, ht=1, vht_ch=0x0, offset=1, width=2 (40 MHz), cf1=5190, cf2=0
daemon.notice hostapd: wlan0: AP-CSA-FINISHED freq=5180 dfs=0

A comment in the repo issues states,

DFS is incredibly sensitive and susceptible to false positives. It will try and attempt a channel switch usually 4-24 hours into operation - and even then it’d just throw you back to Ch. 36.

It also states the WRT3200ACM’s third radio, phy2 was designed to detect radar to enable stable DFS operation. It is so sad to see Marvel has pulled out from the open source community in supporting such features, alongside with many others, like MU-MIMO, 160MHz bandwidth AP mode and CPU frequency slow-down when idle.

Channels tried so far

I am using 4.14.63+2018-06-15-8683de8e-1 build installed from this.

AC mode, radio0, fallback means radar detected, switched to channel 36

channel width (MHz) result
100 40 fallback
140 40 fallback