fail to connect to AP mode in 6.10 on WCN785x (NCM865)

Zachary Smith dr.z.smith at gmail.com
Sat Jun 8 17:37:21 PDT 2024


$ uname -a
Linux athtest 6.10.0-rc1-wt-ath+ #1 SMP PREEMPT_DYNAMIC Fri Jun  7
14:03:56 PDT 2024 x86_64 x86_64 x86_64 GNU/Linux

[84599.322219] ath12k_pci 0000:01:00.0: Hardware name: wcn7850 hw2.0
[84599.896011] ath12k_pci 0000:01:00.0: chip_id 0x2 chip_family 0x4
board_id 0xff soc_id 0x40170200
[84599.896023] ath12k_pci 0000:01:00.0: fw_version 0x100301e1
fw_build_timestamp 2023-12-06 04:05 fw_build_id
QC_IMAGE_VERSION_STRING=WLAN.HMT.1.0.c5-00481-QCAHMTSWPL_V1.0_V2.0_SILICONZ-3


$ git log --oneline | head -n 5
6f446d0a1af0 Merge branch 'pending' into master-pending
cf899366dcc9 wifi: ath11k: use 'time_left' variable with wait_event_timeout()
9e0e90f4ca68 wifi: ath11k: Add firmware coredump collection support
c0889b096794 wifi: ath11k: fix RCU documentation in ath11k_mac_op_ipv6_changed()
b14f951b2de7 wifi: ath12k: fix ACPI warning when resume

note this is 2.4ghz
$ cat hostapd.conf
beacon_int=100
ssid=testap5
interface=wlp1s0
driver=nl80211
channel=6
ctrl_interface=/tmp/hostapd_ctrl
ctrl_interface_group=0
ignore_broadcast_ssid=0
ap_isolate=0
hw_mode=g
ieee80211w=0
logger_stdout_level=0


$ sudo /usr/sbin/hostapd hostapd.conf
wlp1s0: interface state UNINITIALIZED->ENABLED
wlp1s0: AP-ENABLED

<is waiting for connection, then after client connects:>

wlp1s0: STA 0e:db:91:6f:7f:d7 IEEE 802.11: authentication OK (open system)
wlp1s0: STA 0e:db:91:6f:7f:d7 MLME:
MLME-AUTHENTICATE.indication(0e:db:91:6f:7f:d7, OPEN_SYSTEM)
wlp1s0: STA 0e:db:91:6f:7f:d7 MLME: MLME-DELETEKEYS.request(0e:db:91:6f:7f:d7)
wlp1s0: STA 0e:db:91:6f:7f:d7 IEEE 802.11: authenticated
wlp1s0: STA 0e:db:91:6f:7f:d7 IEEE 802.11: association OK (aid 1)
wlp1s0: STA 0e:db:91:6f:7f:d7 IEEE 802.11: Could not set STA to kernel driver

Bisecting I found the problem in this commit:
3d887557477 wifi: ath12k: refactor SMPS configuration

This fixes it:
$ git diff --staged
diff --git a/drivers/net/wireless/ath/ath12k/mac.c
b/drivers/net/wireless/ath/ath12k/mac.c
index eb97de7bee84..638cf74d5359 100644
--- a/drivers/net/wireless/ath/ath12k/mac.c
+++ b/drivers/net/wireless/ath/ath12k/mac.c
@@ -2757,6 +2757,8 @@ static int ath12k_setup_peer_smps(struct ath12k
*ar, struct ath12k_vif *arvif,
        int smps, ret = 0;

        ret = ath12k_get_smps_from_capa(ht_cap, he_6ghz_capa, &smps);
+       if (ret == -EOPNOTSUPP)
+               return 0;
        if (ret < 0)
                return ret;

Thanks!



More information about the ath12k mailing list