morrownr / USB-WiFi

USB WiFi Adapter Information for Linux
2.75k stars 178 forks source link

Alfa AWUS036AXM / EDUP EP-AX1672 as 6GHz AP? #514

Open snaens opened 1 month ago

snaens commented 1 month ago

Hey all, I'd like to create an AP on 6GHz using a compact USB or PCIe module with external antennas. (It will be used for a robot in areas where 2.4 and 5GHz are saturated)

I read the Alfa AWUS036AXM (MT7921AUN) and EDUP EP-AX1672 (MT7921AU) are good candidates, but I can't find out if they can be used as an AP on 6GHz. Can someone clarify this? (send the output of iw list) I'm curious, because the the following 2 devices use the same chipset and neither work:

The Alfa AWUS036AXML (MT7921AUN) apparently doesn't like 6GHz AP mode (NO-IR). https://github.com/FinchSec/wifi-adapter-testing/Kali2023.1/iw-phy-info.txt#L511-L570

And in my tests a RZ608 (MT7921K) PCIe module didn't want to do 6GHz at all - iw list shows 'disabled' for all, no matter what country i set it to - note that I got it second-hand, no idea if it is some OEM stuff

iw list output ``` Wiphy phy0 wiphy index: 0 max # scan SSIDs: 4 max scan IEs length: 482 bytes max # sched scan SSIDs: 10 max # match sets: 16 Retry short limit: 7 Retry long limit: 4 Coverage class: 0 (up to 0m) Device supports AP-side u-APSD. Device supports T-DLS. Available Antennas: TX 0x3 RX 0x3 Configured Antennas: TX 0x3 RX 0x3 Supported interface modes: * managed * AP * AP/VLAN * monitor * P2P-client * P2P-GO Band 1: Capabilities: 0x9ff RX LDPC HT20/HT40 SM Power Save disabled RX Greenfield RX HT20 SGI RX HT40 SGI TX STBC RX STBC 1-stream Max AMSDU length: 7935 bytes No DSSS/CCK HT40 Maximum RX AMPDU length 65535 bytes (exponent: 0x003) Minimum RX AMPDU time spacing: No restriction (0x00) HT TX/RX MCS rate indexes supported: 0-15 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: (0x2270ce120dc0b306423f00): HE40/2.4GHz 242 tone RUs/2.4GHz 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 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 PPE Threshold 0x39 0x1c 0xc7 0x71 0x1c 0x07 EHT Iftypes: managed EHT MAC Capabilities (0x0000): EHT PHY Capabilities: (0x0000000000000000): EHT MCS/NSS: (0x): EHT bw=20 MHz, max NSS for MCS 0-7: Rx=0, Tx=0 EHT bw=20 MHz, max NSS for MCS 8-9: Rx=0, Tx=0 EHT bw=20 MHz, max NSS for MCS 10-11: Rx=0, Tx=0 EHT bw=20 MHz, max NSS for MCS 12-13: Rx=0, Tx=0 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: (0x0220ce120000a000000c00): HE40/2.4GHz 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 PPE Threshold 0x39 0x1c 0xc7 0x71 0x1c 0x07 EHT Iftypes: AP EHT MAC Capabilities (0x0000): EHT PHY Capabilities: (0x0000000000000000): EHT MCS/NSS: (0x): EHT bw=20 MHz, max NSS for MCS 0-7: Rx=0, Tx=0 EHT bw=20 MHz, max NSS for MCS 8-9: Rx=0, Tx=0 EHT bw=20 MHz, max NSS for MCS 10-11: Rx=0, Tx=0 EHT bw=20 MHz, max NSS for MCS 12-13: Rx=0, Tx=0 Frequencies: * 2412 MHz [1] (30.0 dBm) * 2417 MHz [2] (30.0 dBm) * 2422 MHz [3] (30.0 dBm) * 2427 MHz [4] (30.0 dBm) * 2432 MHz [5] (30.0 dBm) * 2437 MHz [6] (30.0 dBm) * 2442 MHz [7] (30.0 dBm) * 2447 MHz [8] (30.0 dBm) * 2452 MHz [9] (30.0 dBm) * 2457 MHz [10] (30.0 dBm) * 2462 MHz [11] (30.0 dBm) * 2467 MHz [12] (disabled) * 2472 MHz [13] (disabled) * 2484 MHz [14] (disabled) Band 2: Capabilities: 0x9ff RX LDPC HT20/HT40 SM Power Save disabled RX Greenfield RX HT20 SGI RX HT40 SGI TX STBC RX STBC 1-stream Max AMSDU length: 7935 bytes No DSSS/CCK HT40 Maximum RX AMPDU length 65535 bytes (exponent: 0x003) Minimum RX AMPDU time spacing: No restriction (0x00) HT TX/RX MCS rate indexes supported: 0-15 VHT Capabilities (0x339071b2): Max MPDU length: 11454 Supported Channel Width: neither 160 nor 80+80 RX LDPC short GI (80 MHz) TX STBC SU Beamformee MU Beamformee RX antenna pattern consistency TX antenna pattern consistency VHT RX MCS set: 1 streams: MCS 0-9 2 streams: MCS 0-9 3 streams: not supported 4 streams: not supported 5 streams: not supported 6 streams: not supported 7 streams: not supported 8 streams: not supported VHT RX highest supported: 0 Mbps VHT TX MCS set: 1 streams: MCS 0-9 2 streams: MCS 0-9 3 streams: not supported 4 streams: not supported 5 streams: not supported 6 streams: not supported 7 streams: not supported 8 streams: not supported VHT TX highest supported: 0 Mbps VHT extended NSS: supported 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: (0x4470ce120dc0b306423f00): HE40/HE80/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 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 PPE Threshold 0x39 0x1c 0xc7 0x71 0x1c 0x07 EHT Iftypes: managed EHT MAC Capabilities (0x0000): EHT PHY Capabilities: (0x0000000000000000): EHT MCS/NSS: (0x): EHT bw <= 80 MHz, max NSS for MCS 8-9: Rx=0, Tx=0 EHT bw <= 80 MHz, max NSS for MCS 10-11: Rx=0, Tx=0 EHT bw <= 80 MHz, max NSS for MCS 12-13: Rx=0, Tx=0 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 PPE Threshold 0x39 0x1c 0xc7 0x71 0x1c 0x07 EHT Iftypes: AP EHT MAC Capabilities (0x0000): EHT PHY Capabilities: (0x0000000000000000): EHT MCS/NSS: (0x): EHT bw <= 80 MHz, max NSS for MCS 8-9: Rx=0, Tx=0 EHT bw <= 80 MHz, max NSS for MCS 10-11: Rx=0, Tx=0 EHT bw <= 80 MHz, max NSS for MCS 12-13: Rx=0, Tx=0 Frequencies: * 5180 MHz [36] (23.0 dBm) * 5200 MHz [40] (23.0 dBm) * 5220 MHz [44] (23.0 dBm) * 5240 MHz [48] (23.0 dBm) * 5260 MHz [52] (24.0 dBm) (radar detection) * 5280 MHz [56] (24.0 dBm) (radar detection) * 5300 MHz [60] (24.0 dBm) (radar detection) * 5320 MHz [64] (24.0 dBm) (radar detection) * 5500 MHz [100] (24.0 dBm) (radar detection) * 5520 MHz [104] (24.0 dBm) (radar detection) * 5540 MHz [108] (24.0 dBm) (radar detection) * 5560 MHz [112] (24.0 dBm) (radar detection) * 5580 MHz [116] (24.0 dBm) (radar detection) * 5600 MHz [120] (24.0 dBm) (radar detection) * 5620 MHz [124] (24.0 dBm) (radar detection) * 5640 MHz [128] (24.0 dBm) (radar detection) * 5660 MHz [132] (24.0 dBm) (radar detection) * 5680 MHz [136] (24.0 dBm) (radar detection) * 5700 MHz [140] (24.0 dBm) (radar detection) * 5720 MHz [144] (24.0 dBm) (radar detection) * 5745 MHz [149] (30.0 dBm) * 5765 MHz [153] (30.0 dBm) * 5785 MHz [157] (30.0 dBm) * 5805 MHz [161] (30.0 dBm) * 5825 MHz [165] (30.0 dBm) * 5845 MHz [169] (27.0 dBm) (no IR) * 5865 MHz [173] (disabled) * 5885 MHz [177] (disabled) 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: (0x4470ce120dc0b306423f00): HE40/HE80/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 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 PPE Threshold 0x39 0x1c 0xc7 0x71 0x1c 0x07 EHT Iftypes: managed EHT MAC Capabilities (0x0000): EHT PHY Capabilities: (0x0000000000000000): EHT MCS/NSS: (0x): EHT bw <= 80 MHz, max NSS for MCS 8-9: Rx=0, Tx=0 EHT bw <= 80 MHz, max NSS for MCS 10-11: Rx=0, Tx=0 EHT bw <= 80 MHz, max NSS for MCS 12-13: Rx=0, Tx=0 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 PPE Threshold 0x39 0x1c 0xc7 0x71 0x1c 0x07 EHT Iftypes: AP EHT MAC Capabilities (0x0000): EHT PHY Capabilities: (0x0000000000000000): EHT MCS/NSS: (0x): EHT bw <= 80 MHz, max NSS for MCS 8-9: Rx=0, Tx=0 EHT bw <= 80 MHz, max NSS for MCS 10-11: Rx=0, Tx=0 EHT bw <= 80 MHz, max NSS for MCS 12-13: Rx=0, Tx=0 Frequencies: * 5955 MHz [1] (disabled) * 5975 MHz [5] (disabled) * 5995 MHz [9] (disabled) * 6015 MHz [13] (disabled) * 6035 MHz [17] (disabled) * 6055 MHz [21] (disabled) * 6075 MHz [25] (disabled) * 6095 MHz [29] (disabled) * 6115 MHz [33] (disabled) * 6135 MHz [37] (disabled) * 6155 MHz [41] (disabled) * 6175 MHz [45] (disabled) * 6195 MHz [49] (disabled) * 6215 MHz [53] (disabled) * 6235 MHz [57] (disabled) * 6255 MHz [61] (disabled) * 6275 MHz [65] (disabled) * 6295 MHz [69] (disabled) * 6315 MHz [73] (disabled) * 6335 MHz [77] (disabled) * 6355 MHz [81] (disabled) * 6375 MHz [85] (disabled) * 6395 MHz [89] (disabled) * 6415 MHz [93] (disabled) * 6435 MHz [97] (disabled) * 6455 MHz [101] (disabled) * 6475 MHz [105] (disabled) * 6495 MHz [109] (disabled) * 6515 MHz [113] (disabled) * 6535 MHz [117] (disabled) * 6555 MHz [121] (disabled) * 6575 MHz [125] (disabled) * 6595 MHz [129] (disabled) * 6615 MHz [133] (disabled) * 6635 MHz [137] (disabled) * 6655 MHz [141] (disabled) * 6675 MHz [145] (disabled) * 6695 MHz [149] (disabled) * 6715 MHz [153] (disabled) * 6735 MHz [157] (disabled) * 6755 MHz [161] (disabled) * 6775 MHz [165] (disabled) * 6795 MHz [169] (disabled) * 6815 MHz [173] (disabled) * 6835 MHz [177] (disabled) * 6855 MHz [181] (disabled) * 6875 MHz [185] (disabled) * 6895 MHz [189] (disabled) * 6915 MHz [193] (disabled) * 6935 MHz [197] (disabled) * 6955 MHz [201] (disabled) * 6975 MHz [205] (disabled) * 6995 MHz [209] (disabled) * 7015 MHz [213] (disabled) * 7035 MHz [217] (disabled) * 7055 MHz [221] (disabled) * 7075 MHz [225] (disabled) * 7095 MHz [229] (disabled) * 7115 MHz [233] (disabled) valid interface combinations: * #{ managed, P2P-client } <= 2, #{ AP, P2P-GO } <= 1, total <= 2, #channels <= 2 HT Capability overrides: * MCS: ff ff ff ff ff ff ff ff ff ff * maximum A-MSDU length * supported channel width * short GI for 40 MHz * max A-MPDU length exponent * min MPDU start spacing max # scan plans: 1 max scan plan interval: 65535 max scan plan iterations: 0 Supported extended features: * [ RRM ]: RRM * [ SET_SCAN_DWELL ]: scan dwell setting * [ BEACON_RATE_LEGACY ]: legacy beacon rate setting * [ BEACON_RATE_HT ]: HT beacon rate setting * [ BEACON_RATE_VHT ]: VHT beacon rate setting * [ FILS_STA ]: STA FILS (Fast Initial Link Setup) * [ CQM_RSSI_LIST ]: multiple CQM_RSSI_THOLD records * [ CONTROL_PORT_OVER_NL80211 ]: control port over nl80211 * [ ACK_SIGNAL_SUPPORT ]: ack signal level support * [ TXQS ]: FQ-CoDel-enabled intermediate TXQs * [ CAN_REPLACE_PTK0 ]: can safely replace PTK 0 when rekeying * [ AIRTIME_FAIRNESS ]: airtime fairness scheduling * [ AQL ]: Airtime Queue Limits (AQL) * [ CONTROL_PORT_NO_PREAUTH ]: disable pre-auth over nl80211 control port support * [ SCAN_FREQ_KHZ ]: scan on kHz frequency support * [ CONTROL_PORT_OVER_NL80211_TX_STATUS ]: tx status for nl80211 control port support * [ BEACON_RATE_HE ]: HE beacon rate support (AP/mesh) ```

