PART 3 - ROM EDITING AND STANDALONE OP2.0 LOGGING
So now you should have read your factory ROM image, and put a copy (or two) somewhere safe. It should now be possible to load it up in EcuFlash and probe its inner secrets. You can make ROM changes and rewrite it to the ECU, to enable "mode23" logging, change map data, etc. You can load up and write different ROM images too, such as a GST Base Map - and use logging mode to keep an eye on things like detonation, timing advance, etc. You can swap back to factory ROM prior to taking your car in for a dealer service, so it doesn't confuse or stress out the Mitsubishi people.
Pretty neat, really. I knew all those years messing around with PCs was leading up to something other than carpal tunnel syndrome!
Working With ROMs in EcuFlash
Reviewing the Factory ROM Image
In EcuFlash, load up the image you saved away in PART 2... "File" -> "Open ROM".
Tick any item in the "Current ROM Metadata" pane to take a look. A good start is "Misc/ECU ID"... this is your ECU's original identification number, eg. "53610010".
If EcuFlash doesn't allow you to do any of this, you might be missing the XML ROM Metadata definition file that matches your ECU ID.
Changing the Factory ROM Image
If you wish, you can modify a copy of your original ROM image, and reflash it back into the ECU. One reason to do this would be to enable "mode23" logging, so you can record exactly how the factory tuning manages your engine as you drive. To do this...
First, select "File" -> "Save ROM as..." and save away a new file. I'd suggest coming up with a file naming convention that works for you, eg. prefix "000_" for original factory ROM, then "001_..." for the first intended replacement ROM, "002_..." and so on.
Now you are free to make changes to the new file. For example...
Enabling ROM mode23
If you have the correct "53610010.xml" data, you should see the following three items in "Current ROM Metadata"...
Misc/IFMode 0x05 -> 0x23 #1
Misc/IFMode 0x05 -> 0x23 #2
Misc/DoMode 0x42 -> 0x52
Tick "IFMode 0x05 -> 0x23 #1" to bring up the value display/editor. Click on the "05" data in the window, and press '=' to enter a new value. Type in "0x23" then ENTER. Close the popup.
Tick "IFMode 0x05 -> 0x23 #2". Click on the "05". Press '='. Enter "0x23". Close the popup.
Tick "DoMode 0x42 -> 0x52". Click on the "42". Press '='. Enter "0x52". Close the popup.
Select "File" -> "Save ROM".
Congratulations... you've just enabled "mode23" in that ROM image. Once this is written to your ECU, all sorts of interesting engine management data will be available to you, through a variety of methods.
Reflashing it is covered a little lower down - see "Reflashing the ECU". If that's all you wish to do, skip directly to it.
GST Base Map ROM Image
If you want to replace your original factory ROM image with a GST Base Map ROM, you can load it into EcuFlash now.
Select "File" -> "Open ROM", and choose the appropriate GST Base Map for your vehicle.
First, it's a good idea to make sure the ROM in question is "mode23" enabled. At the time of writing, the GST Australian ROM images weren't "mode23", but Bryan was planning to rectify that.
Tick the following items in "Current ROM Metadata"...
IFMode 0x05 -> 0x23 #1
IFMode 0x05 -> 0x23 #2
DoMode 0x42 -> 0x52
The displayed values should be 23, 23 and 52 respectively (the field naming is a subtle hint!). If they differ, simply follow the "Enabling ROM mode23" section above.
Reflashing the ECU
In PART 2 above, I described the steps involved in reading an ECU image via EcuFlash. Thanks to the miracle of cut & paste, I'm going to regurgitate that whole text chunk here, with the "read" stuff changed to "write". It'll use up loads of space, but should make it a no-brainer to follow. And I do like no-brainers - suits me!
Here goes... this should all seem strangely familiar...
Take the laptop out to the car. Bring the power supply and extension cable - you definitely do not want to be running on battery while you do any of this!
Plug in the AC power supply. Switch to full-power mode in the Windows "Power Management" options (Control Panel, wherever). Disable any standby/hibernation timer, HDD park/standby timer, etc. Maybe switch off wireless network too.
Connecting via Tactrix OP2.0
Plug one end of the supplied USB cable into the Tactrix OP2.0 unit.
Make sure the car ignition is fully OFF, then plug the Tactrix OP2.0 unit into the OBDII port of the Ralliart. This is down in the driver-side footwell, above where your right shin would be when driving. Some funky coloured lights should start flashing on the OP2.0 once it's plugged in.
Plug the other end of the USB cable into the running laptop. Windows should see the Tactrix OP2.0, and may well pop up something related to the microSD card.
Put the laptop in a SAFE position where it won't get jolted. Its AC power should be on. All cables should be far from your hands and feet. Lock up the dog.
EcuFlash - Write to ECU
Run up EcuFlash. Note: I ignored a message in the "Task Info" pane saying, "error loading FTD2XX.dll". It doesn't seem to matter.
From the pull-down menu, select "Open ROM". Choose the ROM image you intend to write to your ECU.
From the pull-down menu, Select "ECU" -> "Write to ECU". Feel free to use "Test Write to ECU" first, as a trial run... all of the whirring and beeping without the actual writing!
If EcuFlash asks, choose: Mitsubishi / ALL / CAN VEHICLES / 2006+
EcuFlash will tell you to turn on the vehicle ignition. Do so... 2 clicks only... don't actually start the car. Your stereo, fans and/or headlights may come on - switch them off.
Press OK on EcuFlash.
All sorts of exciting stuff will now happen in the car! Fans will run, pinging noises will go off, warning messages will appear on the multi-function display, air-raid sirens will sound, you name it.
Meanwhile, on the laptop, the "Task Info" pane will show the operation in progress.
Once it's done, it will tell you to switch off the ignition if you're finished - don't do this just yet, as we've got more to do.
EcuFlash - Compare to ECU
Now, select "ECU" -> "Compare to ECU". This will access the vehicle's ECU again, and double-check that the selected image matches the one in the car. The double-check results should display in "Task Info" as a series of "YES" items (comparing memory areas).
Don't switch off the ignition yet - more to do!
EcuFlash - Exit Programming State
Now select "ECU" -> "Exit Programming State". Why? Because the how-to guide I followed (evoxforums) said to do it! Yes, this entire diatribe is simply a summary of information already available (ie. from smarter people, who know more than I do).
Once that's done, switch off the ignition.
EcuFlash - Clear DTCs
After any EcuFlash operations, the "Check Engine" light (CEL) seems to be lit on the vehicle dash. EcuFlash can easily clear it... just run the relevant procedure:
Select "ECU" -> "Clear DTCs". Turn the ignition back on... 2 clicks. Then press "OK" on EcuFlash. It should blast through a load of items in the "Task Info" pane, and say "task complete". Once it has finished, switch off the ignition for the last time.
If all has gone well, your 2009 Australian Ralliart Lancer just got a brain transplant. If the flashed ROM had "mode23" enabled, you can now use all sorts of logging tools to watch the engine management system do its thing.
Standalone Logging on Tactrix OP2.0
This is one great feature! And as long as your OP2.0 was initialised properly (see PART 1), it only takes one small file to enable...
Any time you plug your OP2.0 into your laptop via USB, you should be able to see its microSD card. To enable standalone logging, simply create a file named "logcfg.txt" on the card, containing something like:
; sample logging configuration file for openport 2.0
; must be named logcfg.txt and be placed in the root directory of the
; microSD card inserted in the openport in order to work
; this sample logs using the KWP2000 ReadMemoryAddress command over the ISO15765, which works
; for CAN based mitsubishis that have had their ROMs modified to allow the use of this command.
; this command is also known as "mode23" on some forums. since this command reads directly from
; ECU memory, the paramid addresses used are different for different ROM versions.
; log channel settings
; log these items a little less often using a sampgroup (see subaru example for more details)
sampgroup = 1
sampgroup = 1
sampgroup = 1
You can probably find a more up-to-date version of that file under "OpenECU", or online somewhere. But the above data worked for me. Comment out any data you're not interested in seeing.
With this file in place, each time you start the vehicle, the OP2.0 will create logfiles containing data direct from the ECU... neatly formatted in .csv style. Load them straight into your spreadsheet of choice, review data, make charts, and so on.
A few side notes and observations...
- Logging won't happen if the OP2.0 is connected via USB to your laptop - it has to be standalone.
- If the pretty flashing LEDs are anything to go by, the OP2.0 is powered on 24/7. I don't know how much current the unit draws, but it may not be sensible to leave it plugged in for days/weeks when the car isn't being driven.
- If you ordered an OBDII extension lead, use it! The location of the OBDII port on the Ralliart was specifically designed by Mitsubishi engineers for maximum kickage.
- I wouldn't disconnect the unit while the car is running - not because I read anywhere that it's a Bad Idea... it's just not a polite thing to do to an interface!
- If you get fixed, dodgy-looking data (eg. knocksum = 35), you probably don't have mode23 enabled at the ECU.
EvoScan Logging via Tactrix OP2.0
If you installed EvoScan on your laptop, you can simply choose "Mode23 2009 JP/EU/AU EVOX" and it should display and log correctly (most fields, anyway!).
I have, however, seen some weird goings-on when logging in this mode. Sometimes EvoScan just displays a pile of old garbage - RPM values over 6000 at idle, etc. Perhaps it gets confused if you choose different logging modes... I don't know. Still, exiting EvoScan and restarting it usually resolves the problem, and it logs normally.
Again, if you get fixed, dodgy-looking data (eg. knocksum = 35), you probably don't have mode23 enabled at the ECU.
That's about all I should include here. If I start blabbing about how to interpret logged data (eg. knocksum) and modify tuning (eg. AFR, Timing Advance), I would be straying from the intended topic. More to the point, I'm not qualified to tell anybody how to tune anything!
I hope this information gives you Aussie Ralliart owners a good starting point.