Hostapd and wifi 6e

Hy.
I tried to use hostapd with a channel in 6ghz

The card wifi is a rz616 (mt 7922) with 6ghz :

          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:
                    * 5955 MHz [1] (23.0 dBm)
                    * 5975 MHz [5] (23.0 dBm)
                    * 5995 MHz [9] (23.0 dBm)
                    * 6015 MHz [13] (23.0 dBm)
                    * 6035 MHz [17] (23.0 dBm)
                    * 6055 MHz [21] (23.0 dBm)
                    * 6075 MHz [25] (23.0 dBm)
                    * 6095 MHz [29] (23.0 dBm)
                    * 6115 MHz [33] (23.0 dBm)
                    * 6135 MHz [37] (23.0 dBm)
                    * 6155 MHz [41] (23.0 dBm)
                    * 6175 MHz [45] (23.0 dBm)
                    * 6195 MHz [49] (23.0 dBm)
                    * 6215 MHz [53] (23.0 dBm)
                    * 6235 MHz [57] (23.0 dBm)
                    * 6255 MHz [61] (23.0 dBm)
                    * 6275 MHz [65] (23.0 dBm)
                    * 6295 MHz [69] (23.0 dBm)
                    * 6315 MHz [73] (23.0 dBm)
                    * 6335 MHz [77] (23.0 dBm)
                    * 6355 MHz [81] (23.0 dBm)
                    * 6375 MHz [85] (23.0 dBm)
                    * 6395 MHz [89] (23.0 dBm)
                    * 6415 MHz [93] (23.0 dBm)
                    * 6435 MHz [97] (disabled)

In a first time, i tried to use a channel in 5ghz :

country_code=FR
interface=wlan1
ssid=doudoo_diagbox
wpa_passphrase=12345678
hw_mode=a
ieee80211d=1
ieee80211h=1
ieee80211n=1
ieee80211ac=1
ieee80211ax=1
wmm_enabled=1
preamble=1
ht_capab=[LDPC][HT40+][HT40-][GF][SHORT-GI-20][SHORT-GI-40]
vht_capab=[MAX-MPDU-7991][RXLDPC][SHORT-GI-80][MAX-A-MPDU-LEN-EXP3][RX-ANTENNA->
vht_oper_chwidth=1
he_oper_chwidth=1
channel=36
vht_oper_centr_freq_seg0_idx=42
he_oper_centr_freq_seg0_idx=42
he_su_beamformer=1
he_su_beamformee=1
he_mu_beamformer=1
auth_algs=1
wpa=2
wpa_key_mgmt=WPA-PSK WPA-PSK-SHA256 SAE
rsn_pairwise=CCMP

And it works :

Station e0:d4:64:8e:1a:61 (on wlan1)
        inactive time:  612 ms
        rx bytes:       75427014
        rx packets:     88161
        tx bytes:       428212745
        tx packets:     304454
        tx retries:     0
        tx failed:      0
        rx drop misc:   0
        signal:         -59 [-59, -87] dBm
        signal avg:     -57 [-57, -87] dBm
        tx bitrate:     576.4 MBit/s 80MHz HE-MCS 5 HE-NSS 2 HE-GI 0 HE-DCM 0
        tx duration:    41439007 us
        rx bitrate:     144.1 MBit/s 80MHz HE-MCS 1 HE-NSS 2 HE-GI 0 HE-DCM 0
        rx duration:    4764512 us
        airtime weight: 256
        authorized:     yes
        authenticated:  yes
        associated:     yes
        preamble:       short
        WMM/WME:        yes
        MFP:            no
        TDLS peer:      no
        DTIM period:    2
        beacon interval:100
        short preamble: yes
        short slot time:yes
        connected time: 576 seconds
        associated at [boottime]:       2320.641s
        associated at:  1677881469816 ms
        current time:   1677882046076 ms

Here,the Hostapd’s config for 6ghz channel :

country_code=FR
interface=wlan1
ssid=doudoo_diagbox
wpa_passphrase=12345678
hw_mode=a
ieee80211d=1
ieee80211h=1
ieee80211n=1
ieee80211ac=1
ieee80211ax=1
wmm_enabled=1
preamble=1
ht_capab=[LDPC][HT40+][HT40-][GF][SHORT-GI-20][SHORT-GI-40]
#vht_capab=[MAX-MPDU-7991][RXLDPC][SHORT-GI-80][MAX-A-MPDU-LEN-EXP3][RX-ANTENNA->
#he_oper_chwidth=1
channel=1
#vht_oper_centr_freq_seg0_idx=42
he_oper_centr_freq_seg0_idx=7
he_su_beamformer=1
he_su_beamformee=1
he_mu_beamformer=1
auth_algs=1
wpa=2
wpa_key_mgmt=WPA-PSK WPA-PSK-SHA256 SAE
rsn_pairwise=CCMP

Here the error output :

# hostapd wlan1.conf
rfkill: Cannot open RFKILL control device
wlan1: interface state UNINITIALIZED->COUNTRY_UPDATE
Could not determine operating frequency
wlan1: interface state COUNTRY_UPDATE->DISABLED
wlan1: AP-DISABLED
wlan1: Unable to setup interface.
wlan1: interface state DISABLED->DISABLED
wlan1: AP-DISABLED
wlan1: CTRL-EVENT-TERMINATING
hostapd_free_hapd_data: Interface wlan1 wasn't started
nl80211: deinit ifname=wlan1 disabled_11b_rates=0

Can someone help me please :)?

