morrownr / USB-WiFi

USB WiFi Adapter Information for Linux
2.42k stars 161 forks source link

Mediatek MT7921K "Question about AP mode" #66

Open craiganderson opened 2 years ago

craiganderson commented 2 years ago

Using the mt7921e driver on a 5.15.12 kernel for a MT7921K device.

When attempting to bring up an AP hosted with wpa_supplicant v2.11 I get the following error:

wlp3s0: Driver does not support AP mode

Would you be able to confirm (or add to your table) the last kernel version that was successfully tested for the devices listed there? And meanwhile if anyone has successfully used this card in AP mode and can supply their kernel version and environment details, that would be helpful.

Thanks!

morrownr commented 2 years ago

Hi Craig,

As hard as i try to keep with all of the details related to the new mt7921 chipsets and drivers, I am not where I would like to be.

I am under the impression that the mt7921k supports 6 GHz and I saw the new k device IDs go in about 3 months ago which means they would not be in kernel 5.15 yet. Are you sure your card is not based on the mt7921?

Can you post the results of the following so I can get a better handle on what you have?

iw list lsusb

My laptop has a mt7921 based card. It is dual band, not triple band like you would get from a mt7921k based card. I just ran iw list and it certainly shows support for AP mode. I'd test but my to-do list for this coming week is overflowing.

Nick

craiganderson commented 2 years ago

I updated to 5.17.0-rc3 for good measure but no change in behavior. I'm for sure using the MT7921K, the 6GHz bands show up in iw list but I can't create AP on any band (not even 2.4GHz), but it looks like this is expected since AP mode does not show up in the listed of Supported interface modes reported by iw list.

Can you confirm that your card uses the mt7921e driver? You can find this under Kernel driver in use for your Mediatek device after running lspci -vv

