Fixing Bootloader EEPROM Error on Jetson Orin
Issue Overview
Users of the Nvidia Jetson Orin are experiencing a bootloader issue related to the EEPROM. The specific error message encountered is:
E> I2C_DEV: Could not read 256 registers of size 1 from slave 0xae at 0x00000000 via instance 0.
E> eeprom: Failed to read I2C slave device
C> Task 0x0 failed (err: 0x1f1e050d)
E> Top caller module: I2C_DEV, error module: I2C, reason: 0x0d, aux_info: 0x05
I> Busy Spin
This error occurs during the boot process and prevents the Jetson Orin from starting up properly. The issue seems to be related to the EEPROM read size configuration in the device tree.
Possible Causes
-
Incorrect EEPROM configuration: The device tree file may have an incorrect setting for the EEPROM read size, causing the bootloader to fail when attempting to read from the EEPROM.
-
Hardware issue: There could be a problem with the physical EEPROM chip or its connections to the Jetson Orin board.
-
Corrupted bootloader: The bootloader itself might be corrupted, leading to improper EEPROM reading attempts.
-
SDK Manager deployment issues: Changes made to the device tree files may not be properly compiled or deployed by the SDK Manager.
Troubleshooting Steps, Solutions & Fixes
-
Correct the device tree file:
- The initial suggestion to modify the "tegra234-mb2-bct-common.dtsi" file was incorrect.
- Instead, locate the correct device tree file for your Jetson Orin model.
- Look for the
cvb_eeprom_read_size
parameter, notcvm_eeprom_read_size
.
-
Follow official documentation:
- Refer to the Nvidia Jetson documentation for EEPROM modifications specific to Jetson Orin Nx Nano series.
- Navigate to the following link for detailed instructions:
https://docs.nvidia.com/jetson/archives/r35.4.1/DeveloperGuide/text/HR/JetsonModuleAdaptationAndBringUp/JetsonOrinNxNanoSeries.html#eeprom-modifications
-
Modify the correct parameter:
- In the appropriate device tree file, locate the EEPROM section.
- Adjust the
cvb_eeprom_read_size
parameter according to the documentation. - Example (do not copy directly, refer to official docs for the correct value):
eeprom { cvb_eeprom_read_size = <0x100>; }
-
Properly deploy changes:
- After making the necessary modifications to the device tree file, ensure that you’re using the correct method to compile and deploy the changes.
- If using SDK Manager, verify that it’s set up to include your custom device tree modifications during the flashing process.
-
Verify hardware connections:
- If the issue persists after software modifications, inspect the physical connections between the EEPROM chip and the Jetson Orin board.
- Look for any signs of damage, loose connections, or corrosion.
-
Re-flash the bootloader:
- If all else fails, consider re-flashing the entire bootloader using the official Nvidia tools and images.
- This process will replace any potentially corrupted bootloader files with fresh copies.
-
Seek official support:
- If the issue remains unresolved after trying these steps, consider reaching out to Nvidia’s official support channels or community forums for further assistance.
- Provide detailed information about your setup, the steps you’ve taken, and the exact error messages encountered.
Remember to always backup your data and configuration files before making any significant changes to your Jetson Orin system. If you’re unsure about any step, consult the official Nvidia documentation or seek help from experienced developers in the Jetson community.