Based on Gemini:
NVIDIA implemented a global supply chain adjustment across the Jetson AGX Orin 64GB lineups (notably marked via Product Change Notification PCN210100). As a result, older modules used SanDisk storage (DG4064), while newer batches transitioned to Micron (G1M15M) and Kingston (TY2964) components. [1, 2]
Why the “TY2964” Kingston Chip Causes Issues
1. Image Size Mismatches (Flashing Failures)
The primary issue with mixing these eMMC suppliers is that they do not have identical byte capacities. [1]
- The SanDisk
DG4064chip is slightly larger. - The Kingston
TY2964chip has a slightly smaller exact sector layout. [1]
If your team is attempting to take a raw sector-by-sector system image backup (system.img) created on an older SanDisk board and flash/clone it directly onto a new Kingston board, the flash script will fail or hang because the target partition boundary physically overflows the Kingston storage bounds. [1]
2. Device Tree Timing Errors (I/O Timeouts)
The Linux kernel uses specialized clock signaling parameters inside the Device Tree (mmc@3460000 node) to communicate with the flash storage. Because the Kingston TY2964 has different electrical parameters and bus response behaviors compared to the SanDisk module, unpatched/older NVIDIA JetPack software configurations can throw severe I/O errors: [1]
- You may see kernel panic strings like
mmcblk0: error -110 regardless...ortimeout happenedin yourdmesghistory. [1]
How to Fix the Problems
Step 1: Force a Partition Shrink During Restore
If you are running into clone/flash deployment failures via NVIDIA’s CLI, you must explicitly tell the flash system to calculate partition allocations based on the exact drive geometry of the device instead of relying on a hardcoded image size limit. Add the -r flag to reuse the image, but adjust the sizing array: [1]
bash
# Force the system to adapt the base layout down to the connected eMMC target
sudo ./flash.sh -r jetson-agx-orin-devkit internal
Use code with caution.
Step 2: Use File-Based System Backups Instead of Raw Backups
Avoid flashing raw sector bitstreams (system.img) across varying Orin modules. Instead, build your fleet software using NVIDIA’s file-based system management tools, or generate a customized rootfs archive via the nvbackup_tar.sh workflow. This method ignores physical block sector counts and simply extracts files safely onto the underlying filesystem layout. [1]
Step 3: Upgrade Your JetPack BSP Version
NVIDIA introduced necessary timing updates to their Linux for Tegra (L4T) driver configurations to seamlessly accommodate the Kingston TY2964 profile. Ensure you are deploying your system using a stable, up-to-date JetPack BSP package to resolve driver-level timeout bugs. [1]