diff --git a/network/wifi.go b/network/wifi.go index 6c3c90e2..75483cc8 100644 --- a/network/wifi.go +++ b/network/wifi.go @@ -17,14 +17,18 @@ import ( ) func Dot11Freq2Chan(freq int) int { - if freq <= 2472 { + if freq <= 2472 { // 2.4 GHz Wi-Fi return ((freq - 2412) / 5) + 1 - } else if freq == 2484 { + } else if freq == 2484 { // Channel 14 special return 14 - } else if freq >= 5035 && freq <= 5865 { - return ((freq - 5035) / 5) + 7 - } else if freq >= 5875 && freq <= 5895 { - return 177 + } else if freq >= 5150 && freq <= 5850 { // 5 GHz Wi-Fi + if freq < 5270 { // Channels 36-48 + return ((freq - 5180) / 20) + 36 + } else { // Channels 149-165 + return ((freq - 5745) / 20) + 149 + } + } else if freq >= 5950 && freq <= 7115 { // 6 GHz Wi-Fi + return ((freq - 5950) / 5) + 1 } return 0 } @@ -38,6 +42,8 @@ func Dot11Chan2Freq(channel int) int { return ((channel - 7) * 5) + 5035 } else if channel == 177 { return 5885 + } else if channel >= 1 && channel <= 233 { + return ((channel - 1) * 5) + 5950 } return 0