Through your iw list database I (finally) found a module that multiple sources confirm should be able to do 6GHz AP:
the QCNFA765 I may go buy one to find out.

bjlockie commented 1 month ago

My opinion is 6ghz is not ready for prime time on any platform. Too many countries haven't approved it yet.

Some people got the "disabled" channels to work. I don't know how, trial and error with country codes I think.

morrownr commented 1 month ago

Hi @snaens

I'd like to create an AP on 6GHz using a compact USB or PCIe module with external antennas.

Me too. We have seen many reports from users of adapters with mt7921au chips that have successfully created a 6 GHz AP. They were all in the EU with country codes like DE and FR. This tends to indicate the issue is regulatory and not with hardware of driver. Tell us what country you are in.

FYI: Recently there was one person that reported a 6 GHZ WiFi 7 AP with a mt7925 chip in the US. The report is here somewhere and I used some info from his report but I have been busy on other things.

The example hostapd.conf that I have up for WiFi 6 is in really good shape. What you might want to do is use WiFi 6 with the least congested channel you can find on either 2.4 or 5 GHz until such time as this is sorted out. Something to keep in mind given that you have a robotics project going is that the range drops off greatly with 6 GHz so it may not be the holy grail.

snaens commented 1 month ago

My opinion is 6ghz is not ready for prime time on any platform. Too many countries haven't approved it yet.

