https://android.googlesource.com/platform/external/wpa_supplicant_8/+/master/src/drivers/driver_nl80211.c
-
/* crude heuristic */
-
if
(mode->channels[idx].freq
<
4000)
-
if
(mode->channels[idx].freq
==
2484)
-
mode->channels[idx].chan
=
14;
-
else
-
mode->channels[idx].chan
=
(mode->channels[idx].freq
-
2407)
/
5;
-
else
- mode->channels[idx].chan = mode->channels[idx].freq/5 - 1000;
this code should implement 4.9G support, if my wifi driver register 184 channel support, driver_nl80211.c will get negative channel,because of (4920/5) - 1000 = -16, i think this code should implement as following:
else if (mode->channel[idx].freq < 4999)
{
/* handle 4.9G */
/* 4920 -> 184 channel, 4940 -> 188 channel, 4960 -> 192 channel, 4980 -> 196 channel */
mode->channels[idx].chan = (mode->channels[idx].freq - 4000)/5;
}
else
{ /* handle 5G */
mode->channels[idx].chan
= mode->channels[idx].freq/5
-
1000;
}