SDMMC Error When Flashing Orin Nano on Custom Carrier Board
Issue Overview
Users are experiencing an SDMMC (Secure Digital MultiMediaCard) error when attempting to flash the Nvidia Jetson Orin Nano on a custom carrier board. The error occurs during the flashing process, preventing the board from starting up properly. The issue appears to be related to the absence of an EEPROM (Electrically Erasable Programmable Read-Only Memory) on the custom carrier board, which was originally designed for the Xavier NX.
The specific error message displayed is:
E> Error in command_complete 18000 int_status
E> Sending CMD_SD_SEND_IF_COND failed
E> Error opening sdcard-0
E> Failed to initialize device 6-0
C> Storage init failed
C> Task 0x0 failed (err: 0x39390706)
E> Top caller module: SDMMC, error module: SDMMC, reason: 0x06, aux_info: 0x07
This error prevents the Orin Nano from booting on the custom carrier board.
Possible Causes
-
Incorrect Flashing Command: The flash command used may not be appropriate for the Orin Nano and the custom carrier board setup.
-
Missing EEPROM: The custom carrier board, originally designed for Xavier NX, lacks an EEPROM, which may be required for proper initialization of the Orin Nano.
-
Hardware Incompatibility: The custom carrier board may have other hardware differences or incompatibilities with the Orin Nano that are causing the SDMMC initialization to fail.
-
Software/Firmware Mismatch: The flashing process may be using incorrect or incompatible software or firmware versions for the Orin Nano.
-
SD Card or Storage Issues: The error suggests problems with SD card initialization, which could be due to hardware issues or improper configuration.
Troubleshooting Steps, Solutions & Fixes
-
Verify Flashing Command:
Ensure you are using the correct flashing command for the Orin Nano. Try the following commands:sudo ./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" --showlogs --network usb0 jetson-orin-nano-devkit internal
Or:
sudo ./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" --showlogs --network usb0 p3509-a02+p3767-0000 internal
-
Use NVIDIA SDK Manager:
If the issue persists even on the Orin Nano development kit, try using the NVIDIA SDK Manager for flashing. This can help eliminate potential problems with the manual flashing process. -
Check EEPROM Configuration:
Since the custom carrier board lacks an EEPROM, ensure that the flashing process and boot configuration are adjusted accordingly. You may need to modify the device tree or bootloader configuration to account for the missing EEPROM. -
Collect and Analyze Logs:
Gather complete flashing logs from both the host machine and the device. This will provide more detailed information about the flashing process and any errors encountered. -
Test with Official Development Kit:
If possible, test the flashing process on an official Orin Nano development kit to isolate whether the issue is specific to your custom carrier board or a more general problem. -
Review Hardware Compatibility:
Carefully review the hardware specifications of your custom carrier board against the Orin Nano requirements. Look for any discrepancies in power supply, storage interfaces, or other critical components that might affect the SDMMC initialization. -
Update Software and Drivers:
Ensure you are using the latest version of the Jetson Linux (L4T) package and any relevant drivers for the Orin Nano. -
Check Storage Device:
Verify that the storage device (NVMe or SD card) is properly connected and functioning. Try using a different storage device if possible. -
Consult NVIDIA Developer Forums:
If the issue persists, consider posting the complete logs and details of your custom carrier board design on the NVIDIA Developer Forums for more specialized assistance.
Remember to document each step of the troubleshooting process and the results obtained. This will help in identifying patterns and narrowing down the root cause of the SDMMC error.