今回は、いつもと違い、
ちょっと変わった「エンジン始動不能」の症状でのご相談です。
仲良しの県外工場さんより緊急のヘルプ!!
聞けば、
海外でカスタマイズして貰ったファイルを同業整備工場さんの車に書き込んだ。
書き込み完了し、エンジンも問題無く始動!!
そのままご機嫌で走って帰られたのですが、
ところが・・・
その車は目的地に到着後エンジンを停止。
そしてその後は、二度と息を吹き返すことは無かったそうです。
そんな状態に陥った事を聞いた私の友人は、
直ぐに現場に駆け付け、あの手この手で復旧を試みる上手く行かず。
しかも、その状態に陥ってから丸2日らしく・・・
プログラムを書き込んだその友人は悩み過ぎて夜も眠れていないらしく、しかもそんな時にたまたま私が電話に出れない状態が続いていて、もう、この現状をどうやって打開したらいいのかが全く分からず、何をしたら直るのかも不明で、食事すらも喉を通らないという状態だったそうです。


送って来てくれた診断結果。
大量のDTCに覆われています・・・
ちょうど私が電話に出た時は、お客様の所に居て目の前に不動の車があるという状態だったので、そのままECUを取り外して持ち帰って貰い、今、ECU内に入っているデータを抜いて貰います。

焦っていると何々必要かが分からなくなるので、一応LINEでもお知らせ。
元々のオリジナルデータ、そして海外から購入されたデータをそれぞれ送って貰いました。
これでだいたいの犯人が分かります。

ECUはEDC17CO10なので、このECUの書き込みは2MBの内部フラッシュ(int_flash)。
まずはハッシュ・差分・EDS適合を確認して行きます。
※EDSとは、私が作ったMOD自動生成ソフトです。
(ECU・DATA・SYSTEM)
Hash, diff ORI vs overseas MOD, and EDS recipe match
差分は147か所・3906Byte、すべてキャリブレーション領域(0x18C000〜0x19xxxx)に集中している事を確認。
更に分析をして見ると、この海外ファイルはなんと、キャタライザーレス仕様(DeCAT)にしている上、DPFレスやスピードリミッター解除、その他にも色んな所を変えていました。
恐らく、求められた内容を含む過去ファイルから変更部分をそのままORIに当てはめてMODを作ったものと思われます。
こういう所って海外アルアルで、
いちいち個別にカスタマイズしたり、細かくチェックしたりなんてせず、ざっくりとしたものを作って「これで大丈夫だろう。ダメなら言って来るさ!」的作りをする所が多いです。
ハマればまともに動いてくれるけど、外れ引くとトンデモナイというのが海外ファイルです。
そしてここからは、海外MODとEDS正解版の差(特に疑念のあるチェックサム領域)を見ます。
EDS recipe match + compare overseas MOD vs EDS proven MODs
EDS庫内にはMODの自動生成が出来るレベルの精度の高い適合実績レシピがいくつか見つかりましたので、そこから早速疑似MODを作成。
海外MODと自動で作った疑似MODの差分に関しては、重なる箇所の値は完全一致(215/215)=求めるMODの触り方自体は正しい(目的エリアだけの話しですけどね)。
でも、、、
EDSが自動生成時に必ず行う変更のうち約574Byteを、海外MODは“触っていない”。
✅ 分かった事。
求めているMODの触り方そのものは正しい。
EDS生成疑似MODと重なる箇所の値は 215/215 完全一致。
基礎の適合は確認!
⚠️ 注意点1。
変に触り過ぎ(3,691Byteの“海外だけ”の変更):“Emission Test Pass”・幾つかのDTCまで盛り盛りで触っちゃっています。
⚠️ 注意点2。
足りない処理(574Byte):EDSで作った疑似MODが必ず触るエリア(0x18BE53〜0x18C8xx 付近の ●/●/● の●化作業)を、海外MODは触っていません。
※●は、このCP10というECUの持つバグを修正しています。
そして、 「一度走る→キーオフ後に二度と始動せず」の症状に付いては、これはまさにECU起動時の整合性チェック(チェックサム/CRC)で弾かれている典型症状です。
フラッシュ直後はプログラムがRAMで動いているので走る→ 一度エンジンを切ると、次の起動でブートが内部フラッシュのCRCを照合→不一致で起動拒否=二度とかからない。
このロジックがまんま発動した様子(現状確証は無し)
分かりやすく言うと、スーパーの肉の陳列棚に並んでいるパックに「切り立て生肉(ORI)」と書いているのに、見たらまんま「ウィンナー」という感じ。
完全に違和感しか感じないので買う訳無い(起動させる訳無い)。
EDC17では、このCRC補正は書き込みツール側で行うのが通常。
これはたまたま先日名古屋の浜ちゃん案件でハマリかけた案件。
その時判明した「Disable checksum を ON(=チェックサム無効)で書いた」という罠的UIのせいでハマった案件でヒント。
※このUIに関してはMMSに依頼変更済み。
あるいは海外ファイル自体のCRCが不整合、の、どちらかが犯人である事が判明。

ファイル抜き出すと、海外MODもEDS生成MODも、ファイル内に専用のCRCを焼いていない(書き込み時補正前提)ことを確認出来たので、この時点で犯人がほぼ確定。
※変更はすべてキャリブレーション領域(0x18C601以降)で、プログラム本体(低位アドレス)は無傷。
だから「一度は走った」という事実が生まれちゃった訳です。
ハード故障よりフラッシュ/チェックサム起因である事がこの時点でも確定。
この後の復旧に関しては容易。
書き込みツールの確認もして(Hex Prog)、今回は自動作成した疑似MODをFLEXのチェックサムONで書き込んで貰いエンジンは無事に始動。
もはや”疑似”というのもかわいそう(笑)
その後スリープからの起動でも問題無し。
試運転をしても問題無し。
診断機を当てても問題無い事を確認して、全ての作業完了です。
眠れなかった夜も、
そして、喉を通らなかった食事も、
もうこれでサヨウナラですよ~!!
明日からはまた一緒に、色んな事研究開発しましょうね!!
・ ・ ・ ・ ・ ・ ・ ・ ・ ・ ・ ・
このブログが”いいね”、”面白いね”と思って頂いた方は、
下の「いいね」ボタン、お願いします。
株式会社フリークのホームページはこちら

フリークネットでは入庫車両 進捗管理ソフトの作成も行っています。導入する事で簡単に自社のDX化とAI化が図れる、整備工場向けのクラウドサービスです。
入庫から納車まで、車両の状況をスタッフ全員がリアルタイムで共有でき、電話や紙のメモに頼らず、「今どうなっているか」を誰でも正確に把握できます。
興味がありましたら、紹介ページをのぞいてみてください。
・ ・ ・ ・ ・ ・ ・ ・ ・ ・ ・ ・