BMW E46 ライトコントロールモジュール(LCM)のファームウェアをバージョン4.7へアップデート
BMW E46 ライトコントロールモジュール(LCM)のファームウェアをバージョン4.7へアップデート
これまでにライトコントロールモジュール(以下、LCM)2回交換してきました。
最初の交換目的はライト関連のLED化目的で交換。
2度目の交換はヤフオクで前回交換したLCMよりも新しいバージョンを格安(\1,000)で入手出来たので交換してきました。
関連記事:
BMW E46 ライトコントロールモジュール(LCM)のバージョンアップ
LCMには本体のラベルにバージョン番号が記載されており、21年前、車を購入したときに装備されたいたLCMのバージョンは1.3。1999年に購入した自分の車でも1998年からE46がデリバリーされていたので少しだけ(約1年間)バージョンアップされていたようです。(多分キセノンライト関連のためにバージョンアップ)
約3年前(2017年)LED化のために交換したLCMはバージョン3.11。
ヤフオクで物色した中で安くてLED対応のバージョン3.x以上ということで入手しました。(確か3.6は結構な値段だったので諦めた覚えがあります。)
関連記事:
LED化計画:ライトコントロールモジュール(LMC)入手(BMW E46)その3
ライトコントロールモジュール LMC 交換その1(BMW E46 )
そしてヤフオクでさらに新しいバージョン3.6を見つけ、しばらくお気に入り登録してあったのですが、「まあそのうちに...」なんて考えていて、なかなか(半年近くかな?)購入するタイミングが無かったのですが、今年(2月)ヤフオクのクーポンで上限1,000円までの半額クーポンがあったので、清水の舞台から飛び降りる気持ちで1,000円でゲット。(笑)
LCMをバージョン3.11から3.6へバージョンアップしても特に大きなメリットは無い事は承知済みだったのですが、海外のフォーラムでLCMの3.6以降のバージョンはハードウェアが同じでバージョン4.0、4.5、4.7という3つのバージョンが存在する事が判明。
このブログの中でもでも過去にLCMのバージョンを調べた事があったんですが4.0以上のバージョンの詳細がわからないままでした。色々と調べたところバージョン3.6以上は基板に装備されているASICチップのプログラムが更新されているだけという事が判明。
関連記事:
BMW E46 ライトコントロールモジュール(LCM)のバージョンについて調べてみた
LCMの未知なるバージョン4.x
具体的にLCMのバージョン4.0、4.5、4.7とは一体いつ頃どようにデリバリーされたかというと、(下記のCI:コードインデックスというのはLCM内部のバージョン番号です。ラベルに記載されているバージョン番号よりもこちらが重要。残念ながらLCMの外見からはCIは判別出来ません。)
LCMバージョン4.0(CI:36)
2006年 BMW E46が生産された最後の車両に装備されたLCM。現状2006年の車両はまだ乗っている人が多い?!ということでLCMの4.0はほとんど中古市場に出回らないのでヤフオクとかで探してもなかなか出てきません。実際2006年にどのぐらいのE46が生産されたのかわかりませんが、間違いなく玉数は少ないLCMのバージョン。バージョン4.0の最大のメリットはワンタッチウィンカー機能。トリプルに設定するとウィンカーレバーを点灯する位置まで移動するだけで3回自動的に点滅してくれるという機能で、高速の車線変更などでは大変便利な機能です。(最近の車には標準装備だったりするのかな?)
LCMバージョン4.5(CI:37)
これについては見た事もなければ噂で聞いた事しかないので実在するのか不思議だったんですが、実は4.5は4.0のバグフィックス版(?)とやらで、2006年以降、BMW純正パーツとしてLCMを交換した場合に供給されていたバージョンとの事。すなわち車両に装備されて販売された実績は無いそうです。2006年以降、E46をLED化するためにLCMの交換を行った場合のみ入手可能なので、これはかなりレアなバージョンになります。
明確に言えばE46に装備されたLCMのバージョンは4.5が最終となります。
LCMバージョン4.7(CI:37)
E46でLCMのバージョンの最終が4.5と言いつつもバージョン4.7が存在します。バージョン4.7はE46には装備されておらず、E85/Z4に装備されたLCMのバージョンとなります。本当かどうかわかりませんがLCMの同一の基盤をE85/Z4に使いまわして、E85のみにバージョン4.7を供給したようです。
ちなみにバージョン番号はLCM本体の箱のラベルとASICチップ表面に印字されているだけで、LCMのインフォメーションで表示されるコードインデックスはバージョン4.5と同じコードインデックス37のままになっているとの事。
海外のフォーラムで調べてみるとLCM4.0以降は、LCM3.6と同じ基盤が使用されており、基板上のASICチップのファームウェアのみが異なるとの事。ちなみにLCMバージョン3.6のコードインデックスは35で、1つ前のバージョンLCMバージョン3.57(コードインデックスは34)と互換が無いらしい。
総括するとLCMのバージョン3.6以降はバージョン4.7までにバージョンアップが可能で、LCMの4.0が運よく装備されている2006年のE46の場合はLCM4.0の最大の目玉であるワンタッチウィンカー機能がコーディングのみで使用できるということです。
そしてLCM3.6はLCM上の基盤にあるASICチップのファームウェアアップデートを行えば4.7へまでバージョンアップできるという事が判明。
LCMの基盤上のASICチップのバージョンアップにはパソコンからUSB経由で直接チップにアクセスしてファームウェアアップデートを行う必要があるのでツールが必要となります。
ebayでLCMのファームウェアをアップデートするツールを購入
色々と海外のフォーラムを読み漁って、ファームウェアをアップデートするツールをebayで発見。フォーラムに書かれたいた通り$15ぐらいなので、これはやってみるしかないということでツールを調達したのが2月28日。
ebayで注文時、台湾か香港か中国から発送というような事が書かれていて、コロナウィルスの影響もあるので台湾か香港だったらいいなーなんて思いつつも3月7日に連絡があったらトラッキングナンバーは、チャイナポストで中国からの輸送ということで、「これは何か月もかかるなー」っと、ほぼ諦めていたのですが3月29日に中国を出て、約2週間後の4月13日に手元に無事届きました。
上記の写真は到着直後に届いた箱。見る限り無事じゃないですね。(笑)
E46M3イモラカブのりのJANさんも今年ヤフオクでパーツを購入したら発送が中国で箱がつぶれて、おまけに品物がクーペ用じゃなくセダン用が届いたという、なかなかあまり経験したくない状況にあったとの事。チャイナポストなんてこんなもですかね...。
これまでに何度もチャイナポストで輸送されてきているけど、いつもは段ボール箱じゃなくってビニール袋だったので箱物はつぶされてくるというのが定番なんでしょうかね。(笑)
早速開封してみました。中身は大丈夫そうですね。
続いてUSBDMをUSBケーブルでパソコンに接続して通電テスト。
このファームウェアバージョンアップが書かれていた海外のフォーラムには(Googleで「efc3 lcm」で検索すればたどり着きます。)「USBDMに付属のUSBケーブルがトラブルを起こす場合があるのでUSBケーブルを交換しろ!」と書かれていたので手持ちのUSB-BAケーブルで接続しました。
何故かいきなりUSBDM本体まで開封しちゃってますが(笑)、この状態でLCMの降ファームウェアバージョンアップを行います。
ちなみにUSBDMを分解したのは、LCM本体への接続はLCM本体の基盤に直接ワイヤーを半田付けしてデータ通信する必要があるためです。
またケーブルを接続するピンヘッダーコネクターからLCMのASICチップへ電源供給するため電源の+5Vが来ているかテスターで確認したところ、海外のフォーラムに掲載されている写真のUSBDMとピンヘッダーコネクターが逆についている事が判明。フォーラムの写真のまま接続していたらLCM破壊してたかな?(苦笑)
一応、基板上で供給電源を3.3V、または5Vに切り替えられるようになっています。(LCMの書き換えには+5Vを使用)
しかしこの状態では「USBDMが正常に動作しているのか?」、「通信できているのか?」。結局、LCMを接続してみないことにはまったくわからずで超不安。
続いてUSBDMを使用してLCMのファームウェアを書き換えるためのツールをパソコン(Window10/64bit)へインストールしました。
このUSBDMはマニアが開発したツール(Opne Source)のようで、USBDMで使用するソフトウェアはダウンロードのみとなります。
ダウンロードはこちらのDriveとSoftwareから入手します。
インストールしたUSBDBドライバーはWindows7用の64bit版のUSBDM_Drivers_4_12_3_Win_x64.msi。
(32bit Windows10を使用している場合はx32を使用)
USBDBソフトウェアは、USBDM_4_12_1_240_Win.msiをインストールしました。(この作業を行った時点で、サイトには更に新しいUSBDM_4_12_1_262_Win.msiがあったのでそちらでも行けるかと思います。)
ダウンロードしたUSBDM用のUSBドライバー(USBDM_Drivers_4_12_3_Win_x64.msi)とLCMで使用されているチップHC12用のツールUSBDMソフトウェア(USBDM_4_12_1_240_Win.msi)をインストールしてみました。
まずはUSBDMのUSBドライバー。
ドライバーソフトウェアはUSBDM本体を接続しない状態で行います。
続いて、USBDMソフトウェアのインストール。
GNUのパブリックライセンスになっているようですね。
どれを選ぶ必要があるのかわからないので、そのまま「Next」。(笑)
インストールが完了しました。
ここでUSBDMをパソコンとUSBケーブルで繋ぎ、続いてはLCM本体の用意。
まずは、現在のLCM3.6の状態確認。INPAで接続してLCMへアクセス。
まずはLCMにエラー等が残っていない確認。幸いにもエラーログ無し。
続いて、LCM3.6のコードインデックスの確認。35になっています。(赤丸参照)
続いてLCMのバージョンを3.6から4.7へアップデートするにあたり、4.7にアップデートした後、再コーディングが必要になるため、まずはNCS-Exrpertで現在使用しているLCMのコーディングデータの読み出してFSW_PSW.TRCとNETTODAT.TRCファイルを保存しておきました。
そして、LCMの取外し。
ヤフオクで購入したバージョン3.6のラベルです。(赤丸部分)
続いてLCMを分解して基板と取り出します。フロントパネルを取り外して、基板は抑え込んであるだけなので手前にスライドさせて抜き取ります。
そして基板のひっくり返して、アクセスラウンド4か所に半田付けします。(詳細はフォーラム参照。)
LCMの基盤は腐食防止のためか基板全体にコーティングされていて普通に半田付けすることはできません。少しデザインナイフで削ったりしてみましたがうまくいないので、あまり使いたくはありませんでしたが半田を乗せたい部分にプリント基板用のフラックスを塗ると簡単に半田付け出来ました。
LCMとUSBDMを接続して、パソコンにUSBケーブルを接続。
で、やっとLCMの基盤上のチップへUSBDM Memory DUMPを使用してパソコンからアクセス。
このアクセス設定内容は別のフォーラムで得た情報を元に入力した内容です。
Read Memoryをクリックするとエラーのような警告のようなダイアログが表示された後、
ログを見ると、無事、読み込みが出来たようです。(笑)
これで初めてパソコンのLCMの基盤のASICチップと通信が出来、USBDMの動作確認が出来ました。
一応ここで、「Save to File」をクリックしてLCMバージョン3.6のファームウェアを保存しておきました。
通信が出来ているようなので、続いてもう後戻りはできないバージョン4.7の書き込みを行いました。
使用したツールはUSBDMソフトウェアのHSC12 Programmerです。
LCM4.7のファームウェアはフォーラムよりダウンロードして、PDF拡張子を.s19へ変更したファイルを選択。
設定内容を2回程確認し「Program Flush」をクリック。
書き込み中をキャプチャし忘れましたが、30秒かからず書き込み完了。
書き込み後、一応「Verify Flush」をクリックしてエラー無く完了しました。
半田付けしたワイヤー4本と半田で取り外してLCMの組み立て。
この状態ではLCMのファームウェアが正常に更新されたのかはまったくわからず...。
フォーラムにも書かれていましたが、もしこの作業を行う場合、予備のLCM3.6を用意してから行うようにと記載されておりましたが、もちろん自分は1つしか持っていません。
まあ、失敗したら以前使用していたLCMバージョン3.11にダウングレードするつもりでいたので、一応保険はありでしたけど確認が簡単に出来ないのは結構な緊張感とストレスがありました。(笑)
取り合えず、LCMを車に戻し緊張の一瞬。
メーター部分のチェックコントールにエラーが出ているので、LCMは正常に動作している事を確認出来て一安心。(笑)
上記の写真を拡大してみるとわかりますが、走行距離のkmの後ろにタンパードットが点灯しているのLCMがコーディングされていない事がわかります。
LCMのコーディング前に車体ナンバーと走行距離をLCMへ書き込みを行います。書き込みにはBMW Scannerを使用。
BMW ScannerでLCMにアクセスすると車体番号と走行距離がゼロ。コードインデックス(CI)が37になっているので無事バージョン4.7になっている事を確認出来ました。
車体番号と走行距離を書き込み後、一度キーをオフにしてから、
タンパードットが消えている事を確認。
その後、NCS-ExpertでLCMバージョン4.7のコーディングデータを吸い上げました。
LCMのコーディングはFSW_PSW.TRCをベースにNCS-Dummyで先程保存したLCMバージョン3.6の内容と吸い上げたバージョン4.7の内容を比較して1項目づつ設定していきます。(結構、根気がいる作業)
1つのパソコンでNCS-Dummyが何個も起動できるのでコーディングデータを1つづつチェックしていきました。
数種類の新しい項目の追加がありましたがバージョン3.6と4.7はほぼコーディングデータが一緒なのでバージョン3.11から3.6の時と比較してもかなり楽です。
そして今回の目玉、LCMバージョン4.0以降で対応のワンタッチターンシグナル(CYCL_TI_BLK)で3回点滅を設定。
新しく再設定したのはこれぐらいかな?
これでNCS-Dummyで作成したFSW_PSW.MANファイルを再度NCS-ExpertでFSW_PSWコーディングを行い、チェックコントロールが消えたことを確認し、ウィンカー、ハザード、スモール、キセノン、ハイビーム、前後フォグ、ブレーキライトの点灯確認を終え完了。
ワンタッチターンシグナル(ワンタッチトリプルウィンカー)で3回点滅を動画にしてみました。
情報の収集、ツールの入手(6週間)、ファームウェアアップデートは30分ぐらいで、コーディングに1時間ぐらい、随分と時間がかかりましたが、やっとLCMの最終バージョン4.7へアップグレードとLCMバージョン4.0からのワンタッチターンシグナルの設定が行えました。
コーディングだけではどうにもならない作業も含みますので、このページの参照はすべてご自身の責任の範囲でご参照ください。(自信のない方、よくわからない方はやめておいた方がよいでしょう。)
また、LCM3.6をLCM4.7へアップグレードしたいとお考えの方がおりましたがTwitter経由でご連絡いただければわかる範囲でご返答致します。
LCMバージョン3.6でコーディング済みの状態の車両(車両に合わせた設定が出来ている)で、別途LCMバージョン3.6が用意できる方ならばLCMバージョン4.7へのファームウェアのアップデートが出来る環境にあると思います。
今回、バージョン3.6のLCMを\1,000で入手して、バージョン4.7にファームウェアアップデート用に調達したUSBDM(約1,700円)だったので3,000円弱でバージョンアップが出来ました。
以上、「BMW E46 ライトコントロールモジュール(LCM)のファームウェアバージョンアップ」でした。