Flash a xavier nx 8g jetpack-5.1.2 but got error: Return value 8

GMSL Camera fail on Orin Nano JatPack 5.1.2 - #5 by JerryChang We flashed the camera according to this topic’s guidance. We used the command: sudo ./flash.sh -r -k rce-fw jetson-agx-xavier-devkit mmcblk0p1 But got the errors:

Can you give me some instructions to solve it? I’d appreciate it.

Hi alexigu01x,

What Jetson platform are you using?
Are you using AGX-Xavier or Xavier-NX? please check and use correct config file.

Thank you for the reply. I wrote in the topic name, it’s xavier nx 8g ~ Should I use: sudo ./flash.sh -r -k rce-fw jetson-xavier-nx-devkit mmcblk0p1 to change the command I used? But after several attempts to use this command, it’s stuck here for hours:

And what exactly does the correct config file refer to?

hello alexigu01x,

how you flash this target? were you able to re-flash this target via flash script?
please see-also developer guide, To Determine Whether the Developer Kit Is in Force Recovery Mode.

We are using this command to flash, doest this command make sense on a Xavier NX 8G? We are sure that the device is in recovery mode.

We are following Topic 268833, for camera firmware to update deskew algorithm, and also stability fixes

I meant the complete flash command to flash this Xavier NX 8GB, or… you’re running with SDKManager?

We used a VM and based-on JP-5.1.2/l4t-r35.4.1 to flash the firmware of our devices. Only use this command :
sudo ./flash.sh -r -k rce-fw jetson-xavier-nx-devkit mmcblk0p1

hello alexigu01x,

we’re able to update rce-fw success on Xavier-NX + r35.4.1
for instance,

$ sudo ./flash.sh -r -k rce-fw jetson-xavier-nx-devkit-emmc mmcblk0p1
[  25.5136 ] tegrarcm_v2 --ismb2
[  25.5231 ] tegradevflash_v2 --reboot coldboot
[  25.5246 ] Bootloader version 01.00.0000
*** The [rce-fw] has been updated successfully. ***

it might be an issue with VM environment, you may review USB port forward settings.
or… please try with native Ubuntu OS.

I tried the command you listed above in a native Ubuntu OS and got the success message “The [rce-fw] has been updated successfully.”. I wonder if we need to flash ssd part after that or we only need to flash the emmc part to update the firmware?

hello alexigu01x,

this is partition flash to update only rce-fw partition.

My device is a xavier nx, it has an emmc and a ssd part, so I successfully flashed the emmc part, to update the rce-fw partition, do I still need to flash the ssd part(but I failed so many times to flash the ssd part)?

hello alexigu01x,

it doesn’t matter.
you may refer to flash configuration file for partition layouts, rce-fw partition belongs to SPI device.

let me have clarification…

per your description, eMMC is internal storage, and SSD is your external storage.
please see-also developer guide, such as Flashing with initrd and Flashing to an External Storage Device for more details.

Thanks for the reply, but there’s still some questions, can you provide the specific command for updating the rce-fw partition on the ssd part(just like this command:
sudo ./flash.sh -r -k rce-fw jetson-xavier-nx-devkit-emmc mmcblk0p1)?

hello alexigu01x,

why you’ve rce-fw partition on the ssd? did you have customized flash configuration file for partition layouts?
and… did you meant using initrd_flash? it also have capability to support partition flash.

We have a problem with jetpack5.1.2 according to this topic: Video stream crashes in jetpack 5.1.1 xavier nx - #13 by EmondCai ,
so we followed your instruction to update firmware to try to solve it. Due to our program runs on SSD, do you mean we only need to update the firmware on EMMC?

hello alexigu01x,

you may check the partition label for more details.
for example, $ ls -al /dev/disk/by-partlabel

you may examine the checksum of rce-fw to confirm you’ve update it correctly.
here’s an example on r35.4.1 + AGX Xavier

# Default camera firmware:
tegra186-cam-rtcpu bc00000.rtcpu: firmware version cpu=rce cmd=6 sha1=058eec606b43624552a5258fda5b4f3967bdfde1
# Update camera firmware:
tegra186-cam-rtcpu bc00000.rtcpu: firmware version cpu=rce cmd=6 sha1=e92fdc376d7e91842390b9d8e7937121df395eb7

Thanks for the reply, but we still got the same error after the update(we confirmed that we updated the emmc part successfully according to your example):

[12241.299736] soctherm: OC ALARM 0x00000001
[12257.198387] soctherm: OC ALARM 0x00000001
[12261.934683] [RCE] BUG: camera-ip/vi5/vi5.c:415 [vi5_check_falcon_failure] “VI FALCON FAILURE: 0x40000000”
[12261.972120] tegra186-cam-rtcpu bc00000.rtcpu: Alert: Camera RTCPU gone bad! restoring it immediately!!
[12264.553687] imx283 9-001a: sensor_stop_streaming:
[12264.556471] imx283 9-001a: Sensor power off

Can you give us some suggestions to solve it? Thank you so much.
Below are the whole logs:
dmeg_logs.txt (127.6 KB)
nvargus-daemon_logs.txt (1.6 KB)

hello alexigu01x,

according to the logs. it seems you’re able to enable camera stream for a while.
then, it’s reporting soctherm: OC ALARM 0x00000001, which may due to your thermal condition.

please refer to Thermal Specifications, it’s SW throttling to lower the clock rates. this may be the root cause of your failures.
hence, could you please review your thermal solutions, you may also enable Tegrastats Utility to monitor the utility reports.

According to your theory, my understanding is that our device reach a high tempare and the jetson platform lower the clock rates itself in order to throttling, and cause the steam broken, is that correct?
Actually the OC AlARM error immidaietly happen when we start running the camera stream