Hi. I am currently using Jetson Orin Nano Developer Kit. I previously had jetson-io.py launch just fine with Jetpack 6.0 (r36.3). However, I flashed my 256Gb SD card today for Jetpack 6.1. Everything works except for jetpack-io. I will appear and crash right away when I launch it using sudo /opt/nvidia/jetson-io/jetson-io.py. Here is a little bit more debugging info.
anh-orin-nano@anh-orin-nano:~$ sudo /opt/nvidia/jetson-io/jetson-io.py
anh-orin-nano@anh-orin-nano:~$ sudo /opt/nvidia/jetson-io/config-by-pin.py
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!
anh-orin-nano@anh-orin-nano:~$ sudo apt-cache show nvidia-jetpack
Package: nvidia-jetpack
Source: nvidia-jetpack (6.1)
Version: 6.1+b123
Architecture: arm64
Maintainer: NVIDIA Corporation
Installed-Size: 194
Depends: nvidia-jetpack-runtime (= 6.1+b123), nvidia-jetpack-dev (= 6.1+b123)
Homepage: http://developer.nvidia.com/jetson
Priority: standard
Section: metapackages
Filename: pool/main/n/nvidia-jetpack/nvidia-jetpack_6.1+b123_arm64.deb
Size: 29312
Edit: This is what inside the /boot/dtb: kernel_tegra234-p3768-0000+p3767-0005-nv-super.dtb
test@ubuntu:~$ ls -l /opt/nvidia/jetson-io/Headers
total 48
-rw-r--r-- 1 root root 2978 Dec 13 01:07 csi122.py
-rw-r--r-- 1 root root 1814 Dec 13 01:07 csi24.py
-rw-r--r-- 1 root root 3151 Dec 13 01:07 csi-agx.py
-rw-r--r-- 1 root root 1618 Dec 13 01:07 csi-nano.py
-rw-r--r-- 1 root root 3186 Dec 13 01:07 csi-tx1tx2.py
-rw-r--r-- 1 root root 1732 Dec 13 01:07 hdr20.py
-rw-r--r-- 1 root root 1692 Dec 13 01:07 hdr30.py
-rw-r--r-- 1 root root 1930 Dec 13 01:07 hdr40.py
-rw-r--r-- 1 root root 1857 Dec 13 01:07 __init__.py
-rw-r--r-- 1 root root 2202 Dec 13 01:07 m2kb.py
-rw-r--r-- 1 root root 2124 Dec 13 01:07 m2ke.py
drwxr-xr-x 2 root root 4096 Nov 21 2023 __pycache__
Also, I patched jetson-io.py to not catch the exception (because when it does, it clears the screen afterwards and you cannot see it anymore). I also added some info to the exception description. This is what I get when running this. It’s basically the same error:
test@ubuntu:~$ sudo /opt/nvidia/jetson-io/jetson-io.py
[sudo] password for test:
Traceback (most recent call last):
File "/opt/nvidia/jetson-io/jetson-io.py", line 586, in <module>
curses.wrapper(JetsonIO)
File "/usr/lib/python3.10/curses/__init__.py", line 94, in wrapper
return func(stdscr, *args, **kwds)
File "/opt/nvidia/jetson-io/jetson-io.py", line 572, in __init__
self.menu = MainMenu(stdscreen, self.win, height - 4, width - 12)
File "/opt/nvidia/jetson-io/jetson-io.py", line 430, in __init__
self.jetson = board.Board()
File "/opt/nvidia/jetson-io/Jetson/board.py", line 242, in __init__
self.dtb = _board_get_dtb(self.compat, self.model, dtbdir)
File "/opt/nvidia/jetson-io/Jetson/board.py", line 152, in _board_get_dtb
raise RuntimeError(f"No DTB found for {model} {compat=} {path=}")
RuntimeError: No DTB found for NVIDIA Jetson Orin Nano Developer Kit compat='nvidia,p3768-0000+p3767-0005-super nvidia,p3767-0005 nvidia,tegra234' path='/boot/dtb'
RuntimeError: No DTB found for NVIDIA Jetson Orin Nano Developer Kit compat='nvidia,p3768-0000+p3767-0005-super nvidia,p3767-0005 nvidia,tegra234' path='/boot/dtb'
You will have to resolve that error first. Some of the symbolic links and env paths are missing from installs and you will have to set PATH to the file if it is on the board.
What file exactly are you talking about? I understand that the tool reads the board id from somewhere and tries to find a matching dtb. But even putting a matching file in /boot/dtb I was not able to make it work.
I just double-checked with a fresh flash of JP 6.1 rev. 1 on a Jetson P3767-0005 using GUI sdkmanager. First thing I did after boot was to run sudo /opt/nvidia/jetson-io/jetson-io.py. I just returns, the curses windowing is set up to clean any error message printed. This is exactly the behavior OP described. It appears as if this was not tested properly, with the new “super” DTB being used to enable MAXN, but jetson-io would have used an update that it didn’t receive.
Of course I checked that. This is not the literal name, but apparently the tool tries to guess the name from some model information it reads from somewhere. But it’s possible that this error was an intermediate one when I was trying things and the actual issue is the error “Platform not supported, no headers found!” that OP reported.
FWIW, I have another Orin Nano SOM without SD card slot (P3767-0005), where the “super” MAXN mode is not supported (for whatever reason, I started another thread about this). Flashing this board with the exact same procedure, the jetson-io tool works as expected. The file in /boot/dtb indicates that it is recognized as the non-super version. This also indicates that the issue is with jetson-io being incompatible with the Orin Nano Super (which curiously is just the standard dev kit Orin Nano SOM that has been sold for years with JP 6.1 rev 1).
Do you mean the issue is specific to Orin Nano super configuration(jetson-orin-nano-devkit-super.conf)?
If so, it may be caused from something missing there. Please use jetson-orin-nano-devkit.conf as board config instead to flash the devkit.
@KevinFFF So, how should I fix the jetson-io.py issue on my Orin Nano Dev Kit? Will flashing with the jetson-orin-nano-devkit.conf remove the MAXN power mode?
We would suggest you get an Ubuntu host PC to develop Jetson device.
Or you can just refer to the instruction in Jetson Orin Nano Developer Kit Getting Started Guide | NVIDIA Developer to setup for the devkit.
For more flash related issue, I would suggest you creating another topic to discuss in details since the current topic focuses on the Jetson-IO issue.
@ahans123, can you please let me know if flashing the Jetson Orin Nano Dev Kit with jetson-orin-nano-devkit.conf fixes the jetson-io issue? Many thanks, and Merry Christmas.