This is for a competition/research robot in an academic context, I mean someone has to try this stuff out, no? ;)

Ofc 6GHz needs work, but I don't mind bandwidth/hi-speed performance, we compress the heck out of our images anyway. Stability could be a snag though.

Some people got the "disabled" channels to work. I don't know how, trial and error with country codes I think.

I tried that, but I feel like my specific module may be locked-out. The RZ608 is often used by OEMs and as I said, I have no idea where mine came from.


Me too. We have seen many reports from users of adapters with mt7921au chips that have successfully created a 6 GHz AP. They were all in the EU with country codes like DE and FR. This tends to indicate the issue is regulatory and not with hardware of driver. Tell us what country you are in.

Conveniently I am in the country with the code DE ;)

I did however only run short-length tests. (tried many settings and kept restarting the module (OS: openWRT)) Does the mt7921 scan surrounding networks to check what county it is in?

FYI: Recently there was one person that reported a 6 GHZ WiFi 7 AP with a mt7925 chip in the US. The report is here somewhere and I used some info from his report but I have been busy on other things.

Yea I think I read that at some point, and promptly was confused when my modules (and those of some others on the net) straight up disabled or didn't support 6GHz. It really doesn't help that the only difference between modules with & without 6GHz support is a singular 'K' at the end 🙄 (MT7921K vs MT7921)

The example hostapd.conf that I have up for WiFi 6 is in really good shape.

I tried using it on OpenWRT on a Pi4 with my weird RZ608, but it always fails to initialize (illegal channel combination) and then shuts down. This is on channel 37 (worked for someone else here), with everything set correctly. iw list shows the channels as disabled, so I'm not surprised it's broken.

What you might want to do is use WiFi 6 with the least congested channel you can find on either 2.4 or 5 GHz until such time as this is sorted out.

So far we have been sneakily running on the top-end of the 5GHz spectrum, as many devices can't go that high and there are 1~2 free channels most of the time. As a compromise we are running on a single channel, so very low bandwidth.

This is usually fine, except we have 2 robots, and there is only really bandwidth for one. So they both work fine alone, but start lagging when they are both simultaneously in operation :/

We have no chance contesting for 'regular' channels, as we are in a sort of "antweight" challenge, and share the room/hall with univerity robots 10x our size, which all have crazy overpowered APs (sit behind one and you have no more signal kinda stuff)

Something to keep in mind given that you have a robotics project going is that the range drops off greatly with 6 GHz so it may not be the holy grail.

It is in a competition scenario. Think of it like a trade fair/convention where everyone has a high-power AP, but you can't have one. Point-blank range (<10m), insane congestion, people running ancient hardware on 2.4GHz. All things WiFi6 and 6GHz can improve/avoid.

If you actually wanted to use the robots long-range outdoors, you'd probably be using different bands and radios. Our specific competition only permits 802.11x anyway.


I'm going to try my RZ608 on more standard hardware on debian testing/trixie and see what happens. If it doesn't work I'll try my luck with the QCNFA765 and AWUS036AXM, I have to purchase then first though.

morrownr commented 1 month ago

Conveniently I am in the country with the code DE ;)

Cool. You should be up and running according to what I have read from others in DE.

it always fails to initialize (illegal channel combination) and then shuts down.

You do have WPA3 selected, right? It is required for band 4 (6 Ghz). Mixed won't work and WPA2 won't work.

I'll try my luck with the QCNFA765 and AWUS036AXM...

My favorite USB WiFi adapter in the WiFi 6, mt7921au, class is the Edup adapter as shown in the mt7921au section of the Plug and Play List. Darn good little adapter that has reasonable range, a decent price and seems to be widely available these days... make sure you get the right one. The model number is in the Plug and Play List.

snaens commented 1 month ago

