Slot could not be opened spe-fw, spe-fw fail to write

Hello Team,

OTA update 32.7.4 following error message :

Tegra Boot Block Device: /dev/mmcblk0boot0

HEADER: MAGIC NVIDIA__BLOB__V2

HEX_VALUE 16909857

BLOB_SIZE 8652065

HEADER_SIZE 48

NUMBER_OF_ELEMENTS 33

HEADER_TYPE 0

UNCOMP_SIZE 8652065

MB1_RATCHET_LV 0

MTS_RATCHET_LV 0

ROLLBACK_FUSE_LV 0

Device TN Spec: 2888-400-0004-P.0-1-2-jetson-agx-xavier-devkit-mmcblk0p1

Device Compatible Spec: 2888-400-0004–1-2-jetson-agx-xavier-devkit-

Device TN Spec: 2888-400-0004-P.0-1-2-jetson-agx-xavier-devkit-mmcblk0p1

Device Compatible Spec: 2888-400-0004–1-2-jetson-agx-xavier-devkit-

Device is fused board.
ENTRY_TABLE:
PART POS LEN VER TNSPEC TYPE UPDATABLE
spe-fw 4008 94960 12916 1 1
mb2 98968 185472 12916 1 1
cpu-bootloader 284440 490576 12916 1 1
secure-os 775016 414656 12916 1 1
bpmp-fw 1189672 856352 12916 1 1
eks 2046024 5136 12916 1 1
adsp-fw 2051160 81312 12916 1 1
rce-fw 2132472 271952 12916 1 1
mts-preboot 2404424 24016 12916 1 1
mts-mce 2428440 143200 12916 1 1
mts-proper 2571640 3430416 12916 1 1
sc7 6002056 65504 12916 1 1
bpmp-fw-dtb 6067560 90528 12916 2888-400-0001-D.0-1-2-jetson-agx-xavier-devkit-mmcblk0p1 1 0
bpmp-fw-dtb 6158088 90528 12916 2888-400-0001-E.0-1-2-jetson-agx-xavier-devkit-mmcblk0p1 1 0
bpmp-fw-dtb 6248616 90528 12916 2888-400-0004–1-2-jetson-agx-xavier-devkit-mmcblk0p1 1 1
bootloader-dtb 6339144 287872 12916 2888-400-0001-D.0-1-2-jetson-agx-xavier-devkit-mmcblk0p1 1 0
bootloader-dtb 6627016 287872 12916 2888-400-0001-E.0-1-2-jetson-agx-xavier-devkit-mmcblk0p1 1 0
bootloader-dtb 6914888 287872 12916 2888-400-0004–1-2-jetson-agx-xavier-devkit-mmcblk0p1 1 1
VER 7202760 102 12916 2888-400-0001-D.0-1-2-jetson-agx-xavier-devkit-mmcblk0p1 1 0
VER 7202862 102 12916 2888-400-0001-E.0-1-2-jetson-agx-xavier-devkit-mmcblk0p1 1 0
VER 7202964 101 12916 2888-400-0004–1-2-jetson-agx-xavier-devkit-mmcblk0p1 1 1
mb1 7203065 250432 12916 2888-400-0001-D.0-1-2-jetson-agx-xavier-devkit-mmcblk0p1 2 0
mb1 7453497 250432 12916 2888-400-0001-E.0-1-2-jetson-agx-xavier-devkit-mmcblk0p1 2 0
mb1 7703929 250432 12916 2888-400-0004–1-2-jetson-agx-xavier-devkit-mmcblk0p1 2 1
BCT 7954361 2888 12916 2888-400-0001-D.0-1-2-jetson-agx-xavier-devkit-mmcblk0p1 2 0
BCT 7957249 2888 12916 2888-400-0001-E.0-1-2-jetson-agx-xavier-devkit-mmcblk0p1 2 0
BCT 7960137 2888 12916 2888-400-0004–1-2-jetson-agx-xavier-devkit-mmcblk0p1 2 1
MB1_BCT 7963025 31024 12916 2888-400-0001-D.0-1-2-jetson-agx-xavier-devkit-mmcblk0p1 1 0
MB1_BCT 7994049 31024 12916 2888-400-0001-E.0-1-2-jetson-agx-xavier-devkit-mmcblk0p1 1 0
MB1_BCT 8025073 31024 12916 2888-400-0004–1-2-jetson-agx-xavier-devkit-mmcblk0p1 1 1
MEM_BCT 8056097 198656 12916 2888-400-0001-D.0-1-2-jetson-agx-xavier-devkit-mmcblk0p1 1 0
MEM_BCT 8254753 198656 12916 2888-400-0001-E.0-1-2-jetson-agx-xavier-devkit-mmcblk0p1 1 0
MEM_BCT 8453409 198656 12916 2888-400-0004–1-2-jetson-agx-xavier-devkit-mmcblk0p1 1 1
Saving Entry table to /opt/ota_package/entry_table
Slot could not be opened spe-fw
spe-fw fail to write
Writing to partitions failed.
OTA Blob update failed. Status: 5
/usr/sbin/nv_bootloader_payload_updater --no-dependent-partition failed.
Slot 1 update failed
Error: installing bootloader updates failed: 1280
Failed to run “/usr/sbin/nv_update_engine -i bl --payload /ota_work/bl_only_payload --no-reboot”
Failed to run “update_bootloader_with_UE /ota_work 0x19”
Failed to run “update_bootloader /ota_work 0 0x19”

