Changes between Version 30 and Version 31 of expansion/gw16159


Ignore:
Timestamp:
09/03/2025 07:48:08 PM (3 days ago)
Author:
Blake Stewart
Comment:

WPA3 configurations + notes on mesh

Legend:

Unmodified
Added
Removed
Modified
  • expansion/gw16159

    v30 v31  
    352352[=#kernel-patches]
    353353=== Kernel Patches
    354 There is a small set of kernel patches from !MorseMicro which may improve the experience for 802.11ah for specific use cases. Gateworks has found these patches to be unnecessary for most use cases including AP, STA, and 802.11S MESH. These patches from !MorseMicro exist for several LTS kernels at https://github.com/MorseMicro/linux
     354There is a small set of kernel patches from !MorseMicro which may improve the experience for 802.11ah for specific use cases. Gateworks has found these patches to be unnecessary for most use cases including AP, STA, and 802.11s MESH. These patches from !MorseMicro exist for several LTS kernels at https://github.com/MorseMicro/linux
    355355
    356356Here is an evaluation of the various patches for a 6.6 kernel:
     
    461461 * [https://github.com/MorseMicro/hostap/blob/v1.14/hostapd_s1g_configuration.md hostapd_s1g_configuration]
    462462
    463 Example configurations:
    464  * infrastructure mode using WPA2:
     463
     464Below are examples for configuring WPA2/WPA3 AP + STA, along with WPA3 Mesh.
     465 * Infrastructure mode using WPA2:
    465466  - AP:
    466467{{{#!bash
    467 cat << EOF > hostapd_s1g.conf
     468cat << EOF > hostapd_s1g_wpa2.conf
    468469interface=wlan0
    469470logger_syslog=-1
     
    530531rsn_pairwise=CCMP
    531532EOF
    532 hostapd_s1g ./hostapd_s1g.conf -B
     533hostapd_s1g ./hostapd_s1g_wpa2.conf -B
    533534ifconfig wlan0 192.168.1.1
    534535iperf3 -s
     
    536537  * STA:
    537538{{{#!bash
     539#wpa_passphrase generates WPA2 wpa_supplicant configuration
    538540wpa_passphrase_s1g HaLow-WPA2 strongpassword123 > wpa_supplicant_s1g.conf
    539 wpa_supplicant_s1g -iwlan0 -c ./wpa_supplicant_s1g.conf &
     541#ensure wlan0 interface is up
     542ifconfig wlan0 up
     543#Start wpa_supplicant_s1g, send to background (replace & with -d for debug)
     544wpa_supplicant_s1g -i wlan0 -c ./wpa_supplicant_s1g.conf &
     545#assign static IP; DHCP is not part of this example
    540546ifconfig wlan0 192.168.1.128
    541547iperf3 -c 192.168.1.1
    542548}}}
    543  * 802.11s MESH using WPA3:
     549
     550 * Infrastructure mode using WPA3:
     551  * AP:
     552{{{#!bash
     553cat << EOF > hostapd_s1g_wpa3.conf
     554interface=wlan0
     555logger_syslog=-1
     556logger_syslog_level=2
     557logger_stdout=-1
     558logger_stdout_level=2
     559ctrl_interface=/var/run/hostapd
     560ctrl_interface_group=0
     561ssid=HaLow-WPA3
     562country_code=US
     563hw_mode=a
     564beacon_int=100
     565dtim_period=2
     566max_num_sta=255
     567rts_threshold=-1
     568fragm_threshold=-1
     569macaddr_acl=0
     570auth_algs=3
     571ignore_broadcast_ssid=0
     572wmm_enabled=1
     573wmm_ac_bk_cwmin=4
     574wmm_ac_bk_cwmax=10
     575wmm_ac_bk_aifs=7
     576wmm_ac_bk_txop_limit=0
     577wmm_ac_bk_acm=0
     578wmm_ac_be_aifs=3
     579wmm_ac_be_cwmin=4
     580wmm_ac_be_cwmax=10
     581wmm_ac_be_txop_limit=0
     582wmm_ac_be_acm=0
     583wmm_ac_vi_aifs=2
     584wmm_ac_vi_cwmin=3
     585wmm_ac_vi_cwmax=4
     586wmm_ac_vi_txop_limit=94
     587wmm_ac_vi_acm=0
     588wmm_ac_vo_aifs=2
     589wmm_ac_vo_cwmin=2
     590wmm_ac_vo_cwmax=3
     591wmm_ac_vo_txop_limit=47
     592wmm_ac_vo_acm=0
     593ieee80211ah=1
     594s1g_prim_chwidth=1
     595s1g_prim_1mhz_chan_index=0
     596s1g_capab=[SHORT-GI-ALL]
     597eapol_key_index_workaround=0
     598own_ip_addr=127.0.0.1
     599channel=28
     600op_class=71
     601#WPA3 / SAE configuration
     602wpa=2
     603wpa_key_mgmt=SAE
     604ieee80211w=2
     605sae_pwe=2
     606rsn_pairwise=CCMP
     607sae_password=HalowDemo123
     608EOF
     609#Start the AP with configuration in background.
     610#For quick (foreground) debugging, remove the -B flag
     611hostapd_s1g ./hostapd_s1g_wpa3.conf -B
     612#Configure static IP
     613ifconfig wlan0 192.168.1.1
     614#Start iperf3 server for connection testing
     615iperf3 -s
     616}}}
     617  * STA:
     618   {{{#!bash
     619#wpa_passphrase_s1g is only to create WPA2 configurations; create conf manually
     620cat << EOF > wpa_supplicant_s1g_wpa3.conf
     621update_config=1
     622
     623pmf=2
     624sae_pwe=1
     625network={
     626        ssid="HaLow-WPA3"
     627        key_mgmt=SAE
     628        pairwise=CCMP
     629        psk="strongpassword123"
     630}
     631EOF
     632
     633#Ensure interface is up
     634ifconfig wlan0 up
     635#Start wpa_supplicant_s1g, send to background (replace & with -d for debug)
     636wpa_supplicant_s1g -i wlan0 -c ./wpa_supplicant_s1g_wpa3.conf &
     637#Configure static IP, as dhcp is not present in example.
     638ifconfig wlan0 192.168.1.128
     639iperf3 -c 192.168.1.1
     640}}}
     641
     642
     643 * 802.11s Mesh using WPA3:
    544644{{{#!bash
    545645cat << EOF > wpa_supplicant_s1g.conf
     
    551651mesh_fwding=1
    552652network={
    553         ssid="HaLow-WPA3"
     653        ssid="HaLow-WPA3-Mesh"
    554654        key_mgmt=SAE
    555655        mode=5
     
    567667}
    568668EOF
     669ifconfig wlan0 up
    569670wpa_supplicant_s1g -iwlan0 -c wpa_supplicant_s1g.conf &
    570671}}}
     672
     673   * Note: wpa_supplicant_s1g automatically configures the interface type from 'managed' to 'mesh point' when configured for mesh. It is cleaner practice and recommended for production systems, to setup the interface as a mesh point explicitly.
     674{{{#!bash
     675#optional: delete wlan0 interface
     676iw dev wlan0 del
     677iw phy phy0 interface add mesh0 type mp
     678
     679#morse_cli sanity check
     680#morse_cli requires interface to talk to the driver; ensure interface is up
     681ifconfig mesh0 up
     682#morse_cli defaults to wlan0, so to use it we need to manually state -i mesh0
     683morse_cli -i mesh0 version
     684}}}
     685
    571686
    572687More information on mesh and 802.11s can be found on our [https://trac.gateworks.com/wiki/wireless/wifi/mesh mesh networks] wiki page.