it always fails to initialize (illegal channel combination) and then shuts down.

You do have WPA3 selected, right? It is required for band 4 (6 Ghz). Mixed won't work and WPA2 won't work.

Yep, I saw your comment in the conf :+1: It worked perfectly fine with 5GHz and WiFi 5 mode.

The x_oper_centr_freq_seg0_idx confused me a bit though - why can't the driver calculate this from the selected channel and channel width? I also couldn't get 40 MHz ch_width to work - it only did 20 and 80 MHz, maybe my module is at fault?

bjlockie wasn't kidding when they said WiFi 6 mode isn't ready: Setting the channel and ch_width in WiFi 6 doesn't work, but those settings are somewhat retained when switching from WiFi 5 to WiFi 6 mode mode. (I was trying to get it to run at the aforementioned 'high' channels)

FYI I switched modes by setting ieee80211xx=0 to disable either one.

My favorite USB WiFi adapter in the WiFi 6, mt7921au, class is the Edup adapter as shown in the mt7921au section of the Plug and Play List. Darn good little adapter that has reasonable range, a decent price and seems to be widely available these days... make sure you get the right one. The model number is in the Plug and Play List.

I went looking for that one, the EDUP EP-AX1672 at first, but you can't get it in Europe apparently. Alfa modules on the other hand are easily found.

So I either get the EDUP for ~45$ from the USA or the AWUS036AXM locally for ~30$. (both after tax and shipping) Keep in mind the EDUP comes from the USA and therefore may be programmed for the wrong country. (in this case perhaps beneficial, as DE limits tx power on 6GHz to 13db, and US doesn't)


Anyhow, @morrownr, since you seem to have an EDUP EP-AX1672 from the US, can you please run iw list and share what it says for 6GHz? (if you are feeling generous also try it after setting the region to iw reg set DE) It'd save me the whole hassle 😁

morrownr commented 1 month ago

since you seem to have an EDUP EP-AX1672 from the US, can you please run iw list and share what it says for 6GHz?

        Frequencies:
            * 5955 MHz [1] (12.0 dBm) (no IR)
            * 5975 MHz [5] (12.0 dBm) (no IR)
            * 5995 MHz [9] (12.0 dBm) (no IR)
            * 6015 MHz [13] (12.0 dBm) (no IR)
            * 6035 MHz [17] (12.0 dBm) (no IR)
            * 6055 MHz [21] (12.0 dBm) (no IR)
            * 6075 MHz [25] (12.0 dBm) (no IR)
            * 6095 MHz [29] (12.0 dBm) (no IR)
            * 6115 MHz [33] (12.0 dBm) (no IR)
            * 6135 MHz [37] (12.0 dBm) (no IR)
            * 6155 MHz [41] (12.0 dBm) (no IR)
            * 6175 MHz [45] (12.0 dBm) (no IR)
            * 6195 MHz [49] (12.0 dBm) (no IR)
            * 6215 MHz [53] (12.0 dBm) (no IR)
            * 6235 MHz [57] (12.0 dBm) (no IR)
            * 6255 MHz [61] (12.0 dBm) (no IR)
            * 6275 MHz [65] (12.0 dBm) (no IR)
            * 6295 MHz [69] (12.0 dBm) (no IR)
            * 6315 MHz [73] (12.0 dBm) (no IR)
            * 6335 MHz [77] (12.0 dBm) (no IR)
            * 6355 MHz [81] (12.0 dBm) (no IR)
            * 6375 MHz [85] (12.0 dBm) (no IR)
            * 6395 MHz [89] (12.0 dBm) (no IR)
            * 6415 MHz [93] (12.0 dBm) (no IR)
            * 6435 MHz [97] (12.0 dBm) (no IR)
            * 6455 MHz [101] (12.0 dBm) (no IR)
            * 6475 MHz [105] (12.0 dBm) (no IR)
            * 6495 MHz [109] (12.0 dBm) (no IR)
            * 6515 MHz [113] (12.0 dBm) (no IR)
            * 6535 MHz [117] (12.0 dBm) (no IR)
            * 6555 MHz [121] (12.0 dBm) (no IR)
            * 6575 MHz [125] (12.0 dBm) (no IR)
            * 6595 MHz [129] (12.0 dBm) (no IR)
            * 6615 MHz [133] (12.0 dBm) (no IR)
            * 6635 MHz [137] (12.0 dBm) (no IR)
            * 6655 MHz [141] (12.0 dBm) (no IR)
            * 6675 MHz [145] (12.0 dBm) (no IR)
            * 6695 MHz [149] (12.0 dBm) (no IR)
            * 6715 MHz [153] (12.0 dBm) (no IR)
            * 6735 MHz [157] (12.0 dBm) (no IR)
            * 6755 MHz [161] (12.0 dBm) (no IR)
            * 6775 MHz [165] (12.0 dBm) (no IR)
            * 6795 MHz [169] (12.0 dBm) (no IR)
            * 6815 MHz [173] (12.0 dBm) (no IR)
            * 6835 MHz [177] (12.0 dBm) (no IR)
            * 6855 MHz [181] (12.0 dBm) (no IR)
            * 6875 MHz [185] (12.0 dBm) (no IR)
            * 6895 MHz [189] (12.0 dBm) (no IR)
            * 6915 MHz [193] (12.0 dBm) (no IR)
            * 6935 MHz [197] (12.0 dBm) (no IR)
            * 6955 MHz [201] (12.0 dBm) (no IR)
            * 6975 MHz [205] (12.0 dBm) (no IR)
            * 6995 MHz [209] (12.0 dBm) (no IR)
            * 7015 MHz [213] (12.0 dBm) (no IR)
            * 7035 MHz [217] (12.0 dBm) (no IR)
            * 7055 MHz [221] (12.0 dBm) (no IR)
            * 7075 MHz [225] (12.0 dBm) (no IR)
            * 7095 MHz [229] (12.0 dBm) (no IR)
            * 7115 MHz [233] (12.0 dBm) (no IR)

$ uname -r 6.6.47+rpt-rpi-v8

$ iw reg get global country US: DFS-FCC (902 - 904 @ 2), (N/A, 30), (N/A) (904 - 920 @ 16), (N/A, 30), (N/A) (920 - 928 @ 8), (N/A, 30), (N/A) (2400 - 2472 @ 40), (N/A, 30), (N/A) (5150 - 5250 @ 80), (N/A, 23), (N/A), AUTO-BW (5250 - 5350 @ 80), (N/A, 24), (0 ms), DFS, AUTO-BW (5470 - 5730 @ 160), (N/A, 24), (0 ms), DFS (5730 - 5850 @ 80), (N/A, 30), (N/A), AUTO-BW (5850 - 5895 @ 40), (N/A, 27), (N/A), NO-OUTDOOR, AUTO-BW, PASSIVE-SCAN (5925 - 7125 @ 320), (N/A, 12), (N/A), NO-OUTDOOR, PASSIVE-SCAN (57240 - 71000 @ 2160), (N/A, 40), (N/A)


(if you are feeling generous also try it after setting the region to iw reg set DE)

$ sudo iw reg set DE

$ iw reg get global country DE: DFS-ETSI (2400 - 2483 @ 40), (N/A, 20), (N/A) (5150 - 5250 @ 80), (N/A, 23), (N/A), NO-OUTDOOR, AUTO-BW (5250 - 5350 @ 80), (N/A, 20), (0 ms), NO-OUTDOOR, DFS, AUTO-BW (5470 - 5725 @ 160), (N/A, 26), (0 ms), DFS (5725 - 5875 @ 80), (N/A, 13), (N/A) (5945 - 6425 @ 160), (N/A, 23), (N/A), NO-OUTDOOR (57000 - 66000 @ 2160), (N/A, 40), (N/A)

        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)
            * 6455 MHz [101] (disabled)
            * 6475 MHz [105] (disabled)
            * 6495 MHz [109] (disabled)
            * 6515 MHz [113] (disabled)
            * 6535 MHz [117] (disabled)
            * 6555 MHz [121] (disabled)
            * 6575 MHz [125] (disabled)
            * 6595 MHz [129] (disabled)
            * 6615 MHz [133] (disabled)
            * 6635 MHz [137] (disabled)
            * 6655 MHz [141] (disabled)
            * 6675 MHz [145] (disabled)
            * 6695 MHz [149] (disabled)
            * 6715 MHz [153] (disabled)
            * 6735 MHz [157] (disabled)
            * 6755 MHz [161] (disabled)
            * 6775 MHz [165] (disabled)
            * 6795 MHz [169] (disabled)
            * 6815 MHz [173] (disabled)
            * 6835 MHz [177] (disabled)
            * 6855 MHz [181] (disabled)
            * 6875 MHz [185] (disabled)
            * 6895 MHz [189] (disabled)
            * 6915 MHz [193] (disabled)
            * 6935 MHz [197] (disabled)
            * 6955 MHz [201] (disabled)
            * 6975 MHz [205] (disabled)
            * 6995 MHz [209] (disabled)
            * 7015 MHz [213] (disabled)
            * 7035 MHz [217] (disabled)
            * 7055 MHz [221] (disabled)
            * 7075 MHz [225] (disabled)
            * 7095 MHz [229] (disabled)
            * 7115 MHz [233] (disabled)

