Re: QCA6174 showing terrible performance when connecting via WPA3-SAE
On 4/25/24 5:51 AM, Kalle Valo wrote: I do not use Network Manager or other connection managers when testing. It's much more reliable to use wpasupplicant directly and you get full control. I usually create a custom config file and then start the supplicant manually. Some pointers: (...) I had some time today to test this, but unfortunately I couldn't figure out if wpa_supplicant was using WPA2 or WPA3. Trying to connect via `key_mgmt=SAE` caused `dhcpcd` to time out looking for carriers, so I guess it was connecting via WPA2. In any case the speed results were the same as disabling WPA3 on the router-side. The reason I'm sending this email despite not making much progress above is because it turns out I was chasing a red herring. The real problem behind the degraded throughput was 802.11w. The router was advertising support for it (802.11w capable but optional), but was not forcing clients that didn't have the capability (required mode). In Optional mode, I was experiencing the degraded performance. But after I disabled 802.11w on the router side, the speeds recovered to normal levels on both 2.4 GHz and 5 GHz bands, even connected over WPA3. So I'm guessing something on the driver's side is signaling that it supports 802.11w, when in reality it doesn't or some bug with the implementation causes the speed to drop. Or maybe there's an overhead I'm unaware of when 802.11w is enabled? My limited understanding of 802.11w is that the management frames are protected to prevent deauth attacks. I'm not sure where to begin troubleshooting this, but in the interim can I disable the capability advertising on the driver-level? I don't want to disable 802.11w on my entire network, if possible. - Eric
[kvalo-ath:master-pending] BUILD SUCCESS 095fd2a6b00244e04050e2eb9f503be5fd225967
tree/branch: https://git.kernel.org/pub/scm/linux/kernel/git/kvalo/ath.git master-pending branch HEAD: 095fd2a6b00244e04050e2eb9f503be5fd225967 Merge branch 'pending' into master-pending elapsed time: 1399m configs tested: 180 configs skipped: 3 The following configs have been built successfully. More configs may be tested in the coming days. tested configs: alpha allnoconfig gcc alphaallyesconfig gcc alpha defconfig gcc arc allmodconfig gcc arc allnoconfig gcc arc allyesconfig gcc arc axs103_smp_defconfig gcc arc defconfig gcc arc randconfig-001-20240427 gcc arc randconfig-002-20240427 gcc arm allmodconfig gcc arm allnoconfig clang arm allyesconfig gcc arm axm55xx_defconfig clang arm defconfig clang arm imx_v4_v5_defconfig clang armmvebu_v7_defconfig clang arm mxs_defconfig clang arm randconfig-001-20240427 clang arm randconfig-002-20240427 clang arm randconfig-003-20240427 gcc arm randconfig-004-20240427 clang arm spitz_defconfig gcc arm versatile_defconfig gcc arm64allmodconfig clang arm64 allnoconfig gcc arm64 defconfig gcc arm64 randconfig-001-20240427 clang arm64 randconfig-002-20240427 clang arm64 randconfig-003-20240427 gcc arm64 randconfig-004-20240427 clang csky allmodconfig gcc csky allnoconfig gcc csky allyesconfig gcc cskydefconfig gcc csky randconfig-001-20240427 gcc csky randconfig-002-20240427 gcc hexagon allmodconfig clang hexagon allnoconfig clang hexagon allyesconfig clang hexagon defconfig clang hexagon randconfig-001-20240427 clang hexagon randconfig-002-20240427 clang i386 allmodconfig gcc i386 allnoconfig gcc i386 allyesconfig gcc i386 buildonly-randconfig-001-20240427 clang i386 buildonly-randconfig-002-20240427 gcc i386 buildonly-randconfig-003-20240427 clang i386 buildonly-randconfig-004-20240427 clang i386 buildonly-randconfig-005-20240427 clang i386 buildonly-randconfig-006-20240427 gcc i386defconfig clang i386 randconfig-001-20240427 clang i386 randconfig-002-20240427 gcc i386 randconfig-003-20240427 clang i386 randconfig-004-20240427 gcc i386 randconfig-005-20240427 gcc i386 randconfig-006-20240427 clang i386 randconfig-011-20240427 gcc i386 randconfig-012-20240427 gcc i386 randconfig-013-20240427 clang i386 randconfig-014-20240427 clang i386 randconfig-015-20240427 gcc i386 randconfig-016-20240427 gcc loongarchallmodconfig gcc loongarch allnoconfig gcc loongarch defconfig gcc loongarch randconfig-001-20240427 gcc loongarch randconfig-002-20240427 gcc m68k allmodconfig gcc m68k allnoconfig gcc m68k allyesconfig gcc m68kdefconfig gcc microblaze allmodconfig gcc microblazeallnoconfig gcc microblaze allyesconfig gcc microblaze defconfig gcc mips allnoconfig gcc mips allyesconfig gcc mips ip22_defconfig gcc mips loongson3_defconfig gcc mipsmalta_qemu_32r6_defconfig gcc mipsmaltaup_defconfig clang nios2allmodconfig g
[kvalo-ath:pending] BUILD SUCCESS fed4e95a701cd470f5fee938091ae30da3325b2b
tree/branch: https://git.kernel.org/pub/scm/linux/kernel/git/kvalo/ath.git pending branch HEAD: fed4e95a701cd470f5fee938091ae30da3325b2b wifi: carl9170: add a proper sanity check for endpoints elapsed time: 1398m configs tested: 179 configs skipped: 3 The following configs have been built successfully. More configs may be tested in the coming days. tested configs: alpha allnoconfig gcc alphaallyesconfig gcc alpha defconfig gcc arc alldefconfig gcc arc allmodconfig gcc arc allnoconfig gcc arc allyesconfig gcc arc defconfig gcc arc randconfig-001-20240427 gcc arc randconfig-002-20240427 gcc arm allmodconfig gcc arm allnoconfig clang arm allyesconfig gcc arm aspeed_g4_defconfig clang arm defconfig clang arm milbeaut_m10v_defconfig clang armmmp2_defconfig gcc arm multi_v4t_defconfig clang armmvebu_v5_defconfig gcc arm randconfig-001-20240427 clang arm randconfig-002-20240427 clang arm randconfig-003-20240427 gcc arm randconfig-004-20240427 clang arm versatile_defconfig gcc armvexpress_defconfig gcc arm64allmodconfig clang arm64 allnoconfig gcc arm64 defconfig gcc arm64 randconfig-001-20240427 clang arm64 randconfig-002-20240427 clang arm64 randconfig-003-20240427 gcc arm64 randconfig-004-20240427 clang csky allmodconfig gcc csky allnoconfig gcc csky allyesconfig gcc cskydefconfig gcc csky randconfig-001-20240427 gcc csky randconfig-002-20240427 gcc hexagon allmodconfig clang hexagon allnoconfig clang hexagon allyesconfig clang hexagon defconfig clang hexagon randconfig-001-20240427 clang hexagon randconfig-002-20240427 clang i386 allmodconfig gcc i386 allnoconfig gcc i386 allyesconfig gcc i386 buildonly-randconfig-001-20240427 clang i386 buildonly-randconfig-002-20240427 gcc i386 buildonly-randconfig-003-20240427 clang i386 buildonly-randconfig-004-20240427 clang i386 buildonly-randconfig-005-20240427 clang i386 buildonly-randconfig-006-20240427 gcc i386defconfig clang i386 randconfig-001-20240427 clang i386 randconfig-002-20240427 gcc i386 randconfig-003-20240427 clang i386 randconfig-004-20240427 gcc i386 randconfig-005-20240427 gcc i386 randconfig-006-20240427 clang i386 randconfig-011-20240427 gcc i386 randconfig-012-20240427 gcc i386 randconfig-013-20240427 clang i386 randconfig-014-20240427 clang i386 randconfig-015-20240427 gcc i386 randconfig-016-20240427 gcc loongarchallmodconfig gcc loongarch allnoconfig gcc loongarch defconfig gcc loongarch randconfig-001-20240427 gcc loongarch randconfig-002-20240427 gcc m68k allmodconfig gcc m68k allnoconfig gcc m68k allyesconfig gcc m68k amcore_defconfig gcc m68kdefconfig gcc m68kq40_defconfig gcc microblaze allmodconfig gcc microblazeallnoconfig gcc microblaze allyesconfig gcc microblaze defconfig gcc mips allnoconfig gcc mips allyesconfig gcc mips ci20_defconfig clang nios2allmodconfig gcc nios2
[kvalo-ath:pending-deferred] BUILD SUCCESS c511a9c12674d246916bb16c479d496b76983193
tree/branch: https://git.kernel.org/pub/scm/linux/kernel/git/kvalo/ath.git pending-deferred branch HEAD: c511a9c12674d246916bb16c479d496b76983193 wifi: ath10k: Fix an error code problem in ath10k_dbg_sta_write_peer_debug_trigger() elapsed time: 3997m configs tested: 179 configs skipped: 3 The following configs have been built successfully. More configs may be tested in the coming days. tested configs: alpha allnoconfig gcc alphaallyesconfig gcc alpha defconfig gcc arc allmodconfig gcc arc allnoconfig gcc arc allyesconfig gcc arc axs101_defconfig gcc arc axs103_defconfig gcc arc defconfig gcc arc haps_hs_defconfig gcc arc randconfig-001-20240427 gcc arc randconfig-002-20240427 gcc arm allmodconfig gcc arm allnoconfig clang arm allyesconfig gcc arm collie_defconfig gcc arm defconfig clang armmmp2_defconfig gcc arm randconfig-001-20240425 clang arm randconfig-002-20240425 clang arm randconfig-003-20240425 clang arm randconfig-003-20240427 gcc arm randconfig-004-20240425 clang arm s3c6400_defconfig gcc arm s5pv210_defconfig gcc arm sp7021_defconfig gcc arm64allmodconfig clang arm64 allnoconfig gcc arm64 defconfig gcc arm64 randconfig-003-20240427 gcc csky allmodconfig gcc csky allnoconfig gcc csky allyesconfig gcc cskydefconfig gcc csky randconfig-001-20240427 gcc csky randconfig-002-20240427 gcc hexagon allmodconfig clang hexagon allnoconfig clang hexagon allyesconfig clang hexagon defconfig clang hexagon randconfig-001-20240425 clang hexagon randconfig-002-20240425 clang i386 allmodconfig gcc i386 allnoconfig gcc i386 allyesconfig gcc i386 buildonly-randconfig-001-20240425 gcc i386 buildonly-randconfig-001-20240427 clang i386 buildonly-randconfig-003-20240425 gcc i386 buildonly-randconfig-003-20240427 clang i386 buildonly-randconfig-004-20240427 clang i386 buildonly-randconfig-005-20240427 clang i386 buildonly-randconfig-006-20240425 gcc i386defconfig clang i386 randconfig-001-20240427 clang i386 randconfig-003-20240427 clang i386 randconfig-004-20240425 gcc i386 randconfig-006-20240427 clang i386 randconfig-013-20240425 gcc i386 randconfig-013-20240427 clang i386 randconfig-014-20240425 gcc i386 randconfig-014-20240427 clang i386 randconfig-015-20240425 gcc i386 randconfig-016-20240425 gcc loongarchallmodconfig gcc loongarch allnoconfig gcc loongarchallyesconfig gcc loongarch defconfig gcc loongarch randconfig-001-20240427 gcc loongarch randconfig-002-20240427 gcc m68k allmodconfig gcc m68k allnoconfig gcc m68k allyesconfig gcc m68kdefconfig gcc m68kstmark2_defconfig gcc microblaze allmodconfig gcc microblazeallnoconfig gcc microblaze allyesconfig gcc microblaze defconfig gcc microblaze mmu_defconfig gcc mips allmodconfig gcc mips allnoconfig gcc mips allyesconfig gcc mips lemote2f_defconfig gcc mips loongson1c_defconfig gcc mips