JetsonNanoのシリアルポートを利用するときに悩んだこと
JetsonNanoのシリアルポートを利用して他のマイコンと通信するとき、起動するたびに以下のコマンドを実行して権限を与える必要がありました。
1 |
sudo chmod 666 /dev/ttyTHS1 |
しかし、JetsonNanoを起動したときに毎回実行するのは面倒です。
解決方法を調べると以下の方法で解決できることが分かりました。
同様の現象が発生した他の方のためにも備忘録を残しておきます。
ユーザーが「dialout」グループに含まれているか確認する
少し調査するとシリアルポートのアクセス権はグループ”dialaout”に所属するユーザーということが分かりました。
そこでまずはユーザーが「dialout」グループに含まれているか以下のコマンドを実行して確認します。
1 |
groups ${USER} |
上記実行するとユーザーが含まれているグループが列挙されますが、「dialout」は表示されていないと思います。表示されている場合は別の原因の可能性があります。
ユーザーを「dialout」グループに追加する
以下のコマンドでユーザーを「dialout」グループに追加します。パスワードの入力を要求されたら入力して実行します。
1 |
sudo gpasswd --add ${USER} dialout |
ユーザーが「dialout」グループに追加されたことを確認する
ユーザーが「dialout」グループに追加されたことを確認します。再度以下のコマンドを入力して実行します。
1 |
groups ${USER} |
表示されたグループに「dialout」も含まれていると思います。
ユーザーに権限を与える
最後にこちらを実行して権限を与えておきます。パスワード入力を求められたら入力します。
1 |
sudo chmod 666 /dev/ttyTHS1 |
これでJetsonNanoを再起動したときでも毎回「sudo chmod 666 /dev/ttyTHS1」を実行する必要はなくなるはずです。
この情報が誰かの役に立ったら幸いです。
コメントを残す