$ lsusb | grep -i media
Bus 005 Device 003: ID 0e8d:0608 MediaTek Inc. Wireless_Device
Bus 002 Device 003: ID 0e8d:7612 MediaTek Inc. USB3.0 Hub
$ iw list
Wiphy phy0
    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.
    Supported Ciphers:
        * WEP40 (00-0f-ac:1)
        * WEP104 (00-0f-ac:5)
        * TKIP (00-0f-ac:2)
        * CCMP-128 (00-0f-ac:4)
        * CCMP-256 (00-0f-ac:10)
        * GCMP-128 (00-0f-ac:8)
        * GCMP-256 (00-0f-ac:9)
        * CMAC (00-0f-ac:6)
        * CMAC-256 (00-0f-ac:13)
        * GMAC-128 (00-0f-ac:11)
        * GMAC-256 (00-0f-ac:12)
    Available Antennas: TX 0x3 RX 0x3
    Configured Antennas: TX 0x3 RX 0x3
    Supported interface modes:
         * managed
         * monitor
    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: Station
            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 
        Bitrates (non-HT):
            * 1.0 Mbps (short preamble supported)
            * 2.0 Mbps (short preamble supported)
            * 5.5 Mbps (short preamble supported)
            * 11.0 Mbps (short preamble supported)
            * 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:
            * 2412 MHz [1] (20.0 dBm)
            * 2417 MHz [2] (20.0 dBm)
            * 2422 MHz [3] (20.0 dBm)
            * 2427 MHz [4] (20.0 dBm)
            * 2432 MHz [5] (20.0 dBm)
            * 2437 MHz [6] (20.0 dBm)
            * 2442 MHz [7] (20.0 dBm)
            * 2447 MHz [8] (20.0 dBm)
            * 2452 MHz [9] (20.0 dBm)
            * 2457 MHz [10] (20.0 dBm)
            * 2462 MHz [11] (20.0 dBm)
            * 2467 MHz [12] (20.0 dBm) (no IR)
            * 2472 MHz [13] (20.0 dBm) (no IR)
            * 2484 MHz [14] (20.0 dBm) (no IR)
    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 (0x339071b1):
            Max MPDU length: 7991
            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
        HE Iftypes: Station
            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 
        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:
            * 5180 MHz [36] (20.0 dBm) (no IR)
            * 5200 MHz [40] (20.0 dBm) (no IR)
            * 5220 MHz [44] (20.0 dBm)
            * 5240 MHz [48] (20.0 dBm) (no IR)
            * 5260 MHz [52] (20.0 dBm) (no IR, radar detection)
            * 5280 MHz [56] (20.0 dBm) (no IR, radar detection)
            * 5300 MHz [60] (20.0 dBm) (no IR, radar detection)
            * 5320 MHz [64] (20.0 dBm) (no IR, radar detection)
            * 5500 MHz [100] (20.0 dBm) (no IR, radar detection)
            * 5520 MHz [104] (20.0 dBm) (no IR, radar detection)
            * 5540 MHz [108] (20.0 dBm) (no IR, radar detection)
            * 5560 MHz [112] (20.0 dBm) (no IR, radar detection)
            * 5580 MHz [116] (20.0 dBm) (no IR, radar detection)
            * 5600 MHz [120] (20.0 dBm) (no IR, radar detection)
            * 5620 MHz [124] (20.0 dBm) (no IR, radar detection)
            * 5640 MHz [128] (20.0 dBm) (no IR, radar detection)
            * 5660 MHz [132] (20.0 dBm) (no IR, radar detection)
            * 5680 MHz [136] (20.0 dBm) (no IR, radar detection)
            * 5700 MHz [140] (20.0 dBm) (no IR, radar detection)
            * 5720 MHz [144] (20.0 dBm) (no IR, radar detection)
            * 5745 MHz [149] (20.0 dBm)
            * 5765 MHz [153] (20.0 dBm) (no IR)
            * 5785 MHz [157] (20.0 dBm) (no IR)
            * 5805 MHz [161] (20.0 dBm) (no IR)
            * 5825 MHz [165] (20.0 dBm) (no IR)
            * 5845 MHz [169] (disabled)
            * 5865 MHz [173] (disabled)
    Band 4:
        HE Iftypes: Station
            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 
        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 [191] (disabled)
            * 5975 MHz [195] (disabled)
            * 5995 MHz [199] (disabled)
            * 6015 MHz [203] (disabled)
            * 6035 MHz [207] (disabled)
            * 6055 MHz [211] (disabled)
            * 6075 MHz [215] (disabled)
            * 6095 MHz [219] (disabled)
            * 6115 MHz [223] (disabled)
            * 6135 MHz [227] (disabled)
            * 6155 MHz [231] (disabled)
            * 6175 MHz [235] (disabled)
            * 6195 MHz [239] (disabled)
            * 6215 MHz [243] (disabled)
            * 6235 MHz [247] (disabled)
            * 6255 MHz [251] (disabled)
            * 6275 MHz [255] (disabled)
            * 6295 MHz [259] (disabled)
            * 6315 MHz [263] (disabled)
            * 6335 MHz [267] (disabled)
            * 6355 MHz [271] (disabled)
            * 6375 MHz [275] (disabled)
            * 6395 MHz [279] (disabled)
            * 6415 MHz [283] (disabled)
            * 6435 MHz [287] (disabled)
            * 6455 MHz [291] (disabled)
            * 6475 MHz [295] (disabled)
            * 6495 MHz [299] (disabled)
            * 6515 MHz [303] (disabled)
            * 6535 MHz [307] (disabled)
            * 6555 MHz [311] (disabled)
            * 6575 MHz [315] (disabled)
            * 6595 MHz [319] (disabled)
            * 6615 MHz [323] (disabled)
            * 6635 MHz [327] (disabled)
            * 6655 MHz [331] (disabled)
            * 6675 MHz [335] (disabled)
            * 6695 MHz [339] (disabled)
            * 6715 MHz [343] (disabled)
            * 6735 MHz [347] (disabled)
            * 6755 MHz [351] (disabled)
            * 6775 MHz [355] (disabled)
            * 6795 MHz [359] (disabled)
            * 6815 MHz [363] (disabled)
            * 6835 MHz [367] (disabled)
            * 6855 MHz [371] (disabled)
            * 6875 MHz [375] (disabled)
            * 6895 MHz [379] (disabled)
            * 6915 MHz [383] (disabled)
            * 6935 MHz [387] (disabled)
            * 6955 MHz [391] (disabled)
            * 6975 MHz [395] (disabled)
            * 6995 MHz [399] (disabled)
            * 7015 MHz [403] (disabled)
            * 7035 MHz [407] (disabled)
            * 7055 MHz [411] (disabled)
            * 7075 MHz [415] (disabled)
            * 7095 MHz [419] (disabled)
            * 7115 MHz [423] (disabled)
    Supported commands:
         * new_interface
         * set_interface
         * new_key
         * start_ap
         * new_station
         * new_mpath
         * set_mesh_config
         * set_bss
         * authenticate
         * associate
         * deauthenticate
         * disassociate
         * join_ibss
         * join_mesh
         * remain_on_channel
         * set_tx_bitrate_mask
         * frame
         * frame_wait_cancel
         * set_wiphy_netns
         * set_channel
         * tdls_mgmt
         * tdls_oper
         * start_sched_scan
         * probe_client
         * set_noack_map
         * register_beacons
         * start_p2p_device
         * set_mcast_rate
         * connect
         * disconnect
         * channel_switch
         * set_qos_map
         * set_multicast_to_unicast
         * Unknown command (140)
    WoWLAN support:
         * wake up on disconnect
         * wake up on magic packet
         * wake up on pattern match, up to 1 patterns of 1-128 bytes,
           maximum packet offset 0 bytes
         * can do GTK rekeying
         * wake up on network detection, up to 10 match sets
    software interface modes (can always be added):
         * monitor
    valid interface combinations:
         * #{ managed } <= 4,
           total <= 4, #channels <= 1, STA/AP BI must match
    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
    Device supports TX status socket option.
    Device supports HT-IBSS.
    Device supports SAE with AUTHENTICATE command
    Device supports scan flush.
    Device supports per-vif TX power setting
    Driver supports full state transitions for AP/GO clients
    Driver supports a userspace MPM
    Device supports active monitor (which will ACK incoming frames)
    Device supports configuring vdev MAC-addr on create.
    Device supports randomizing MAC-addr in scans.
    Device supports randomizing MAC-addr in sched scans.
    max # scan plans: 1
    max scan plan interval: 65535
    max scan plan iterations: 0
    Supported TX frame types:
         * IBSS: 0x00 0x10 0x20 0x30 0x40 0x50 0x60 0x70 0x80 0x90 0xa0 0xb0 0xc0 0xd0 0xe0 0xf0
         * managed: 0x00 0x10 0x20 0x30 0x40 0x50 0x60 0x70 0x80 0x90 0xa0 0xb0 0xc0 0xd0 0xe0 0xf0
         * AP: 0x00 0x10 0x20 0x30 0x40 0x50 0x60 0x70 0x80 0x90 0xa0 0xb0 0xc0 0xd0 0xe0 0xf0
         * AP/VLAN: 0x00 0x10 0x20 0x30 0x40 0x50 0x60 0x70 0x80 0x90 0xa0 0xb0 0xc0 0xd0 0xe0 0xf0
         * mesh point: 0x00 0x10 0x20 0x30 0x40 0x50 0x60 0x70 0x80 0x90 0xa0 0xb0 0xc0 0xd0 0xe0 0xf0
         * P2P-client: 0x00 0x10 0x20 0x30 0x40 0x50 0x60 0x70 0x80 0x90 0xa0 0xb0 0xc0 0xd0 0xe0 0xf0
         * P2P-GO: 0x00 0x10 0x20 0x30 0x40 0x50 0x60 0x70 0x80 0x90 0xa0 0xb0 0xc0 0xd0 0xe0 0xf0
         * P2P-device: 0x00 0x10 0x20 0x30 0x40 0x50 0x60 0x70 0x80 0x90 0xa0 0xb0 0xc0 0xd0 0xe0 0xf0
    Supported RX frame types:
         * IBSS: 0x40 0xb0 0xc0 0xd0
         * managed: 0x40 0xb0 0xd0
         * AP: 0x00 0x20 0x40 0xa0 0xb0 0xc0 0xd0
         * AP/VLAN: 0x00 0x20 0x40 0xa0 0xb0 0xc0 0xd0
         * mesh point: 0xb0 0xc0 0xd0
         * P2P-client: 0x40 0xd0
         * P2P-GO: 0x00 0x20 0x40 0xa0 0xb0 0xc0 0xd0
         * P2P-device: 0x40 0xd0
    Supported extended features:
        * [ RRM ]: RRM
        * [ SET_SCAN_DWELL ]: scan dwell 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
        * [ TXQS ]: FQ-CoDel-enabled intermediate TXQs
        * [ AIRTIME_FAIRNESS ]: airtime fairness scheduling
