OpenWRT WLAN FT configuration - Online generator
To be able to set my WLAN settings for OpenWrt more quickly, I have put together an online wizard for creating the necessary commands. The aim of the setup is to create a common WLAN mobility domain for several access points: so that roaming - FT (Fast Transition) - between the access points works properly. Access points with an existing 2.4 GHz and 5 GHz band are required as hardware. The commands are compiled for the first two WLAN interfaces to enable band steering between the two interfaces. When the page is loaded, a random mobility domain and optionally a random 128-bit key for the r0kh and r1kh keys are generated purely in the browser. When customizing the form, the bash commands can be updated via "Recompile commands".
Separate bash commands are used for certain settings so that the settings can be used universally on all access points. The mobility domain and the password for the r0kh and r1kh keys are generated purely in the browser and no information is sent to the web server. The Wpad Full and Usteer software packages are required. The settings overwrite the settings of the first WLAN interface. Tested with OpenWrt version 23.05.3
WLAN Settings
Proposal was generated automatically)
Compiled commands for the WLAN setup
#activate Wifi 0 and 1:
uci set wireless.radio0.disabled='0'
uci set wireless.radio0.country='DE'
uci set wireless.radio1.disabled='0'
uci set wireless.radio1.country='DE'
#see: 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='e6bb'
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='e6bb'
uci set wireless.@wifi-iface[1].wnm_sleep_mode='1'
uci set wireless.@wifi-iface[1].ft_psk_generate_local='1'
#Please check the settings before committing with the uci changes command:
uci changes
#Changes can be undone with the following command: rm -rf /tmp/.uci/
#The settings can be saved with 'uci commit':
uci commit
#Either restart the device, or at least reload WiFi and Usteer:
wifi reload
/etc/init.d/usteer reload
Please check all changes with “uci changes” before saving “uci commit”. The commands can simply be copied into an SSH terminal connection (e.g. putty, Linux Shell, or Windows Terminal) and executed. The command: ssh root@ and the IP address can be used to connect to the access points:
PS C:\Users\LiBe> ssh root@192.168.1.1
root@192.168.1.1's password:
Commit Show changes
uci changes
Undoing changes
Before the "commit", all pending changes can be discarded with the following command:
rm -rf /tmp/.uci/
Read out BSSIDs (MACs) of all APs (optional: when using r0kh and r1kh keys):
If the WLAN has not yet been set up, the MAC addresses of the first 2 interfaces can be read out with the following command:
cat /sys/class/net/wlan[01]/address
11:22:33:44:55:00
11:22:33:44:55:01
If the WLAN has already been activated, the WLAN interfaces change to "phyx-ap0" and the following command shows the addresses:
cat /sys/class/net/phy[01]-ap0/address
22:33:44:55:66:00
22:33:44:55:66:01
For a shared mobilty domain without the option: ft_psk_generate_local, an FT setup can be compiled using all MAC addresses of the AccessPoints used.
Information on the settings used
- OpenWrt: Generate external R0 and R1 key holders - online
- Additional information and settings, see also: Uninterrupted WLAN: Roaming (Fast Transition)
{{percentage}} % positive