NVIDIA Jetson Xavier NX EMMC Wifi not working

HI I’ve put jetson-xavier-nx-devkit-emmc-4.0.9+rev2-v14.12.1.img on a device type `jetson-xavier-nx-devkit-emmc’ everything seems to work alright except for WIFI. The device isn’t connecting to the configured WIFI at all. I suspect there’s something wrong with my WIFI card, maybe the OS doesn’t have the driver.
We use this Seeed Studio carrier board: https://www.seeedstudio.com/reComputer-J202-Carrier-Board-for-Jetson-Xavier-NX-p-5397.html
Our WIFI Module is this one: Connectivity Solutions > Embedded Wireless > SX-PCEAC2 Radio Module (2x2)
This is what I’m getting on boot:

1 Like

Hello @choln first of all welcome to the balena community!

Could you please confirm how are you using the WiFi card? connected over USB? or from the back of the reCompute module? I’m using a USB dongle and the WiFi works good.

Could you please confirm that over Ethernet the device works properly?

Thanks!

Hi @mpous, its at the back of reCompute. Ive also aleady started looking at building a custom image where the firmware files will be put where it fails to find them.

@choln i’m checking internally if there is any dtoverlay or dtparams missing! We will keep you updated!

I see, so it looks like the drivers exist and looking for the firmware but it’s not present in the image. You can do a quick check by placing the files directly in your image and then rebooting the board:
$ mount -o remount,rw / mount /dev/sdX1 /tmp/mnt/ cp /tmp/mnt/firmware/<firmware_file> /lib/firmware/... # provided that you are copying the firmware from a USB key.

Once your wifi adapter works as expected, you can build your own image with the added firmware, and then please submit the patch in balena-jetson to include the necessary firmware, so we can ship it with our cloud images. You can use this as an example: https://github.com/balena-os/balena-jetson/blob/master/layers/meta-balena-jetson/recipes-core/packagegroups/packagegroup-balena-connectivity.bbappend#L14

Thanks and let us know how this works for you

Hi @acostach and @mpous, I have been unsuccessful in getting a new layer and recipe I created onto the image using belana-jetson repo, I don’t know why my new recipe is never picked up I have tried things such as adding it to build/conf/local.conf and build/conf/bblayers.conf and it still didn’t work. Could you please point me to any working resource on how to add firmware or otherwise any other files to the rootfs.

Also, I was able to prove that putting the files into lib/firmware/ath10k... works and the wifi interface becomes available. I would appreciate your help with getting those firmware files onto the image now because the workaround doesn’t scale very well for us.

Hi @choln , how do your changes look like? Would you be able to open a PR so we can take a look?

I would expect that modifying the following file to install the firmware for the Xavier NX would do the trick, maybe you can confirm? https://github.com/balena-os/balena-jetson/blob/master/layers/meta-balena-jetson/recipes-core/packagegroups/packagegroup-balena-connectivity.bbappend#L13C7-L13C7

Thanks @acostach , I was able to add my jetson board to that file and it worked. I’ll make a pull request for it. For anyone else I changed layers/meta-balena-jetson/recipes-core/packagegroups/packagegroup-balena-connectivity.bbappend to:

CONNECTIVITY_FIRMWARES:append:jetson-nano = " \
    linux-firmware-iwlwifi-8265 \
    linux-firmware-iwlwifi-9260 \
    linux-firmware-ibt-12-16 \
"

CONNECTIVITY_FIRMWARES:append:jetson-nano-emmc = " \
    linux-firmware-iwlwifi-8265 \
    linux-firmware-iwlwifi-9260 \
    linux-firmware-ibt-12-16 \
"

CONNECTIVITY_FIRMWARES:append:jetson-tx2 = " \
    linux-firmware-ath10k-qca6174 \
    linux-firmware-qca \
    linux-firmware-ath10k \
"
CONNECTIVITY_FIRMWARES:append:jetson-xavier-nx-devkit-emmc = " \
    linux-firmware-ath10k-qca6174 \
    linux-firmware-qca \
    linux-firmware-ath10k \
"

jetson-xavier-nx-devkit-emmc is my board. Now I have those ATH10K-QCA6174 drivers I was missing.

2 Likes