morrownr commented 2 years ago

My laptop with mt7921:

$ lspci

0000:02:00.0 Network controller: MEDIATEK Corp. Device 7961

$ iw list 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 RSN-IBSS. Device supports AP-side u-APSD. Device supports T-DLS. Supported Ciphers:

craiganderson commented 2 years ago

Can you run lspci -vv to get the driver you're using? If your card were using a different driver, that could explain the difference in behavior. (Note last two lines)

$ lspci -vv
03:00.0 Network controller: MEDIATEK Corp. Device 0608
    Subsystem: MEDIATEK Corp. Device 0608
    Control: I/O- Mem+ BusMaster+ SpecCycle- MemWINV- VGASnoop- ParErr- Stepping- SERR- FastB2B- DisINTx+
    Status: Cap+ 66MHz- UDF- FastB2B- ParErr- DEVSEL=fast >TAbort- <TAbort- <MAbort- >SERR- <PERR- INTx-
    Latency: 0, Cache Line Size: 64 bytes
    Interrupt: pin A routed to IRQ 82
    Region 0: Memory at e0300000 (64-bit, prefetchable) [size=1M]
    Region 2: Memory at e0400000 (64-bit, prefetchable) [size=16K]
    Region 4: Memory at e0404000 (64-bit, prefetchable) [size=4K]
    Capabilities: [80] Express (v2) Endpoint, MSI 00
        DevCap: MaxPayload 128 bytes, PhantFunc 0, Latency L0s unlimited, L1 unlimited
            ExtTag+ AttnBtn- AttnInd- PwrInd- RBE+ FLReset+ SlotPowerLimit 75.000W
        DevCtl: CorrErr- NonFatalErr- FatalErr- UnsupReq-
            RlxdOrd+ ExtTag+ PhantFunc- AuxPwr- NoSnoop+ FLReset-
            MaxPayload 128 bytes, MaxReadReq 512 bytes
        DevSta: CorrErr+ NonFatalErr- FatalErr- UnsupReq+ AuxPwr- TransPend-
        LnkCap: Port #1, Speed 5GT/s, Width x1, ASPM L0s L1, Exit Latency L0s <2us, L1 <8us
            ClockPM- Surprise- LLActRep- BwNot- ASPMOptComp+
        LnkCtl: ASPM L1 Enabled; RCB 64 bytes Disabled- CommClk+
            ExtSynch- ClockPM- AutWidDis- BWInt- AutBWInt-
        LnkSta: Speed 5GT/s (ok), Width x1 (ok)
            TrErr- Train- SlotClk+ DLActive- BWMgmt- ABWMgmt-
        DevCap2: Completion Timeout: Range ABCD, TimeoutDis+, NROPrPrP-, LTR+
             10BitTagComp-, 10BitTagReq-, OBFF Not Supported, ExtFmt+, EETLPPrefix-
             EmergencyPowerReduction Not Supported, EmergencyPowerReductionInit-
             FRS-, TPHComp-, ExtTPHComp-
             AtomicOpsCap: 32bit- 64bit- 128bitCAS-
        DevCtl2: Completion Timeout: 50us to 50ms, TimeoutDis-, LTR+, OBFF Disabled
             AtomicOpsCtl: ReqEn-
        LnkCtl2: Target Link Speed: 5GT/s, EnterCompliance- SpeedDis-
             Transmit Margin: Normal Operating Range, EnterModifiedCompliance- ComplianceSOS-
             Compliance De-emphasis: -6dB
        LnkSta2: Current De-emphasis Level: -3.5dB, EqualizationComplete-, EqualizationPhase1-
             EqualizationPhase2-, EqualizationPhase3-, LinkEqualizationRequest-
    Capabilities: [e0] MSI: Enable+ Count=1/32 Maskable+ 64bit+
        Address: 00000000fee00000  Data: 0000
        Masking: fffffffe  Pending: 00000000
    Capabilities: [f8] Power Management version 3
        Flags: PMEClk- DSI+ D1+ D2+ AuxCurrent=0mA PME(D0+,D1+,D2+,D3hot+,D3cold+)
        Status: D0 NoSoftRst+ PME-Enable- DSel=0 DScale=0 PME-
    Capabilities: [100 v1] Vendor Specific Information: ID=1556 Rev=1 Len=008 <?>
    Capabilities: [108 v1] Latency Tolerance Reporting
        Max snoop latency: 1048576ns
        Max no snoop latency: 1048576ns
    Capabilities: [110 v1] L1 PM Substates
        L1SubCap: PCI-PM_L1.2+ PCI-PM_L1.1+ ASPM_L1.2+ ASPM_L1.1+ L1_PM_Substates+
              PortCommonModeRestoreTime=3us PortTPowerOnTime=28us
        L1SubCtl1: PCI-PM_L1.2+ PCI-PM_L1.1+ ASPM_L1.2+ ASPM_L1.1+
               T_CommonMode=0us LTR1.2_Threshold=163840ns
        L1SubCtl2: T_PwrOn=150us
    Capabilities: [200 v2] Advanced Error Reporting
        UESta:  DLP- SDES- TLP- FCP- CmpltTO- CmpltAbrt- UnxCmplt- RxOF- MalfTLP- ECRC- UnsupReq- ACSViol-
        UEMsk:  DLP- SDES- TLP- FCP- CmpltTO- CmpltAbrt- UnxCmplt- RxOF- MalfTLP- ECRC- UnsupReq- ACSViol-
        UESvrt: DLP+ SDES+ TLP- FCP+ CmpltTO- CmpltAbrt- UnxCmplt- RxOF- MalfTLP+ ECRC- UnsupReq- ACSViol-
        CESta:  RxErr- BadTLP- BadDLLP- Rollover- Timeout- AdvNonFatalErr-
        CEMsk:  RxErr- BadTLP- BadDLLP- Rollover- Timeout- AdvNonFatalErr+
        AERCap: First Error Pointer: 00, ECRCGenCap- ECRCGenEn- ECRCChkCap- ECRCChkEn-
            MultHdrRecCap- MultHdrRecEn- TLPPfxPres- HdrLogCap-
        HeaderLog: 00000000 00000000 00000000 00000000
    Kernel driver in use: mt7921e
    Kernel modules: mt7921e