It looks like you should be good to go on the lower channels.

snaens commented 1 month ago

Alright, fantastic! My laptop's AX210 also only goes up to channel 93, so that seems to be the limit here.

Order has gone out, shipping takes a week. I hope I'll have good news by then :crossed_fingers:

I purchased through this link https://www.amazon.de/gp/product/B0DFYBZSR6/ (it's a new listing, wasn't there before. Using amazon.de makes shipping and payment easier for me)

morrownr commented 1 month ago

@snaens

I am slowly doing some deep research into using band 4 (6 GHz) for AP mode on Linux. I am finding some good info so check back in with me when ready.

Andy-45 commented 5 days ago

may I add a comment, because it fits to the title here:

I ordered a Edup AX1672 from the above Amazon UK link and today, out of curiosity I opened the case. Surprise, it's the same little board as in my AWUS036AXM - btw I wonder how EDUP disabled the BT !

EP-AX1672

morrownr commented 5 days ago

Hi @Andy-45

I wonder how EDUP disabled the BT !

This is a good question. I have one of the Edup EP=AX1672 adapters and it does not suffer from the BT issue. I took the Alfa AXML out of the The Plug and Play List until such time as the problem is resolved. I thought the list was clean of adapters with the BT problem. Are you saying that the AXM has the BT problem?

Andy-45 commented 5 days ago

yes, the AWUS036AXM has the BT problem, look at my original post -> https://github.com/morrownr/USB-WiFi/issues/495 there is a workaround, deleting the BT_RAM_CODE firmware file, which works on my RasPi 5 (kernel 6.6.51) - but it did not work on Ubuntu 24.04.1 - so you may really remove the adapter from your list.

morrownr commented 5 days ago

so you may really remove the adapter from your list.

Going to do it right now. That makes 3 adapters that have shown the problem and all were early adapters. The other was the Comfast 953. This problem did not show until late last year and it is a BT stack issue as best I can make of it. Hopefully it can be fixed.

snaens commented 4 days ago

Hi, sorry for disappearing like that.

I purchased both an Alfa AWUS036AXM and a EDUP EP-AX1672. Like Andy-45 said, they share identical boards.

right: Alfa AWUS036AXM, left: EDUP EP-AX1672 WiFis_rear WiFis_front

Note that the Alfa chips are sanded or something, and almost impossible to read.

Unfortunately my Alfa came DOA (bought on amazon '2nd hand', had been returned before). It didn't even register as a USB device.


I was able to create an AP on 6GHz, scans on other 6GHz-capable devices also picked it up. (Debian testing/trixie with hostapd and WiFi7 config) But connecting didn't work. (From a framework laptop with Intel AX210 on Fedora 40) (note the AX210 is WiFi 6e). I would have tried it with the two Mediatek adapters, had the Alfa been ok.

I see morrownr created a config for WiFi 6e specifically, i will try it out now.

morrownr commented 4 days ago

@snaens

Be careful with that WiFi 6e config. It is a work in progress. Note that it is not linked to the Main Menu.

The WiFi 6 config is linked to the Main Menu but does not support 6 GHz. I am working on 6 GHz but am not ready to release it yet.

Note that the Alfa chips are sanded or something, and almost impossible to read.

