Задача:
Получите работу адаптера беспроводной локальной сети 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
, как показано ниже.
interface=wlx24050f615114
driver=nl80211
ssid=nikola-tesla
hw_mode=a
ieee80211n=1
ht_capab=HT40+
channel=48
country_code=PT
macaddr_acl=0
auth_algs=1 # 1=wpa, 2=wep, 3=both
wpa=2 # WPA2 only
wpa_key_mgmt=WPA-PSK
rsn_pairwise=CCMP
wpa_passphrase=xxxxxxxxxx
ignore_broadcast_ssid=0
logger_syslog=-1
logger_syslog_level=0
Однако «более высокие» каналы не работают. Например, если я установлю 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
ниже.
Band 2:
Bitrates (non-HT):
* 6.0 Mbps
* 9.0 Mbps
* 12.0 Mbps
* 18.0 Mbps
* 24.0 Mbps
* 36.0 Mbps
* 48.0 Mbps
* 54.0 Mbps
Frequencies:
* 5170 MHz [34] (disabled)
* 5180 MHz [36] (20.0 dBm)
* 5190 MHz [38] (20.0 dBm)
* 5200 MHz [40] (20.0 dBm)
* 5210 MHz [42] (20.0 dBm)
* 5220 MHz [44] (20.0 dBm)
* 5230 MHz [46] (20.0 dBm)
* 5240 MHz [48] (20.0 dBm)
* 5260 MHz [52] (20.0 dBm) (radar detection)
DFS state: usable (for 15263 sec)
DFS CAC time: 60000 ms
* 5280 MHz [56] (20.0 dBm) (radar detection)
DFS state: usable (for 15263 sec)
DFS CAC time: 60000 ms
* 5300 MHz [60] (20.0 dBm) (radar detection)
DFS state: usable (for 15263 sec)
DFS CAC time: 60000 ms
* 5320 MHz [64] (20.0 dBm) (radar detection)
DFS state: usable (for 15263 sec)
DFS CAC time: 60000 ms
Вопросы:
- Почему каналы 5 ГГц, требующие DFS, не работают с этой настройкой?
У меня есть некоторые подозрения, но я не знаю, как их исправить:
Время DFS CAC (проверка доступности канала), сообщаемое iw reg get
составляет 0 мс (показано ниже), а значение, указанное в iw list
составляет 60 с (как показано выше).
country PT: DFS-ETSI
(2402 - 2482 @ 40), (N/A, 20), (N/A)
(5170 - 5250 @ 80), (N/A, 20), (N/A)
(5250 - 5330 @ 80), (N/A, 20), (0 ms), DFS
(5490 - 5710 @ 160), (N/A, 27), (0 ms), DFS
(57000 - 66000 @ 2160), (N/A, 40), (N/A)
Может быть, поэтому каналы с требованиями DFS не работают? Мое предположение здесь, что макс. допустимое время CAC 0 мс блокирует каждую попытку обнаружения радара.
Могут быть дополнительные ограничения домена, «сгоревшие» в устройстве. Я знаю, что эта проблема может возникать с наборами микросхем Atheros (например, набором regdomain в прошивке /EEPROM), и что для этого есть обходные пути (например, как в этом примере). Однако я не смог найти способ проверить, происходит ли то же самое с RT5572. Есть ли способ узнать, происходит ли это?
- Кто-нибудь смог заставить каналы DFS работать с чипсетами Ralink (например, RT5572)?