Building WIFI-brcmfmac backports on 32.7.3 for Jetson Nano B01 board


I am building WIFI backports driver modules for Jetson Nano B01 platform. Below are the packages and versions used for the build:
Linux Driver Package -32.7.3
JetPack - 4.6.3
Kernel version - 4.9.299 tegra
Infineon wifi backport package- v5.15.58-backports

I am facing issues while building latest Infineon WIFI backport drivers ,which is v5.15.58 backports ,against the latest Jetson Linux kernel 4.9.299. I have followed the steps for kernel build as well as cross compiling the backport modules as mentioned below :

1.Manually downloaded the latest kernel source package 32.7.3 from the below link.
Also, downloaded and extracted the Jetson Linux toolchain from the below link.

  1. The paths for the toolchain and kernel output directory are set for Jetson Nano Linux kernel as mentioned below :
  • export TEGRA_KERNEL_OUT=/home/eng/Documents/NvidiaNano/L4T_Kernel_Blt

  • export CROSS_COMPILE=/home/eng/Documents/NvidiaNano/Env_Setup/l4t-gcc/gcc-linaro-7.3.1-2018.05-x86_64_aarch64-linux-gnu/bin/aarch64-linux-gnu-

  • export ARCH=arm64

  • export LOCALVERSION=“-tegra”

3.Cleaning the kernel for a clean build and Jetson nano configuration is made as the default configuration in kernel, which is tegra_defconfig as shown in the below commands :

  • make distclean

  • make ARCH=arm64 O=$TEGRA_KERNEL_OUT LOCALVERSION=“-tegra” CROSS_COMPILE=“${CROSS_COMPILE}” tegra_defconfig

  1. The kernel is configured with respect to WIFI by setting the flags as mentioned below in the menuconfig.
  • make ARCH=arm64 O=$TEGRA_KERNEL_OUT LOCALVERSION=“-tegra” menuconfig

Setting the below configuration in .config file.

  1. After configuring the kernel with respect to WIFI, kernel configuration is saved through the below command :
  1. Compilation of the kernel and image file generation in the output kernel directory,that is ,L4T_Kernel_Blt .
  • make ARCH=arm64 O=$TEGRA_KERNEL_OUT LOCALVERSION=“-tegra” -j8
  1. The images -Image,Image.gz and dts are generated in the output kernel directory .The Linux kernel image and dts are stored in arch/arm64/boot/Image and arch/arm64/boot/dts respectively. They are copied to JetPack 4.6.3 release packages in the below path :


  1. The kernel modules and firmware is installed through the below command :
  • sudo make ARCH=arm64 O=$TEGRA_KERNEL_OUT modules_install INSTALL_MOD_PATH=~/nvidianew/nvidia_sdk/JetPack_4.6.3_Linux_JETSON_NANO_TARGETS/Linux_for_Tegra/rootfs/
  1. Running the in JetPack4.6.3 release package and copy the kernel_supplements.tbz2 from rootfs to kernel in Jetpack package.

*cp ~/nvidianew/nvidia_sdk/JetPack_4.6.3_Linux_JETSON_NANO_TARGETS/Linux_for_Tegra/rootfs/kernel_supplements.tbz2 ~/nvidianew/nvidia_sdk/JetPack_4.6.3_Linux_JETSON_NANO_TARGETS/Linux_for_Tegra/kernel

  1. The kernel headers for Jetson nano kernel is extracted and then prepared through the below commands :
  • mkdir FMAC_module

  • mkdir mod_dep

  • cd mod_dep

  • tar -xjf /nvidia_sdk/JetPack_4.6.3_Linux_JETSON_NANO_TARGETS/Linux_for_Tegra/kernel/kernel_headers.tbz2

  • make ARCH=arm64 O=$TEGRA_KERNEL_OUT -j8 modules_prepare

  1. Kernel headers are installed through the below step:
  • make ARCH=arm64 INSTALL_HDR_PATH=$TEGRA_KERNEL_OUT headers_install
  1. Building WIFI backports modules (v5.15.58) for Nvidia kernel 4.9.
    The steps done are mentioned below :
    a) Backports package is diwnloaded from the below link :

b) Extract the packages and go into backport source code directory.
cd v5.15.58-backports

c) The MY_KERNEL ,MY_ROOT and CROSS_COMPILE paths are exported for compilation. MY_KERNEL represents compiled target Jetson kernel built in Step 6. MY_ROOT represents the rootfs path where the modules were installed.

  • export MY_KERNEL=/home/eng/Documents/NvidiaNano/L4T_Kernel_Blt

  • export CROSS_COMPILE=/home/eng/Documents/NvidiaNano/Env_Setup/l4t-gcc/gcc-linaro-7.3.1-2018.05-x86_64_aarch64-linux-gnu/bin/aarch64-linux-gnu-

  • export MY_ROOT=/home/eng/nvidianew/nvidia_sdk/JetPack_4.6.3_Linux_JETSON_NANO_TARGETS/Linux_for_Tegra/rootfs/lib/modules/4.9.299-tegra/

d) The .config file is generated using defconfig-brcmfmac,which is configuration for FMAC driver as mentioned below in the command:

make ARCH=arm64 KLIB=$MY_ROOT KLIB_BUILD=$MY_KERNEL defconfig-brcmfmac

e) Kernel modules are cross compiled and FMAC driver modules(.ko files) are generated through the below command :


I am facing the issue in this command while generating driver modules.
I am getting implicit declaration error for the functions BUILD_BUG_ON ,BUILD_BUG,etc.
I am attaching the screenshots and logs of the errors for the same.
I have used the backports package(v5.15.58) which is the latest release in december 2022.
I wanted to enquire whether v5.15.58 backports is compatible with Nvidia 32.7.3 kernel 4.9 for latest Jetpack 4.6.3.

Thanks and Regards,
Akshay Dharmapuri

WIFI_modules_build_error.txt (21.5 KB)

You may try to fix the compiling error to build out the ko file first. Or try to build it on Jetson Nano.

Hi Dane,

I am getting the error while compilation of backports for jetson 32.7.3 kernel 4.9 .Will try to fix that.
I wanted to enquire whether 5.15.58 backports is compatible with Nvidia latest JetPack 4.6.3 -32.7.3 ?

Thanks and Regards,
Akshay Dharmapuri