Thank by advance

The 6GHz spectrum is a bit more regulated and I don’t believe you can just set the country_code in the hostapd.conf. Can you try setting adding

options cfg80211 ieee80211_regdom=FR
in a /etc/modprobe.d/cfg80211.conf

to see if it helps?

Hy
Thank you to answer me :slight_smile:

I use a Buildroot Linux, based on busybox.
I don’t have modprobe.d

But in a script on the boots, i launch the command Line : iw reg set FR .

IS it the same result?

no it needs to be set for the module. You should also be able to set it using a custom kernel commandline.

I load the module cfg80211 with option ieee80211_regdom=FR.

# modprobe cfg80211 ieee80211_regdom=FR
[  179.024573] cfg80211: Loading compiled-in X.509 certificates for regulatory d                                         atabase
[  179.032734] cfg80211: Loaded X.509 cert 'sforshee: 00b28ddf47aef9cea7'
# modprobe mt7921e
[  195.572910] mt7921e 0001:01:00.0: ASIC revision: 79220010
# [  195.668022] mt7921e 0001:01:00.0: HW/SW Version: 0x8a108a10, Build Time: 20221227123154a
[  195.668022]
[  195.691868] mt7921e 0001:01:00.0: WM Firmware Version: ____000000, Build Time: 20221227123243

But same result for Hostapd.

# hostapd wlan0.conf
rfkill: Cannot open RFKILL control device
wlan0: interface state UNINITIALIZED->COUNTRY_UPDATE
Could not determine operating frequency
wlan0: interface state COUNTRY_UPDATE->DISABLED
wlan0: AP-DISABLED
wlan0: Unable to setup interface.
wlan0: interface state DISABLED->DISABLED
wlan0: AP-DISABLED
wlan0: CTRL-EVENT-TERMINATING
hostapd_free_hapd_data: Interface wlan0 wasn't started
nl80211: deinit ifname=wlan0 disabled_11b_rates=0

Here my config :

