Jetson-io and related scripts in R32.3.1 don't work with TX2i

I have just flashed a new TX2i with L4T R32.3.1, but none of the python scripts for overlay generation appear to work. There doesn’t appear to be a board description matching the Tx2i (3489-0000) in /opt/nvidia/jetson-io/Jetson/boards. Any suggestions?

Did you check this doc?

https://docs.nvidia.com/jetson/l4t/index.html#page/Tegra%20Linux%20Driver%20Package%20Development%20Guide%2Fhw_setup_jetson_io.html

Yes, I’ve been over that document. It didn’t mention any exclusion for the TX2i.

I think it should be the same with TX2 (p2597-0000+p3310-1000.board)
What’s command to repo and any error message?

Debugging statements in /opt/nvidia/jetson-io/Jetson/ board.py, showed that all of the scripts fail for the same reason, being that board.py can’t find p2597-0000+p3489-0000.board in the Jetson/boards directory.

sudo ./config-by-hardware.py -l

Traceback (most recent call last):
File “./config-by-hardware.py”, line 64, in
main()
File “./config-by-hardware.py”, line 50, in main
jetson = board.Board()
File “/opt/nvidia/jetson-io/Jetson/board.py”, line 151, in init
self.hdtbo = _board_find_header_overlay(dtbos)
File “/opt/nvidia/jetson-io/Jetson/board.py”, line 57, in _board_find_header_overlay
for dtbo in dtbos:
TypeError: ‘NoneType’ object is not iterable

I suppose if I hacked the scripts to generate the compatibility string for a TX2, then I might be able to use them, because as you say, the hardware is similar enough, but I think this could cause other problems?

Hello!

I can confirm that TX2i is not supported. Are you using the TX2i module with the DevKit carrier board or some other carrier board?

Regards,
Jon

I have my TX2i plugged into a Devkit carrier board.

Given the absence of those tools for pinmux and DT configuration (which is a big shame), could you point me at a definitive guide to updating the DT with R32.3.1? I’ve read that flashing isn’t strictly necessary any more, even with a recompiled kernel. Is that correct?

Check this link for update dtb by dd command. The kernel Image you can just copy the Image and modify the /boot/extlinux/extlinux.conf to load customize kernel.

Thanks,

Do you think the python scripts might get updated to support Tx2i?

Sorry, I don’t understand well your question.
This script should update if have issue and need new support.

johnathanh has confirmed that the scripts do not support the TX2i

OK, I thought you are talking about the flash.sh script.
For the jetson-io there’s no plan now.

Hello!

To configure the pinmux you should use the pinmux spreadsheet for TX2 [0] and then convert the generate DTSI files into the MB1 files as described here [1].

The kernel image and DTB can be loaded from the rootfs via the /boot/extlinux/extlinux.conf file. By default the kernel image is loaded from /boot/Image but the DTB is still loaded from flash. So unless you update the extlinux.conf to load the DTB from the rootfs, you still need to flash it.

Regards,
Jon

[0] https://developer.nvidia.com/embedded/dlc/jetson-tx2-series-module-pinmux
[1] Where To Put Pinmux Spreadsheet DTSI Files

Hello!

At the moment there are no current plans. It should be noted that the jetson-io tool only configures the pinmux for pins exposed by the 40-pin header and that is why only the DevKit platforms are supported. We did not add support for the TX2i modules + DevKit carrier board, because we expect a lot of people using the TX2i modules, will in the long term, be creating their own custom carrrier board and hence need to configure the entire pinmux.

Regards,
Jon