I flashed the jetson-nx-jp451-sd-card-image.zip (r32.5.1) and was able to boot the Xavier NX Developer Kit without problems. I wanted to use jetson-io.py that is referred in your guys’ documentation under ‘Configuring the 40-pin Expansion Header’.
First I ran $ sudo /opt/nvidia/jetson-io/jetson-io.py which popped up a grey screen titled ‘Jetson Expansion Header Tool’ for a second, and then it disappears and takes me back to my shell.
Then I restarted and tried *$ sudo find /opt/nvidia/jetson-io/ -mindepth 1 -maxdepth 1 -type d -exec touch {}/init.py ;
Then I ran the same command from the first step which resulted in the same behavior described earlier.
Next I attempted to use the $ sudo opt/nvidia/jetson-io/config-by-[pin,function,hardware].py files which provided the same errors shown:
Traceback (most recent call last):
File “/opt/nvidia/jetson-io/config-by-pin.py”, line 51, in
main()
File “/opt/nvidia/jetson-io/config-by-pin.py”, line 34, in main
jetson = board.Board()
File “/opt/nvidia/jetson-io/Jetson/board.py”, line 153, in init
self.header = hdr40.Header(self.hdtbo, self.data)
File “/opt/nvidia/jetson-io/Jetson/hdr40.py”, line 192, in init
self.pins = _header_add_pins(pinmap, self.data.names)
File “/opt/nvidia/jetson-io/Jetson/hdr40.py”, line 44, in _header_add_pins
pinmux = pmx.PinMux()
File “/opt/nvidia/jetson-io/Jetson/pmx.py”, line 78, in init
dev = dt.read_prop(‘symbols/pinmux’).split(‘pinmux@’)[1]
File “/opt/nvidia/jetson-io/Linux/dt.py”, line 28, in read_prop
fio.is_readable(node)
File “/opt/nvidia/jetson-io/Utils/fio.py”, line 33, in is_readable
__is_accessible(path, os.R_OK, “read”)
File “/opt/nvidia/jetson-io/Utils/fio.py”, line 26, in __is_accessible
raise RuntimeError(“File %s not found!” % path)
I’ve been using this board for almost two months and its been performing well so far with cameras. Now I just want to try implementing an audio codec which requires me to configure the 40-pin headers. I’ve looked through many forums which required $ mkdir /boot/dtb and then copying a file into it, but I don’t believe that’s the issue since I already have that directory with files inside.
Run sudo /opt/nvidia/jetson-io/jetson-io.py | tr -d '[:cntrl:]'. That’ll strip the control characters and let you see the actual error. It’ll probably tell you something about a dtb not being present or that there are duplicates.
It’s the same error (or at least similar) to the ‘config-by-*.py’ files. I don’t know what this pinmux file is exactly. I tried following the path but I can only go up to base. There is no ‘_ _symbols _ _’ folder.
That’s odd. I don’t have that devicetree node either but jetson-io works for me. If you look in /boot/extlinux/extlinux.conf, is there an FDT entry? If so, that is it and does that file exist in /boot/?
Also, what version of the nvidia-l4t-jetson-io package is installed? $ apt show nvidia-l4t-jetson-io
Okay, so the driver I installed for the camera seemed to interfere with the file somehow and now it works. However, this is an issue because I need that driver for the camera to work. Any thoughts as to why it interferes with the jetson-io files?
jetson-io creates new DTBs by starting with the stock one and overlaying it with DTB overlay files (dtbo) to add new capabilities. Does the driver package provide a dtbo file? If so, drop that in /boot/, then update the extlinux.conf file FDT entry to point to the stock dtb (/boot/tegra194-p3668-all-p3509-0000.dtb). Now reboot and run jetson-io again. It should allow you to select the camera and also allow you to configure the 40 pin header. It should then create a tegra194-p3668-all-p3509-0000-user-custom.dtb file and add a new entry in extlinux.conf to boot it.