country_code=FR
interface=wlan1
ssid=doudoo_diagbox
wpa_passphrase=12345678
hw_mode=a
ieee80211d=1
ieee80211h=1
ieee80211n=1
ieee80211ac=1
ieee80211ax=1
wmm_enabled=1
preamble=1
#ht_capab=[LDPC][HT40+][HT40-][GF][SHORT-GI-20][SHORT-GI-40]
#vht_capab=[MAX-MPDU-7991][RXLDPC][SHORT-GI-80][MAX-A-MPDU-LEN-EXP3][RX-ANTENNA>
#vht_oper_chwidth=1
he_oper_chwidth=1
channel=1
#vht_oper_centr_freq_seg0_idx=42
he_oper_centr_freq_seg0_idx=7
he_su_beamformer=1
he_su_beamformee=1
he_mu_beamformer=1
auth_algs=1
wpa=2
wpa_key_mgmt=WPA-PSK WPA-PSK-SHA256 SAE
rsn_pairwise=CCMP

What kernel version are you using?

6.1

https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git/tag/?h=v6.1

I think it’s compatible with 6ghz.

I have tried with wpa supplicant too :

# nano wpa_supplicant.conf
  GNU nano 6.0                  wpa_supplicant.conf
pmf=2
sae_pwe=1
network={
   mode=2
   ssid="doudoo"
   key_mgmt=SAE
   proto=RSN
   ieee80211w=2
   sae_password="12345678"
   pairwise=CCMP
   group=CCMP
   frequency=6015
}

# wpa_supplicant -i wlan0 -c wpa_supplicant.conf
Successfully initialized wpa_supplicant
rfkill: Cannot open RFKILL control device
[ 1873.309618] IPv6: ADDRCONF(NETDEV_CHANGE): wlan0: link becomes ready
wlan0: interface state UNINITIALIZED->ENABLED
wlan0: AP-ENABLED
wlan0: CTRL-EVENT-CONNECTED - Connection to 38:e7:c0:ff:f8:7b completed [id=0 id_str=]

But i don’t see the wireless network ssid in my smartphone.

