Jetson AGX Orin boot crash after pinmux change and reflash

Hello,

I am working on the Jetson AGX Orin DevKit 64GB and have installed JetPack 6.2 (R36 rev4.3) using SDKManager.

To drive GPIO output on the 40-pin header, I followed the instructions in the topic PinMux Changes.

So, I followed these steps on my host machine (Ubuntu 22.04 / x86):

  • Generate DT files with the pinmux spreadsheet.
  • Copy “Orin-jetson_agx_orin-pinmux.dtsi” to <l4t-dir>/bootloader/generic/BCT.
  • Copy “Orin-jetson_agx_orin-gpio-default.dtsi” to <l4t-dir>/bootloader/.
  • Update <l4t-dir>/p3737-0000-p3701-0000.conf.common with PINMUX_CONFIG="Orin-jetson_agx_orin-pinmux.dtsi";.
  • Set the Jetson to recovery mode using the front panel buttons.
  • Run sudo ./flash.sh -r jetson-agx-orin-devkit mmcblk0p1.

The script ran fine and displayed this successful message at the end, so I pressed the Reset button :
"
[ 725.4583 ] Flashing completed

[ 725.4585 ] Coldbooting the device
[ 725.4602 ] tegrarcm_v2 --chip 0x23 0 --ismb2
[ 725.4618 ] MB2 version 01.00.0000
[ 725.5224 ] Coldbooting the device
[ 725.5241 ] tegrarcm_v2 --chip 0x23 0 --reboot coldboot
[ 725.5256 ] MB2 version 01.00.0000
*** The target generic has been flashed successfully. ***
Reset the board to boot from internal eMMC.
"

However, the reboot failed. I retrieved the last kernel error messages from the USB-B serial interface :

"
Checking whether device /dev/mmcblk?p1 exist
[ 10.183587] Finding OTA work dir on external storage devicesLoog for OTA
work directory on the device(s): /dev/mmcblk0p1
[ 10.192904] mount /dev/mmcblk0p1 /mnt
[ 10.219646] EXT4-fs (mmcblk0p1): recovery complete
[ 10.220477] EXT4-fs (mmcblk0p1): mounted filesystem with ordered data mode. Opts: (null). Quota mode: none.
[ 10.221994] is_boot_part_for_disk_enc /dev/mmcblk0p1 /mnt
[ 10.246430] The mounted /dev/mmcblk0p1 is boot partition, try locating rootfs partition and mount it…
[ 10.247697] mount_rootfs_partition /dev/mmcblk0p1 /mnt
[ 10.443740] Failed to get the rootfs partition with PARTUUID=4d85da9e-361c-4da8-9449-c715bd3db1b8
[ 10.445051] Failed to run “moutn_rootfs_partition /dev/mmcblk0p1 /mnt”
Checking whether device /dev/sd?1 exist
Device /dev/sd?1 does not exist
Checking whether device /dev/nvme?n1p1 exist
[ 10.446318] Failed to run “mount_ota_work_partition /dev/mmcblk0p1 /mnt”
Device /dev/nvme?n1p1 does not exist
[ 10.452078] Finding OTA work dir on internal storage device
[ 10.453217] mount /dev/mmcblk0 /mnt
mount: /mnt: /dev/mmcblk0 already mounted or mount point busy.
[ 10.468810] Failed to mount /dev/mmcblk0 on the /mnt
bash: cannot set terminal process group (-1): Inappropriate ioctl for device
bash: no job control in this shell
[ 10.469946] Failed to run “mount_ota_work_partition /dev/mmcblk0 /mnt”
[ 10.47103bas.1# work directory is not found on internal and external storage devices
"

When I run SDKManager with the Jetson connected through USB-C, the Jetson is not detected, and dmesg displays the error message: “[202983.042911] usb usb2-port2: Cannot enable. Maybe the USB cable is bad?”

What did I do wrong in the process? How can I reinstall the default Ubuntu OEM configuration with JetPack 6.2 and Tegra 36.4.3 without using USB-C SDKManager?

Thanks

Hi corentin.gauthier,

May I know why you add -r here?
Please try using the following command to flash your AGX Orin devkit instead.

$ sudo ./flash.sh jetson-agx-orin-devkit internal

Are you just using internal eMMC?
Or you have also connected USB storage, NVMe SSD on the dekvit?

Hi KevinFFF,

Thanks for you response, I set the Jetson to recovery mode and reflash the Jetson through USB-C with your command " ```
sudo ./flash.sh jetson-agx-orin-devkit internal

What’s the result after you run this command to flash internal eMMC?

Please also share the information about this.

The flash script finish the same successful message. i press reset button and Jetson reboot successfully.
I had no other devices connected to the Jetson.

It seems you can flash/boot the devkit successfully.

Could you control the GPIO after boot up?

I only edit the pinmux spreadsheet with the following changes :

  • GPIO 27 : Bidir / drive 0 /LPDR Disable + default
  • GPIO 32 : Ouput / Dirve 0 / No wake pin / Inititator N/A / 3V3 and LPDR disable + default GPIO27

The GPIO27 can be driven to set OUTPUT to LOW or HIGH. But GPIO32 still not working.

Why you said it is default GPIO27?

Please let me share the default configuration for PIN32 of 40-pins expansion header as following.
image
It should be GPIO09, please check if you controlled the wrong pin.

Hello,

Below, the two lines that I changed in Pinmux :

  • GPIO 32 :
    image
    to :
    image

  • GPIO 27 :
    image
    to :
    image

Thank you.

okay… Do you get the default low after boot up for this GPIO32?