How to Flash Only QSPI on Jetson Orin Nano in JetPack 5.1.1/L4T 35.3.1
Issue Overview
Users of the Nvidia Jetson Orin Nano development board are seeking a method to flash only the QSPI (Quad Serial Peripheral Interface) on their devices running JetPack 5.1.1/L4T 35.3.1. This specific flashing requirement arises when users need to update the QSPI firmware without modifying other system components, particularly when transferring an SSD to a new Orin NX SOM (System on Module). The issue is relevant to users working with the Jetson Orin Nano SOM, custom carrier boards, and SSDs in the context of JetPack 5.1.1/L4T 35.3.1 environments.
Possible Causes
-
System Migration: When moving an SSD from one Orin NX SOM to another, the QSPI may need to be updated to ensure compatibility and proper functioning with the new hardware.
-
Firmware Updates: NVIDIA may release QSPI firmware updates to improve system stability, performance, or compatibility, necessitating a targeted QSPI flash.
-
Custom Configurations: Users with custom carrier boards may need to flash QSPI separately to accommodate specific hardware configurations or requirements.
-
Troubleshooting: In some cases, flashing only the QSPI might be necessary to resolve boot-related issues or other system problems without affecting the entire system image.
Troubleshooting Steps, Solutions & Fixes
-
Flashing QSPI on Jetson Orin Nano
For Jetson Orin Nano devices running JetPack 5.1.1/L4T 35.3.1, use the following command to flash only the QSPI:
sudo ./flash.sh -c bootloader/t186ref/cfg/flash_t234_qspi.xml --no-systemimg <board> nvme0n1p1
Replace
<board>
with the specific board name for your Jetson Orin Nano device. -
Flashing QSPI with External NVMe Device
If you’re using an external NVMe device, you can use this alternative command:
cd Linux_for_Tegra sudo ADDITIONAL_DTB_OVERLAY_OPT="BootOrderNvme.dtbo" ./tools/kernel_flash/l4t_initrd_flash.sh --external-device nvme0n1p1 -c tools/kernel_flash/flash_l4t_external.xml -p "-c bootloader/t186ref/cfg/flash_t234_qspi.xml" --network usb0 jetson-orin-nano-devkit external
This command flashes the QSPI while considering the external NVMe device.
-
General QSPI Flashing Method
For other Jetson Orin series devices, you can use the following command structure:
sudo ./flash.sh --no-systemimg -c bootloader/t186ref/cfg/flash_t234_qspi.xml <board> <rootdev>
Replace
<board>
with your specific board name and<rootdev>
with the appropriate root device (e.g.,nvme0n1p1
for NVMe). -
Precautions and Best Practices
- Ensure you have a backup of your important data before proceeding with any flashing operation.
- Verify that you’re using the correct JetPack/L4T version (5.1.1/35.3.1 in this case) for compatibility.
- Double-check the board name and root device specifications in the flashing commands.
- Ensure stable power supply during the flashing process to prevent corruption.
- If you encounter any issues, consult the official NVIDIA Jetson documentation or community forums for additional support.
-
Verification
After flashing, boot your Jetson Orin Nano and verify that the system operates correctly. You can check the QSPI firmware version using appropriate system commands or tools provided by NVIDIA.
By following these steps, users should be able to successfully flash only the QSPI on their Jetson Orin Nano devices running JetPack 5.1.1/L4T 35.3.1. This targeted approach allows for updating critical bootloader components without affecting the entire system image, facilitating easier hardware migrations and specific update scenarios.