Беспроводной адаптер на базе Ralink RT5572 не работает в режиме AP в диапазоне 5 ГГц с DFS
947
fortune_pickle
Задача:
Получите работу адаптера беспроводной локальной сети CSL USB 2.0 в режиме AP в диапазоне 5 ГГц в системе на основе Linux (в частности, Ubuntu 16.04.4 LTS, ядро 4.13). Адаптер USB основан на чипсете от Ralink, а именно RT5572, согласно выводу lsusbкоманды:
(...) Bus 001 Device 003: ID 148f:5572 Ralink Technology, Corp. RT5572 Wireless Adapter (...)
Проблема:
Я частично достиг своей цели: я могу установить адаптер в качестве точки доступа в диапазоне 5 ГГц для каналов 36, 38, ... до 48, установив переменную channelв hostapd.confфайле, как показано ниже.
Однако «более высокие» каналы не работают. Например, если я установил channel=52(или больше), установка AP завершится неудачно со следующими сообщениями об ошибках от hostapd:
hostapd: wlx24050f615114: IEEE 802.11 Configured channel (52) not found from the channel list of current mode (2) IEEE 802.11a hostapd: wlx24050f615114: IEEE 802.11 Hardware does not support configured channel
Обратите внимание, что ни один из каналов в «рабочем» диапазоне не требует обнаружения радара (т. Е. Требования DFS не требуется), как показано в результате iw listниже.
Может быть, поэтому каналы с требованиями DFS не работают? Мое предположение здесь, что макс. допустимое время CAC 0 мс блокирует каждую попытку обнаружения радара.
Могут быть дополнительные ограничения домена, «сгоревшие» в устройстве. Я знаю, что эта проблема может возникать с наборами микросхем Atheros (например, набором regdomain в прошивке / EEPROM), и что для этого есть обходные пути (например, как в этом примере ). Однако я не смог найти способ проверить, происходит ли то же самое с RT5572. Есть ли способ узнать, происходит ли это?
Кто-нибудь смог заставить каналы DFS работать с чипсетами Ralink (например, RT5572)?
1 ответ на вопрос
0
fortune_pickle
Я нашел дополнительную информацию, которая может ответить на мой собственный вопрос.
Я подтвердил это, проверив исходный код беспроводных драйверов в Linux, и заметил, что только ath*драйверы реализуют такие методы, как ieee80211_radar_detected(). Это может объяснить, почему hostapdнельзя установить значение канала в диапазоне DFS (от 52 до 140), когда используется чипсет RT5572 (примечание: Linux использует rt2800usbдрайвер для работы с RT5572).