E46M3 DMEチューニングに失敗した時の復旧方法
最終更新:2025/1/25
DMEチューンニングに失敗してしまった時の復旧方法を知っているだけで、DIYのハードルがグッと下がると思っています。
今回の記事はDMEチューニングのDIYをこれからやってみたいオーナーさんへ、最初の一歩を勇気づける為にまとめてみました。
まぁ僕自身がやっちまったので、必死で勉強した方法を惜しみなく書き込んでいます。笑
今回スポットを当てている復旧方法は、無料でできる以下3つの方法です。
自分の車のバックアップデータを上書きする方法
他車のデータを流用して書き込む方法
WinKFP(BMW Standard tool)から復旧する方法
基本的に”1. 自分の車のバックアップデータを上書きする方法”を知っていれば何の問題もない為、この手順を丁寧にまとめています。※DMEチューンを始める前に必ず自分の車のバックアップをとることをオススメします。
2.と3.は、万が一自分の車のバックアップを忘れてしまった場合や取っておいたのにデータがどっか行ってしまった場合の復旧方法で、参考程度にまとめました。この方法だと完全に元通りと行かなかったり、チューニングデータがリセットされてしまう可能性もありますし、もしかしたらこの方法で復旧できない場合もあります。しかし、DMEチューニングをDIYしようとする方にとっては切っても切れない知識があるのでまとめました。
これらの復旧方法は海外の愛好家のおかげでほぼ無料で行うことができます。公開されている情報を元に日本で必要な情報を抽出し、試行錯誤の内容を踏まえています。
目次
フルバイナリとパーシャルバイナリを理解する
復旧方法を理解するには、まずDMEデータそのものについて理解する必要があります。
DMEチューニングは、DMEに書き込まれているバイナリというデータファイルの中身(16進数の数字の羅列)の一部を書き換えて行います。
バイナリというのはコンピュータが理解できる機械言語です。これに対して人間が理解できる言語がCやJava、Pythonなどのプログラミング言語です。(プログラミング言語も十分難解だというのは傍に置いておいて下さい。)
コンピュータの世界では、人間がOS上でプログラミング言語を使ってプログラムを組み、それをコンパイル(変換)してバイナリにすることで機械が理解でき、動けるようになります。
車も同じなのですが、DMEチューニングにおいてはプログラミング言語を使わず、バイナリを直接編集する方法が全世界共通です。
車のバイナリは2つの構成からなっていて、フルバイナリ=エンジンの動きを”指示する部分”とパーシャルバイナリ=動き方を決める”条件部分”があります。
DMEチューニングではこの”条件部分”のみを編集します。
DMEチューニングに失敗した時はパーシャルバイナリを修正してあげればほぼ全ての問題が解決するはずです。
しかし、DME本体(コンピュータユニットそのもの)に不具合が発生してしまった場合や誤ってコンピュータの中身を削除(バージナイズという言い方がされている)してしまった場合などは、フルバイナリの書き込みによる復旧が必要になります。
用語について
用心深いオーナーさんは、この記事だけでなく、海外記事もご覧になると思います。
その時の理解の助けになるように用語について触れておきます。
バイナリ=BINとよく表現されています。
フル(full)バイナリ=プログラム(prg)バイナリと表現されたり、パーシャル(patial)バイナリ=チューン(tune)バイナリと表現されたりします。
また、Google翻訳で海外サイトを見ていると、tune=曲と訳されて、最初意味がよくわからないことがあるかもしれませんがtune=チューニングバイナリ=パーシャルバイナリであると覚えておくと理解しやすいかもしれません。
必要なツール
復旧に必要なツールの紹介です。色々試した中でコストと作業の容易さのバランスを考えて厳選したものだけを紹介しています。(ここに紹介したツール以外にも、同じ事ができるものはたくさんありますが、解説のシンプル化の為に紹介は割愛します。)
自分のバックアップデータから復旧
ここからは、実際の復旧手順を紹介していきます。
自分のバイナリ(BIN)をバックアップ
口を酸っぱくしてお伝えしたいのが、必ずDMEチューニングを始める前に自分のデータ(バイナリ)のバックアップをとることです。これさえ取っておけば後々困ることはほぼありません。
フルバイナリを車からダウンロード
MSSFlasherを使って自分の車からフルバイナリをダウンロードします。 フルバイナリにはパーシャルバイナリも含まれている為、フルバイナリさえダウンロードしておけば、パーシャルバイナリは後で抽出可能です。
車とPCをK+D CANケーブルで繋ぎます。
キーをカチカチと2回捻り、エンジンをかける手前の位置にします。
MSSFlasherを立ち上げ、ケーブルが認識されていることを確認します。(認識されていなければ、右下のResetボタンをクリックすると認識される場合があります。)

