QCNFA765 (wcn6855) WiFi6 controller not working

I have the same setup, and experienced the same issue. After updating to the 20221109 firmware, the module loads, but fails soon after. I suspect it’s a Xen issue since it works fine on vanilla fedora, and I sometimes get this dmesg output relating to page allocation failures:

[    0.348872] pci 0000:00:06.0: [17cb:1103] type 00 class 0x028000
[    0.350285] pci 0000:00:06.0: reg 0x10: [mem 0xf2000000-0xf21fffff 64bit]
...
[    2.379575] ath11k_pci 0000:00:06.0: BAR 0: assigned [mem 0xf2000000-0xf21fffff 64bit]
[    2.382228] ath11k_pci 0000:00:06.0: MSI vectors: 1
[    2.382555] ath11k_pci 0000:00:06.0: wcn6855 hw2.1
[    2.386855] NET: Registered PF_QIPCRTR protocol family
[    2.545021] mhi mhi0: Requested to power ON
[    2.545035] mhi mhi0: Power on setup success
...
[   95.311604] kworker/u5:0: page allocation failure: order:7, mode:0xcc4(GFP_KERNEL|GFP_DMA32), nodemask=(null),cpuset=/,mems_allowed=0
[   95.311669] CPU: 0 PID: 88 Comm: kworker/u5:0 Not tainted 6.0.8-1.fc32.qubes.x86_64 #1
[   95.311698] Hardware name: Xen HVM domU, BIOS 4.14.5 11/19/2022
[   95.311722] Workqueue: mhi_hiprio_wq mhi_pm_st_worker [mhi]
[   95.311759] Call Trace:
[   95.311771]  <TASK>
[   95.311783]  dump_stack_lvl+0x45/0x5e
[   95.311804]  warn_alloc+0x166/0x190
[   95.311826]  ? __alloc_pages_direct_compact+0x1f8/0x280
[   95.311847]  __alloc_pages_slowpath.constprop.0+0xab6/0xb60
[   95.311868]  ? get_page_from_freelist+0x1eb/0x4e0
[   95.311889]  __alloc_pages+0x21d/0x250
[   95.311906]  __dma_direct_alloc_pages.constprop.0+0x189/0x220
[   95.311931]  dma_direct_alloc+0x73/0x280
[   95.311947]  mhi_alloc_bhie_table+0xeb/0x1b0 [mhi]
[   95.311974]  mhi_fw_load_handler+0x1d4/0x280 [mhi]
[   95.312002]  mhi_pm_st_worker+0x18d/0x270 [mhi]
[   95.312029]  process_one_work+0x1e5/0x3b0
[   95.312046]  worker_thread+0x49/0x2e0
[   95.312062]  ? rescuer_thread+0x3a0/0x3a0
[   95.312077]  kthread+0xe7/0x110
[   95.312093]  ? kthread_complete_and_exit+0x20/0x20
[   95.312112]  ret_from_fork+0x22/0x30
[   95.312132]  </TASK>
[   95.312150] Mem-Info:
[   95.312160] active_anon:4366 inactive_anon:9690 isolated_anon:0
                active_file:10935 inactive_file:11863 isolated_file:0
                unevictable:0 dirty:4 writeback:0
                slab_reclaimable:5564 slab_unreclaimable:7646
                mapped:16067 shmem:24 pagetables:1834 bounce:0
                kernel_misc_reclaimable:0
                free:7518 free_pcp:1 free_cma:0
[   95.312306] Node 0 active_anon:17464kB inactive_anon:38760kB active_file:43740kB inactive_file:47388kB unevictable:0kB isolated(anon):0kB isolated(file):0kB mapped:64268kB dirty:16kB writeback:0kB shmem:96kB shmem_thp: 0kB shmem_pmdmapped: 0kB anon_thp: 0kB writeback_tmp:0kB kernel_stack:3872kB pagetables:7336kB all_unreclaimable? no
[   95.312394] Node 0 DMA free:1496kB boost:2048kB min:2152kB low:2176kB high:2200kB reserved_highatomic:0KB active_anon:328kB inactive_anon:596kB active_file:828kB inactive_file:608kB unevictable:0kB writepending:0kB present:15992kB managed:15360kB mlocked:0kB bounce:0kB free_pcp:4kB local_pcp:0kB free_cma:0kB
[   95.312483] lowmem_reserve[]: 0 305 305 305 305
[   95.312504] Node 0 DMA32 free:28624kB boost:0kB min:2180kB low:2724kB high:3268kB reserved_highatomic:0KB active_anon:17136kB inactive_anon:38164kB active_file:42912kB inactive_file:46780kB unevictable:0kB writepending:16kB present:376828kB managed:311932kB mlocked:0kB bounce:0kB free_pcp:0kB local_pcp:0kB free_cma:0kB
[   95.312588] lowmem_reserve[]: 0 0 0 0 0
[   95.312605] Node 0 DMA: 54*4kB (UM) 12*8kB (UM) 10*16kB (U) 5*32kB (UM) 3*64kB (UM) 2*128kB (U) 0*256kB 1*512kB (U) 0*1024kB 0*2048kB 0*4096kB = 1592kB
[   95.312663] Node 0 DMA32: 2452*4kB (UME) 965*8kB (UME) 234*16kB (UME) 216*32kB (UME) 3*64kB (M) 2*128kB (M) 0*256kB 0*512kB 0*1024kB 0*2048kB 0*4096kB = 28632kB
[   95.312729] Node 0 hugepages_total=0 hugepages_free=0 hugepages_surp=0 hugepages_size=1048576kB
[   95.312758] Node 0 hugepages_total=0 hugepages_free=0 hugepages_surp=0 hugepages_size=2048kB
[   95.312786] 24642 total pagecache pages
[   95.312799] 1885 pages in swap cache
[   95.312812] Free swap  = 878076kB
[   95.312825] Total swap = 1048572kB
[   95.312838] 98205 pages RAM
[   95.312847] 0 pages HighMem/MovableOnly
[   95.312860] 16382 pages reserved
[   95.312873] 0 pages cma reserved
[   95.312886] 0 pages hwpoisoned
[  192.523438] mhi mhi0: Device failed to clear MHI Reset
[  192.523495] mhi mhi0: Error moving from PM state: Firmware Download Error to: DISABLE
[  192.523731] ath11k_pci 0000:00:06.0: failed to power up mhi: -110
[  192.523772] ath11k_pci 0000:00:06.0: failed to start mhi: -110
[  192.523795] ath11k_pci 0000:00:06.0: failed to power up :-110
[  192.529376] ath11k_pci 0000:00:06.0: failed to create soc core: -110
[  192.529415] ath11k_pci 0000:00:06.0: failed to init core: -110
[  192.605209] ath11k_pci: probe of 0000:00:06.0 failed with error -110

I managed to work around the issue by swapping the QCNFA765 card out for an Intel AX200 which are cheap to pickup. Worked out-of-the-box after popping it in.

1 Like