morrownr commented 2 years ago

$ sudo lspci -vv

0000:02:00.0 Network controller: MEDIATEK Corp. Device 7961 Subsystem: Lite-On Communications Inc Device 3802 Control: I/O- Mem+ BusMaster+ SpecCycle- MemWINV- VGASnoop- ParErr- Stepping- SERR- FastB2B- DisINTx+ Status: Cap+ 66MHz- UDF- FastB2B- ParErr- DEVSEL=fast >TAbort- <TAbort- SERR- <PERR- INTx- Latency: 0, Cache Line Size: 64 bytes Interrupt: pin A routed to IRQ 158 Region 0: Memory at 6003000000 (64-bit, prefetchable) [size=1M] Region 2: Memory at 6003100000 (64-bit, prefetchable) [size=16K] Region 4: Memory at 6003104000 (64-bit, prefetchable) [size=4K] Capabilities: [80] Express (v2) Endpoint, MSI 00 DevCap: MaxPayload 128 bytes, PhantFunc 0, Latency L0s unlimited, L1 unlimited ExtTag+ AttnBtn- AttnInd- PwrInd- RBE+ FLReset+ SlotPowerLimit 10.000W DevCtl: CorrErr- NonFatalErr- FatalErr- UnsupReq- RlxdOrd+ ExtTag+ PhantFunc- AuxPwr- NoSnoop+ FLReset- MaxPayload 128 bytes, MaxReadReq 512 bytes DevSta: CorrErr- NonFatalErr- FatalErr- UnsupReq- AuxPwr- TransPend- LnkCap: Port #1, Speed 5GT/s, Width x1, ASPM L0s L1, Exit Latency L0s <2us, L1 <8us ClockPM- Surprise- LLActRep- BwNot- ASPMOptComp+ LnkCtl: ASPM Disabled; RCB 64 bytes, Disabled- CommClk+ ExtSynch- ClockPM- AutWidDis- BWInt- AutBWInt- LnkSta: Speed 5GT/s (ok), Width x1 (ok) TrErr- Train- SlotClk+ DLActive- BWMgmt- ABWMgmt- DevCap2: Completion Timeout: Range ABCD, TimeoutDis+ NROPrPrP- LTR+ 10BitTagComp- 10BitTagReq- OBFF Not Supported, ExtFmt+ EETLPPrefix- EmergencyPowerReduction Not Supported, EmergencyPowerReductionInit- FRS- TPHComp- ExtTPHComp- AtomicOpsCap: 32bit- 64bit- 128bitCAS- DevCtl2: Completion Timeout: 50us to 50ms, TimeoutDis- LTR+ OBFF Disabled, AtomicOpsCtl: ReqEn- LnkCap2: Supported Link Speeds: 2.5-5GT/s, Crosslink- Retimer- 2Retimers- DRS- LnkCtl2: Target Link Speed: 5GT/s, EnterCompliance- SpeedDis- Transmit Margin: Normal Operating Range, EnterModifiedCompliance- ComplianceSOS- Compliance De-emphasis: -6dB LnkSta2: Current De-emphasis Level: -6dB, EqualizationComplete- EqualizationPhase1- EqualizationPhase2- EqualizationPhase3- LinkEqualizationRequest- Retimer- 2Retimers- CrosslinkRes: unsupported Capabilities: [e0] MSI: Enable+ Count=1/32 Maskable+ 64bit+ Address: 00000000fee005b8 Data: 0000 Masking: fffffffe Pending: 00000000 Capabilities: [f8] Power Management version 3 Flags: PMEClk- DSI+ D1+ D2+ AuxCurrent=0mA PME(D0+,D1+,D2+,D3hot+,D3cold+) Status: D0 NoSoftRst+ PME-Enable- DSel=0 DScale=0 PME- Capabilities: [100 v1] Vendor Specific Information: ID=1556 Rev=1 Len=008 <?> Capabilities: [108 v1] Latency Tolerance Reporting Max snoop latency: 3145728ns Max no snoop latency: 3145728ns Capabilities: [110 v1] L1 PM Substates L1SubCap: PCI-PM_L1.2+ PCI-PM_L1.1+ ASPM_L1.2+ ASPM_L1.1+ L1_PM_Substates+ PortCommonModeRestoreTime=3us PortTPowerOnTime=28us L1SubCtl1: PCI-PM_L1.2- PCI-PM_L1.1- ASPM_L1.2- ASPM_L1.1- T_CommonMode=0us LTR1.2_Threshold=65536ns L1SubCtl2: T_PwrOn=44us Capabilities: [200 v2] Advanced Error Reporting UESta: DLP- SDES- TLP- FCP- CmpltTO- CmpltAbrt- UnxCmplt- RxOF- MalfTLP- ECRC- UnsupReq- ACSViol- UEMsk: DLP- SDES- TLP- FCP- CmpltTO- CmpltAbrt- UnxCmplt- RxOF- MalfTLP- ECRC- UnsupReq- ACSViol- UESvrt: DLP+ SDES+ TLP- FCP+ CmpltTO- CmpltAbrt- UnxCmplt- RxOF- MalfTLP+ ECRC- UnsupReq- ACSViol- CESta: RxErr- BadTLP- BadDLLP- Rollover- Timeout- AdvNonFatalErr- CEMsk: RxErr- BadTLP- BadDLLP- Rollover- Timeout- AdvNonFatalErr+ AERCap: First Error Pointer: 00, ECRCGenCap- ECRCGenEn- ECRCChkCap- ECRCChkEn- MultHdrRecCap- MultHdrRecEn- TLPPfxPres- HdrLogCap- HeaderLog: 00000000 00000000 00000000 00000000 Kernel driver in use: mt7921e Kernel modules: mt7921e

