WiFi channel sometimes jumps from 52 to another channel

Dear OpenWrt users,

I observe the following behavior. I have manually setup channel 52 to be used for 5GHz network. Out of the sudden WiFi channel is switched to 149! I have checked with WiFi scanner that this channel is really applied, so this is not a UI glitch. After modem reboot it is back to 52 as configured. This sudden switch happens rarely (approx once in a month), and I cannot find out why. The result very annoying as WiFi connection quality drops by 20% (because it selects the band with higher frequency).

Any ideas how to debug this problem? Thanks in advance!

Architecture: Atheros AR7161 rev 2
Firmware Version: OpenWrt 19.07.1 r10911-c155900f66 / LuCI openwrt-19.07 branch git-20.029.45734-adbbd5c


Google DFS channels

Channel 52 is a DFS channel

You can use it as long as weather radars and aircraft etc are not using it.
When your wifi detects a radar using the DFS channel it selects a non DFS channel.

1 Like

Thanks! Good to know that. Indeed, channel 149 turned out to be the first non-DFS channel in the list after 52 for Europe.

Probably would be a good idea to show DFS label in drop-down menu for channel selection so it gets more attention.

Found also another issue/suggestion: return to originally selected DFS channel after a timeout. If that one is properly implemented, I would probably not notice the jump.

If you try the auto channel it will pick the best channel for you.

How did you measure the quality drop?

From my experience (very subjective) that would be a worst scenario.

Again, subjective. First of all I look at number of bars on the WiFi icon. Normally I have 3 out of 5. When channel is switched to 149, I have 1 out of 5. I immediately feel this when working in Internet: images are loaded slower, I get dropped from voice chats, copying of files within local network results more reties.

Did you confirm that the devices did not connect to 2.4GHz band during the switch?

I confirm. I have disabled 2.4GHz adapter on the modem, so at the place I measure there is only 5Ghz network.

Hmm, ok thx. I was just trying to cover all the bases. I do use auto and all the channels available and never saw such a performance degradation. The channels are close to each other, so I did not expect them being higher or lower frequency would matter: there is very little difference relatively speaking.

Use a wifi scanner app

It is more likely a neighbour is using the degraded channel as well.

Selecting a free or less crowded channel will give better results

I did and it would work fine for a day or two and then several my neighbours' mesh nodes would move over into my channel. Using auto and DFS channels solved my problems.

Back to OP: the chances are your neighbour is on the same channel. You can use LuCI Wireless page to scan fo AP's around you and pick a good channel.

I see, i had a similar problem, Eventually I meet with the neighbours and we agreed on using fixed separate channels instead of auto channels which kept hopping channels ( oem firmware on neighbours) and got big improvement.

1 Like

Thanks for your feedback. I really appreciate! Well, there is an interference in channel 46, as I have also Google home (shown as Kitchen speaker n the chart below). The signal from the router is jumping around -80 (from -75 to -85 dBm where 75 is the best):

Once I've switched to channel 149 manually the signal becomes in average 8 dBm weaker. Some devices don't show the network with such a low signal at all. Note that at this channel range (132-161) I haven't seen any neightbour devices at all (they all leave at channel range 34-64 and the signal is reasonably weak):

The measurement was done from my mobile, which was laying on the table at the same position all the time. Kitchen speaker is Google Home device, which was not playing anything at the time of measurement.

By the way, any of you gentlemen have applied a fix for router to switch back to configured channel mentioned in the topic I've posted above? Namely:

# crontab -l
*/15 * * * * [[ $(uci get wireless.radio0.channel) -ne $(iw dev wlan0 info|awk '/channel/{print $2}') ]] && wifi down radio0 && sleep 2 && wifi up radio0

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