This is fishy. As you saw, I removed the AXM from the Plug and Play List after noting Andy's report. The AXML has been done for a while. I'm going to investigate and see if I can find some answers about what is going on.

Back to the hostapd.conf file issue: Tell me what you are trying to do and I'll see if I can get something to you.

snaens commented 4 days ago

Well, I'm still trying to get an AP functioning :P

The 6e config seems to work. But my PC still fails to connect.

NetworkManager on my PC (mac addr censored):

device (wlp166s0): Activation: starting connection 'myPI-WiFi6e' (dd22dfb7-4590-4018-993b-6857ed4ff5b4)
device (wlp166s0): supplicant interface state: completed -> disconnected
device (p2p-dev-wlp166s0): supplicant management interface state: completed -> disconnected
device (wlp166s0): state change: disconnected -> prepare (reason 'none', sys-iface-state: 'managed')
manager: NetworkManager state is now CONNECTING
device (wlp166s0): set-hw-addr: set-cloned MAC address to xx:xx:xx:xx:xx:xx (stable-ssid)
device (wlp166s0): state change: prepare -> config (reason 'none', sys-iface-state: 'managed')
device (wlp166s0): Activation: (wifi) access point 'myPI-WiFi6e' has security, but secrets are required.
device (wlp166s0): state change: config -> need-auth (reason 'none', sys-iface-state: 'managed')
device (wlp166s0): supplicant interface state: disconnected -> interface_disabled
device (p2p-dev-wlp166s0): supplicant management interface state: disconnected -> interface_disabled
device (wlp166s0): state change: need-auth -> prepare (reason 'none', sys-iface-state: 'managed')
device (wlp166s0): state change: prepare -> config (reason 'none', sys-iface-state: 'managed')
device (wlp166s0): Activation: (wifi) connection 'myPI-WiFi6e' has security, and secrets exist.  No new secrets needed.
Config: added 'ssid' value 'myPI-WiFi6e'
Config: added 'scan_ssid' value '1'
Config: added 'bgscan' value 'simple:30:-70:86400'
Config: added 'key_mgmt' value 'SAE FT-SAE'
Config: added 'psk' value '<hidden>'
Config: added 'ieee80211w' value '2'
device (wlp166s0): supplicant interface state: interface_disabled -> disconnected
device (p2p-dev-wlp166s0): supplicant management interface state: interface_disabled -> disconnected
device (wlp166s0): supplicant interface state: disconnected -> scanning
device (p2p-dev-wlp166s0): supplicant management interface state: disconnected -> scanning
device (wlp166s0): Activation: (wifi) association took too long, failing activation
device (wlp166s0): state change: config -> failed (reason 'ssid-not-found', sys-iface-state: 'managed')
manager: NetworkManager state is now CONNECTED_LOCAL
device (wlp166s0): set-hw-addr: set MAC address to xx:xx:xx:xx:xx:xx (scanning)
device (wlp166s0): Activation: failed for connection 'myPI-WiFi6e'
device (wlp166s0): supplicant interface state: scanning -> disconnected
device (p2p-dev-wlp166s0): supplicant management interface state: scanning -> disconnected
device (wlp166s0): state change: failed -> disconnected (reason 'none', sys-iface-state: 'managed')

Cli: Error: Connection activation failed: The Wi-Fi network could not be found


My hostapd config (on raspi)