craiganderson commented 2 years ago

Ok, same driver then.

I'm guessing that at a minimum, the mt7921e driver code needs to be updated to properly recognize the presence of AP mode with the newer WiFi cards.

I'll reach out to the driver maintainer to confirm and report back with my findings.

Thanks

craiganderson commented 2 years ago

The principal dev for this driver got back to me quickly and confirmed that "mt7921 only supports sta (client) and monitor mode at the moment." I'm not sure why your card would like AP Mode support in this case since it sounds like it won't work for any mt7921 devices. Anyway, feel free to update your table with these findings to remove indication of AP mode support.

morrownr commented 2 years ago

I changed AP mode in the PCIe chart to show in progress for the mt7921k.

There is very heavy development going on with the mt7921 driver right now.

craiganderson commented 2 years ago

Sounds good! Hopefully we get something soon.

One other small nit - technically the AX200 and AX210 drivers do support AP mode, it's just handicapped for LAR affected bands. So in the AP Mode row for these, you could say something like "2.4 GHz only" to be more precise.

craiganderson commented 2 years ago

Also I just happened to have a MediaTek MT7921 lying around (same card as you), so I tried it:

But it gives the same results, no AP supported with the mt7921e driver:

    Supported interface modes:
         * managed
         * monitor

I actually had two 7961 cards with different sub-models, 7961:4680 which didn't match yours, and 7961:3802 which did match. However the results were the same for both, and neither showed up with AP mode. I have no explanation for how AP mode shows up on your MT7921 when the devs are telling me the mt7921e driver doesn't support AP mode.