Hy :slight_smile: I think i found the problem.

    Band 4:
            HE Iftypes: managed
                    HE MAC Capabilities (0x08011a000040):
                            +HTC HE Supported
                            Trigger Frame MAC Padding Duration: 2
                            OM Control
                            Maximum A-MPDU Length Exponent: 3
                            A-MSDU in A-MPDU
                    HE PHY Capabilities: (0x4c70ce120dc0b3064e3f00):
                            HE40/HE80/5GHz
                            HE160/5GHz
                            242 tone RUs/5GHz
                            Device Class: 1
                            LDPC Coding in Payload
                            HE SU PPDU with 1x HE-LTF and 0.8us GI
                            NDP with 4x HE-LTF and 3.2us GI
                            STBC Tx <= 80MHz
                            STBC Rx <= 80MHz
                            Full Bandwidth UL MU-MIMO
                            Partial Bandwidth UL MU-MIMO
                            DCM Max Constellation: 2
                            DCM Max Constellation Rx: 2
                            SU Beamformee
                            Beamformee STS <= 80Mhz: 3
                            Ng = 16 SU Feedback
                            Ng = 16 MU Feedback
                            Codebook Size SU Feedback
                            Codebook Size MU Feedback
                            Triggered CQI Feedback
                            Partial Bandwidth Extended Range
                            PPE Threshold Present
                            Power Boost Factor ar
                            HE SU PPDU & HE PPDU 4x HE-LTF 0.8us GI
                            20MHz in 40MHz HE PPDU 2.4GHz
                            20MHz in 160/80+80MHz HE PPDU
                            80MHz in 160/80+80MHz HE PPDU
                            DCM Max BW: 1
                            Longer Than 16HE SIG-B OFDM Symbols
                            Non-Triggered CQI Feedback
                            TX 1024-QAM
                            RX 1024-QAM
                            RX Full BW SU Using HE MU PPDU with Compression SIGB
                            RX Full BW SU Using HE MU PPDU with Non-Compression SIGB
                    HE RX MCS and NSS set <= 80 MHz
                            1 streams: MCS 0-11
                            2 streams: MCS 0-11
                            3 streams: not supported
                            4 streams: not supported
                            5 streams: not supported
                            6 streams: not supported
                            7 streams: not supported
                            8 streams: not supported
                    HE TX MCS and NSS set <= 80 MHz
                            1 streams: MCS 0-11
                            2 streams: MCS 0-11
                            3 streams: not supported
                            4 streams: not supported
                            5 streams: not supported
                            6 streams: not supported
                            7 streams: not supported
                            8 streams: not supported
                    HE RX MCS and NSS set 160 MHz
                            1 streams: MCS 0-11
                            2 streams: MCS 0-11
                            3 streams: not supported
                            4 streams: not supported
                            5 streams: not supported
                            6 streams: not supported
                            7 streams: not supported
                            8 streams: not supported
                    HE TX MCS and NSS set 160 MHz
                            1 streams: MCS 0-11
                            2 streams: MCS 0-11
                            3 streams: not supported
                            4 streams: not supported
                            5 streams: not supported
                            6 streams: not supported
                            7 streams: not supported
                            8 streams: not supported
                    PPE Threshold 0x39 0x1c 0xc7 0x71 0x1c 0x07
            HE Iftypes: AP
                    HE MAC Capabilities (0x00011a081044):
                            +HTC HE Supported
                            BSR
                            OM Control
                            Maximum A-MPDU Length Exponent: 3
                            BQR
                            A-MSDU in A-MPDU
                            OM Control UL MU Data Disable RX
                    HE PHY Capabilities: (0x0420ce120000a000000c00):
                            HE40/HE80/5GHz
                            LDPC Coding in Payload
                            NDP with 4x HE-LTF and 3.2us GI
                            STBC Tx <= 80MHz
                            STBC Rx <= 80MHz
                            Full Bandwidth UL MU-MIMO
                            Partial Bandwidth UL MU-MIMO
                            DCM Max Constellation: 2
                            DCM Max Constellation Rx: 2
                            Partial Bandwidth Extended Range
                            PPE Threshold Present
                            TX 1024-QAM
                            RX 1024-QAM
                    HE RX MCS and NSS set <= 80 MHz
                            1 streams: MCS 0-11
                            2 streams: MCS 0-11
                            3 streams: not supported
                            4 streams: not supported
                            5 streams: not supported
                            6 streams: not supported
                            7 streams: not supported
                            8 streams: not supported
                    HE TX MCS and NSS set <= 80 MHz
                            1 streams: MCS 0-11
                            2 streams: MCS 0-11
                            3 streams: not supported
                            4 streams: not supported
                            5 streams: not supported
                            6 streams: not supported
                            7 streams: not supported
                            8 streams: not supported

A part of the command line’s output : iw phy phy0 info

They are a part HE Iftypes: managed and for the AP mode : HE Iftypes: AP

And there is this int the part of AP :

                HE PHY Capabilities: (0x0420ce120000a000000c00):
                        HE40/HE80/5GHz

So i can’t use 6ghz and he 160mhz in ap mode :frowning:

Hey there, today I came across your post while trying to set up a 6GHz AP on a NetGear A8000.

Actually the HE PHY Capabilities showing no 6GHz seems to not really be relevant here.
I think you are just missing the op_class setting from your hostapd conf.

I am not done with testing but the following config snipped seems to successfully create a 6 GHz AP:

hw_mode=a
channel=57
ieee80211ax=1
wmm_enabled=1
op_class=131
ieee80211w=2
auth_algs=1
wpa=2
sae_password=password
wpa_key_mgmt=SAE
rsn_pairwise=CCMP

Note: You have to compile hostapd with CONFIG_SAE=y and you need wpa_key_mgmt=SAE because otherwise you will get the error Management frame protection is required in 6 GHz or Invalid AKM suite for 6 GHz.

2 Likes

Hy,
Thank you for your answer.

Thanks to your informations, i can launch Hostapd with 6ghz and 80mhz.

but i can’t connect my smartphone.

