DFS Channels not working on WRT32X on snapshot

Am using a recent snapshot r8862-360efb1on my WRT32X and no DFS channel is working (also band c channels aren't being shown in the drop down list - its an EU model). I get the following errors in the syslog -

Wed Dec 26 20:42:00 2018 kern.info kernel: [ 2711.241639] device wlan0 entered promiscuous mode
Wed Dec 26 20:42:00 2018 daemon.notice hostapd: wlan0: interface state UNINITIALIZED->COUNTRY_UPDATE
Wed Dec 26 20:42:04 2018 daemon.notice hostapd: handle_probe_req: send failed
Wed Dec 26 20:42:04 2018 daemon.notice hostapd: handle_probe_req: send failed
Wed Dec 26 20:42:05 2018 daemon.notice hostapd: wlan0: interface state COUNTRY_UPDATE->HT_SCAN
Wed Dec 26 20:42:05 2018 kern.debug kernel: [ 2716.249542] ieee80211 phy0: change: 0x100
Wed Dec 26 20:42:05 2018 kern.debug kernel: [ 2716.258367] ieee80211 phy0: change: 0x60
Wed Dec 26 20:42:05 2018 kern.debug kernel: [ 2716.471366] ieee80211 phy0: change: 0x40
Wed Dec 26 20:42:06 2018 daemon.notice hostapd: wlan0: interface state HT_SCAN->DFS
Wed Dec 26 20:42:06 2018 daemon.notice hostapd: wlan0: DFS-CAC-START freq=5500 chan=100 sec_chan=1, width=2, seg0=114, seg1=0, cac_time=60s
Wed Dec 26 20:42:06 2018 daemon.err hostapd: DFS start_dfs_cac() failed, -1
Wed Dec 26 20:42:06 2018 daemon.err hostapd: Interface initialization failed
Wed Dec 26 20:42:06 2018 daemon.notice hostapd: wlan0: interface state DFS->DISABLED
Wed Dec 26 20:42:06 2018 daemon.notice hostapd: wlan0: AP-DISABLED
Wed Dec 26 20:42:06 2018 daemon.notice hostapd: wlan0: interface state DISABLED->DISABLED
Wed Dec 26 20:42:06 2018 daemon.notice hostapd: wlan0: AP-DISABLED
Wed Dec 26 20:42:06 2018 daemon.notice hostapd: wlan0: CTRL-EVENT-TERMINATING
Wed Dec 26 20:42:06 2018 daemon.err hostapd: hostapd_free_hapd_data: Interface wlan0 wasn't started

I've installed dd-wrt and that works fine on the dfs channels. Ive also installed latest stable releae and get the same issue - any ideas what's broken?

Thanks
Roger.

Check the results of iw list for a detailed overview (please use code boxes to paste them). While I'm not familiar with mvebu/ mwlwifi, but the third radio might be part of the problem here (iirc it's harcoded to a US regdom) and it would be interesting to see what happens if you disable (remove corresponding kernel modules, probably kmod-mwifiex-sdio and mwifiex-sdio-firmware). I do think to remember that mwlwifi didn't support DFS in the beginning, but I don't know about the current state of affairs.

Thanks - I need the second radio as I have smart light bulbs that wont work with the chip on the first radio. And I'm not sure why it all works ok in dd-wrt but not in openwrt as presumably they're using the same drivers?

iw info shows the band c channels as disabled (which they shouldn't be) but shows all of the DFS channels as available. Looks like I'm going to have to use dd-wrt for the foreseeable future.

I'm not saying that you need to keep the third radio disabled for all eternity, but it's really useful being able to identify the problematic component (is it a general DFS weakness with mwlwifi - or a regdom clash) to concentrate on.

ok have reinstalled openwrt, removed the drivers for the second radio and restarted the 5GHz radio and still no go on DFS channels. It works fine on DD-WRT so it must be something in the openwrt config or drivers.

Please share your wireless configuration (/etc/config/wireless) minus any personally identifiable data (e.g. passwords)

Here is the config file and Lantis if you can sort this and add the 2nd radio to Gargoyle I'll be back like a shot :wink:

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 legacy_rates '1'
	option channel '100'
	option htmode 'VHT160'

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 channel '1'
	option legacy_rates '1'

config wifi-device 'radio2'
	option type 'mac80211'
	option path 'platform/soc/soc:internal-regs/f10d8000.sdhci/mmc_host/mmc0/mmc0:0001/mmc0:0001:1'
	option hwmode '11g'
	option channel '6'
	option htmode 'HT20'
	option country 'DE'
	option legacy_rates '1'

config wifi-iface
	option device 'radio0'
	option mode 'ap'
	option ssid '##########'
	option network 'lan'
	option encryption 'psk2'
	option key '##########'

config wifi-iface
	option device 'radio1'
	option mode 'ap'
	option network 'lan'
	option encryption 'psk2'
	option key '##########'
	option ssid '##########'

config wifi-iface
	option device 'radio2'
	option mode 'ap'
	option ssid '##########'
	option network 'lan'
	option encryption 'psk2'
	option key '##########'


See the readme about DFS here.

So short of removing radio2, I think you need to remove the country setting for it entirely.
But I’m not 100% sure as I’ve never used radio2.

You might see radio2 in Gargoyle in the future, but it’s not high on my todo list currently. Keep an eye out though.

I removed all country options from all three radios. On first boot the 5ghz DFS check seemed to work but I got an error telling me channel 100 wasn't allowed in AP mode - which of course it is. On changing the channels DFS then stopped working again. There is definitely something wrong in the implementation on the WRT32X (oh and the allowable channels table was still incorrect for EU model).

I realise DD-wrt is a different code base but is there a reason it works perfectly in dd-wrt and not in openwrt other than code?