Cannot update firmware from 35.3.1 on Jetson Orin Nano
Issue Overview
Users are experiencing difficulties updating the firmware on the Nvidia Jetson Orin Nano Developer Kit from version 35.3.1 to a newer version, specifically 35.5.0 or higher. The symptoms include:
- The bootloader version remains unchanged after attempting an update.
- Users receive a capsule update status code of 3, which lacks clear documentation.
- The issue occurs primarily during the firmware update process initiated by commands such as
apt reinstall nvidia-l4t-bootloader
and subsequent reboots. - The system reports that the
nv-l4t-bootloader-config.service
is inactive, indicating possible configuration issues. - Users have noted that the device does not have a microSD slot and relies solely on NVMe for booting.
The problem significantly impacts user experience by preventing access to newer features and improvements provided in later firmware versions.
Possible Causes
Several potential causes for the firmware update failure have been identified:
- Hardware Incompatibilities: The board may be a custom variant rather than the standard developer kit, leading to unsupported configurations.
- Software Bugs: There may be bugs in the bootloader or firmware update scripts that prevent successful updates.
- Configuration Errors: Incorrect settings in configuration files like
/etc/nv_boot_control.conf
could lead to failures in recognizing the bootloader updates. - Driver Issues: Outdated or incompatible drivers may hinder the update process.
- Environmental Factors: Power supply issues or overheating could disrupt the update process.
- User Errors: Misconfigurations during the initial setup or update process could lead to these issues.
Troubleshooting Steps, Solutions & Fixes
To resolve the firmware update issue, follow these comprehensive troubleshooting steps:
-
Check Current Firmware Version:
- Use the command:
sudo nvbootctrl dump-slots-info
- Verify if the current version is still 35.3.1.
- Use the command:
-
Review Capsule Update Status:
- Check the capsule update status with:
cat /sys/firmware/efi/esrt/entries/entry0/last_attempt_status
- A status code of 3 indicates an incorrect version; further investigation is required.
- Check the capsule update status with:
-
Reinstall Bootloader:
- Attempt to reinstall the bootloader package:
sudo apt reinstall nvidia-l4t-bootloader
- Reboot and check if the version updates.
- Attempt to reinstall the bootloader package:
-
Generate Capsule Update Payload:
- If using a custom board, generate a new capsule using:
cd ${ToT_BSP} sudo ./l4t_generate_soc_bup.sh -e t23x_3767_bl_spec t23x ./generate_capsule/l4t_generate_soc_capsule.sh -i bootloader/payloads_t23x/bl_only_payload -o ./TEGRA_BL.Cap t234
- If using a custom board, generate a new capsule using:
-
Install QSPI Updater Package:
- Install the QSPI updater package to trigger final firmware updates:
sudo apt install nvidia-l4t-jetson-orin-nano-qspi-updater
- Install the QSPI updater package to trigger final firmware updates:
-
Verify Boot Configuration:
- Ensure that
/etc/nv_boot_control.conf
is correctly configured with appropriate specifications for your board.
- Ensure that
-
Use SDK Manager:
- As a last resort, use NVIDIA’s SDK Manager to re-flash your Jetson Orin Nano with JetPack 6.x, which may resolve underlying issues and ensure all components are up to date.
-
Monitor Logs for Errors:
- Connect a serial console cable to monitor logs during boot and identify any errors that may occur during the firmware update process.
-
Best Practices for Future Updates:
- Always ensure your system is connected to a stable power source during updates.
- Keep your JetPack and associated tools updated to their latest versions before attempting firmware upgrades.
-
Consult Documentation and Community Forums:
- Refer to NVIDIA’s official documentation for additional guidance on firmware updates and troubleshooting steps specific to your board model.
By following these steps, users should be able to diagnose and potentially resolve issues related to updating their Jetson Orin Nano’s firmware effectively.