here the log of hostapd during connexion attempt :

hostapd wlan0.conf

rfkill: Cannot open RFKILL control device
wlan0: interface state UNINITIALIZED->COUNTRY_UPDATE
[ 1572.868469] IPv6: ADDRCONF(NETDEV_CHANGE): wlan0: link becomes ready
wlan0: interface state COUNTRY_UPDATE->ENABLED
wlan0: AP-ENABLED
wlan0: STA 12:b2:01:f5:a5:ca IEEE 802.11: authentication OK (open system)
wlan0: STA 12:b2:01:f5:a5:ca MLME: MLME-AUTHENTICATE.indication(12:b2:01:f5:a5:ca, OPEN_SYSTEM)
wlan0: STA 12:b2:01:f5:a5:ca MLME: MLME-DELETEKEYS.request(12:b2:01:f5:a5:ca)
wlan0: STA 12:b2:01:f5:a5:ca IEEE 802.11: authenticated
wlan0: STA 12:b2:01:f5:a5:ca WPA: No PMKSA cache entry found for SAE
wlan0: STA 12:b2:01:f5:a5:ca WPA: event 3 notification
wlan0: STA 12:b2:01:f5:a5:ca IEEE 802.1X: unauthorizing port
wlan0: STA 12:b2:01:f5:a5:ca IEEE 802.11: deauthenticated
wlan0: STA 12:b2:01:f5:a5:ca MLME: MLME-DEAUTHENTICATE.indication(12:b2:01:f5:a5:ca, 1)
wlan0: STA 12:b2:01:f5:a5:ca MLME: MLME-DELETEKEYS.request(12:b2:01:f5:a5:ca)
wlan0: STA 12:b2:01:f5:a5:ca IEEE 802.11: authentication OK (open system)
wlan0: STA 12:b2:01:f5:a5:ca MLME: MLME-AUTHENTICATE.indication(12:b2:01:f5:a5:ca, OPEN_SYSTEM)
wlan0: STA 12:b2:01:f5:a5:ca MLME: MLME-DELETEKEYS.request(12:b2:01:f5:a5:ca)
wlan0: STA 12:b2:01:f5:a5:ca IEEE 802.11: authenticated
wlan0: STA 12:b2:01:f5:a5:ca WPA: No PMKSA cache entry found for SAE
wlan0: STA 12:b2:01:f5:a5:ca WPA: event 3 notification
wlan0: STA 12:b2:01:f5:a5:ca IEEE 802.1X: unauthorizing port
wlan0: STA 12:b2:01:f5:a5:ca IEEE 802.11: deauthenticated
wlan0: STA 12:b2:01:f5:a5:ca MLME: MLME-DEAUTHENTICATE.indication(12:b2:01:f5:a5:ca, 1)
wlan0: STA 12:b2:01:f5:a5:ca MLME: MLME-DELETEKEYS.request(12:b2:01:f5:a5:ca)
wlan0: STA 12:b2:01:f5:a5:ca IEEE 802.11: authentication OK (open system)
wlan0: STA 12:b2:01:f5:a5:ca MLME: MLME-AUTHENTICATE.indication(12:b2:01:f5:a5:ca, OPEN_SYSTEM)
wlan0: STA 12:b2:01:f5:a5:ca MLME: MLME-DELETEKEYS.request(12:b2:01:f5:a5:ca)
wlan0: STA 12:b2:01:f5:a5:ca IEEE 802.11: authenticated
wlan0: STA 12:b2:01:f5:a5:ca WPA: No PMKSA cache entry found for SAE

Found the error :slight_smile:

Algo de secu

ieee80211w=2
auth_algs=3
wpa=2
wpa_key_mgmt=SAE
rsn_pairwise=CCMP
rsn_preauth=1
sae_require_mfp=1
sae_pwe=1
wpa_group_rekey=1800
group_cipher=CCMP
wpa_psk_radius=0

1 Like