Safety Mode - prevent engine flooding caused by not following firmware upgrade steps
With vemstune 2010-12-22-commodell Marcell had to manually set the magic prohibit word in ECU calibrations dialog to allow injection+ignition (=the engine to start) after firmware upgrade
- ECU calibrations dialog prohibit high,low byte settings:
- 04, 213 for 1.1.85 (nonps2)
- 04, 215 for 1.1.87 (nonps2)
- 190, 239 (=0xBEEF) good for any firmware (but not recommended, only use as last resort, because it might flood your cylinders with fuel if config is not uploaded, or after firmware upgrade unless you take precautions - remove injector conn, fuelpump fuse, ignfuse, etc...)
- vemstune MUST warn (with red trigger-error flag and offer config upload in a popup) if the word is bad for the actual firmware (and not 0xBEEF)
- although the firmware upgrade was tried with the linux version, than Marcell downloaded and tried the windows version and the windows version didn't warn about the (serious) situation (neither with popup window nor with any flag)
- please reproduce it and fix on 2011-01-14 (and take note here)
prohibit miss-setup
- After config upload the prohibit set is always set up correctly. tested with fw 1.1.85,87.
- Was the iButton disabled? If IButton is enabled the prohibit bytes are ignored in config upload.
Unsafe mode in 1.1.87
- There was a bug in triggerframe -> SIPR packet transformation (the last 3 byte was dropped) only affected 1.1.87
- fixed in VT 2011-01-14 release.
Usage - for firmware 1.1.83 (or newer)
From firmware version 1.1.83 the Injector and ignition outputs are disabled after firmware upload.
- but stepper outputs aren't disable. Lots of cars have ignition coils connected to stepper outputs. IMHO stepper outputs should be disable also. And p259. And specfet.
To reenable the ECU:
- easy way: In "firmware upload" press enter (not "cancel" !) in the "upload saved config" step.
That's all. Nothing special needs to be done in the normal case. For advanced users:
- if you cancelled that step, you can also do it later: upload a proper config and VemsTune (newer than 2010-11-04) sets automatically.
- OR manually: set prohibit/iButton hign and low byte manually (do it only if the config on the ECU is verified and totally good)
Background information: - for the curious
After firmware upload the config is usually absolutely wrong.
- If the recommended firmware upgrade process was not followed (eg. fuses not removed), in the past it could result in injectors open after boot
- => engine flooded with fuel or ignition fuse blown.
- this cannot happen with the correct procedure. But the procedure was inconvenient and some steps sometimes got forgotten.
Solution:
From firmware version 1.1.83 the Injector and ignition outputs are disabled by default, until they are enabled by
either
- a special firmware-version dependant configuration word (named prohibit, 2 bytes) re-enables it
- naturally, after firmware upgrade, this word will be wrong, and need to be set. (VemsTune newer than 2010 november 03 set automatically after config upload).
- OR - if using iButton anti-theft - , enabled by touching on the configured I-Button.
- needless to say, do NOT touch on, until uploading the correct config
Advanced users - will not be needed since VemsTune 2010-11-xx and newer calculates this and sets after config upload.
Calculation example for prohibit variables:
- bit 15: PS2-type
- bit 14..13: 0 not using now
- bit 12..10: firmware version first number
- bit 9..7: firmware version second number
- bit 6..0: firmware version third number
- example:
- non ps2 1 .1 83:
- 000 001 001 1010011= 0x04D3 -> prohibit high byte is decimal 4, prohibit low byte is decimal 211
There is a special code to prohibit variables which works with any firmware for developing, Use it only if nothing else works: 0xBEEF