Modprobe iwlwifi : intel AX200 wifi on Jetpack 4.3

modprobe: ERROR: could not insert 'iwlwifi': Unknown symbol in module, or unknown parameter (see dmesg)

Jetpack43_AGX_wifi_dmsg.log (78.8 KB)

I don’t know the particular hardware or driver, but is this the stock kernel? Usually, when changing a kernel configuration and adding a new kernel (or kernel module) I suggest always using an editor such as “make nconfig”. I know you’re already familiar with that, but if you see something such as this:
[ 261.993403] compat: Unknown symbol hash_algo_name (err 0)
…then it implies kconfig was bypassed, and some content was built which did not include dependency content. If someone edits the kernel .config file manually this tends to happen, but this can also happen for example when using a third party vendor’s driver since they may have assumed certain features are enabled.

An unknown symbol is a kernel feature visible from the nconfig or menuconfig or xconfig (or whichever editor you use). Inserting the module implies it wants to load some hash algorithm, and the supporting feature in the kernel is missing. Possibly, if you know which symbol and feature go together for this, then you could perhaps build this as a module and simply copy a file over, insmod the new symbol first, and then insmod your wifi modules. My bet is that some wifi hardware does not depend on this hash, but the AX200 does. Where did you get the AX200 driver?

I am not very sure why you still need to insert the iwlwifi driver manually. The stock kernel should include this driver.

Thank you for following up!
It seems that bluetooth component of the intel wifi adapter is the only that is listed by rfkill all list;
On the other hand upon checking it turned out that the AGX recognized some second Ethernet adapter [ named starting eth, not wlan though.]

Could you post the dmesg from original jetpack? Is that one in comment#1?

yes, the one is the comment is from the original Jetpack 4.3
However, It reflects a state after I already applied steps below: git clone --single-branch --branch master https://git.kernel.org/pub/scm/linux/kernel/git/iwlwifi/backport-iwlwifi.git cd backport-iwlwifi/ make defconfig-iwlwifi-public sed -i 's/CPTCFG_IWLMVM_VENDOR_CMDS=y/# CPTCFG_IWLMVM_VENDOR_CMDS is not set/' .config make -j4 sudo make install

also I added

git clone https://git.kernel.org/pub/scm/linux/kernel/git/iwlwifi/linux-firmware.git --branch master --single-branch
cd linux-firmware/
sudo cp iwlwifi-cc-a0-50.ucode /lib/firmware 

and
https://wireless.wiki.kernel.org/_media/en/users/drivers/iwlwifi/iwlwifi-cc-46.3cfab8da.0.tgz
[Intel® Wi-Fi 6 AX200 160MHz 5.1+ iwlwifi-cc-46.3cfab8da.0.tgz] from

Moreover, In few hours I will try to revise if the enthernet device starting eth* is actually the wifi connection that can be used. If it won’t work, I will reflash with the default JP4.3 and try with it.

1 Like

Hi Andrey,

Could you try to upgrade to JP4.4 and see if this module can work? I just tried ac8265 on JP4.4 last week so I am 100% sure iwlwifi driver is on JP4.4 by default.

@WayneWWW
Thank you for following up!
I have been approaching the AX200 wifi on Jetpack DP4.4@nanoB01+NX before the attempt to get it onto the Xavier with JP4.3. Previously I used to use the wifi module AX200 at nano & AGX with earlier Jetpack releases.
more reference there:

at NX+nanoB01 it would knock off the video sensor, in cases when the AX adapter is in.
references Failed to use Wifi module on NX - #15 by Andrey1984

I tried to apply the patch, however applying it wouldn’t seem to resolve the video issue;

Moreover, at DP JP 4.4 nxnanoB01 I shall try applying the patch once again, perhaps. AS for now I can not reflash AGX with DP4.4 as it will abrupt use of zed camera. But I will try to test it with JP4.4 little bit later
@linuxdev Tnank you for following up! As you can see steps above that include installation from github are missing nconfig. Last time I used it with building kernel that is not the case in the given scenario, isn’t it?

Hi Andrey,

Is this an issue of wifi or the video sensor? The failed wifi issue should be resolved after applying the patch on that thread.

ironically both.
as long as the wifi card is attached, video sensor becomes inavailable;
once the wifi is detached the video sensor starts working;
On the other hand, I shall try to reflash the patch few more times 1. with sensor & wifi card; 2. without video sensor and with the wifi card

reflashed AGX Xavier with Jetpack 4.4 DP with AX200 wifi card attached.