Are you certain the iw list output you pasted above showing AP mode support is coming from your MT7921 and not another WiFi card? Otherwise I'm stumped...

morrownr commented 2 years ago

Are you certain the iw list output you pasted above showing AP mode support is coming from your MT7921?

I am sure. No other internal wifi in that laptop and no usb adapter plugged in. You are just going to have to face the fact that my driver is better than yours. ... he he he. Seriously, I'm running kernel 5.13. I've not checked to see if AP mode is working. I have checked monitor and managed modes. Just because my driver says AP mode is working does not make it so. This site is mostly about USB adapters and there are no USB adapters based on the mt7921 yet so there is very little testing going on at this point.

gitclint commented 2 years ago

The principal dev for this driver got back to me quickly and confirmed that "mt7921 only supports sta (client) and monitor mode at the moment." I'm not sure why your card would like AP Mode support in this case since it sounds like it won't work for any mt7921 devices. Anyway, feel free to update your table with these findings to remove indication of AP mode support.

Sorry for the dumb question, but where is the table with the AP Mode support? Does it also show how many SSIDs are supported? I've been looking everywhere for a document like this and it sounds like it may have been under my nose the whole time! xD

craiganderson commented 2 years ago

The principal dev for this driver got back to me quickly and confirmed that "mt7921 only supports sta (client) and monitor mode at the moment." I'm not sure why your card would like AP Mode support in this case since it sounds like it won't work for any mt7921 devices. Anyway, feel free to update your table with these findings to remove indication of AP mode support.

Sorry for the dumb question, but where is the table with the AP Mode support? Does it also show how many SSIDs are supported? I've been looking everywhere for a document like this and it sounds like it may have been under my nose the whole time! xD

https://github.com/morrownr/USB-WiFi/blob/main/PCIe_WiFi_Devices.md

morrownr commented 2 years ago

Hi @craiganderson

But it gives the same results, no AP supported with the mt7921e driver:

  Supported interface modes:
       * managed
       * monitor

