DFS Making wifi changes very slow

Hi,

I have created a script to turn on and off internet access for a couple of different SSID's that my kids use.
I have a shortcut to the scripts on my phone.
Until a month or so ago, it used to make the changes & then reboot the wifi in just a few seconds.
Now though, it takes down all of the SSID's on that radio and takes just over a minute for them to start up again.
It seems to be that every time I run one of these scripts, it triggers 'DFS-CAC-START' which takes a full minute to complete.
I want to get it back to being very fast so I can turn individual SSID on and off without kicking everyone off the other SSID's as well.

Any ideas to stop it running the DFS each time would be great !

Below is the script I use to turn off and on the wifi. Triggering either leads to all SSID's going off for over a minute.
The script works by removing the particular SSID's from the lan network to which the internet is connected.

On script

/sbin/uci set wireless.wifinet2.network='lan'
/sbin/uci set wireless.wifinet3.network='lan'
/etc/init.d/network reload

Off script

/sbin/uci del wireless.wifinet3.network
/sbin/uci del wireless.wifinet2.network
/etc/init.d/network reload

UCI wireless setup (without passwords!)

wireless.radio0=wifi-device
wireless.radio0.type='mac80211'
wireless.radio0.hwmode='11a'
wireless.radio0.path='pci0000:00/0000:00:00.0'
wireless.radio0.htmode='VHT80'
wireless.radio0.country='GB'
wireless.radio0.channel='132'
wireless.radio1=wifi-device
wireless.radio1.type='mac80211'
wireless.radio1.hwmode='11g'
wireless.radio1.path='platform/ahb/18100000.wmac'
wireless.radio1.channel='auto'
wireless.radio1.country='GB'
wireless.wifinet2=wifi-iface
wireless.wifinet2.ssid='MCNet101'
wireless.wifinet2.encryption='psk2'
wireless.wifinet2.device='radio0'
wireless.wifinet2.mode='ap'
wireless.wifinet2.network='lan'
wireless.wifinet3=wifi-iface
wireless.wifinet3.ssid='OCNet101'
wireless.wifinet3.encryption='psk2'
wireless.wifinet3.device='radio0'
wireless.wifinet3.mode='ap'
wireless.wifinet3.network='lan'
wireless.wifinet4=wifi-iface
wireless.wifinet4.ssid='DCNet301'
wireless.wifinet4.encryption='psk2'
wireless.wifinet4.device='radio0'
wireless.wifinet4.mode='ap'
wireless.wifinet4.network='lan'
wireless.wifinet5=wifi-iface
wireless.wifinet5.ssid='DCNet302'
wireless.wifinet5.encryption='psk2'
wireless.wifinet5.device='radio1'
wireless.wifinet5.mode='ap'
wireless.wifinet5.network='lan'

If you use a non DFS channel, the DFS-CAC-START will be skipped.
Try channel 36-48.

2 Likes

The kernel must passively scan a DFS channel for potential radar interference for at least 60s, it has always done this and can't be sped up (aside from opting for a non-DFS channel). In case of potential DFS events, it can take even longer than that to settle on an unencumbered channel, this is by legally mandated design and not a bug.

1 Like

thanks so much - I changed to channel 48 and it is back to it's previous speedy self !
no more DFS scans :slight_smile:

1 Like

This is a legal requirement and cannot be sped up. DFS channel means that fw will listen for at least a minute and turn on the radio only if there is nothing "heard".

1 Like

This topic was automatically closed 10 days after the last reply. New replies are no longer allowed.