Flashing QSPI on Jetson Orin Nano to Increase Memory
Issue Overview
Users are experiencing difficulties while attempting to flash the QSPI firmware on the Nvidia Jetson Orin Nano Developer Kit to increase the available system memory by 1GB. During the flashing process, users encounter multiple errors related to unsupported carveouts and USB communication timeouts. These issues prevent successful firmware updates, limiting the device’s memory expansion capabilities.
Specific Symptoms
- Errors indicating unsupported carveouts, such as:
- "ERROR: carveout /misc/carveout/aux_info@CARVEOUT_UNUSED5/ is not supported."
- "ERROR: /misc/tsc_controls/tsc_locking_config is not supported."
- Timeout errors during USB write operations, specifically:
- "ERROR: might be timeout in USB write."
- Failure to read board information after flashing attempts.
Context
The issue occurs during the process of upgrading QSPI firmware as described in JetsonHacks documentation. Users are operating in recovery mode on an Ubuntu 20 host while trying to follow the outlined steps to unlock additional memory on early production units of the Jetson Orin Nano.
Hardware/Software Specifications
- Hardware: Nvidia Jetson Orin Nano Developer Kit
- Software: Ubuntu 20 host, JetPack SDK
Frequency of Issue
This issue appears to be common among users attempting to flash QSPI firmware on their devices, indicating potential systemic problems with the flashing process or compatibility with certain configurations.
Impact on User Experience
The inability to successfully flash the QSPI firmware can prevent users from accessing additional memory resources, which limits the performance and functionality of their applications.
Possible Causes
-
Unsupported Carveouts: The errors suggest that certain memory configurations are not supported by the current firmware or hardware setup.
- Explanation: If specific memory regions are not defined or compatible, the flashing process will fail at those points.
-
USB Communication Issues: The timeout errors during USB write operations may indicate instability in USB signal transmission.
- Explanation: Poor USB connections or incompatible cables can lead to communication failures between the host and device during flashing.
-
Host OS Compatibility: Users have reported varying success with different versions of Ubuntu, suggesting that OS compatibility may affect the flashing process.
- Explanation: An OS version that is not fully compatible with the flashing scripts can lead to unexpected errors.
-
Incorrect Flashing Procedure: Users may not be following the correct sequence of commands or may be using outdated scripts.
- Explanation: Deviating from recommended procedures can result in failures during critical steps of the flashing process.
Troubleshooting Steps, Solutions & Fixes
-
Check UART Output:
- Monitor UART output during flashing for any additional error messages that may provide insight into what is failing.
-
Disable USB Autosuspend:
- Run the following command to disable USB autosuspend, which may help with communication stability:
sudo -s echo -1 > /sys/module/usbcore/parameters/autosuspend
- Run the following command to disable USB autosuspend, which may help with communication stability:
-
Try Different USB Ports/Cables:
- Experiment with different USB ports and cables to ensure a stable connection. Use a data-capable USB-C cable specifically designed for data transfer.
-
Test with Different Host OS Versions:
- If possible, test the flashing process on a different host machine with an older OS version (e.g., Ubuntu 18.04) as users have reported better stability with this version.
-
Review Flashing Commands:
- Ensure you are using the correct command for flashing QSPI:
sudo ./flash.sh -c bootloader/t186ref/cfg/flash_t234_qspi.xml jetson-orin-nano-devkit nvme0n1p1
- Double-check that all parameters match your specific setup and requirements.
- Ensure you are using the correct command for flashing QSPI:
-
Consult Documentation:
- Refer to Nvidia’s official documentation for detailed instructions on flashing and troubleshooting common issues related to QSPI firmware updates.
-
Log Flashing Process:
- Capture logs during the flashing process for further analysis by appending
2>&1 | tee log_flash.txt
to your command:sudo ./flash.sh -c bootloader/t186ref/cfg/flash_t234_qspi.xml jetson-orin-nano-devkit nvme0n1p1 2>&1 | tee log_flash.txt
- Capture logs during the flashing process for further analysis by appending
-
Reach Out for Support:
- If issues persist, consider reaching out on Nvidia forums or support channels for assistance from other developers who may have faced similar challenges.
-
Unresolved Aspects:
- Further investigation may be needed regarding specific unsupported carveouts and their implications.
- Users should continue sharing their experiences and findings in community forums to build a collective understanding of these issues.
By following these troubleshooting steps, users should be able to effectively diagnose and resolve issues related to flashing QSPI firmware on their Nvidia Jetson Orin Nano devices.