たいりょーくんのメモ

Twitterにツイートするノリで気軽にメモしていくためのブログです。詳しくは https://tiryoh.hateblo.jp/about をお読みください。

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で呼び出せます。詳しくはこちら。

docs.nvidia.com

[2020年5月31日追記]

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

[追記ここまで]

スクリーンショット

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

Image from Gyazo

Image from Gyazo

Image from Gyazo

Image from Gyazo

エラー対処方法

以下の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'

上記のエラーは以下のコマンドで対処できます*1

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!

上記のエラーは以下のコマンドで対処できます。こちらはフォーラムにも書いておきました*2

sudo mkdir -p /boot/dtb
ls /boot/*.dtb | xargs -I{} sudo ln -s {} /boot/dtb/