OpenWRT WLAN FT-Konfiguration - Online generieren
Um meine WLAN-Einstellungen für OpenWrt schneller setzen zu können, habe ich einen Online-Wizard für das Erstellen der notwendigen Befehle zusammengestellt. Ziel des Setups ist der Aufbau einer gemeinsamen WLAN-Mobility-Domain für mehrere AccessPoints: damit das Roaming - FT (Fast Transition) - zwischen den Access Points ordentlich funktioniert. Als Hardware werden Access Points mit vorhandenem 2,4-GHz und 5GHz-Band vorausgesetzt. Die Befehle werden für die ersten beiden WLAN-Interfaces zusammengestellt, um zwischen den beiden Interfaces ein Band Steering zu ermöglichen. Beim Laden der Seite wird dazu rein im Browser eine zufällige Mobility-Domain und optional ein zufülliger 128-bit Key für die r0kh und r1kh - Keys erzeugt. Beim Anpassen des Formulars können die Bash-Kommandos über "Befehle neu zusammenstellen" aktualisiert werden.
Für bestimmte Einstellungen werden eigene Bash-Befehle verwendet damit die Einstellungen universell auf allen Access Points eingesetzt werden können. Die Mobility-Domain und das Password für die r0kh und r1kh-Keys werden rein im Browser generiert und es werden keine Informationen zum Webserver gesendet. Voraussetzt werden die Softwarepakete Wpad Full und Usteer. Die Settings überschreiben die Einstellungen des ersten WLAN Interfaces. Getestet mit OpenWrt Version 23.05.3.
WLAN Settings
Vorschlag wurde automatisch generiert)
ssh Terminal uci Befehle für das WLAN-Setup
#Wifi 0 und 1 aktivieren:
uci set wireless.radio0.disabled='0'
uci set wireless.radio0.country='DE'
uci set wireless.radio1.disabled='0'
uci set wireless.radio1.country='DE'
#siehe: https://openwrt.org/docs/guide-quick-start/basic_wifi
uci commit wireless
wifi reload
#WiFi Interface 0
uci set wireless.@wifi-iface[0].dtim_period=$(if [ $(uci get wireless.radio0.htmode | grep 'V') ]; then echo '3';else echo '1'; fi)
uci set wireless.@wifi-iface[0].ieee80211k='1'
uci set wireless.@wifi-iface[0].disassoc_low_ack='0'
uci set wireless.@wifi-iface[0].ieee80211r='1'
uci set wireless.@wifi-iface[0].ft_over_ds='0'
uci set wireless.@wifi-iface[0].reassociation_deadline='20000'
uci set wireless.@wifi-iface[0].bss_transition='1'
uci set wireless.@wifi-iface[0].mobility_domain='f834'
uci set wireless.@wifi-iface[0].wnm_sleep_mode='1'
uci set wireless.@wifi-iface[0].ft_psk_generate_local='1'
#WiFi Interface 1
uci set wireless.@wifi-iface[1].dtim_period=$(if [ $(uci get wireless.radio1.htmode | grep 'V') ]; then echo '3';else echo '1'; fi)
uci set wireless.@wifi-iface[1].ieee80211k='1'
uci set wireless.@wifi-iface[1].disassoc_low_ack='0'
uci set wireless.@wifi-iface[1].ieee80211r='1'
uci set wireless.@wifi-iface[1].ft_over_ds='0'
uci set wireless.@wifi-iface[1].reassociation_deadline='20000'
uci set wireless.@wifi-iface[1].bss_transition='1'
uci set wireless.@wifi-iface[1].mobility_domain='f834'
uci set wireless.@wifi-iface[1].wnm_sleep_mode='1'
uci set wireless.@wifi-iface[1].ft_psk_generate_local='1'
#Bitte die Einstellungen vor dem Commit mit dem Befehl uci changes kontrollieren:
uci changes
#Änderungen können mit folgendem Befehl rückgängig gemacht werden: rm -rf /tmp/.uci/
#Die Einstellungen können mit 'uci commit' gespeichert werden:
uci commit
#Gerät entweder neu starten, oder zumindest WiFi und Usteer neu laden:
wifi reload
/etc/init.d/usteer reload
Bitte vor dem Speichervorgang "uci commit" mit "uci changes" alle Änderungen kontrollieren. Die Befehle können einfach in eine SSH-Terminalverbindung (z.B. putty, Linux Shell, oder Windows Terminal) kopiert und ausgeführt werden. Für eine Verbindung zu den Access Points kann der Befehl: ssh root@ und die IP-Adresse verwendet werden:
PS C:\Users\LiBe> ssh root@192.168.1.1
root@192.168.1.1's password:
BSSIDs (MACs) aller APs auslesen (optional: bei Verwendung von r0kh und r1kh-Keys):
Wurde das WLAN noch nicht eingerichtet, können die MAC-Adressen der ersten 2 Interfaces mit folgendem Befehl ausgelesen werden:
cat /sys/class/net/wlan[01]/address
11:22:33:44:55:00
11:22:33:44:55:01
Sollte das WLAN bereits aktiviert worden sein, ändern sich die WLAN-Interfaces auf "phyx-ap0" und folgender Befehl zeigt die Adressen:
cat /sys/class/net/phy[01]-ap0/address
22:33:44:55:66:00
22:33:44:55:66:01
Für eine gemeinsame Mobilty-Domain ohne der Option: ft_psk_generate_local kann anhand aller MAC-Adressen der verwendeten AccessPoints ein FT-Setup zusammengestellt werden.
Informationen zu den verwendeten Einstellungen
- OpenWrt: Externe R0 und R1 Key Holder erzeugen - online
- Zusätzliche Informationen und Einstellungen, siehe auch: Unterbrechungsfreies WLAN: Roaming (Fast Transition)
{{percentage}} % positiv
DANKE für deine Bewertung!
Fragen / Kommentare
(sortiert nach Bewertung / Datum) [alle Kommentare(neueste zuerst)]
Tolle Anleitung allerdings sind mir 2 Kleinigkeiten aufgefallen. 1. usteer ist standardmäßig nicht installiert und muss erst als Paket installiert werden 2. mir hat es das Routing zerhauen bei der Config. Plötzlich hat der AP kein Internet mehr.
Kommando zurück für die Netzwerkconfig. Mein Noname AP mit MTK3943 Board wechselte bei jedem Reboot/restart des LAN Moduls die MAC Adresse auf eine Random Adresse und DHCP hatte ich vergessen zu deaktivieren :-(
Beitrag erstellt von Philipp
danke fürs Update
Beitrag erstellt von Bernhard
Hi, Jetzt ist mir aber was aufgefallen. Deine Config oben ist nur für die Erstellung einer SSID geeignet. Wenn man eine zweite SSID damit eintragen will werden die Einstellungen nämlich überschrieben der ursprünglichen SSID. Die genauen Befehle die stattdessen hier passen muss ich mir aber noch anschauen. Viele Grüße Philipp
Danke. Ich habe den Beitrag angepasst und erwähnt, dass die Einstellungen das erste Interface überschreiben.
Beitrag erstellt von Bernhard