```shell # /etc/hostapd/hostapd-WiFi6e.conf # Documentation: https://w1.fi/cgit/hostap/plain/hostapd/hostapd.conf # 2024-10-09 # Purpose: hostapd.conf example for WiFi 6e configuration for USB WiFi adapters using the mt7921au chip. # Status: alpha1, please test and report. # Requirements for WiFi-6e (ieee80211ax) on 6GHz: # - WPA3 for authentication # - SAE key management required for WPA3 # - Management Frame Protection required for WPA3 # - Radar awareness required for some RegDomains on 5GHz and 6GHz # - WME/WMM required # Information: # - tested on RasPi4B with 64 bit RasPiOS # - see [Main Menu](https://github.com/morrownr/USB-WiFi) for... # -- make sure mt7921 firmware files are installed/updated # [How to install firmware for Mediatek-based USB WiFi adapters](https://github.com/morrownr/USB-WiFi/blob/main/home/How_to_Install_Firmware_for_Mediatek_based_USB_WiFi_adapters.md) # -- you need hostap 2.10 or later for WiFi 6 support: $ hostapd -v # [Upgrade hostapd to support WiFi 6](https://github.com/morrownr/USB-WiFi/blob/main/home/AP_Mode/Upgrade_hostapd.md) # - improvements are welcome # SSID ssid=myPI-WiFi6e # PASSPHRASE wpa_passphrase=myPW1234 sae_password=myPW1234 # Band: a = 5GHz & 6GHz (a/n/ac/ax), g = 2Ghz (b/g/n) hw_mode=a # Channel availability varies by country # https://en.wikipedia.org/wiki/List_of_WLAN_channels # US: # 2.4 GHz (1-11) # 5 GHz ((36(42) and 149(155)) # 5 GHz DFS ((52(58), 100(106), 116(122), 132(138)) # 6 GHz (see op_class below) # Channel (change as needed) # band 1 (2.4 GHz) #channel=6 # band 2 (5 GHz) #channel=36 # band 4 (6 GHz) channel=53 # The operating class is an indication of the 6 GHz channel size. An # operating class of 134 indicates a 160 MHz channel. Likewise, 133 # denotes an 80 MHz channel, 132 indicates a 40 MHz channel, and 131 # indicates a channel size of 20 MHz. # 133 signifies channel width: 80 MHz # channels 7, 23, 39, 55, 71, 87, 103, 119, 135, 151, 167, 183, 199, 215 # 134 signifies channel width: 160 MHz # channels 15, 47, 79, 111, 143, 175, 207 op_class=132 # Country code # https://en.wikipedia.org/wiki/ISO_3166-1_alpha-2 country_code=DE # All environments #country3=0x20 # Outdoor #country3=0x4f # Indoor environment only country3=0x49 #he_6ghz_reg_pwr_type=0 # Advertises the country_code and the set of allowed channels and transmit power levels ieee80211d=1 # Enables support for 5GHz DFS channels if supported (requires ieee80211d=1) #ieee80211h=1 # Bridge interface #bridge=br0 wds_sta=1 # WiFi interface (wlan0 should be changed to your interface name) interface=wlan1 # Set hostapd driver (nl80211 is used with all Linux mac80211 (in-kernel) and modern Realtek drivers) driver=nl80211 # hostapd event logger configuration # # Module bitfield (ORed bitfield of modules that will be logged; -1 = all # modules): # bit 0 (1) = IEEE 802.11 # bit 1 (2) = IEEE 802.1X # bit 2 (4) = RADIUS # bit 3 (8) = WPA # bit 4 (16) = driver interface # bit 6 (64) = MLME # # Levels (minimum value for logged events): # 0 = verbose debugging # 1 = debugging # 2 = informational messages # 3 = notification # 4 = warning # logger_syslog=-1 logger_syslog_level=0 # Control interface - (i.e. for hostapd_cli) ctrl_interface=/var/run/hostapd ctrl_interface_group=0 # Expect this AP not to change its position and antenna alignment stationary_ap=1 he_6ghz_rx_ant_pat=1 # Various settings #beacon_int=100 #dtim_period=2 #multicast_to_unicast=0 #tx_queue_data2_aifs=1 #tx_queue_data2_cwmin=7 #tx_queue_data2_cwmax=15 #tx_queue_data2_burst=3.0 tx_queue_data2_burst=2.0 uapsd_advertisement_enabled=1 utf8_ssid=1 multi_ap=0 bss_load_update_period=60 chan_util_avg_period=600 disassoc_low_ack=0 skip_inactivity_poll=1 preamble=1 # Security # authentication algorithms (3 = both are allowed, use 3 for SAE otherwise use 1) auth_algs=1 # Limit number of concurrent "clients" (stations) and do not restrict them by MAC address max_num_sta=16 macaddr_acl=0 # hidden SSID (1 = hidden) ignore_broadcast_ssid=0 # Opportunistic Key Caching (1 = enabled) okc=1 # Enable WPA. (2 is required for WPA2, mixed and WPA3) wpa=2 # Pairwise cipher rsn_pairwise=CCMP CCMP-256 GCMP GCMP-256 group_mgmt_cipher=AES-128-CMAC extended_key_id=1 wpa_gmk_rekey=86400 wpa_group_rekey=86400 wpa_group_update_count=4 # # Activate only one of the following 3 sections # # 1. WPA2 Personal #wpa_key_mgmt=WPA-PSK #wpa_key_mgmt=WPA-PSK WPA-PSK-SHA256 # # 2. WPA2/WPA3 Transitional (mixed) # Many older WPA2 devices are not compatible with this setting #wpa_key_mgmt=SAE WPA-PSK WPA-PSK-SHA256 #ieee80211w=1 #sae_require_mfp=1 # # 3. WPA3 Personal (required for band 4, 6 GHz) # Some older WiFi 4 devices may not be compatible with this setting wpa_key_mgmt=SAE ieee80211w=2 beacon_prot=1 # Wireless Multimedia Extensions (WME) and Wi-Fi Multimedia (WMM) wme_enabled=1 wmm_enabled=1 # IEEE 802.11n (WiFi 4) band 1, 2.4 GHz configuration # This section is required when operating WiFi 6 on band 1, 2.4 GHz #ieee80211n=1 # # generic setting - 20 MHz channel width #ht_capab=[SHORT-GI-20] # # generic setting - 40 MHz channel width (if allowed) #ht_capab=[HT40+][HT40-][SHORT-GI-20][SHORT-GI-40] # # mt7921au (HT capabilities 0x9ff) # 20 MHz channel width #ht_capab=[LDPC][GF][SHORT-GI-20][SHORT-GI-40][TX-STBC][RX-STBC1][MAX-AMSDU-7935] # 40 MHz channel width #ht_capab=[LDPC][HT40+][HT40-][GF][SHORT-GI-20][SHORT-GI-40][TX-STBC][RX-STBC1][MAX-AMSDU-7935] # # IEEE 802.11ac (WiFi 5) configuration # When using band 1 (2.4 GHZ) comment out the below line #ieee80211ac=1 # Channel width (0 = 40 MHz. 1 = 80 Mhz) # When using band 1 (2.4 GHZ) comment out the below line #vht_oper_chwidth=1 # VHT center channel (chan + 6) # When using band 1 (2.4 GHZ) comment out the below line #vht_oper_centr_freq_seg0_idx=42 # generic setting #vht_capab=[SHORT-GI-80] # # mt7921au (VHT capabilities 0x339071b2) # When using band 1 (2.4 GHZ) comment out the below line #vht_capab=[RXLDPC][SHORT-GI-80][TX-STBC-2BY1][SU-BEAMFORMEE][MU-BEAMFORMEE][RX-ANTENNA-PATTERN][TX-ANTENNA-PATTERN][RX-STBC-1][BF-ANTENNA-4][MAX-MPDU-11454][MAX-A-MPDU-LEN-EXP7] # # IEEE 802.11ax (WiFi 6) configuration ieee80211ax=1 # Channel width (0 = 40 MHz. 1 = 80 Mhz) # For WiFi 6 on band 1 (2.4 GHz) comment out the below line he_oper_chwidth=0 # HE center channel (chan + 6) # For WiFi 6 on band 1 (2.4 GHz) comment out the below line he_oper_centr_freq_seg0_idx=55 #53 # used by clients to discern the source of interference # each AP in your area needs to use a different number # allowed: 1-63 he_bss_color=37 # Activate beamforming capabilities he_mu_beamformer=1 he_su_beamformee=1 he_su_beamformer=1 #he_default_pe_duration=4 #he_rts_threshold=1023 #he_mu_edca_qos_info_param_count=0 #he_mu_edca_qos_info_q_ack=0 #he_mu_edca_qos_info_queue_request=0 #he_mu_edca_qos_info_txop_request=0 #he_mu_edca_ac_be_aifsn=8 #he_mu_edca_ac_be_aci=0 #he_mu_edca_ac_be_ecwmin=9 #he_mu_edca_ac_be_ecwmax=10 #he_mu_edca_ac_be_timer=255 #he_mu_edca_ac_bk_aifsn=15 #he_mu_edca_ac_bk_aci=1 #he_mu_edca_ac_bk_ecwmin=9 #he_mu_edca_ac_bk_ecwmax=10 #he_mu_edca_ac_bk_timer=255 #he_mu_edca_ac_vi_ecwmin=5 #he_mu_edca_ac_vi_ecwmax=7 #he_mu_edca_ac_vi_aifsn=5 #he_mu_edca_ac_vi_aci=2 #he_mu_edca_ac_vi_timer=255 #he_mu_edca_ac_vo_aifsn=5 #he_mu_edca_ac_vo_aci=3 #he_mu_edca_ac_vo_ecwmin=5 #he_mu_edca_ac_vo_ecwmax=7 #he_mu_edca_ac_vo_timer=255 # Quirks and Workarounds: # # 6GHz band is completely disabled in iw list. This may be the case if you try to use a # MEDIATEK card on Linux 6.6.30 or 6.7.x or newer. There seems to be a lot going on in the # Kernel's WiFi section right now. A new feature called "CLC (Country Location Control)" which # must be disabled in the mt7921_common module to use the 6GHz band. Make a file # /etc/modprobe.d/mt7921.conf containing options mt7921_common # disable_clc=1. Source: https://community.frame.work/t/responded-amd-rz616-wifi-card- # doesnt-work-with-6ghz-on-kernel-6-7/43226 # Throughput jitters on MT7922 cards. You might try to disable power management for that # card by adding the line options mt7921e disable_aspm=Y to the file # /etc/modprobe.d/mt7921.conf. This setting flattened out the valleys in my throughput # graphs. # Wireless Regulation Domain would not apply correctly. There seem to be issues with the # current wireless-regdb packages delivered with VyOS. As of now, 5GHz channels would # not allow access point operation (iw list showing no-ir on all channels) and 6GHz # channels would be completely disabled. Also, switching country codes (iw reg set DE) # would not have any effect. For now, I have this workaround: # Download and install wireless-regdb from the Ubuntu Packages page, and # (not needed anymore with newest 1.5-rolling) manually configure your regulatory # domain as option for the cfg80211 module by editing # /etc/modprobe.d/cfg80211.conf and adding this line: options cfg80211 ieee80211_regdom=DE # End of hostapd-WiFi6.conf ```

