This feature request will implement 802.11ax for 2.4GHz AccessPoints.
**Reasoning:**
Users in areas which are clogged with 2.4GHz AccessPoints usually experience very low throughput on their WiFi networks. Throughput may be as low as only a low single-digit number in megabytes per second on networks based on 802.11n.
Tests showed that by implementing 802.11ax for 2.4GHz can significantly increase throughput in such areas, reaching up to 5 times the speed as 802.11n would be capable of.
Where range is needed, another advantage over using a 6GHz AccessPoint would be the increased range and less signal dampening for 2.4GHz based WiFi networks.
**Testbeds:**
Suggested hardware is the same as detailed in https://vyos.dev/T6320.
TODOs:
`[x]` Acquire a suitable NIC and make a testbed
`[x]` Find a stable hostapd.conf for WiFi-6 at 2.4GHz
`[x]` Implement new settings to vyos-1x
`[x]` Test thoroughly and bugfixes
`[x]` Issue PR against upstream vyos-1x (https://github.com/vyos/vyos-1x/pull/4028)
`[o]` Issue PR against upstream vyos-documentation (https://github.com/vyos/vyos-documentation/pull/1551)
where:
`[ ]`: TODO; `[o]` in-the-works; `[x]` complete
**Configurations:**
Rough throughput measurements for 2.4GHz at 20MHz bandwidth:
| no walls | 10 - 20 MByte/s
| one wall | 10 - 20 MByte/s
| two walls | 5 - 15 MByte/s
Working hostapd configuration for 802.11ax on 2.4GHz:
```
### Autogenerated by interfaces_wireless.py ###
### hostapd.conf reference:
### https://w1.fi/cgit/hostap/tree/hostapd/hostapd.conf?h=hostap_2_10&id=cff80b4f7d3c0a47c052e8187d671710f48939e4
# Description: 802.11ax 2.4GHz
# User-friendly description of device; up to 32 octets encoded in UTF-8
device_name=802.11ax 2.4GHz
interface=wlan0
bridge=br0
wds_sta=1
driver=nl80211
logger_syslog=-1
logger_syslog_level=0
logger_stdout=-1
logger_stdout_level=0
country_code=DE
ieee80211d=1
ssid=test.ax
channel=11
hw_mode=g
ieee80211h=1
ieee80211ax=1
ieee80211w=0
beacon_prot=1
ht_capab=[40-INTOLERANT][TX-STBC][RX-STBC-2][HT20][HT40+][HT40-][SHORT-GI-20][SHORT-GI-40]
ieee80211n=1
he_6ghz_reg_pwr_type=0
op_class=81
he_bss_color=13
he_6ghz_rx_ant_pat=1
he_su_beamformer=1
he_su_beamformee=1
he_mu_beamformer=1
macaddr_acl=0
accept_mac_file=/run/hostapd/wlan0_station_accept.conf
deny_mac_file=/run/hostapd/wlan0_station_deny.conf
auth_algs=1
wpa=2
rsn_pairwise=CCMP CCMP-256 GCMP-256 GCMP
group_mgmt_cipher=AES-128-CMAC
wpa_key_mgmt=WPA-PSK WPA-PSK-SHA256
wpa_passphrase=super-dooper-secure-passphrase
tx_queue_data3_aifs=7
tx_queue_data3_cwmin=15
tx_queue_data3_cwmax=1023
tx_queue_data3_burst=0
tx_queue_data2_aifs=3
tx_queue_data2_cwmin=15
tx_queue_data2_cwmax=63
tx_queue_data2_burst=0
tx_queue_data1_aifs=1
tx_queue_data1_cwmin=7
tx_queue_data1_cwmax=15
tx_queue_data1_burst=3.0
tx_queue_data0_aifs=1
tx_queue_data0_cwmin=3
tx_queue_data0_cwmax=7
tx_queue_data0_burst=1.5
wme_enabled=1
wmm_enabled=1
wmm_ac_bk_cwmin=4
wmm_ac_bk_cwmax=10
wmm_ac_bk_aifs=7
wmm_ac_bk_txop_limit=0
wmm_ac_bk_acm=0
wmm_ac_be_aifs=3
wmm_ac_be_cwmin=4
wmm_ac_be_cwmax=10
wmm_ac_be_txop_limit=0
wmm_ac_be_acm=0
wmm_ac_vi_aifs=2
wmm_ac_vi_cwmin=3
wmm_ac_vi_cwmax=4
wmm_ac_vi_txop_limit=94
wmm_ac_vi_acm=0
wmm_ac_vo_aifs=2
wmm_ac_vo_cwmin=2
wmm_ac_vo_cwmax=3
wmm_ac_vo_txop_limit=47
wmm_ac_vo_acm=0
```
Proposed example VyOS configuration for 802.11ax on 2.4GHz:
```
vyos@wifi6# show interfaces wireless wlan0
capabilities {
he {
antenna-pattern-fixed
beamform {
multi-user-beamformer
single-user-beamformee
single-user-beamformer
}
bss-color 13
channel-set-width 81
}
ht {
40mhz-incapable
channel-set-width ht20
channel-set-width ht40+
channel-set-width ht40-
short-gi 20
short-gi 40
stbc {
rx 2
tx
}
}
}
channel 11
description "802.11ax 2.4GHz"
hw-id be:ef:de:ad:be:ef
mode ax
physical-device phy0
security {
wpa {
cipher CCMP
cipher CCMP-256
cipher GCMP-256
cipher GCMP
mode wpa2
passphrase super-dooper-secure-passphrase
}
}
ssid test.ax
type access-point
[edit]
vyos@wifi6#
```