Sierra Wireless RC7611 Kernel Module Build Issues on Jetson Orin Nano
Issue Overview
Users are experiencing difficulties when attempting to include support for the Sierra Wireless RC7611 module in their kernel build for the Jetson Orin Nano running Jetpack 6. The specific issues include:
- Changes made to the kernel configuration using
make menuconfig
are not persisting - The
.config
file is being reverted to its previous state, erasing the newly added configurations - The system appears to be using the
arch/arm64/configs/defconfig
instead of the.config
file - There’s a significant difference between the
defconfig
and the new.config
file after making changes
These issues are preventing users from successfully rebuilding the kernel with support for the RC7611 modem.
Possible Causes
-
Incorrect build process: The user might be following an outdated or incorrect build process, leading to the configuration changes not being applied correctly.
-
Conflicting build scripts: There may be build scripts or makefiles that are overriding the user’s configuration changes.
-
Misunderstanding of defconfig usage: The user might not be aware of the correct procedure for modifying the defconfig and regenerating it.
-
Jetpack 6 specific issues: There could be peculiarities in Jetpack 6 that affect the kernel build process differently from previous versions.
-
Incompatibility between RC7611 and current kernel version: The Sierra Wireless RC7611 module might require specific kernel configurations that are not compatible with the default Jetson Orin Nano kernel.
Troubleshooting Steps, Solutions & Fixes
-
Modify defconfig directly:
- As suggested by an NVIDIA representative, modify the defconfig file directly to enable the required configurations.
- Navigate to the kernel source directory:
cd source_build/Linux_for_Tegra/source/kernel/kernel-jammy-src
- Open the defconfig file:
nano arch/arm64/configs/defconfig
- Add the following lines to enable support for the Sierra Wireless RC7611:
CONFIG_USB_SERIAL_SIERRAWIRELESS=m CONFIG_USB_SIERRA_NET=m
- Save the file and exit the editor.
-
Regenerate the defconfig:
After modifying the defconfig, regenerate it to ensure your changes are incorporated:make ARCH=arm64 defconfig
-
Build the kernel:
Once the defconfig has been updated and regenerated, proceed with the kernel build:cd source_build/Linux_for_Tegra/source/ make -C kernel
-
Verify configuration:
After building, check that your changes have been applied:grep CONFIG_USB_SERIAL_SIERRAWIRELESS source_build/Linux_for_Tegra/source/kernel/kernel-jammy-src/.config grep CONFIG_USB_SIERRA_NET source_build/Linux_for_Tegra/source/kernel/kernel-jammy-src/.config
Both commands should return the respective configuration lines.
-
Use a custom defconfig:
If you need to make extensive modifications, consider creating a custom defconfig:- Make your changes using
make menuconfig
- Save the configuration
- Create a custom defconfig:
make ARCH=arm64 savedefconfig
- Move the new defconfig to the configs directory:
mv defconfig arch/arm64/configs/my_custom_defconfig
- Use your custom defconfig for future builds:
make ARCH=arm64 my_custom_defconfig
- Make your changes using
-
Check for Jetpack 6 specific documentation:
Consult the Jetpack 6 documentation for any changes in the kernel build process that might be specific to this version. -
Verify RC7611 compatibility:
Ensure that the Sierra Wireless RC7611 module is compatible with the kernel version used in Jetpack 6. Check the module’s documentation for any specific kernel requirements or patches. -
Seek community support:
If the issue persists, consider reaching out to the NVIDIA Developer Forums or the Sierra Wireless community for more specific assistance with the RC7611 module integration.