Mixing ath11k and ath12k leads to failure
Mihai Moldovan
ionic at ionic.de
Thu Oct 10 07:23:40 PDT 2024
Hi
I'm trying to run two cards in one machine, 17cb:1101 (QCA6390) with ath11k and
17cb:1107 (WCN7850) with ath12k.
The testing system is Debian-sid-based with kernel 6.11.2 and firmware versioned
20240909.
Upon booting up, neither card works, dmesg output (cut down to what seems relevant):
[ 24.575092] ath12k_pci 0000:01:00.0: BAR 0 [mem 0xf7600000-0xf77fffff 64bit]:
assigned
[ 24.575114] ath12k_pci 0000:01:00.0: enabling device (0000 -> 0002)
[ 24.575308] ath12k_pci 0000:01:00.0: MSI vectors: 16
[ 24.575314] ath12k_pci 0000:01:00.0: Hardware name: wcn7850 hw2.0
[ 24.576350] ath12k_pci 0000:01:00.0: firmware: failed to load
ath12k/WCN7850/hw2.0/firmware-2.bin (-2)
[ 24.576367] ath12k_pci 0000:01:00.0: firmware: failed to load
ath12k/WCN7850/hw2.0/firmware-2.bin (-2)
[ 24.585051] NET: Registered PF_QIPCRTR protocol family
[ 24.588206] ath11k_pci 0000:03:00.0: BAR 0 [mem 0xf5000000-0xf5ffffff 64bit]:
assigned
[ 24.588227] ath11k_pci 0000:03:00.0: enabling device (0000 -> 0002)
[ 24.588526] ath11k_pci 0000:03:00.0: MSI vectors: 32
[ 24.588534] ath11k_pci 0000:03:00.0: qca6390 hw2.0
[ 24.589569] ath11k_pci 0000:03:00.0: firmware: failed to load
ath11k/QCA6390/hw2.0/firmware-2.bin (-2)
[ 24.589587] ath11k_pci 0000:03:00.0: firmware: failed to load
ath11k/QCA6390/hw2.0/firmware-2.bin (-2)
[ 24.640638] mhi mhi0: Requested to power ON
[ 24.640649] mhi mhi0: Power on setup success
[ 24.744538] mhi mhi1: Requested to power ON
[ 24.744549] mhi mhi1: Power on setup success
[ 24.916471] mhi mhi1: Wait for device to enter SBL or Mission mode
[ 24.936484] mhi mhi0: Wait for device to enter SBL or Mission mode
[ 25.020257] ath12k_pci 0000:01:00.0: Host capability request failed, result:
1, err: 90
[ 25.020263] ath12k_pci 0000:01:00.0: qmi failed to send host cap QMI:-22
[ 25.026616] ath12k_pci 0000:01:00.0: chip_id 0x0 chip_family 0xb board_id
0xff soc_id 0xffffffff
[ 25.026620] ath12k_pci 0000:01:00.0: fw_version 0x10121492 fw_build_timestamp
2021-11-04 11:23 fw_build_id
[ 25.080202] ath12k_pci 0000:01:00.0: firmware: failed to load
ath12k/WCN7850/hw2.0/board.bin (-2)
[ 25.080219] ath12k_pci 0000:01:00.0: firmware: failed to load
ath12k/WCN7850/hw2.0/board.bin (-2)
[ 25.080222] ath12k_pci 0000:01:00.0: failed to fetch board data for
bus=pci,vendor=17cb,device=1107,subsystem-vendor=105b,subsystem-device=e0f7,qmi-chip-id=0,qmi-board-id=255
from ath12k/WCN7850/hw2.0/board-2.bin
[ 25.080225] ath12k_pci 0000:01:00.0: failed to fetch board.bin from WCN7850/hw2.0
[ 25.080226] ath12k_pci 0000:01:00.0: qmi failed to load bdf:
[ 25.080228] ath12k_pci 0000:01:00.0: qmi failed to load board data file:-2
[ 25.331960] ath11k_pci 0000:03:00.0: host capability request failed: 1 90
[ 25.331966] ath11k_pci 0000:03:00.0: failed to send qmi host cap: -22
[ 25.333251] ath12k_pci 0000:01:00.0: Host capability request failed, result:
1, err: 90
[ 25.333255] ath12k_pci 0000:01:00.0: qmi failed to send host cap QMI:-22
Unloading ath12k, ath11k_pci, ath11k, qrtr_mhi, qrtr and mhi and then only
loading either (ath11k_pci and ath11k) xor (ath12k) leads to a working card, but
I haven't found a way to get both working.
There seem to be multiple problems. Playing with loading and unloading modules
often leads to a full system freeze upon loading either ath11k_pci or ath12k,
but I haven't found a reliable way to reproduce that (it seems to depend upon
the order in which modules are unloaded and loaded... or, for that matter, not
unloaded but kept loaded).
A "clean load procedure" (that is, booting up normally, then unloading
[ath12k,ath11k_pci,ath11k,qrtr_mhi,qrtr,mhi]) of ath12k lead to modprobe
segfaulting (ugh...):
[ 72.162543] ath12k_pci 0000:01:00.0: BAR 0 [mem 0xf7600000-0xf77fffff 64bit]:
assigned
[ 72.162708] ath12k_pci 0000:01:00.0: MSI vectors: 16
[ 72.162712] ath12k_pci 0000:01:00.0: Hardware name: wcn7850 hw2.0
[ 72.162729] ath12k_pci 0000:01:00.0: firmware: failed to load
ath12k/WCN7850/hw2.0/firmware-2.bin (-2)
[ 72.162736] ath12k_pci 0000:01:00.0: firmware: failed to load
ath12k/WCN7850/hw2.0/firmware-2.bin (-2)
[ 72.167505] NET: Registered PF_QIPCRTR protocol family
[ 72.223136] mhi mhi0: Requested to power ON
[ 72.223147] mhi mhi0: Power on setup success
[ 72.332499] mhi mhi0: Wait for device to enter SBL or Mission mode
[ 72.721068] Oops: general protection fault, probably for non-canonical
address 0xa1b1d200f3304212: 0000 [#1] PREEMPT SMP PTI
[ 72.721072] CPU: 7 UID: 0 PID: 3128 Comm: modprobe Not tainted 6.11.2-amd64
#1 Debian 6.11.2-1
[ 72.721074] Hardware name: MSI MS-7816/Z87-G43 (MS-7816), BIOS V1.11 05/09/2015
[ 72.721075] RIP: 0010:notifier_chain_register+0xf/0xb0
[ 72.721079] Code: 1f 44 00 00 c3 cc cc cc cc 66 90 90 90 90 90 90 90 90 90 90
90 90 90 90 90 90 90 0f 1f 44 00 00 48 8b 07 48 85 c0 75 1d eb 3b <8b> 48 10 39
4e 10 7f 33 75 04 84 d2 75 7d 48 8d 78 08 48 8b 40 08
[ 72.721080] RSP: 0018:ffffbef9409478d0 EFLAGS: 00010012
[ 72.721082] RAX: a1b1d200f3304202 RBX: ffffffff8695b6f0 RCX: 000000000ff95202
[ 72.721083] RDX: 0000000000000000 RSI: ffff990082f1cc10 RDI: ffff990095e7cc18
[ 72.721084] RBP: ffff990082f1cc10 R08: ffff9900fa0c2198 R09: 0000000000000001
[ 72.721085] R10: 0000000000000007 R11: 0000000000000001 R12: 0000000000000246
[ 72.721085] R13: ffff990082f1cc28 R14: ffff990082f11550 R15: 000000000000000a
[ 72.721086] FS: 00007fe34f3d6640(0000) GS:ffff99077fb80000(0000)
knlGS:0000000000000000
[ 72.721087] CS: 0010 DS: 0000 ES: 0000 CR0: 0000000080050033
[ 72.721088] CR2: 00005590ca24f070 CR3: 00000001896e8006 CR4: 00000000001706f0
[ 72.721089] DR0: 0000000000000000 DR1: 0000000000000000 DR2: 0000000000000000
[ 72.721090] DR3: 0000000000000000 DR6: 00000000fffe0ff0 DR7: 0000000000000400
[ 72.721091] Call Trace:
[ 72.721092] <TASK>
[ 72.721094] ? __die_body.cold+0x19/0x27
[ 72.721097] ? die_addr+0x3c/0x60
[ 72.721099] ? exc_general_protection+0x17d/0x400
[ 72.721103] ? asm_exc_general_protection+0x26/0x30
[ 72.721108] ? notifier_chain_register+0xf/0xb0
[ 72.721110] atomic_notifier_chain_register+0x29/0x50
[ 72.721114] ath12k_core_init+0x57/0xd0 [ath12k]
[ 72.721135] ath12k_pci_probe+0x98b/0xa90 [ath12k]
[ 72.721149] local_pci_probe+0x45/0x90
[ 72.721152] pci_device_probe+0xc1/0x280
[ 72.721154] really_probe+0xde/0x340
[ 72.721156] ? pm_runtime_barrier+0x54/0x90
[ 72.721159] ? __pfx___driver_attach+0x10/0x10
[ 72.721161] __driver_probe_device+0x78/0x110
[ 72.721163] driver_probe_device+0x1f/0xa0
[ 72.721165] __driver_attach+0xba/0x1c0
[ 72.721167] bus_for_each_dev+0x8f/0xe0
[ 72.721168] bus_add_driver+0x112/0x1f0
[ 72.721170] driver_register+0x72/0xd0
[ 72.721172] ? __pfx_ath12k_pci_init+0x10/0x10 [ath12k]
[ 72.721183] ath12k_pci_init+0x24/0x40 [ath12k]
[ 72.721190] ? __pfx_ath12k_pci_init+0x10/0x10 [ath12k]
[ 72.721197] do_one_initcall+0x5b/0x310
[ 72.721201] do_init_module+0x60/0x230
[ 72.721203] init_module_from_file+0x89/0xe0
[ 72.721206] idempotent_init_module+0x121/0x320
[ 72.721208] __x64_sys_finit_module+0x5e/0xb0
[ 72.721209] do_syscall_64+0x82/0x190
[ 72.721211] ? do_sys_openat2+0x9c/0xe0
[ 72.721213] ? syscall_exit_to_user_mode+0x4d/0x210
[ 72.721216] ? do_syscall_64+0x8e/0x190
[ 72.721216] ? syscall_exit_to_user_mode+0x4d/0x210
[ 72.721218] ? do_syscall_64+0x8e/0x190
[ 72.721219] ? __memcg_slab_free_hook+0xf7/0x140
[ 72.721222] ? __x64_sys_close+0x3c/0x80
[ 72.721223] ? kmem_cache_free+0x3d5/0x400
[ 72.721226] ? syscall_exit_to_user_mode+0x4d/0x210
[ 72.721227] ? do_syscall_64+0x8e/0x190
[ 72.721228] ? exc_page_fault+0x7e/0x180
[ 72.721229] entry_SYSCALL_64_after_hwframe+0x76/0x7e
[ 72.721232] RIP: 0033:0x7fe34ed18839
[ 72.721242] Code: ff c3 66 2e 0f 1f 84 00 00 00 00 00 0f 1f 44 00 00 48 89 f8
48 89 f7 48 89 d6 48 89 ca 4d 89 c2 4d 89 c8 4c 8b 4c 24 08 0f 05 <48> 3d 01 f0
ff ff 73 01 c3 48 8b 0d b7 85 0d 00 f7 d8 64 89 01 48
[ 72.721243] RSP: 002b:00007ffefc762248 EFLAGS: 00000246 ORIG_RAX:
0000000000000139
[ 72.721244] RAX: ffffffffffffffda RBX: 00005590ca24e600 RCX: 00007fe34ed18839
[ 72.721245] RDX: 0000000000000004 RSI: 00005590bd71ea10 RDI: 0000000000000004
[ 72.721246] RBP: 0000000000000004 R08: 00007fe34edf1b20 R09: 00005590ca24d070
[ 72.721247] R10: 0000000000000040 R11: 0000000000000246 R12: 00005590bd71ea10
[ 72.721248] R13: 0000000000040000 R14: 00005590ca24e730 R15: 0000000000000000
[ 72.721249] </TASK>
[ 72.721250] Modules linked in: qrtr ath12k(+) mhi 9p 9pnet 8021q garp stp mrp
llc binfmt_misc intel_rapl_msr intel_rapl_common ppdev x86_pkg_temp_thermal
btusb intel_powerclamp btrtl coretemp btintel btbcm btmtk kvm_intel
snd_hda_codec_realtek qmi_helpers bluetooth parport_pc snd_hda_codec_generic kvm
mac80211 mei_hdcp mei_pxp crc16 joydev parport snd_hda_scodec_component rapl
serio_raw snd_hda_intel libarc4 intel_cstate snd_intel_dspcfg snd_intel_sdw_acpi
cfg80211 snd_hda_codec intel_uncore snd_hda_core iTCO_wdt snd_hwdep snd_pcm
intel_pmc_bxt iTCO_vendor_support rfkill pcspkr efi_pstore intel_smartconnect
snd_timer watchdog at24 mei_me snd mei soundcore sg evdev msr nfnetlink efivarfs
ip_tables x_tables autofs4 loop overlay nls_ascii nls_cp437 vfat fat hid_generic
usbhid hid uas usb_storage raid10 raid456 async_raid6_recov async_memcpy
async_pq async_xor async_tx xor raid6_pq libcrc32c crc32c_generic raid1 raid0
md_mod rpcsec_gss_krb5 rpcrdma rdma_cm iw_cm ib_cm ib_core configfs nfsv3
nfs_acl nfs netfs lockd grace
[ 72.721294] auth_rpcgss sunrpc sd_mod i915 drm_buddy ttm drm_display_helper
drm_kms_helper crct10dif_pclmul ahci xhci_pci crc32_pclmul libahci r8169
crc32c_intel ehci_pci xhci_hcd drm ehci_hcd libata ghash_clmulni_intel
sha512_ssse3 realtek mxm_wmi usbcore sha256_ssse3 mdio_devres igb scsi_mod
sha1_ssse3 libphy cec i2c_i801 dca lpc_ich i2c_smbus scsi_common i2c_algo_bit
rc_core usb_common fan video wmi button squashfs aesni_intel gf128mul
crypto_simd cryptd [last unloaded: mhi]
[ 72.721315] ---[ end trace 0000000000000000 ]---
[ 72.727665] pstore: backend (efi_pstore) writing error (-28)
[ 72.727667] RIP: 0010:notifier_chain_register+0xf/0xb0
[ 72.727670] Code: 1f 44 00 00 c3 cc cc cc cc 66 90 90 90 90 90 90 90 90 90 90
90 90 90 90 90 90 90 0f 1f 44 00 00 48 8b 07 48 85 c0 75 1d eb 3b <8b> 48 10 39
4e 10 7f 33 75 04 84 d2 75 7d 48 8d 78 08 48 8b 40 08
[ 72.727671] RSP: 0018:ffffbef9409478d0 EFLAGS: 00010012
[ 72.727673] RAX: a1b1d200f3304202 RBX: ffffffff8695b6f0 RCX: 000000000ff95202
[ 72.727674] RDX: 0000000000000000 RSI: ffff990082f1cc10 RDI: ffff990095e7cc18
[ 72.727675] RBP: ffff990082f1cc10 R08: ffff9900fa0c2198 R09: 0000000000000001
[ 72.727675] R10: 0000000000000007 R11: 0000000000000001 R12: 0000000000000246
[ 72.727676] R13: ffff990082f1cc28 R14: ffff990082f11550 R15: 000000000000000a
[ 72.727677] FS: 00007fe34f3d6640(0000) GS:ffff99077fb80000(0000)
knlGS:0000000000000000
[ 72.727678] CS: 0010 DS: 0000 ES: 0000 CR0: 0000000080050033
[ 72.727679] CR2: 00005590ca24f070 CR3: 00000001896e8006 CR4: 00000000001706f0
[ 72.727680] DR0: 0000000000000000 DR1: 0000000000000000 DR2: 0000000000000000
[ 72.727680] DR3: 0000000000000000 DR6: 00000000fffe0ff0 DR7: 0000000000000400
[ 72.727681] note: modprobe[3128] exited with irqs disabled
[ 72.727694] note: modprobe[3128] exited with preempt_count 1
[ 72.742679] ath12k_pci 0000:01:00.0: chip_id 0x2 chip_family 0x4 board_id
0xff soc_id 0x40170200
[ 72.742696] 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
But, even with these oopses and modprobe segfaulting, the card actually works:
[ 1432.690362] wlan0: VHT information is missing, disabling VHT
[ 1432.930066] wlan0: authenticate with xxx (local address=yyy)
If I then try to load ath11k_pci, the ath12k-based card continues working, but
the ath11k-based-card doesn't:
[ 6176.582352] ath11k_pci 0000:03:00.0: BAR 0 [mem 0xf5000000-0xf5ffffff 64bit]:
assigned
[ 6176.582583] ath11k_pci 0000:03:00.0: MSI vectors: 32
[ 6176.582589] ath11k_pci 0000:03:00.0: qca6390 hw2.0
[ 6176.582605] ath11k_pci 0000:03:00.0: firmware: failed to load
ath11k/QCA6390/hw2.0/firmware-2.bin (-2)
[ 6176.582612] ath11k_pci 0000:03:00.0: firmware: failed to load
ath11k/QCA6390/hw2.0/firmware-2.bin (-2)
[ 6176.585629] ath11k_pci 0000:03:00.0: host capability request failed: 1 90
[ 6176.585631] ath11k_pci 0000:03:00.0: failed to send qmi host cap: -22
[ 6176.737328] mhi mhi1: Requested to power ON
[ 6176.737337] mhi mhi1: Power on setup success
[ 6177.055131] mhi mhi1: Wait for device to enter SBL or Mission mode
[ 6177.145292] ath11k_pci 0000:03:00.0: host capability request failed: 1 90
[ 6177.145296] ath11k_pci 0000:03:00.0: failed to send qmi host cap: -22
[ 6177.146737] ath12k_pci 0000:01:00.0: Host capability request failed, result:
1, err: 90
[ 6177.146741] ath12k_pci 0000:01:00.0: qmi failed to send host cap QMI:-22
What is interesting is that ath11k and ath12k seem to influence each other - and
the firmware loading failure is a "red" herring.
I can easily reboot, unload all modules and only load ath11k_pci, after which
the ath11k-based card will work, but loading up ath12k won't.
I figure that I'm the first one to test such a setup?
Mihai
-------------- next part --------------
A non-text attachment was scrubbed...
Name: OpenPGP_signature.asc
Type: application/pgp-signature
Size: 840 bytes
Desc: OpenPGP digital signature
URL: <http://lists.infradead.org/pipermail/ath12k/attachments/20241010/636e4c9a/attachment.sig>
More information about the ath12k
mailing list