We bought approximately 45 Xavier modules in March 2021. We’re starting to use more of this stock and now are finding that some modules are different than others. Our current qualified Jetpack version is r32.5.1. Some of the modules program with this version just fine. Others throw an error when using the flash.sh script:
NONE: Invalid value MemBct dram size: 0MB for slot: 3.
This is very similar issue to one we had when the Jetson TX2 modules had a rev change (D02) that required an upgrade to a new JetPack version.
I’ve tested Jetpack v 4.6.3 (r32.7.3) and sure enough - with that version we can program these Xavier modules that won’t program with v4.5.1.
With the Jetson TX2s - there was a hardware version number on the side of the module to discern them. The Xavier modules with differences don’t seem to have any discernible features on the exterior. They are all marked with “900-82888-0040-000”.
Qualifying the new version for our product is costly in terms of time and man hours. I would ideally like to be able to detect which Xavier modules will program with v4.5.1 so that we can proceed with the systems we need to build now. Then buy ourselves the time to complete the qualification process on v4.6.3 (or ideally move to 5.0.2 and beyond).
How do I determine which Xavier modules are of the revision that will work with v4.5.1 and ones that will only work with v4.6.3? Is there a revision marking somewhere that we can read via the flash.sh tool? Or do we have to just try and fail then try another module ?
Could you share us the boot log from both jp4.5.1 (NG case) and jp4.6.x (Good case)
Is your test based on Xavier AGX Devkit?
Are you sure all the modules from the same batch having this problem? Last time another user thought all his modules have same problem but actually one 1~2 modules have that case.
Serial number for SOM that can program in 4.6.3: 1560121408681
Serial number for SOM that can program in 4.5.1: 1560121408682
I can get more serial numbers for other SOMs that fail in 4.5.1 tomorrow if need be.
Could you share us the boot log from both jp4.5.1 (NG case) and jp4.6.x (Good case)
I will get this to you tomorrow.
Is your test based on Xavier AGX Devkit?
No - both cases are on a custom carrier board.
Are you sure all the modules from the same batch having this problem? Last time another user thought all his modules have same problem but actually one 1~2 modules have that case.
We did a batch of 20 boards for this build. Of those 20 boards, 5 SOMs had this problem. We’ve confirmed that the boards are working by swapping the SOM with a known “flash-able” SOM and re-running the flashing process in 4.5.1 with success.
I have only tested 4.6.3 on one of those 5 boards at this point. I plan to program more of them tomorrow.
I redid the analysis that showed that this was a module issue and found that isn’t as cut and dry as just a module issue. I can cause the issue to happen on both a particular carrier custom board and not others but also on the devkit. What is a little odd is that we have seen pre-programmed modules run fine on the carrier boards that won’t flash from 4.5.1.
The carrier boards that won’t program with 4.5.1 will still program with 4.6.3 without issue.
With the same module I was able to:
Flash Successfully with 4.5.1 on Carrier Board #1
Fail to Flash with 4.5.1 on Carrier Board #2
Flash Successfully with 4.6.3 on Carrier Board #2
Fail to Flash with 4.5.1 on the Devkit
Fail to Flash with 4.6.3 on the DevKit
I would expect that 4.5.1 and 4.6.3 should both work with the module on the devkit. I also tested another Xavier module and got the same results on the Devkit.
So it seems like either:
There is a hardware issue with the module
Or there is a software setup issue with my jetpack installation for the settings that we have changed.
I’m going to try and get the devkit working again and then perhaps I will have more information.
Addendum:
Here is the flash.sh result from a successful 4.5.1 Run:
Here is the flash.sh result from a failed 4.5.1 Run:
Here is the flash.sh result from the successful 4.6.3 Run on the carrier board that previously failed:
Here is a FAILED flash.sh for 4.5.1 on the DEVKIT:
This also fails in a similar way in 4.6.3 on the DEVKIT
But what is that board here? Looks like you still have some customization.
Could you just download fresh BSP and let sdkmanager to flash it?
Sorry - I must have copied the wrong thing. There are a lot of balls in the air. I tried both flashing the xavier on the devkit with our custom config and with the base config for the devkit. Both failed.
I attempted to do a start from scratch build today. I copied my existing 4.5.1 jetpack to another location. I ran the sdkmanager and installed a new xavier 4.5.1 Jetpack. I then ran:
sudo ./flash.sh jetson-xavier mmcblk0p1
This also fails. See this log:
Uart Log:
The error generated when running on the devkit is from the same command (tegrarcm_v2) but the error code is different - this generates Return value 8 instead of Return value 2
OK Here is the fail log from our custom carrier Jetpack 4.5.1. This is basically the same as what I’ve posted earlier.
Here is the UART log for this run:
This is with the same module as the failure log I posted for the devkit, but there is a different failure mode:
[0032.830] I> Boot-device: eMMC
[0032.833] I> bct_mb1 image downloaded
[0032.843] E> NONE: Invalid value MemBct dram size: 0MB for slot: 3.
[0032.849] C> OEM authentication of MEM-BCT failed!!!
[0032.853] E> NV3P_SERVER: Failed to verify image bct_mem.
This almost seems like the signing of the mem-bct is failing. We haven’t made any changes to this (wouldn’t know where to start). All of our settings changes are in the rootfs and in the kernel.
Could you help me check if the ramcode here keeps showing mismatch in successful case and NG case even for same module? Please compare them on same jetpack version.
What sets the RAM code in the Jetson ? Is it possible that one of the pins on the carrier board is pulled to a different strap configuration causing a different RAM code ?
What is the RAM code supposed to be for the Xavier AGX?
I was able to flash correctly with 4.5.1 for one of the modules that was not flashing correctly previously. We will start applying the same process to others. I assume they will also work.