Jetson‑IOがすごく良かった話とエラー対処方法

Jetson NanoにL4T R32.3.1をインストールしました。Jetson‑IOがすごく良かった話と起動時に出るエラーの対処方法です。

Jetson-IOはJetsonのGPIOのfunctionを指定できる便利ツールです。L4TのR32.3から使えるようになりました。

sudo /opt/nvidia/jetson-io/jetson-io.pyで呼び出せます。詳しくはこちら。

[2020年5月31日追記]

R32.4.2では特にエラーは発生しませんでした。R32.3.1でもapt upgradeすると更新され、エラーが出ない場合もあるようです。

[追記ここまで]

スクリーンショット

これで簡単にSPIを有効にできました。

Jetson-IO SPI有効化 手順1
Jetson-IOでSPIを有効にする手順1
Jetson-IO SPI有効化 手順2
Jetson-IOでSPIを有効にする手順2
Jetson-IO SPI有効化 手順3
Jetson-IOでSPIを有効にする手順3
Jetson-IO SPI有効化 手順4
Jetson-IOでSPIを有効にする手順4

エラー対処方法

以下の3つのコマンドを実行しておけばjetson-io.pyを起動できます。

sudo find /opt/nvidia/jetson-io/ -mindepth 1 -maxdepth 1 -type d -exec touch {}/__init__.py \;
sudo mkdir -p /boot/dtb
ls /boot/*.dtb | xargs -I{} sudo ln -s {} /boot/dtb/

エラーの詳細 その1

2019年12月24日現在、そのままjetson-io.pyを起動しようとするとエラーが出ます。

ubuntu@JETBOT:~$ sudo /opt/nvidia/jetson-io/jetson-io.py
Traceback (most recent call last):
File "/opt/nvidia/jetson-io/jetson-io.py", line 25, in <module>
from Jetson import board
ImportError: cannot import name 'board'

上記のエラーは以下のコマンドで対処できます(Tegra Linux Driverのノート参照)。

sudo find /opt/nvidia/jetson-io/ -mindepth 1 -maxdepth 1 -type d -exec touch {}/__init__.py \;

エラーの詳細 その2

2019年12月24日現在、パラメータを手動で設定しようとしてもエラーが出ます。

ubuntu@JETBOT:~$ sudo /opt/nvidia/jetson-io/config-by-pin.py -p 5
Traceback (most recent call last):
File "/opt/nvidia/jetson-io/config-by-pin.py", line 51, in <module>
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 149, in __init__
self.dtb = _board_get_dtb(self.compat, self.model, dtbdir)
File "/opt/nvidia/jetson-io/Jetson/board.py", line 88, in _board_get_dtb
raise RuntimeError("No DTB found for %s!" % model)
RuntimeError: No DTB found for NVIDIA Jetson Nano Developer Kit!

上記のエラーは以下のコマンドで対処できます(NVIDIAフォーラムにも書きました)。

sudo mkdir -p /boot/dtb
ls /boot/*.dtb | xargs -I{} sudo ln -s {} /boot/dtb/
Share — X · Bluesky · はてブ ·