Built and installed v6.2 kernel (with ath11k_pci) on arm64 hardware running Ubuntu22.04. Hardware has both Atheros QCN9074 module and Intel AX210 module. Running each (separately) in station mode and try to connect to Synology router with WiFi Access Point based on QCN9074. AX210 has no problem connecting to AP but Atheros is successfully authenticating but association is rejected by AP with this error message: wlan: [0:I:ANY] [UNSPECIFIED] vap-0(wlan100): [04:f0:21:a1:7c:3e]deny assoc request, Invalid supported ch width and ext nss combination Please note that when running v5.15.5 kernel (with ath11k_pci), I am able to connect to the same AP without problems. Detailed logs follow: >uname -a Linux babbage 6.2.0-00001-g62c5868b688c #3 SMP PREEMPT Fri Mar 31 14:52:28 PDT 2023 aarch64 aarch64 aarch64 GNU/Linux > dmesg (relevant section) [ 124.038162] ath11k_pci 0002:01:00.0: Adding to iommu group 11 [ 124.038445] ath11k_pci 0002:01:00.0: BAR 0: assigned [mem 0x9840000000-0x98401fffff 64bit] [ 124.038540] ath11k_pci 0002:01:00.0: enabling device (0000 -> 0002) [ 124.039112] ath11k_pci 0002:01:00.0: MSI vectors: 16 [ 124.039146] ath11k_pci 0002:01:00.0: qcn9074 hw1.0 [ 124.045782] NET: Registered PF_QIPCRTR protocol family [ 124.202331] mhi mhi0: Requested to power ON [ 124.202348] mhi mhi0: Power on setup success [ 124.303898] mhi mhi0: Wait for device to enter SBL or Mission mode [ 124.509429] ath11k_pci 0002:01:00.0: chip_id 0x0 chip_family 0x0 board_id 0xff soc_id 0xffffffff [ 124.509446] ath11k_pci 0002:01:00.0: fw_version 0x2506844c fw_build_timestamp 2021-07-13 10:24 fw_build_id [ 206.804624] wlan1: authenticate with 90:09:d0:31:02:77 [ 206.809808] wlan1: Allocated STA 90:09:d0:31:02:77 [ 206.814615] wlan1: EHT not supported, disabling EHT [ 207.342015] wlan1: Inserted STA 90:09:d0:31:02:77 [ 207.346735] wlan1: send auth to 90:09:d0:31:02:77 (try 1/3) [ 207.455949] wlan1: send auth to 90:09:d0:31:02:77 (try 2/3) [ 207.561126] wlan1: authenticated [ 207.564379] wlan1: moving STA 90:09:d0:31:02:77 to state 2 [ 207.571906] wlan1: associate with 90:09:d0:31:02:77 (try 1/3) [ 207.582324] wlan1: RX AssocResp from 90:09:d0:31:02:77 (capab=0x1511 status=18 aid=0) [ 207.590168] wlan1: 90:09:d0:31:02:77 denied association (code=18) [ 207.611895] wlan1: moving STA 90:09:d0:31:02:77 to state 1 [ 207.620168] wlan1: Removed STA 90:09:d0:31:02:77 [ 207.625011] wlan1: Destroyed STA 90:09:d0:31:02:77 > wpa_supplicant -d (relevant section) nl80211: Associate (ifindex=17) * bssid=90:09:d0:31:02:77 * freq=5745 * SSID=xxxx * IEs - hexdump(len=61): 30 14 01 00 00 0f ac 04 01 00 00 0f ac 04 01 00 00 0f ac 02 00 00 7f 0b 04 00 0a 02 01 40 40 40 00 21 20 46 05 70 00 00 00 00 3b 11 80 73 74 75 76 77 78 79 7a 7b 7c 7d 7e 7f 80 81 82 * WPA Versions 0x2 * pairwise=0xfac04 * group=0xfac04 * akm=0xfac02 * htcaps - hexdump(len=26): 63 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 * htcaps_mask - hexdump(len=26): 63 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 * vhtcaps - hexdump(len=12): 00 00 00 00 00 00 00 00 00 00 00 00 * vhtcaps_mask - hexdump(len=12): 00 00 00 00 00 00 00 00 00 00 00 00 nl80211: Association request send successfully nl80211: Drv Event 20 (NL80211_CMD_DEL_STATION) received for wlan1 nl80211: Delete station 90:09:d0:31:02:77 nl80211: Drv Event 38 (NL80211_CMD_ASSOCIATE) received for wlan1 nl80211: Associate event wlan1: Event ASSOC_REJECT (12) received wlan1: CTRL-EVENT-ASSOC-REJECT bssid=90:09:d0:31:02:77 status_code=18 wlan1: SME: Association with 90:09:d0:31:02:77 failed: status code 18 >find . -type f | xargs md5sum 3c2311ff705aa9089d7914c5d6e0f12a ./2.5.0.1/WLAN.HK.2.5.0.1-01100-QCAHKSWPL_SILICONZ-1/Notice.txt 823915206101779f8cab6b89066e1040 ./2.5.0.1/WLAN.HK.2.5.0.1-01100-QCAHKSWPL_SILICONZ-1/amss.bin fcca36959c5f56f9f0fb7015083dc806 ./2.5.0.1/WLAN.HK.2.5.0.1-01100-QCAHKSWPL_SILICONZ-1/m3.bin 668f53050a92db5b4281ae5f26c7e35d ./board-2.bin > lspci -mnn 0001:01:00.0 "Network controller [0280]" "Intel Corporation [8086]" "Wi-Fi 6 AX210/AX211/AX411 160MHz [2725]" -r1a "Intel Corporation [8086]" "Wi-Fi 6 AX210 160MHz [0024]" 0002:01:00.0 "Network controller [0280]" "Qualcomm [17cb]" "Device [1104]" -r01 "Qualcomm [17cb]" "Device [1104]" For reference, logs for Intel AX210 module on v6.2 > dmesg (relevant section) [ 53.084225] iwlwifi 0001:01:00.0: WFPM_UMAC_PD_NOTIFICATION: 0x1f [ 53.084245] iwlwifi 0001:01:00.0: WFPM_LMAC2_PD_NOTIFICATION: 0x1f [ 53.084258] iwlwifi 0001:01:00.0: WFPM_AUTH_KEY_0: 0x80 [ 53.084270] iwlwifi 0001:01:00.0: CNVI_SCU_SEQ_DATA_DW9: 0x0 [ 53.170920] ACPI: <n/a>: failed to evaluate _DSM bf0212f2-788f-c64d-a5b3-1f738e285ade (0x1001) [ 53.170937] ACPI: <n/a>: failed to evaluate _DSM bf0212f2-788f-c64d-a5b3-1f738e285ade (0x1001) [ 53.170947] ACPI: <n/a>: failed to evaluate _DSM bf0212f2-788f-c64d-a5b3-1f738e285ade (0x1001) [ 53.170956] ACPI: <n/a>: failed to evaluate _DSM bf0212f2-788f-c64d-a5b3-1f738e285ade (0x1001) [ 53.170964] ACPI: <n/a>: failed to evaluate _DSM bf0212f2-788f-c64d-a5b3-1f738e285ade (0x1001) [ 53.170971] ACPI: <n/a>: failed to evaluate _DSM bf0212f2-788f-c64d-a5b3-1f738e285ade (0x1001) [ 53.170979] ACPI: <n/a>: failed to evaluate _DSM bf0212f2-788f-c64d-a5b3-1f738e285ade (0x1001) [ 154.969620] wlan0: authenticate with 90:09:d0:31:02:77 [ 154.969667] wlan0: Allocated STA 90:09:d0:31:02:77 [ 154.969685] wlan0: EHT not supported, disabling EHT [ 154.972819] wlan0: Inserted STA 90:09:d0:31:02:77 [ 154.973002] wlan0: send auth to 90:09:d0:31:02:77 (try 1/3) [ 155.129024] wlan0: send auth to 90:09:d0:31:02:77 (try 2/3) [ 155.204898] wlan0: authenticated [ 155.204906] wlan0: moving STA 90:09:d0:31:02:77 to state 2 [ 155.209004] wlan0: associate with 90:09:d0:31:02:77 (try 1/3) [ 155.212810] wlan0: RX AssocResp from 90:09:d0:31:02:77 (capab=0x1511 status=0 aid=10) [ 155.212837] wlan0: WMM AC=0 acm=0 aifs=2 cWmin=3 cWmax=7 txop=47 uapsd=0, downgraded=0 [ 155.212846] wlan0: WMM AC=1 acm=0 aifs=2 cWmin=7 cWmax=15 txop=94 uapsd=0, downgraded=0 [ 155.212853] wlan0: WMM AC=2 acm=0 aifs=3 cWmin=15 cWmax=1023 txop=0 uapsd=0, downgraded=0 [ 155.212860] wlan0: WMM AC=3 acm=0 aifs=7 cWmin=15 cWmax=1023 txop=0 uapsd=0, downgraded=0 [ 155.212869] wlan0: moving STA 90:09:d0:31:02:77 to state 3 [ 155.216521] wlan0: associated [ 155.314376] wlan0: Limiting TX power to 27 (30 - 3) dBm as advertised by 90:09:d0:31:02:77 [ 155.729746] IPv6: ADDRCONF(NETDEV_CHANGE): wlan0: link becomes ready [ 155.730153] wlan0: moving STA 90:09:d0:31:02:77 to state 4 [ 175.898774] wlan0: AddBA Req buf_size=256 for 90:09:d0:31:02:77 [ 175.898983] wlan0: Rx A-MPDU request on 90:09:d0:31:02:77 tid 6 result 0 [ 181.122476] wlan0: AddBA Req buf_size=256 for 90:09:d0:31:02:77 [ 181.122687] wlan0: Rx A-MPDU request on 90:09:d0:31:02:77 tid 0 result 0
I forwarded the report to the lists to increase its visibility: https://lore.kernel.org/all/ed31b6fe-e73d-34af-445b-81c5c644d615@leemhuis.info/ If no developer comes up with a idea what might cause this within the next week or so, I'd assume you likely need to do use "git bisect" to find the change that caused the problem.
This problem is present in v6.1. (Linux mainline tree). This problem is NOT present in v5.15.99 (Linux-stable tree)
Embedded ARM CPU vendor (NXP) supports only kernels only 5.15 and 6.1. NXP unstreamed its code to Linux mainline sometime after 6.1. I switched to x86-64 for doing testing on kernels 5.16-6.0. Running Ubuntu 22.04, I see the following 1. vmlinuz-5.15.0-43-generic kernel works (you can associated and connect to AP) 2. vmlinuz-5.17.0-1029-oem kernel does not work (association is rejected with the same error as above). 3. vmlinuz-5.19.0-38-generic does not work (same as in 5.17) The main obvious difference is that ath11k driver support 160MHz channel bandwidth in 5.17 & 5.19 while 5.15 version supports only 80MHz maximum channel bandwidth.
Here is bisect log for finding the commit that causes the problem. $ git bisect log git bisect start '--' './drivers/net/wireless/ath/ath11k' # good: [8bb7eca972ad531c9b149c0a51ab43a417385813] Linux 5.15 git bisect good 8bb7eca972ad531c9b149c0a51ab43a417385813 # bad: [df0cc57e057f18e44dac8e6c18aba47ab53202f9] Linux 5.16 git bisect bad df0cc57e057f18e44dac8e6c18aba47ab53202f9 # bad: [79feedfea7793d91293ab72fac5fc66aae0c6a85] ath11k: Avoid "No VIF found" warning message git bisect bad 79feedfea7793d91293ab72fac5fc66aae0c6a85 # bad: [eb19efed836a51ee30a602abe2dd21a97c47bbcc] ath11k: Wstringop-overread warning git bisect bad eb19efed836a51ee30a602abe2dd21a97c47bbcc # good: [64e06b78a92744d43d3993ba623d2686d8f937e7] ath11k: add separate APIs for monitor mode git bisect good 64e06b78a92744d43d3993ba623d2686d8f937e7 # bad: [cc2ad7541486f1f755949c1ccd17e14a15bf1f4e] ath11k: Refactor spectral FFT bin size git bisect bad cc2ad7541486f1f755949c1ccd17e14a15bf1f4e # good: [61fe43e7216df6e9a912d831aafc7142fa20f280] ath11k: add support for setting fixed HE rate/gi/ltf git bisect good 61fe43e7216df6e9a912d831aafc7142fa20f280 # bad: [f552d6fd2f27ce9430c74482c46272838e2de688] ath11k: add support for 80P80 and 160 MHz bandwidth git bisect bad f552d6fd2f27ce9430c74482c46272838e2de688 # first bad commit: [f552d6fd2f27ce9430c74482c46272838e2de688] ath11k: add support for 80P80 and 160 MHz bandwidth
(In reply to Michal Smulski from comment #4) > Here is bisect log for finding the commit that causes the problem. > > # first bad commit: [f552d6fd2f27ce9430c74482c46272838e2de688] ath11k: add > support for 80P80 and 160 MHz bandwidth Great, thx. Pointed the authors of that commit to this ticket here: https://lore.kernel.org/all/afa92c35-b17a-49de-ac4c-6d60237a2dca@leemhuis.info/
Michal, could you provide more information about the AP? What's the exact make and model? What are the Wi-Fi settings on the AP? This helps with reproducing the bug on our end.
AP is Synology Router RT6600AX # uname -a Linux SynologyRouter 4.4.60 #9346 SMP PREEMPT Fri Nov 4 11:53:13 CST 2022 aarch64 GNU/Linux synology_cypress_rt6600ax /lib/firmware/qcn9000 # more fw_version.txt WLAN.HK.2.5.r4-00745-QCAHKSWPL_SILICONZ-1 v1 /etc/hostapd # cat hostapd-wlan100.conf ctrl_interface=/var/run/hostapd driver=nl80211 interface=wlan100 bridge=lbr0 ssid=8e55bb ignore_broadcast_ssid=0 max_num_sta=256 ap_isolate=0 dtim_period=4 wmm_enabled=1 wpa_group_rekey=3600 send_probe_response=0 ieee80211ax=1 ieee80211ac=1 ieee80211n=1 hw_mode=a channel=149 he_oper_centr_freq_seg0_idx=155 he_oper_chwidth=1 ht_capab=[LDPC][SMPS-DYNAMIC][TX-STBC][RX-STBC-1][MAX-AMSDU-7935][DSSS_CCK-40][HT40+][SHORT-GI-40] vht_capab=[MAX-MPDU-11454][VHT160-80PLUS80][RXLDPC][SHORT-GI-80][SHORT-GI-160][TX-STBC-2BY1][RX-STBC1][SU-BEAMFORMER][SOUNDING-DIMENSION-4][SU-BEAMFORMEE][MAX-A-MPDU-LEN-EXP7][MU-BEAMFORMER][RX-ANTENNA-PATTERN][TX-ANTENNA-PATTERN] auth_algs=1 wpa=2 wpa_key_mgmt=WPA-PSK wpa_pairwise=CCMP ieee80211w=0 wpa_passphrase=244283540 wps_independent=1 eap_server=1 wps_state=2 ap_setup_locked=0 wps_rf_bands=a config_methods=label display virtual_display virtual_push_button physical_push_button keypad device_type=6-0050F204-1 manufacturer=Synology Inc. model_name=Synology Router model_number=RT6600AX serial_number=2290UXRTXFQP8 upnp_iface=lbr0 device_name=Synology Router friendly_name=Synology Router uuid=e5ea0080-01db-4969-a47e-9009d0310272 macaddr_acl=0 deny_mac_file=/etc/hostapd/hostapd-wlan100-mac.list
Reverting part of the commit f552d6fd2f27ce9430c74482c46272838e2de688, specifically: @@ -4427,11 +4497,6 @@ ath11k_create_vht_cap(struct ath11k *ar, u32 rate_cap_tx_chainmask, ath11k_set_vht_txbf_cap(ar, &vht_cap.cap); - /* TODO: Enable back VHT160 mode once association issues are fixed */ - /* Disabling VHT160 and VHT80+80 modes */ - vht_cap.cap &= ~IEEE80211_VHT_CAP_SUPP_CHAN_WIDTH_MASK; - vht_cap.cap &= ~IEEE80211_VHT_CAP_SHORT_GI_160; - rxmcs_map = 0; txmcs_map = 0; for (i = 0; i < 8; i++) { fixes my problem. Moreover, I know get 160MHz link #iw dev wlan0 link Connected to 90:09:d0:31:02:77 (on wlan0) SSID: 8e55bb freq: 5500 RX: 392016 bytes (1590 packets) TX: 3069 bytes (20 packets) signal: -95 dBm rx bitrate: 2507.8 MBit/s 160MHz HE-MCS 6 HE-NSS 4 HE-GI 0 HE-DCM 0 tx bitrate: 2882.6 MBit/s 160MHz HE-MCS 7 HE-NSS 4 HE-GI 0 HE-DCM 0 bss flags: short-slot-time dtim period: 4 beacon int: 100
I captured association/management frame from Qualcomm (configured as STA) via wireshark which triggers error message on AP. I can see the following: Supported Channel Width = 0x2 Extended NSS BW Support = 0x1 Extended NSS BW Capable = 0x1 I noted from linux/net/wireless/util.c: /* This is an invalid combination so pretend nothing is supported */ if (supp_width == 2 && (ext_nss_bw == 1 || ext_nss_bw == 2)) return 0; So it appears that Synology router is correct that channel bw and ext NSS combination is invalid. I presume that other AP device use this lenient approach and ignore the invalid combination but Synology does not accept this. VHT Capabilities Info: 0x738b79fa .... .... .... .... .... .... .... ..10 = Maximum MPDU Length: 11 454 (0x2) .... .... .... .... .... .... .... 10.. = Supported Channel Width Set: 160MHz and 80+80 Supported (0x2) .... .... .... .... .... .... ...1 .... = Rx LDPC: Supported .... .... .... .... .... .... ..1. .... = Short GI for 80MHz/TVHT_MODE_4C: Supported .... .... .... .... .... .... .1.. .... = Short GI for 160MHz and 80+80MHz: Supported .... .... .... .... .... .... 1... .... = Tx STBC: Supported .... .... .... .... .... .001 .... .... = Rx STBC: 1 Spatial Stream Supported (0x1) .... .... .... .... .... 1... .... .... = SU Beamformer Capable: Supported .... .... .... .... ...1 .... .... .... = SU Beamformee Capable: Supported .... .... .... .... 011. .... .... .... = Beamformee STS Capability: 4 (0x3) .... .... .... .011 .... .... .... .... = Number of Sounding Dimensions: 4 (0x3) .... .... .... 1... .... .... .... .... = MU Beamformer Capable: Supported .... .... ...0 .... .... .... .... .... = MU Beamformee Capable: Not supported .... .... ..0. .... .... .... .... .... = TXOP PS: Not supported .... .... .0.. .... .... .... .... .... = +HTC-VHT Capable: Not supported .... ..11 1... .... .... .... .... .... = Max A-MPDU Length Exponent: 1 048 575 (0x7) .... 00.. .... .... .... .... .... .... = VHT Link Adaptation: No Feedback (0x0) ...1 .... .... .... .... .... .... .... = Rx Antenna Pattern Consistency: Supported ..1. .... .... .... .... .... .... .... = Tx Antenna Pattern Consistency: Supported 01.. .... .... .... .... .... .... .... = Extended NSS BW Support: 0x1 ..1. .... .... .... = Extended NSS BW Capable: Capable
Another way I was able to verify this is by setting: In mac.c (in ath11kcreate_vht_cap() function): vht_cap.cap &= ~IEEE80211_VHT_CAP_EXT_NSS_BW_MASK; instead of removing 160MHz support from vht_cap.cap. Setting this field allows for full 160MHz connection with AP. I am not sure where is Extended NSS BW Support=1 set. I don't see this set in ath11k driver. Is this done in firmware?