IdentifyをクリックしてDMEを認識させます。

Read Fullをクリックします。

読み込みが始まりますので、終わったらFileタブのSave Fullbinaryをクリックし任意の場所にファイルを保管します。

キーを戻したら終わりです。
ダウンロードしたファイルは、無くさない場所に保管することをおススメします。
パーシャルバイナリを車からダウンロード
パーシャルバイナリはフルバイナリから抽出することができます。
抽出は、ECUWorxBinConverterを使います。使い方はソフトをダウンロードした後立ち上げて、フルバイナリをアップロードし、Convert to Patialボタンを押すだけです。

抽出が終わったら任意の場所にファイルを保存します。
もちろん車から直接パーシャルバイナリだけを抽出することもできます。パーシャルバイナリを抽出する手順は、フルバイナリをバックアップする手順とほぼ同じです。違いは読み込む時にRead tuneを選ぶことと、読み込みが終わった後、ファイルを保存する時にFileタブからSave Tuneを選ぶことです。


チューニングのステップアップごとにパーシャルバイナリを保管しておけば、後でその時点に簡単に戻ることができるので、一度抽出したファイルはずっと保管しておくと良いかもしれません。
パーシャルバイナリによる復旧
パーシャルバイナリによる復旧はとても簡単です。基本的にはこの方法だけ理解していれば十分です。
車とPCを接続します。(接続はバイナリをバックアップする手順と同じです。)
車と接続後MSSFlasherを立ち上げ、FileタブからOpen tuneをクリックします。

書き込みたいパーシャルバイナリを選んでMSSFlasherにロードされたことを確認します。

Flash tuneをクリックすると書き込みが開始されます。

進捗バーが100%になり完了のコメントが出たら終了です。

フルバイナリによる復旧
フルバイナリから復旧する時は、まずDMEの中身をまっさらにする必要があります。
車とPCを接続します。(接続はバイナリをバックアップする手順と同じです。)
MSSFlasherを立ち上げ接続が確認できたらVirginizeを押し、まっさらにします。(まっさらにする理由は、まれに古いデータが一部残ってしまうことがあり、動作に影響が出てしまうからです。試したら本当にそうでした。)

まっさらにしたら、フルバイナリを書き込みます。FileタブからOpen Fullbinaryをクリックします。

書き込みたいフルバイナリを選んで読み込まれたことが確認できたらFlash prgをクリックします。

