Qualcomm Atheros QCNFA222 "not activated"

I got this wifi card used, because it should have blobfree Linux drivers.

Prior I had an Intel AX200 which just works.

Now I swap in that card, start my Laptop and I have no wifi.

It shows up in lspci. nmcli device reload doesnt work and says device not activated.

nmcli devices status lists not available Connection --.

I aleady tried

nmcli device set NAME managed yes
systemctl restart NetworkManager

With no effect. What is going on here?

Some other things:

  • tried with TLP off
  • I use these kargs
init_on_alloc=1 init_on_free=1 slab_nomerge page_alloc.shuffle=1 randomize_kstack_offset=on vsyscall=none debugfs=off lockdown=confidentiality random.trust_cpu=off random.trust_bootloader=off intel_iommu=on amd_iommu=on iommu.passthrough=0 iommu.strict=1 mitigations=auto,nosmt module.sig_enforce=1 efi=disable_early_pci_dma

journalctl -k -b


kernel : r8169 0000:2f:00:0 enp47s0: renamed from eth0
kernel [...]: Link is Down
[Repeated every few minutes]

dmesg | less | grep net

[    1.761030] audit: initializing netlink subsys (disabled)
[    3.252713] drop_monitor: Initializing network drop monitor service
[    3.260637] Initializing XFRM netlink socket
[   21.346091] SELinux:  policy capability network_peer_controls=1
[   21.346094] SELinux:  policy capability always_check_network=0
[   22.407586] systemd[1]: Starting systemd-network-generator.service - Generate network units from Kernel command line...
[   31.776277] Bluetooth: BNEP (Ethernet Emulation) ver 1.3

If nmcli is showing the device as inactive, does it mean that state in HW and SW?

Not sure how to see that. I checked my BIOS and everything is normal.

I have IOMMU protection on OS boot enabled, not sure if this could be a problem?

Try nmcli -a r

WIFI-HW WIFI WWAN-HW WWAN
missing active missing active

Okay very bad things happening. After switching back in my AX200 I got this boot error

It didnt happen when removing the card, and also not when booting from the Qualcomm.

Removing the ax200, booting, adding the ax200 back, booting didnt help. I now have no working Wifi card :smiling_face_with_tear:

Using the Qualcomm card:

ping localhost works normally, the “Network Controller” is still detected by lspci

Since you have currently no working wifi, you could try to boot without an adapter entirely. Or, possibly easier, is to power down, re-install the ax200, then boot your previous kernel that worked with it to get wifi working again. Update your system, reboot to make sure it’s good to go, then try the Qualcomm card again.
[Edit] It was working prior to all the card pulling/inserting so should work again if returned to known good state, no?
[Also Edit] Can you physically install both cards? If you could, they can reside within NetworkManager’s plane of influence I think.

hey, thanks for the help btw.

I am not sure if there was a kernel change after all, I did an rpm-ostree update from 39.20240206.0 to 39.20240210.0.

I can try an update with usb tethering from phone…

I already tried powering off and re-inserting the working card again, and it spat out that error I posted the image from.

Now I am on the Qualcomm card that has this hw missing, but at least the system boots. I can try rebooting to the old deployment, maybe that helps?

Likely only if you install the original wifi hardware.
My point was to get back to a known good state, but troubleshooting the Qualcomm issue is the desired goal in any case so, … meh?
If you’re booting the latest with the Qualcomm card I would just forget about going back and focus on getting the Qualcomm setup done. This is definitely a configuration issue at the moment I would guess.

BTW networkctl is the command you want for that. See man networkctl for the details. And, you’re welcome

This is for a RealTek RTL-8169 Gigabit Ethernet driver. Do you have ethernet? Was it working prior to changing the wifi card?

journalctl provides more details than dmesg. It would be useful to have more context for the “not activated” error. Also, when using journactl to provide text for posts, you should pipe the output (maybe journalctl -b -g <search_pattern> | tee journalctl.txt). A good stating pattern would be NetworkManager.

1 Like

thanks I will do that in time. A rollback to an older version somehow fixed the problem of the old Intel card not working, so I am staying like this for a while

kernel 6.6.14-200.fc39 -> 6.7.3-200.fc39, lets see if this reboot works

lol seems I found a kernel bug and it seems to only happen when you apply hardening kargs