Доброго времени суток, ЛОР.
Заинтересовала недоступность 14го канала для сетей Wi-Fi 2.4Ghz. Как любой запретный плод, хочется попробовать.
Суть: через hostapd и network-manager не получается захостить на 14м канале. На других каналах - без проблем. Используется внешний адаптер поддерживающий данные каналы.
Пробовал:
iw reg set JP/VE - в системе регистрируется, вывод iw reg get даже после перезагрузки корректный.
hostapd.config простой:
interface=wlan1
driver=nl80211
ssid=14
hw_mode=b # Пробовал и g
channel=14
country_code=JP
При режиме мониторинга сменить канал на 14 получается.
При режиме хостинга - включается на первом.
Окружение:
Raspbian, armhf, bullseye ветка
hostapd 2.9 и собранный из исходников 2.10
Вопрос: что я делаю не так?
ОТВЕТ
У меня были адаптеры на чипе rtl8812au, для других тоже самое, по сути.
Всё дело крылось в драйвере. Поставил версию пониже(5.3.4) из репозитория - 14й заработал сразу, т.к. был включён в драйвер, но, что интересно, можно добавлять ещё кучу каналов, которых нет изначально, но это надо делать во множестве мест по коду. Так же подбирать страну с этими каналами или пропатчить политики, чтобы были все доступны.
Сам hostapd тоже можно пропатчить, чтобы поднимал т.д. на, к примеру, 14м канале не только в режиме b, но и в g - а это, на минутку, как все остальные полноценные в 2.4GHz. Патчи тоже нужно искать в интернете и адаптировать под сорцы hostapd. Я попробовал - сработало(Не осталось того, что можно выложить).
Килограммы дёгтя: это всё хорошо, что можно так патчить, редактировать, но многое в системе отказывается с этим работать:
- тот же iw dev не выводит ничего, когда у меня стоит 14й канал. Зато, iwconfig показывает чётко.
- network-manager тоже отказывается верить в 14й;
- nl80211, которым почти весь софт общается к ядру и обратно, может не понять и не пропустить с ошибкой -22 «Invalid argument».
- ??