本ブログは Savvycan を紹介するに至った余談です。
おいしい所は整備手帳にまとめました
神ツール Savvycan でかんたんCAN分析!
https://minkara.carview.co.jp/userid/615186/car/3285399/8040505/note.aspx
haniliito 氏に最大限の賛辞と敬意を!
本ブログは氏の ”CANバス解析のハマりどころ” へのオマージュを持って書きました。
CANバス解析のハマりどころ - 羽仁理糸の自由研究ノート
https://minkara.carview.co.jp/userid/2898510/blog/41576421/
記事の章立てはそのまんま真似てしまってます。恐縮です。
私もCANバスの解析を行っており、氏のブログを範として解析環境を揃えてきました。
そして最終的にWindows環境でのお気に入りの解析環境が Savvycan に落ち着いています。
本記事の想定読者は
・リンク先のhaniliito氏のブログがすげーと思う(理解できなくていい)
・OBDカプラ等からCAN信号線を引っ張ってUSB-CANアダプタへ繋いでこれる
・16進数のバイナリダンプを解明しようとワクワクできる
・プログラミングできない
・Linuxよくわかんない
そんな感じです
解析に用いる環境
メインのソフトウェアはWindows上の SavvyCAN
フリーソフト。これ一本で受信・分析・送信と多彩にこなします!
https://www.savvycan.com/
https://github.com/collin80/SavvyCAN/releases/
Windows・Linux両方で出ているツールで、ログもDBCも相互に同じファイルが扱えます。
USB-CANアダプタはinnomaker社製を買いました
1ポート用と2ポート用両方持ってます。2ポート用でも持ち運びはできる程度ですが、
ふだん目的の決まった解析では1ポート品の持ち歩きでも十分
HS-CAN・MS-CANの時刻の関係性まで含めた同時計測は2ポート品を使用。
https://www.inno-maker.com/product/usb2can-x2-device/
この製品はWindowsではSavvycanで使えますが、LinuxならSocketCANで認識できます
CANのデータベースファイルは業界デファクトのDBC形式を使います。
レベルアップしてもうちょっとエンタープライズ寄りのツールに乗り換えるときに無加工でそのまま引き継げる可能性が高いです。
https://www.csselectronics.com/pages/can-dbc-file-database-intro
https://www.vector.com/jp/ja/products/products-a-z/software/candb/
建機産機トラック系のSAE J1939ではSAE公式がデジタルアネックスでDBCファイル公開してます。それくらいマジモンのデファクト形式です。
https://www.sae.org/j1939-dbc
ハマった点
SavvyCANに出会うまでが長かったッ!!
最初に買ったのはチンケな中華製USB-CAN
こんなんでも当時4000円。今は5000円以上ですね
初めて見たときは安価に始められると思ったんですが…
https://amzn.asia/d/iloZB31
まず独自製品で添付アプリしか使えないですが、その作りが自由がきかない
https://github.com/SeeedDocument/USB-CAN-Analyzer
アダプタ本体も粗末。500kbps全速力のバスを観測するとむちゃくちゃ取りこぼすうえ、すぐ止まる・落ちる・見失う…
それでもこれで1年ほど遊んでました。
お遊び気分でちょっと覗いてドキドキする位にはちょうど良かったと思いたいですが、
1台壊れてもう1台買ってたので、後知恵を言えばinnomakerの1ポート品買えてたじゃんって感じです。
innomaker 買って実用始める際に真っ先に捨てました
安物買いの銭失いとはこのことです。
innomaker 買ってからも、製品添付アプリしか知らないで使ってました。
いまいち使いにくい~…
https://github.com/INNO-MAKER/usb2can/tree/master/For%20Windows/WindowsReady-MadeApp
その後Linuxに手を出しました
https://minkara.carview.co.jp/userid/615186/blog/48003555/
先達のhaniliito氏、kyojp氏らが揃ってLinuxはよいぞと言うことで。
Linuxで使える can-utils (canplayer, cansniffer等) で皆と道具は同じになりましたが、
やっぱりターミナルの黒画面からポチポチは慣れない!
cansnifferも特にメッセージ解釈のインタプリタ持ってる訳じゃないし…
その後とあるツテから PEAK Systemのアダプタを借りまして
添付ソフト PCAN-View の使いやすさにそこそこ感動。
https://www.peak-system.com/PCAN-View.242.0.html
アダプタも大事だが、PC側の解析ツールはもっと大事…
このへんで気づいてきました(遅い)
一念発起して innomaker 対応で使いやすい分析ツールを探求…
っと innomaker のリポジトリ見たら、2023年12月末になんか増えてる
https://github.com/INNO-MAKER/usb2can/tree/master/For%20Windows
とりあえず片端から使ってみるか!
で出会った Savvycan の抜群の使いやすさ・解析手段の豊富さに超感動!!
しかしinnomakerのフォーク版は Frame Sender にバグがあってやりたいことができない…
ここでハマること一ヶ月
https://github.com/INNO-MAKER/usb2can/blob/master/For%20Windows/SavvyCAN-InnoMaker/savvy_package-master-mingw-1211-Released.zip
Savvycan 本家本元のリリース版だと Windows で innomaker のデバイス認識しない…なんでだろう
https://github.com/collin80/SavvyCAN/releases
最終的に力技です。
フォーク版から関係ドライバファイル突き止めて、ぶんどって本家版に突っ込んでどうにか動かしました。
1年半以上かけて、ようやく今の解析環境になった訳です
いやーハマったハマったぁ(笑)
ここで解析環境については満足する水準になったので、下記記事の公開となった訳です
神ツール Savvycan でかんたんCAN分析!
https://minkara.carview.co.jp/userid/615186/car/3285399/8040505/note.aspx
最終的な解析の流れ
実車やベンチでSavvyCANの計測を立ち上げます
Flow Viewer や Sniffer等を開き、色々な操作をしながら信号値の変化を確認します。
気の利いた可視化ツールいっぱい入ってるので楽しみましょう!
わかったことはDBCファイルに追加し、少しずつ分かることを増やしていきます
Frame Sender や Fuzzing 等でCANを送信すると捗ることもありますが、理解して慎重に…
そんなとこです
私のベンチでマツコネとかRFとか存在しないECUの表示もさらっと出来てますが、
通信検証にフレーム再現にとSavvycanが大活躍です。
今回ほとんど "Savvycanはいいぞ" って言いたいだけになった…?
興味のある人はぜひ試してもらって、
一緒に情報交換しながら深淵でキャッキャウフフしませんか?
解析フレンド募集中です!
質問だけでも大歓迎!
ではでは~
ブログ一覧 | 日記
Posted at
2024/12/14 13:30:03