パーシャルバイナリの書き込みと同様に完了のコメントが出たら終了です。 この時、フルバイナリに組み込まれたパーシャルバイナリが書き込まれているので、別のチューニングされたパーシャルバイナリを書き込みたい場合は、パーシャルバイナリの復旧手順で上書きします。
たまに失敗することがありますが、失敗してもめげずに成功するまで書き込みを繰り返します。
他車のデータから復旧
他車データから復旧せざるを得ないオーナーさんは、僕のようにめんどくさがってバックアップせず、当たって砕けてしまった方だと思います。その場合、復旧手段の見当もつかずお手上げ状態ではないかと思います。
そんなオーナーさんもできるだけ簡単に復旧できるよう、トラブルシューティングをする流れでまとめてみました。
前提知識
DMEシステムとDMEバージョン
復旧をスムーズに進めるにはには、DMEシステムとDMEバージョンについて理解する必要があります。
というのはDMEにはいくつかバージョンがあり、復旧したいチューニングデータ(パーシャルバイナリ)を持っているなら、そのバージョンに対応するフルバイナリが必要だからです。
DMEシステムというのは、前期型であればMSS54、後期型であれば、 MSS54HP、CSLであればMSS54HP/CSLという名前がついていて、ハードやソフトが微妙に異なり互換がありません。
DMEバージョンとは、E46M3が現役だった時はメーカーによってバージョンアップがなされていました。ディーラーに入れていたオーナーさんは最新バージョンになっていると思いますが、そうではないオーナーさんは古いバージョンのままのはずです。下の表の各DMEシステムの中で下に行くほど最新のDMEバージョンになります。
MSS54(前期) であれば2101、MSS54HP(後期)であれば2001、MSS54HP/CSLは0401がそれぞれ最新版になります。
さらに対応地域を判別する番号もあり、この番号でSMGかMTかの区別が判ります。

繰り返しになりますが、DMEシステム間の互換はないので別DMEシステムの最新バージョンを書き込んでしまったら車は動きません。例えば、MSS54にMSS54HPの最新である2001は書き込んでも動きませんし、MSS54HPにMSS54HP/CSLの0401を書き込んでも動きません。書き込みはできてしまうので注意して下さい。(MSS54とMSS54HPは32bitと64bitという違いがあり、コンピュータの構成とデータ量が違うので対応できません。MSS54HPとMSS54HP/CSLは、お互い64bitコンピュータでハードの構成は同じでもBDMという基本OS(Windowsで言うとBIOS)が違うので対応できません。これらをコンバートする方法もありますが今回の記事では触れません。)
ありがたいことに、全世界のE46M3のバイナリファイルをGithubにまとめてくださった方がいます。ありがたくこのデータを使わせて頂くのですが、残念ながら全てのバイナリファイルが揃っているわけではありません。(全世界のサイトを検索してみましたがこれ以上のバイナリは見つかりません。募集スレッドはいろんな所にあるのですが、それに応えてくれてる人はほぼいません。)
復旧はこのことを考慮した上で行っていきます。
VIN(車体番号)の処理
VINというのは自分の車個体を特定するだけではなく、診断システムを使用する上での認識キーや、セキュリティー(イモビライザー)キーとしても使われています。そしてVINはDMEのフルバイナリに書き込まれています。他車のデータを流用するということは、VINが他車のものなのでVINの処理をしないと機能しない診断システムが出てきてしまいますし、エンジンがかかりません。(体験済み)
VINの処理方法には2通りありますので、オーナーさんの好みで選択します。
EWS(イモビライザー)キャンセル
VINは他車のままでDMEの書き換えによってEWSをキャンセルしエンジンがかるようにすることです。ECUWORX ツールを使えば簡単にできるのですが、デメリットとしてはデータロガーやサービスリセットなど使えない診断ツール(アプリ)が出てきます。ISTA+やINPA、110Cなどは使えますが、bimmer toolなどのBWW系のスマホアプリはVINをキーに対応出来る機能を呼び出すので、正しく機能しない場合があります。
VINの書き換え
自分のVINに書き換えます。これをすれば使えなくなってしまうツールはありませんし、エンジンも問題なく始動できます。BMW standerd toolに含まれるtool32を使えば簡単に書き換えられるのでデメリットはほぼありません。
復旧手順
ここからやっと復旧手順の説明です。繰り返しになりますがトラブルシューティングの流れで復旧の手順を解説していきます。
この手順が必要になってしまったオーナーさんの車は、現在ウンともスンとも言わない状態かと思われます。
そんな状態でも出来る限り最小限の手間で復旧出来るように、まずは車と通信ができてデータが吸い出せるかどうか試してみます。
パーシャルバイナリのバックアップ手順に従ってパーシャルバイナリが車からダウンロードできるかどうか試してください。
パーシャルバイナリがダウンロードできない場合はフルバイナリから復旧する手順に飛んでください。
パーシャルバイナリがダウンロードできた場合、ECUWORXバイナリモディフィケーションツールを使って自分のDMEバージョンを確認します。