Word from a source that would know is that the AP mode support should be in the firmware very soon. It appears to me that Mediatek is going as fast as they can and they decided to go ahead and release the firmware and driver with support as you see it so that Linux users would have at least good managed mode support in the short term but are working very hard to get the rest of the parts in as fast as they can. These WiFi 6 chipsets and drivers are incredibly complex. It astounds me how well the 7921 based card in my laptop works given this new generation of wifi.

All indications are that the 7921e and 7921u will be full featured once everything is complete.

Are you certain the iw list output you pasted above showing AP mode support is coming from your MT7921 and not another WiFi card? Otherwise I'm stumped...

Hopefully the above info helped. I still haven't had time to use AP mode but managed mode works great. I am busy. Golden Rule that I learned working on the Realtek drivers: Just because iw list or iw dev says something does not make it so. They probably had forgotten to remove the AP support statement in the version of the driver I have.

So, a little patience and we will have what we seek.

Regards

morrownr commented 2 years ago

Hi @craiganderson

Word from a source that would know is that the AP mode support should be in the firmware very soon.

The following was submitted last week:

Update binary firmware for MT7921 WiFi devices

File: mediatek/WIFI_MT7961_patch_mcu_1_2_hdr.bin
Version: 20220311230842a
File: mediatek/WIFI_RAM_CODE_MT7961_1.bin
Version: 20220311230931

I suspect that these new firmware files include the AP support for the mt7921e/u. You can keep an eye on the log at the following site:

https://git.kernel.org/pub/scm/linux/kernel/git/firmware/linux-firmware.git/log/mediatek

Once you see a new entry for those files then you can go to tree and download them and replace your current versions and see what the results are. Please let us know.

Regards

morrownr commented 2 years ago

Hi @craiganderson

Today the follow patch was submitted. It appears that more than the new firmware was needed to turn AP Mode on:

From: Sean Wang <sean.wang@mediatek.com>

add AP mode support to mt7921 that can work for mt7921[e,s,u]
with the common code.

Tested-by: Deren Wu <deren.wu@mediatek.com>
Signed-off-by: Sean Wang <sean.wang@mediatek.com>
---
 .../net/wireless/mediatek/mt76/mt7921/init.c  | 11 ++-
 .../net/wireless/mediatek/mt76/mt7921/mac.c   |  9 +++
 .../net/wireless/mediatek/mt76/mt7921/main.c  | 46 +++++++++++
 .../net/wireless/mediatek/mt76/mt7921/mcu.c   | 79 ++++++++++++++++++-
 .../wireless/mediatek/mt76/mt7921/mt7921.h    |  4 +
 5 files changed, 147 insertions(+), 2 deletions(-)

As you know, I keep a watch on the linux-wireless mailing list. The amount of work required for the WiFi 6 drivers is incredible. As best I can tell Mediatek has all hands on desk in an effort to finish work on the remaining features for the mt7921[e,s,u].

FWIW: I've used Linux since before WiFi, as we know it, existed. If my memory is correct, the mt7921u will be the first USB WiFi driver that will be in the kernel and fully ready to go BEFORE adapters are available.

zzxxtt commented 2 years ago

Hello, Although their's a patch on mt7921 ap mode, It seems it not merged to mainline kernel yet? I installed the latest 5.17.5 kernel and download the latest formware but still not have ap mode in iw list. Any idea how to build it by ourselve, like dkms?

morrownr commented 2 years ago

hi @zzxxtt

After I looked at the date on my message above about the latest commit, I can see the date is only 29 days ago. It won't be in 5.17. It may not have made it into 5.18 but for sure will be in 5.19. It is possible to compile and use a module that is in-kernel, however, that is on my to-do list. I need to learn how to do it. Let me know if you find a good guide.

FYI: I updated my guide about Mediatek firmware:

https://github.com/morrownr/USB-WiFi/blob/main/How_to_Install_Firmware_for_Mediatek_based_USB_WiFi_adapters.md

morrownr commented 2 years ago

Hi @zzxxtt @craiganderson @gitclint @Malvineous

Regarding the mt7921 AP mode issue:

A message came through linux-wireless today and I am posting it below. Driver support for AP mode is going into kernel 5.19. New firmware is also required and has been uploaded to the normal place and I have updated the instructions that I keep in the following document...

https://github.com/morrownr/USB-WiFi/blob/main/home/How_to_Install_Firmware_for_Mediatek_based_USB_WiFi_adapters.md


mt76 patches for 5.19


Bo Jiao (2): mt76: mt7915: disable RX_HDR_TRANS_SHORT mt76: mt7615/mt7915: do reset_work with mt76's work queue

Christophe JAILLET (1): mt76: mt7921: Fix the error handling path of mt7921_pci_probe()

Colin Ian King (2): mt76: mt7915: make read-only array ppet16_ppet8_ru3_ru0 static const mt76: mt7921: make read-only array ppet16_ppet8_ru3_ru0 static const