ifconfig
   eth0: flags=4163<UP,BROADCAST,RUNNING,MULTICAST>  mtu 1500
           inet   netmask 255.255.255.0  broadcast 192.168.0.255
           inet6 prefixlen 64  scopeid 0x20<link>
           ether   txqueuelen 1000  (Ethernet)
           RX packets 4647  bytes 4898162 (4.8 MB)
           RX errors 0  dropped 0  overruns 0  frame 0
           TX packets 2218  bytes 188081 (188.0 KB)
           TX errors 0  dropped 0 overruns 0  carrier 0  collisions 0
           device interrupt 41  

   l4tbr0: flags=4163<UP,BROADCAST,RUNNING,MULTICAST>  mtu 1500
           inet 192.168.55.1  netmask 255.255.255.0  broadcast 192.168.55.255
           inet6 fe80::1  prefixlen 128  scopeid 0x20<link>
           inet6 5  prefixlen 64  scopeid 0x20<link>
           ether   txqueuelen 1000  (Ethernet)
           RX packets 235  bytes 42363 (42.3 KB)
           RX errors 0  dropped 0  overruns 0  frame 0
           TX packets 156  bytes 27522 (27.5 KB)
           TX errors 0  dropped 0 overruns 0  carrier 0  collisions 0

   lo: flags=73<UP,LOOPBACK,RUNNING>  mtu 65536
           inet 127.0.0.1  netmask 255.0.0.0
           inet6 ::1  prefixlen 128  scopeid 0x10<host>
           loop  txqueuelen 1  (Local Loopback)
           RX packets 405  bytes 31635 (31.6 KB)
           RX errors 0  dropped 0  overruns 0  frame 0
           TX packets 405  bytes 31635 (31.6 KB)
           TX errors 0  dropped 0 overruns 0  carrier 0  collisions 0

   rndis0: flags=4163<UP,BROADCAST,RUNNING,MULTICAST>  mtu 1500
           inet6   prefixlen 64  scopeid 0x20<link>
           ether   txqueuelen 1000  (Ethernet)
           RX packets 136  bytes 25677 (25.6 KB)
           RX errors 0  dropped 0  overruns 0  frame 0
           TX packets 288  bytes 64266 (64.2 KB)
           TX errors 0  dropped 0 overruns 0  carrier 0  collisions 0

   usb0: flags=4163<UP,BROADCAST,RUNNING,MULTICAST>  mtu 1500
           inet6   prefixlen 64  scopeid 0x20<link>
           ether   txqueuelen 1000  (Ethernet)
           RX packets 111  bytes 18094 (18.0 KB)
           RX errors 0  dropped 0  overruns 0  frame 0
           TX packets 113  bytes 22192 (22.1 KB)
           TX errors 0  dropped 0 overruns 0  carrier 0  collisions 0

   -desktop:~$ rfkill list all
   0: bluedroid_pm: Bluetooth
   	Soft blocked: yes
   	Hard blocked: no
   -desktop:~$ lspci
   0000:00:00.0 PCI bridge: NVIDIA Corporation Device 1ad0 (rev a1)
   0000:01:00.0 Non-Volatile memory controller: Samsung Electronics Co Ltd NVMe SSD Controller SM981/PM981
   0001:00:00.0 PCI bridge: NVIDIA Corporation Device 1ad2 (rev a1)
   0001:01:00.0 SATA controller: Marvell Technology Group Ltd. Device 9171 (rev 13)
   0003:00:00.0 PCI bridge: NVIDIA Corporation Device 1ad2 (rev a1)
   0003:01:00.0 Network controller: Intel Corporation Device 2723 (rev 1a)

next steps?JP4.4dmesg.log (79.8 KB)

then I repeated steps:

git clone --single-branch --branch master https://git.kernel.org/pub/scm/linux/kernel/git/iwlwifi/backport-iwlwifi.git 
cd backport-iwlwifi/ 
make defconfig-iwlwifi-public sed -i 's/CPTCFG_IWLMVM_VENDOR_CMDS=y/# CPTCFG_IWLMVM_VENDOR_CMDS is not set/' .config 
make -j8 
sudo make install

as a result I got eth1 device emerged.

    
~/backport-iwlwifi$ iwconfig
dummy0    no wireless extensions.

rndis0    no wireless extensions.

eth0      no wireless extensions.

usb0      no wireless extensions.

docker0   no wireless extensions.

lo        no wireless extensions.

l4tbr0    no wireless extensions.

eth1      no wireless extensions.

AX200 is a CNVI wifi card

which practically a little trick that bring expensive component on a wifi card to the CPU (8th gen and above) to reduce price
So AX200 definitely won’t work on ARM system. You need AX201 which is the non CNVI version

1 Like

I have been using ax200 on nano and with Jetpack 4.2 on AGX previously as far as I remember

Hi Andrey,

I just checked my device and make sure you don’t need to do any compile from source because iwlwifi.ko is already there.

nvidia@nvidia-desktop:/lib/modules$ find -iname “iwlwifi*”
./4.9.140-tegra/kernel/drivers/net/wireless/intel/iwlwifi
./4.9.140-tegra/kernel/drivers/net/wireless/intel/iwlwifi/iwlwifi.ko

When you have “modprobe error” in comment #1, are you using the iwlwifi.ko file from jetpack? or you built it by yourself?

Any new error in dmesg after modprobe failure?

@WayneWWW
I did not use modprobe in the last scenario where I installed Jetpack 4,4
first I did not use intel drivers and it didn’t work
then I installed the intel driver using the steps above and the eth1 device appeared;
I have provided updated dmesg from stock kernel of Jetpack 4.4. It reflects the default stock OS scenario. Howeverm in the first message the only steps I used were:

git clone --single-branch --branch master https://git.kernel.org/pub/scm/linux/kernel/git/iwlwifi/backport-iwlwifi.git 
cd backport-iwlwifi/ 
make defconfig-iwlwifi-public 
sed -i 's/CPTCFG_IWLMVM_VENDOR_CMDS=y/# CPTCFG_IWLMVM_VENDOR_CMDS is not set/' .config 
make -j8 
sudo make install

as you can see these steps doesn’t include building custom kernel module with use of kernel souces, but just installs somehow intel wifi driver

Hi Andrey,

Let’s make this very simple. Please forget about git clone, make install here.

All I want to know is, what will happen if you use modprobe iwlwifi on stock kernel of jetpack4.4 and paste the dmesg.

it sounds like to reflash the device with dp44 once again
I shall update you soon

no errors; no device

sudo modprobe iwlwifi
  [sudo] password for 
  desktop:~$ iwconfig
  dummy0    no wireless extensions.

  rndis0    no wireless extensions.

  eth0      no wireless extensions.

  usb0      no wireless extensions.

  lo        no wireless extensions.

  l4tbr0    no wireless extensions.

It sounds like this driver in stock kernel does not support AX200…