BMW E系 EDIABASが使えるまでのはうつ~

此間までF系の3Lターボつよつよクーペに乗っていたのに、気づいたらE92 しかもM3の4000cc NAを買ってしまいました。

これもコーディングして自分色に染めたい訳ですが、E系はF系と少し手順が違いました。どっちが難しいとかはないですが、E系は情報量が少ない気もします。なので書いておきます。

作業に必要なことは具体的に以下です

1.ハードウェアを用意する

2.ソフトウェアを用意する

3.接続し書き換える

では、順を追って書いていきます。

1.ハードウェアの準備

E系のBMWではK+D CANケーブルを使用します。F系は基本的にEnetケーブルです。(例外あり)

内部にFTDIのシリアル通信用チップが載っており、FTDIのドライバを入れるとCOMポートとして認識できます。そこらへんのシリアル通信用ケーブルと全く同じです。

私はAmazonにて入手しました 早かったので: https://www.amazon.co.jp/gp/product/B07Y9Z9X53/

ケーブルはケチらないほうがいいと思う

ECS:https://www.ecstuning.com/b-ecs-parts/obdii-usb-diagnostic-cable/vt1a0003/

BimmerGeek:https://www.bimmergeeks.net/product-page/bimmergeeks-expert-edition-k-dcan1

ECUWORX:https://www.ecuworx.co.uk/product/ecuworx-flashing-cable-for-e60-m5-e65-m6-and-e92-m3/

このケーブルでE46やE89など全てコーディングできますが、ここに実は大きな落とし穴があります。このケーブルを使用し、E46などの古い車両と通信する際はOBDの7,8番を短絡させる必要があります。

そこで、スイッチがついていて短絡させるか切り替えられる物が発売されていますが、ついてない物もあります。なので、届いたらまず分解してどうなっているか確認するのがMUSTでしょう。

私が注文した物はスイッチが実装されておらず、最初から短絡させられていました。E92に使おうとしていたので、そのトラブルシューティングに12時間程度吸われました。逆に言えば、短絡させた状態で刺しても特に何もなかったので、オススメはしませんが最後の手段として「とりあえず短絡させてみる」と言うのは大いにありだと思います。

当然ですがUSBが刺さってプロトコルをしゃべる計算機が必要です。私は以下のような物を使用しました。特にこだわりが無ければ何でもよいでしょう。ただし、次のソフトウェアはなかなかのデータ量なので、ドライブは大きいほうが良いでしょう(OS + 100GB程度あれば1台のコーディング程度なら十分かと思われます。)

必須ではないですがコーディング専用のノート、もしくはMulti BootやVMwareなどで専用の環境を作るのが間違いないと思います。絶対に成功させたい人はOSのクリーンインストールから始めるとよいでしょう。

また、ケーブルによっては古いドライバを入れる必要があるようです。その場合新しいドライバをデバイスマネージャから全て削除(そのものに当たっているドライバ、USBのタブにある USB Serial conveter)して指定のバージョンを入れる必要がありますが、あまりにも古いとデバドラ署名が厄介になります。その場合、セーフモードからOSを起動しデバドラ署名を無効化するとよいでしょう。

MacBookPro 2019 Intel CPU

OS:Windows 10 Professional 21H1 Build 19043.1706

2.ソフトウェアの準備

まずはドライバを導入します。ですが、その前にWindowsの設定を変更します。

コントロールパネル -> システム詳細設定(環境変数などを変更するアレ) -> ハードウェアメニュー内のデバイスドライバインストール設定を開き、自動でインストールされるのを止めます。

また、余計なトラブルシューティングを回避するため、Windows DefenderのRealtime ProtectionとFirewallはコーディング前に完全にオフにしておくことをオススメします(コーディングする際にインターネット接続は必要ありません。)

https://ftdichip.com/drivers/vcp-drivers/

インストール後、デバイスマネージャーでCOMポートの設定を変えます。

ポート番号はCOM1に設定し、BMオプションにある待ち時間(msec)も1にします。

COM1が何らかの理由で使用できない場合は後にインストールするediabasというプログラムのconfigを書き換えてください。場所はC:\ediabas\bin\obd.iniになります。ここに

Port=Com1

とあるのを任意の番号に変更するとよいでしょう。

待ち時間を変更する理由として、FIFOのバッファがあります。データがスタックに積まれて行った際、連続的にたくさんのデータを扱う場合スタックがすぐたまりデバイスドライバとのI/Oが発生しますが、データをバッファがたまるほどない場合待つことになるので、その待ち時間です。1msecとかでないとタイムアウトするとの話です。

そのように理由は様々ありますが、ここでは大きく端折ります。とにかくケーブルのベンダが1msecと言っているので、今は頭を空っぽにしてとりあえず1msecにしてください。

物を作る人は少し考察したほうがいい。ここを読んでるtelnetしちゃったりとりあえずコードを書いたりパケットを送りつけるような人間は特に。wiresharkはここでも面白いので覗くのはおすすめです。

BMW関係で用意するソフトウェアは以下です。

  • Inpa 5.0.6
  • EDIABAS 7.3.0
  • Bluetooth Activation Tool 1.0.0
  • BMW Coding Tool 2.5.0
  • FindECU 1.1
  • NcsDummy 0.6.10
  • NcsExpert (English menus & NCS Dummy) 4.0.1
  • Tool32 4.0.3
  • WinKFP 5.3.1

これらを一つずつ導入するのは大変なため、まとめたパックが配布されています。BMW Standard Toolsなどと呼ばれる物です。ですが、今回はBMW Advanced Toolsを使用します。

https://github.com/gushmazuko/bmw-advanced-tools

バイナリが配布されているので、それを使用し一括で導入します。

3.接続し書き換える

今回はINPAで接続を確立するまで。ここまでできたら後はノリでできるよ。

92 M3はベースグレード, Competition, GTS, DTM Championとか色々あるのですが、全部同一のミッション(GETRAG GS7D36G)。このミッションはオイル冷却方法とかを除けばF80,82,87のそれらと同じです。M5はF90からzf 8hpで他は知らん。G系のMは全部zf8です。xHPとかが効く。

92 M3 GTSは型式がS65B44A,他はS65B40Aで単純に排気量も違うのですが、ミッションの制御プログラムが全然ちがう。GTSのDMEをそのまま持ってきてもいい結果にはならないですがミッションはデータを持ってくると「よき」な仕上がりになります。

ちなみにINPAを起動するとediabasも起動するので、他のediabasを使用するプログラム(NCS Expert,WinKFP,ISTA等)を使用する際はINPAを落とす必要があります。一度に起動できるediabasを使うプログラムは一つです。

コメントを残す

メールアドレスが公開されることはありません。 が付いている欄は必須項目です