No iwlwifi (Intel wifi) support on Jetpack 6.2?

I have a Jetson Orin Nano in an A603 carrier, and I’d like to use an Intel AX200 wifi module. I understand that this is supposed to work with the iwlwifi kernel driver.

I bought an AX200 and installed it, and it was not recognized. To find out why, I ran “sudo modprobe iwlwifi”. The module failed to load and told me to check dmesg, to which the following had just been added:

[  640.280446] cfg80211: Unknown symbol rfkill_unregister (err -2)
[  640.280557] cfg80211: Unknown symbol rfkill_blocked (err -2)
[  640.280593] cfg80211: Unknown symbol rfkill_destroy (err -2)
[  640.280707] cfg80211: Unknown symbol rfkill_resume_polling (err -2)
[  640.280829] cfg80211: Unknown symbol rfkill_alloc (err -2)
[  640.280853] cfg80211: Unknown symbol rfkill_set_hw_state_reason (err -2)
[  640.280914] cfg80211: Unknown symbol rfkill_register (err -2)
[  640.280973] cfg80211: Unknown symbol rfkill_set_sw_state (err -2)

So there is evidently an “rfkill” driver that is missing, but there is no file under “/lib/modules/5.15.148-tegra” that has that string in its name.

I checked the symbol tables for all of the other wifi drivers, and it looks like every single one that comes with 5.15.148-tegra depends on a module called cfg80211. This module in turn depends on rfkill, which appears to be missing.

How do I go about getting this missing driver?

Thanks.

1 Like

It appears that the kernel in JP6.1 (5.15.136-tegra) comes with an rfkill module in /usr/lib/modules/5.15.136-tegra/kernel/net/rfkill/rfkill.ko. But the kernel that comes with JP6.2 (5.15.148-tegra) is missing this driver.

Perhaps try reflashing JetPack 6.2 and execute the following before you install iwlwifi:

  • remove the incorrect link
sudo rm /lib/modules/5.15.148-tegra/build
  • link the kernel headers/source
sudo ln -s /usr/src/linux-headers-5.15.148-tegra-ubuntu22.04_aarch64/3rdparty/canonical/linux-jammy/kernel-source/ /lib/modules/5.15.148-tegra/build
  • install iwlwifi
sudo apt-get update
sudo apt-get install iwlwifi-modules -y

See if you can bring up your wifi.

Thanks for providing those instructions. Unfortunately they didn’t help. When I modprobe iwlwifi, I still get these errors in dmesg:

[  127.888959] cfg80211: Unknown symbol rfkill_unregister (err -2)
[  127.889068] cfg80211: Unknown symbol rfkill_blocked (err -2)
[  127.889107] cfg80211: Unknown symbol rfkill_destroy (err -2)
[  127.889236] cfg80211: Unknown symbol rfkill_resume_polling (err -2)
[  127.889377] cfg80211: Unknown symbol rfkill_alloc (err -2)
[  127.889407] cfg80211: Unknown symbol rfkill_set_hw_state_reason (err -2)
[  127.889476] cfg80211: Unknown symbol rfkill_register (err -2)

It looks like this installation put a bunch of new modules under /lib/modules/5.15.148-tegra/updates/dkms/. In there is a new iwlwifi.ko driver, which depends on cfg80211, which depends on the rfkill driver that is still nowhere to be found.

There’s also iwlwifi-compat, and I can load that, but it doesn’t appear to be a functional wifi driver, since it doesn’t create any network interfaces.

I’ve also tried loading all of the other modules. iwlmvm, iwlxvt, and mac80211. All of them depend on cfg80211 (which is there), but cfg80211 depends on rfkill, which wasn’t installed.

When installing the drivers, it looked like some sanity checks were done, but I can’t see how that exceeded. If I run “depmod -a”, I see this error:

depmod: ERROR: fstatat(3, rfkill.ko): No such file or directory

I’ve been looking into building rfkill from source and have managed to find the right version of the kernel source from nvidia (I think). One thing I noticed is that the kernel config for the running kernel has rfkill set to be a module (‘m’) (I can see this from the kernel config under /proc), while the source I got from nvidia has rfkill configured as built-in (‘y’).

I suspect this discrepancy is why rfkill isn’t being installed. While your iwlwifi-modules package does build from source, I’m guessing the source it’s building from has rfkill configured as built-in, so it doesn’t even build an “rfkill.ko” to install.

I have managed to get the iwlwifi driver working, but I had to do some hackery. I have written instructions that can be found here:

3 Likes