Hi Ha.zan,

Are you using the devkit or custom board for AGX Xavier?

What command did you use to do OTA update?
Could you share the full update log as file here?

HI, KevinFFF
Thanks for your reply!
I using custom board for AGX Xavier, the command just follow the guide nv_ota_start.sh, a Utility for Triggering OTA,the Log as follows
ota_fail (14.9 KB)
The “nv_boot_control.conf” file contents:
TNSPEC 2888-400-0004-P.0-1-2-jetson-agx-xavier-devkit-mmcblk0p1
COMPATIBLE_SPEC 2888-400-0004–1-2-jetson-agx-xavier-devkit-
TEGRA_CHIPID 0x19
TEGRA_OTA_BOOT_DEVICE /dev/mmcblk0boot0
TEGRA_OTA_GPT_DEVICE /dev/mmcblk0boot1
How can I solve this problem?

Thanks!
BR.

Slot could not be opened spe-fw
spe-fw fail to write 
Writing to partitions failed.
OTA Blob update failed. Status: 5
/usr/sbin/nv_bootloader_payload_updater --no-dependent-partition failed.
Slot 1 update failed

It seems spe-fw_b partition could not be found by OTA tool.

May I know the following information?

  1. What’s your current version? (before updating to R32.7.4)
  2. How did you update to current version before? (by flash.sh or also image-based OTA?)
  3. Please run the following command on your board and share the result.
cat /proc/cmdline
  1. Please run the following commands on your board and share boot0 and boot1 as file here
dd if=/dev/mmcblk0boot0 of=boot0
dd if=/dev/mmcblk0boot1 of=boot1

HI, KevinFFF
Thanks for your reply!
1: Before update my veision R32.7.2
2:just by flash.sh
3:
cat /proc/cmdline
console=ttyTCU0,115200 video=tegrafb earlycon=tegra_comb_uart,mmio32,0x0c168000 gpt rootfs.slot_suffix= usbcore.old_scheme_first=1 tegraid=19.1.2.0.0 maxcpus=8 boot.slot_suffix= boot.ratchetvalues=0.4.2 vpr_resize sdhci_tegra.en_boot_part_access=1 quiet root=PARTUUID=c29344ad-e5d3-40fb-94c4-83bcd15d93f6 rw rootwait rootfstype=ext4 console=ttyTCU0,115200n8 console=tty0 fbcon=map:0 net.ifnames=0 rootfstype=ext4
4:
sudo dd if=/dev/mmcblk0boot0 of=boot0

16384+0 records in
16384+0 records out
8388608 bytes (8.4 MB, 8.0 MiB) copied, 1.70999 s, 4.9 MB/s

sudo dd if=/dev/mmcblk0boot1 of=boot1
16384+0 records in
16384+0 records out
8388608 bytes (8.4 MB, 8.0 MiB) copied, 1.56419 s, 5.4 MB/s

boot0 (8 MB)
boot1 (8 MB)

Thanks!
BR.

We don’t see secondary GPT from your boot0 and it seems BCT partition has been modified, which is not the same as our release.
The image-based OTA would not support for custom BCT or modified partition layout.

Thanks for the reply.
Is there any place in mmcblk0boot0 we can use, e.g., the beginning 1024 bytes?
Also, can we use mmcblk0boot1?
Thanks.

May I know what’s your use case to add custom information in this partition?

We will save something like ID here.

You can use both of these partitions, it would just cause default image-based OTA not work.

You may have two options for your use case:

  1. Add a custom partition in free space to store your ID, but it may be overwritten when the OTA including the partition layout change.
  2. You may need to know the mechanism of OTA update and move your custom partition to new free space.

HI, KevinFFF

After the OTA upgrade of boot0, there are differences using compare. 

Whether boot0 will be different every time OTA upgrade?
Can I ask what are the specific differences?

It may be similar, but it will be override by the OTA images.

This topic was automatically closed 14 days after the last reply. New replies are no longer allowed.