Ralink RT5572-basierter WLAN-Adapter funktioniert nicht im AP-Modus im 5-GHz-Band mit DFS

1087
fortune_pickle

Zielsetzung:

Holen Sie sich einen CSL USB 2.0 WLAN-Adapter im AP-Modus im 5-GHz-Band, in einem Linux-basierten System (insbesondere Ubuntu 16.04.4 LTS, Kernel 4.13). Der USB-Adapter basiert auf einem Chipsatz von Ralink, nämlich RT5572, entsprechend der Ausgabe des lsusbBefehls:

(...) Bus 001 Device 003: ID 148f:5572 Ralink Technology, Corp. RT5572 Wireless Adapter (...) 

Problem:

Ich habe mein Ziel teilweise erreicht: Ich kann den Adapter im 5-GHz-Band für die Kanäle 36, 38, ... bis zu 48 einstellen, indem ich die Variable channelin der hostapd.confDatei setze, wie unten gezeigt.

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 

Höhere Kanäle funktionieren jedoch nicht. Wenn ich channel=52(oder größer) eingestellt habe, schlägt das AP-Setup beispielsweise mit folgenden Fehlermeldungen von hostapd fehl:

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 

Beachten Sie, dass keiner der Kanäle im Arbeitsbereich eine Radarerkennung erfordert (dh keine DFS-Anforderung), wie in der folgenden Ausgabe gezeigt 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 

Fragen:

  • Warum funktionieren die 5-GHz-Kanäle, die DFS benötigen, mit diesem Setup nicht?

Ich habe einige Verdächtigungen, aber keine Ahnung, wie ich sie verfolgen soll:

Die von der DFS-CAC-Zeit (Channel Availability Check) gemeldete Zeit iw reg getbeträgt 0 ms (siehe unten), während der angegebene Wert iw list60 Sekunden beträgt (wie oben gezeigt).

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) 

Kann es sein, dass Kanäle mit DFS-Anforderungen nicht funktionieren? Meine Annahme hier ist, dass max. zulässige CAC-Zeit von 0 ms blockiert jeden Versuch zur Radarerkennung.

Möglicherweise gibt es weitere behördliche Beschränkungen, die in das Gerät eingebrannt werden. Ich weiß, dass dieses Problem bei Atheros-Chipsätzen (z. B. in Firmware / EEPROM festgelegter Domänenname) auftreten kann und dass es Problemumgehungen gibt (z. B. wie in diesem Beispiel ). Ich konnte jedoch keinen Weg finden, um zu überprüfen, ob dies beim RT5572 der Fall ist. Gibt es eine Möglichkeit zu wissen, ob dies der Fall ist?

  • Hat jemand DFS-Kanäle dazu gebracht, mit Ralink-Chipsätzen (z. B. der RT5572) zu arbeiten?
0

1 Antwort auf die Frage

0
fortune_pickle

Ich habe einige weitere Informationen gefunden, die möglicherweise meine eigene Frage beantworten.

Nur wenige drahtlose Linux-Treiber unterstützen Dynamic Frequency Selection (DFS), nämlich 3: ath5k ath9kund ath10k. Diese Funktion wird in einer anderen Quelle als 'Automatic Channel Selection (ACS)' bezeichnet .

Ich habe dies bestätigt, indem ich den Quellcode von Wireless-Treibern in Linux untersucht habe und festgestellt habe, dass nur die ath*Treiber Methoden wie implementieren ieee80211_radar_detected(). Dies erklärt möglicherweise, warum hostapdder Kanal nicht auf einen Wert im DFS-Bereich (52 bis 140) eingestellt werden kann, wenn der RT5572-Chipsatz verwendet wird (Hinweis: Linux verwendet den rt2800usbTreiber, um mit dem RT5572 zu arbeiten).