Jetson-io.py closes immediately after configuring SPI

Platform: Jetson Xavier AGX Development kit
Ubuntu 20.04.6 LTS
Jetpack version: R35.1 5.0.2-b231

Hello,
We have encountered an issue recently after setting up SPI on the Jetson Xavier using the jetson-io.py tool. We had previously set up CAN bus with no issue using jetson-io.py. After setting enabling SPI1 and rebooting, running ]

sudo /opt/nvidia/jetson-io/jetson-io.py

opens the interface very briefly (but the window is empty) before closing immediately.
We have observed this behavior on 2 different Jetson Xavier AGX after enabling SPI.

How can we go back to the previous state, before SPI was enabled? We have tried to change the extlinux.conf file to use the primary label instead of JetsonIO, and also tried to change the dtb file to use
kernel_tegra194-p2888-0001-p2822-0000.dtb
instead of
kernel_tegra194-p2888-0001-p2822-0000-user-custom.dtb

We have also tried running these commands:
sudo /opt/nvidia/jetson-io/jetson-io.py | less

which returns the following error:

ESC[9;31HFATAL ERROR!ESC[12;15H'MainMenu' object has no attribute 'subwin'ESC[15;24HPress any key to terminateESC[?1lESC>ESC[39;49m^MESC[50dESC[KESC[50;1HESC[?1049lESC[23;0;0t^MESC[?1lESC>
(END)

And running

sudo /opt/nvidia/jetson-io/config-by-pin.py

returns:

Traceback (most recent call last):
  File "/opt/nvidia/jetson-io/config-by-pin.py", line 84, in <module>
    main()
  File "/opt/nvidia/jetson-io/config-by-pin.py", line 43, in main
    raise RuntimeError("Platform not supported, no headers found!")
RuntimeError: Platform not supported, no headers found!

Our current extlinux.conf file is as follows:

TIMEOUT 30
DEFAULT primary

MENU TITLE L4T boot options

LABEL primary
      MENU LABEL primary kernel
      LINUX /boot/Image
      INITRD /boot/initrd
      APPEND ${cbootargs} 
# LABEL primary
#       MENU LABEL primary kernel
#       LINUX /boot/Image
#       FDT /boot/dtb/kernel_tegra194-p2888-0001-p2822-0000.dtb
#       INITRD /boot/initrd
#       APPEND ${cbootargs} root=/dev/mmcblk0p1 rw rootwait rootfstype=ext4 mminit_loglevel=4 console=ttyTCU0,115200n8 console=tty0 fbcon=map:0 net.ifnames=0 rootfstype=ext4 sdhci_tegra.en_boot_part_access=1 nv-auto-config 


# When testing a custom kernel, it is recommended that you create a backup of
# the original kernel and add a new entry to this file so that the device can
# fallback to the original kernel. To do this:
#
# 1, Make a backup of the original kernel
#      sudo cp /boot/Image /boot/Image.backup
#
# 2, Copy your custom kernel into /boot/Image
#
# 3, Uncomment below menu setting lines for the original kernel
#
# 4, Reboot

LABEL backup
  MENU LABEL backup kernel
  LINUX /boot/Image.backup
  INITRD /boot/initrd
  APPEND ${cbootargs}

Thanks,
Vincent

Hi vincen7.nguyen,

Could you help to verify this issue with latest JP5.1.1(R35.3.1)?

Hi, thanks for the response.
We managed to “solve” the initial problem by moving the dtbo files into the /boot folder (they were in the dtbos folder for some reason). We are now faced with a new problem however: the configuration of jetson io is not saved after a reboot. This might be because we are booting from SSD

Could you refer to the following steps to enable SPI with Jetson-IO?

Configure Jetson 40pin Header => Configure header pins manually => Select "spi1 (19,21,23,24,26)" => Back -> Save pin changes => Save and reboot to reconfigure pins