I note that selecting a frequency was very odd, especially for 80MHz. The default channel of 55 (centr_freq 61) results in IEEE 802.11 Hardware does not support configured mode (2) (hw_mode in hostapd.conf) Could not select hw_mode and channel. (-2) But channel 53 and centr_freq 47 works at 80MHz (I have nothing that can scan and verify the bandwidth, though). Channel 53 with centr_freq 55 @ 40MHz bandwith also works fine (used in config) .


I wonder if the edup being up can convince my AX210 to do the same (it says NO-IR on all channels) Then I could try doing this in the opposite direction. Or I could just get another WiFi adaper...

morrownr commented 4 days ago

The 6e config seems to work.

I am working through a usb wifi adapter as AP using 6 GHz right now. 6 GHz settings for hostapd are hard to figure out but I am on the way. I can't provide more details right now.

I wonder if the edup being up can convince my AX210 to do the same (it says NO-IR on all channels)

Not likely.

For 40 GHz, try channels 65 and 67.

There are likely some he specific settings that need to be address on the mt7921au chip for hostapd.conf. I'll try to sort that out.

Edit: I meant 6 GHz specific settings in the above sentence.

Andy-45 commented 4 days ago

@snaens not sure if network-manager supports Wifi 6e. I followed the example from https://dev.to/wataniguchi and was able to connect via wpa_supplicant

snaens commented 3 days ago

I tried using wpa_supplicant instead of NetworkManager and it yields similar results;

ap_scan docs If I set ap_scan to 1 it simply can't find the AP in it's scans. With ap_scan set to 0 or 2 it doesn't scan, but triggering a scan (with wavemon) makes the ap show up in wpa_supplicant's output. However since this scan was triggered externally it refuses to use it. When set to 0 it additionally complains about "Could not read SSID from driver"

Triggering a scan using iw won't detect the AP.

[!NOTE]

  • This is with an AX210 now. EDUP is the AP.
  • AX210 as AP did not work at all, just like morrownr predicted.
  • The rest of my config is identical to the Article Andy-45 recommended.

This all seems a bit like two driver interfaces/APIs being used simultaneously, and only one suppoting 6GHz, no?


The EDUP AP seems to be working alright, It's been active and connectable all day.

This would all be so much easier if I just had another mt7921au device...

snaens commented 3 days ago

not sure if network-manager supports Wifi 6e.

It sure shows up in my WiFi menu (on KDE) But yes, the tools (nmtui and KDE network settings) both don't list 6GHz frequencies.

Screenshot_20241112_171156

morrownr commented 3 days ago

@snaens

This would all be so much easier if I just had another mt7921au device...

A few months ago, I bought a Mini PC. It came with a AX210 based M.2 card. I knew I would eventually want to do things with AP mode so I bought a M.2 card based on the mt7925 chip. I think it only cost like $22 USD. The mt7925u driver is impressive so far. and has been in the kernel since 6.7. I must add that my testing has not included AP mode yet. Not enough time in the day to do everything I would like to do. I have seen OpenWRT users with M.2 cards based on the mt7925 setting up 6 GHz/WiFi 6 and WiFi 7 APs. Yeah, the driver is already in the current stable of OpenWRT.

Something to think about.

snaens commented 3 days ago

Yesterday I ordered a QCNFA765 card for 13€ I've seen it can do AP mode, but heard the driver sucks.

But anything with a mt7925 costs like ~30€, and I just want something else to test this AP on.

I also gave Windows 11 a shot just now (VM with PCIe passthrough), but that didn't show anything on 6GHz, even in scans.

morrownr commented 3 days ago

Yesterday I ordered a QCNFA765 card for 13€

Someone else was asking me if I knew anything about this chip recently and I could not offer anything. I watch linux-wireless and OpenWRT. Qualcomm and Mediatek dominate the OpenWRT supported wifi routers. I support 2 routers with Qualcomm SOCs and one with a Mediatek SOC. Both companies do a good job but in my limited sample size, Mediatek drivers are better.

I'd like to hear about what you find out.

snaens commented 3 days ago

Delivery takes 10-ish days, I'll report back then ;)