Deren Wu (2): mt76: fix antenna config missing in 6G cap mt76: mt7921: add ipv6 NS offload support

Evelyn Tsai (1): mt76: fix MBSS index condition in DBDC mode

Felix Fietkau (15): mt76: mt7915: fix DBDC default band selection on MT7915D mt76: mt7915: rework hardware/phy initialization mt76: reduce tx queue lock hold time mt76: dma: use kzalloc instead of devm_kzalloc for txwi mt76: mt7915: accept rx frames with non-standard VHT MCS10-11 mt76: mt7921: accept rx frames with non-standard VHT MCS10-11 mt76: fix use-after-free by removing a non-RCU wcid pointer mt76: fix rx reordering with non explicit / psmp ack policy mt76: do not attempt to reorder received 802.3 packets without agg session mt76: fix encap offload ethernet type check mt76: fix tx status related use-after-free race on station removal mt76: dma: add wrapper macro for accessing queue registers mt76: add support for overriding the device used for DMA mapping mt76: make number of tokens configurable dynamically mt76: mt7915: add Wireless Ethernet Dispatch support

Lorenzo Bianconi (11): mt76: mt7921u: add suspend/resume support mt76: mt7921: rely on mt76_dev rxfilter in mt7921_configure_filter mt76: mt7921: honor pm user configuration in mt7921_sniffer_interface_iter mt76: mt7915: fix unbounded shift in mt7915_mcu_beacon_mbss mt76: mt7915: fix possible uninitialized pointer dereference in mt7986_wmac_gpio_setup mt76: mt7915: fix possible NULL pointer dereference in mt7915_mac_fill_rx_vector mt76: mt7915: do not pass data pointer to mt7915_mcu_muru_debug_set mt76: mt7915: report rx mode value in mt7915_mac_fill_rx_rate mt76: mt7915: use 0xff to initialize bitrate_mask in mt7915_init_bitrate_mask mt76: mt7915: configure soc clocks in mt7986_wmac_init mt76: add gfp to mt76_mcu_msg_alloc signature

MeiChia Chiu (1): mt76: mt7915: add support for 6G in-band discovery

Peter Chiu (4): mt76: mt7915: update mt7986 patch in mt7986_wmac_adie_patch_7976() mt76: mt7915: fix twt table_mask to u16 in mt7915_dev mt76: mt7915: reject duplicated twt flows mt76: mt7915: limit minimum twt duration

Ryder Lee (7): mt76: mt7915: always call mt7915_wfsys_reset() during init mt76: mt7915: remove SCS feature mt76: mt7915: rework SER debugfs knob mt76: mt7915: introduce mt7915_mac_severe_check() mt76: mt7915: move MT_INT_MASK_CSR to init.c mt76: mt7915: improve error handling for fw_debug knobs mt76: mt7915: add more statistics from fw_util debugfs knobs

Sean Wang (3): mt76: mt7921: Add AP mode support mt76: mt7921: fix kernel crash at mt7921_pci_remove mt76: connac: use skb_put_data instead of open coding

Shayne Chen (1): mt76: mt7915: add debugfs knob for RF registers read/write

Yunbo Yu (1): mt76: mt7603: move spin_lock_bh() to spin_lock()


zeddit commented 4 months ago

hi all, I am using RZ608 wifi card on ubuntu 22.04 to set up an wifi access point. I am using netplan and NetworkManager to set the wifi in ap mode. However, devices could not connect to the ap and sudo wpa_cli -i wlp2s0 status shows

bssid=10:6f:d9:af:56:c5
freq=2412
ssid=test
id=0
mode=AP
pairwise_cipher=CCMP
group_cipher=CCMP
key_mgmt=UNKNOWN <- this problem. 
wpa_state=COMPLETED
ip_address=192.168.18.1

key_mgmt should be WPA2-PSK or something else. so is the issue related to the driver mt7921e. how could I fix it, great thanks.

morrownr commented 4 months ago

Hi @zeddit

Recommend that you start a new issue. Very few people will see this issue in this location.

I'd help if I could but using netplan and NM for AP mode is not something I know anything about. I do use AP mode a lot. In fact, I have an AP mode guide called Bridged Wireless Access Point on the Main Menu.

@morrownr

zeddit commented 4 months ago

@morrownr great thanks for your kindness and reply. The problem solved after I changed to use hostapd rather than NetworkManager. It's a problem of NetworkManager. thank you again.

rohithhackthlon commented 1 month ago

any updates about mt7921 ap mode support

morrownr commented 1 month ago

@craiganderson

This is a very old thread that has drifted toward various topics. I have various adapters/cards that use the mt7921u and mt7921e drivers and AP works fine for me.

Recommend you start a new issue with details on your adapter/card, distro and what you are trying to do.