DMEバージョンが確認できたら、下の表と照らし合わせ同じバージョンのパーシャルバイナリがダウンロードできるか確認します。
ダウンロードできない場合は、フルバイナリからの復旧手順に飛んでください。
ダウンロードできた場合、パーシャルバイナリからの復旧手順に従い車に書き込みます。
これによって直った場合、終了です。おめでとうございます。
直らない場合フルバイナリからの復旧手順に飛んでください。
フルバイナリからの復旧
残念ながらパーシャルバイナリによって復旧できなかった場合はフルバイナリから復旧する必要があります。DMEシステム名(DME本体にラベルで記載されている)を調べ、システムに対応するバイナリをダウンロードします。
ダウンロードが済んだら、フルバイナリの復旧手順に従ってフルバイナリを書き込みます。
次に、パーシャルバイナリを書き込みます。SMG車両であれば表から"JD59"バイナリをダウンロードし、MT車両であれば"J449"をダウンロードします。(表にはEUモデルのデータもありますが、元のバージョンを確認しようがないと思うので日本モデルのデータを書き込みます。)
ダウンロードできたら、EWSキャンセルかVINを書き換えるかオーナーさんの好みで選びます。
EWSキャンセルを選ぶ場合はこちらの記事を参考に、パーシャルバイナリにEWSキャンセルの変更を加えます。
VINの書き換えを選ぶ場合は、パーシャルバイナリを書き込んだ後、こちらの記事を参考に、BMW Standard toolsに含まれているtool32で行います。
VINの処理を選択できたら、パーシャルバイナリから復旧する方法で書き込みます。
これで問題なく車が始動できたら完了です。
チューニングデータを引き継ぎたい場合
元のチューニングデータ(パーシャルバイナリ)は基本的に引き継げません。
どうしてもチューニングデータを引き継ぎたい場合は、チューニングファイルの中身を解析して自分で新しいバージョンのバイナリに変更を加えるか、チューナーに頼み込んで再チューニングしてもらうしかありません。(再チューニング費用はチューナーさんによる)
自分でバイナリに変更を加えるには色々と知識が必要なので別記事で紹介したいと思います。
WinKFP(BMW standard tool)を使った復旧方法
DMEとSMG2コンピューターを完全リセットする方法です。
ディーラさんだと、ISTA-Pで行う方法です。
ISTA-Pは個人では基本的には手に入らないツールなので、代わりに同じ事ができるツールがWinKFPになります。(厳密には、ISTA-Pだとそのモデル特定のデータしか書き込みができませんが、WinKFPだと他のモデルのデータ書き込みができます。なので、CSLプログラムなどはWinKFPを使わないと出来ません。)
手順はこちらのサイトを参考にしてみてください。
MK20、MK60、GM5など他のモジュールデータはNCSExpert(コーディングソフト)でリセットします。
最後に
この記事は、将来的にコンピュータ関連の復旧できる人が日本国内にいなくなってしまうのではないかという危機感もあり、完全ではないですが今僕がわかってることを可能な限りわかりやすく整理してまとめました。
この記事をご覧になった方で詳しい方や事実をご存知の方がいらっしゃいましたら、情報提供いただけるとありがたいです。
またDMEチューンの方法論についても残せるなら残したいと思っています。後世に残す為なら教えてもよいとお考えのプロの方がいらっしゃいましたら弟子にしてもらえると嬉しいです。
どうしてもご自身での復旧がうまくいかない場合サポートいたしますので、こちらからお問い合わせください。
次のステップとして
E46M3のパフォーマンスチューニングの極地はCSLコンバートではないでしょうか。しかも、DIY研究としてこれほど面白い素材はないと思います。笑(1990年代の日産車のパーツ流用性にワクワクした感覚に似ています。)DME復旧が自分でできるスキルがあれば、次の挑戦もしやすいですね!