Согласно стандарту [802.11-2012], существует более простой способ определить номер канала по частоте.В частности,
channel_center_frequency = channel_starting_frequency + 5 * channel_number
для диапазона 5G: channel_number
= 0, 1, ..., 200;channel_starting_frequency
= 5000 МГц.
Для диапазона 2,4 ГБ, channel_number
= 1, 2, ..., 13;channel_starting_frequency
= 2047 МГц.
Список всех частот канала можно найти на каналах WiFi
Перевод этого кода в код - см. iw
Источник:
int ieee80211_frequency_to_channel(int freq)
{
if (freq == 2484)
return 14;
if (freq < 2484)
return (freq - 2407) / 5;
return freq/5 - 1000;
}