"Jetson Board Mismatch!"の解消(librealsenseインストールより)

はじめに

以前のタイトルで、手持ちのJetson Nanoにカーネルをリビルドするパッチを当てようとしたところ、拒否られた。

このままではD435を使うたびにエラーが出て、低解像度でしか使えないので、パッチが通らなかったのは何が原因だったのか、

調査した結果をここに記します。

何が原因だったか

どうやらもともとのOSイメージでは、ターゲットとなるモデルと今回のモデルが違った事によるエラーだったようです。

ターゲットモデル名:NVIDIA Jetson Nano Developer Kit
自分のボード名:jetson-nano

いろいろググったのですが、解決策は探しきれず・・・

大したことデータも入っていなかったので、結局、SDイメージを焼き直して解決しました。

使ったイメージのバージョンはjetson-nano-sd-r32.2-2019-07-16です。

ダウンロードリンク↓

Getting Started With Jetson Nano Developer Kit

Jetson Nano Developer Kit SD Card Imageをクリックするとダウンロードが始まります。

あしあと

エラーメッセージにもあるように、まずは何がミスマッチなのかを調べてみる。

$ vim patchUbuntu.sh

エラーメッセージを表示しているところは以下(85行目〜)

   echo "==== Jetson Board Mismatch! ============="
   tput sgr0
    echo "Currently this script works for the $JETSON_MODEL."
   echo "This processor appears to be a $JETSON_BOARD, which does not have a corresponding script"
   echo ""
   echo "Exiting"

"Currently this script works for the $JETSON_MODEL."

これがターゲットとなるモデル名を示している。

"This processor appears to be a $JETSON_BOARD, ..."

こちらは今のボード名

これらを踏まえてエラーメッセージを見てみると・・・

f:id:chigrii:20190812182507p:plain
Jetson Board Mismatch!

$JETSON_MODEL = NVIDIA Jetson Nano Developer Kit
$JETSON_BOARD = jetson-nano

なるほど全然違いますね。なんでや・・・

でもこのOSはJetson Nanoを買って割とすぐ焼いたイメージなので、バージョンが古かったのかな。

余談

焼き直したあと、エラー内容でASK GOOGLEしていると、同じエラーが発生している人のコメントを発見。

Jetson Nano – RealSense Depth Camera

(この記事をmismatchで検索するとコメントがヒットします)

Please use the version in the repository that is appropriate for the release that you are using. Releases are noted here: https://github.com/JetsonHacksNano/installLibrealsense/releases

For your version, you need to go to the repositories directory, and before compiling:

$ git checkout vL4T32.1.0

Thanks for reading!

なるほど、自分のL4Tのバージョンにあったブランチをチェックアウトすればよかったんですね・・・

もう少し根気よく調べてみればよかった・・・

でも、そのスレッドの最後には

I do not know the version of L4T that you installed. There have been three. Each L4T has it’s own kernel version. There are also different versions of librealsense that are incorporated in the script. v0.8 is for the first L4T version, vL4T32.1.0 is for the second version, vL4T32.2 is for the third version (as of this writing current).

As noted before, it appears as if you should use vL4T32.1.0 of installLibrealsense. It is not clear why you decided to use v0.8.

Recommend that you start a clean install by flashing the (at this time current) JetPack 4.2.1 version which has addressed several USB issues. Then run installLibrealsense vL4T32.2.

とあるので、焼き直したのはある意味正解だったのかも。

そして相変わらずハイパワーモードでrealsense-viewerroslaunch realsense2_camera demo_pointcloud.launchするとJetson Nanoがクラッシュする・・・次はこのトラブルシューティングかな😂