Advertising:

MS4x Flasher: Difference between revisions

From MS4X Wiki
No edit summary
 
(31 intermediate revisions by 2 users not shown)
Line 1: Line 1:
<div style="float:right;">__TOC__</div>
<div style="float:right;">__TOC__</div>
[[File:MS4X_Flasher_Unactivated.png|400px|thumb|right|Unactivated Flasher Instance]]


We are proud to present our own flash tool that you can use to quickly read and write MS42 and MS43 ECUs.
We are proud to present our own flash tool that you can use to quickly read and write the following control units:
*Siemens MS42 (M52TU)
*Siemens MS43 (M54)
*GS8.60.0 (ZF 5HP19)
*GS8.60.4 (ZF 5HP19)
*GS20 (GM 5L40/5L50)
*GDSMG2 (Getrag SMG II)


This tool is completely free of charge, though if you are using it commercially consider a small donation to support this project.
This tool is completely free of charge, though if you are using it commercially consider a small donation to support this project.
Line 15: Line 22:
*512 KByte read/write (~120 seconds)
*512 KByte read/write (~120 seconds)


'''Download Windows:'''
*[[:File:ms4x-flasher_1.3.1_win_x86.zip|Download MS4x Flasher v1.3.1 Windows 32bit]]
*[[:File:ms4x-flasher_1.3.1_win_x64.zip|Download MS4x Flasher v1.3.1 Windows 64bit]]
*[[:File:ms4x-flasher_1.3.1_win_arm64.zip|Download MS4x Flasher v1.3.1 Windows ARM 64bit]]
'''Download Linux:'''
*[[:File:ms4x-flasher_1.3.1_linux_amd64.zip|Download MS4x Flasher v1.3.1 Linux 64bit]]
*[[:File:ms4x-flasher_1.3.1_linux_arm64.zip|Download MS4x Flasher v1.3.1 Linux ARM 64bit]]
*[[:File:ms4x-flasher_1.3.1_linux_armhf.zip|Download MS4x Flasher v1.3.1 Linux ARM HF]]


'''Download:'''
'''Beta section:''' [[MS4x Flasher Beta Testing]]
*[[:File:MS4X_Dev_Flasher_v1.3.0_beta2.rar|Download MS4X Dev Group Flasher v1.3.0 beta 2 (with TCU support)]]
*[[:File:MS4X_Dev_Flasher_v1.2.7.rar|Download MS4X Dev Group Flasher v1.2.7]]
 
 
[[File:MS4X_Flasher_Unactivated.png|400px|frameless]]


'''Activation:'''


'''Activation:'''
After the first start of the executable you will see your unique hardware ID that you need for the activation.
After the first start of the executable you will see your unique hardware ID that you need for the activation.


To generate a computer specific key file, head over to [https://activation.ms4x.net MS4X Activation] and copy and paste the hardware ID.
To generate a computer specific key file, head over to [https://activation.ms4x.net MS4x Activation] and copy and paste the hardware ID. You will be presented a "licence.lic" file for downloading.


You will be presented a "licence.lic" file for downloading, that you have to put into the same folder as the flasher.
'''Then go to the setting tab in MS4x Flasher, click on "Load Licence" button and chose the licence file.'''
 
Important notice: If you run the flasher from any non user folder, make sure to start it with administrative rights. Otherwise Windows will prevent the flasher from reading the licence file.


==Functions==


===Read From ECU===
===Read From ECU===
Line 41: Line 50:
"Partial Read" only includes the 64kByte of calibration data, whereas "Full Read" contains all 512kByte of data (excluding the ISN area for sensitive data).
"Partial Read" only includes the 64kByte of calibration data, whereas "Full Read" contains all 512kByte of data (excluding the ISN area for sensitive data).


Note: Some ECUs are read locked for DS2 reading, which is the protocol of communication MS4X Flasher uses. In this case you have to read it ion boot mode with JMGarage flasher.
Note: Some ECUs are read locked for DS2 reading, which is the protocol of communication MS4x Flasher uses. In this case you have to read it through boot mode with JMGarage flasher.


[[File:MS4X_Flasher_Read.png|500px|frameless]]
[[File:MS4X_Flasher_Read.png|500px|frameless]]


==Functions==
===Write To ECU===
===Write To ECU===
With the write function you can either write full or partial files back to the ECU.
With the write function you can either write full or partial files back to the ECU.
Line 51: Line 59:
'''Hint:''' You can load a full file and click write partial if you only changed calibation values. The flasher will then automatically skip the program code part and only update the tune.
'''Hint:''' You can load a full file and click write partial if you only changed calibation values. The flasher will then automatically skip the program code part and only update the tune.


This will safe you time whilst keeping a single file on your hard drive. No more confusion which patch was applied for the partial file!
This will save you time whilst keeping a single file on your hard drive. No more confusion which patch was applied for the partial file!


[[File:MS4X_Flasher_Write.png|500px|frameless]]
[[File:MS4X_Flasher_Write.png|500px|frameless]]
Line 63: Line 71:


===Reset Adaptation===
===Reset Adaptation===
With this function you can reset all the adaptation values that the MS42 and MS43 store in the EEPROM.
With this function you can reset all the adaptation values that the supported ECU's store in the EEPROM.


The visible options that you can see and reset depend on the detected ECU.
The visible options that you can see and reset depend on the detected ECU.
Line 88: Line 96:
We also included a standalone checksum correction for files that you want to flash over boot mode or simply want to store it with correct checksums.
We also included a standalone checksum correction for files that you want to flash over boot mode or simply want to store it with correct checksums.


It corrects all available checksums in MS42 and MS43 and shows you the correction output in the log.
It corrects all available checksums in the supported ECU's and shows you the correction output in the log.


[[File:MS4X_Flasher_Checksum.png|500px|frameless]]
[[File:MS4X_Flasher_Checksum.png|500px|frameless]]
Line 95: Line 103:
Here you can disable the checksum correction and security checks for example if the battery voltage is too low, or you want to experiment with the checksums.
Here you can disable the checksum correction and security checks for example if the battery voltage is too low, or you want to experiment with the checksums.


Use with extreme caution, if the voltage drops too low during flash, the ECU will reset. This might require bootmode recovery afterwards.
Use with extreme caution, if the voltage drops too low during flash, the ECU will reset. This might in a worst case scenario require bootmode recovery afterwards.


Usually the functions are not needed for normal operation.
Usually the functions are not needed for normal operation.
Line 102: Line 110:


==Changelog==
==Changelog==
'''v1.3.0 beta 2'''
'''v1.3.1'''
* Optimization: Extended the timeout time when erasing to give the control unit more time finish the operation as some units seems to require more time.
* Added a "Load Licence" button in the settngs tab


'''v1.3.0 beta 1'''
'''v1.3.0'''
* Added: Support for TCU:s
* Switched to installers for all supported platforms
* Updated: Migrated to .NET6
* Added support for TCUs (SMG2, GS8.60.0, GS8.60.4, GS20)
* Updated: Flasher now identifies binary files by hardware ID to remove need to maintain a list of supported firmware versions
* Moved licence lookup to "C:/ProgramData/MS4x Flasher" or "/var/lib/ms4x-flasher"
* Optimization: Large refactoring to optimize memory usage and performance
* VIN included in save filename when reading
* Optimization: Refactored loading of FTDI binaries to make it possible to display in the GUI when there aren't installed any FTDI drivers
* Refactor application to not use FTDI drivers
* Optimize memory usage and performance
* Migrated to .NET 7


'''v1.2.7'''
'''v1.2.7'''
Line 137: Line 147:
'''v1.0'''
'''v1.0'''
*Initial release
*Initial release
==Windows 7 Requirements==
To be able to start the flash tool on Windows 7 the following updates and packages need to be installed:
* Windows 7 Service Pack 1
* [https://aka.ms/vs/17/release/vc_redist.x86.exe Visual C++ Redistributable x86] (for 32 bit executable)
* [https://aka.ms/vs/17/release/vc_redist.x64.exe Visual C++ Redistributable x64] (for 64 bit executable)

Latest revision as of 20:19, 14 August 2023

Unactivated Flasher Instance

We are proud to present our own flash tool that you can use to quickly read and write the following control units:

  • Siemens MS42 (M52TU)
  • Siemens MS43 (M54)
  • GS8.60.0 (ZF 5HP19)
  • GS8.60.4 (ZF 5HP19)
  • GS20 (GM 5L40/5L50)
  • GDSMG2 (Getrag SMG II)

This tool is completely free of charge, though if you are using it commercially consider a small donation to support this project.

Key features:

  • On-the-fly checksum correction before flashing
  • Checksum correction for local files
  • EWS3 sync and reset
  • Adaptations reset
  • DTC read and clear
  • DS2 command sender
  • 64 KByte read/write (~20 seconds)
  • 512 KByte read/write (~120 seconds)

Download Windows:

Download Linux:

Beta section: MS4x Flasher Beta Testing

Activation:

After the first start of the executable you will see your unique hardware ID that you need for the activation.

To generate a computer specific key file, head over to MS4x Activation and copy and paste the hardware ID. You will be presented a "licence.lic" file for downloading.

Then go to the setting tab in MS4x Flasher, click on "Load Licence" button and chose the licence file.

Functions

Read From ECU

The first and default page is the ECU read function, where you can read out any MS42 or MS43.

Its always great to have a complete backup of the data stored in the ECUs flash memory, but you can chose between full or partial read out.

"Partial Read" only includes the 64kByte of calibration data, whereas "Full Read" contains all 512kByte of data (excluding the ISN area for sensitive data).

Note: Some ECUs are read locked for DS2 reading, which is the protocol of communication MS4x Flasher uses. In this case you have to read it through boot mode with JMGarage flasher.

MS4X Flasher Read.png

Write To ECU

With the write function you can either write full or partial files back to the ECU.

Hint: You can load a full file and click write partial if you only changed calibation values. The flasher will then automatically skip the program code part and only update the tune.

This will save you time whilst keeping a single file on your hard drive. No more confusion which patch was applied for the partial file!

MS4X Flasher Write.png

EWS Sync

The EWS Sync or immobilizer sync is currently in beta stage and not working all the time.

  • Sync: If your ECU is virginized correctly, you can pair it with an existing immobilizer unit
  • Reset start value: Use this if you have multiple ECUs paired with a single immobilizer unit to reset the rolling code mechanism

MS4X Flasher EWS.png

Reset Adaptation

With this function you can reset all the adaptation values that the supported ECU's store in the EEPROM.

The visible options that you can see and reset depend on the detected ECU.

MS4X Flasher Adaptation Reset.png

Diagnostic Codes

The diagnostic code function is really handy when it comes to troubleshooting.

Please always attach a screenshot of this when you post about something that's not working correctly.

The DTCs are listed in raw data which makes it easier for us to check for the root of the code.

MS4X Flasher DTC.png

DS2 Command Sender

The DS2 Command Sender function allows you to easily transmit DS2 commands and receive the answer.

The length and checksum will be automatically calculated, so you only have to focus on the raw commands.

MS4X Flasher DS2 CMD.png

Checksum Correction

We also included a standalone checksum correction for files that you want to flash over boot mode or simply want to store it with correct checksums.

It corrects all available checksums in the supported ECU's and shows you the correction output in the log.

MS4X Flasher Checksum.png

Settings

Here you can disable the checksum correction and security checks for example if the battery voltage is too low, or you want to experiment with the checksums.

Use with extreme caution, if the voltage drops too low during flash, the ECU will reset. This might in a worst case scenario require bootmode recovery afterwards.

Usually the functions are not needed for normal operation.

MS4X Flasher Settings.png

Changelog

v1.3.1

  • Added a "Load Licence" button in the settngs tab

v1.3.0

  • Switched to installers for all supported platforms
  • Added support for TCUs (SMG2, GS8.60.0, GS8.60.4, GS20)
  • Moved licence lookup to "C:/ProgramData/MS4x Flasher" or "/var/lib/ms4x-flasher"
  • VIN included in save filename when reading
  • Refactor application to not use FTDI drivers
  • Optimize memory usage and performance
  • Migrated to .NET 7

v1.2.7

  • Added: Support for multi byte ecu addresses
  • Updated: Migrated to .NET5
  • Updated: FTDI drivers 2.12.36.4 included
  • Optimization: Minor bugfixes

v1.1.3

  • Added: Action log
  • Added: Checksum corrector for local files
  • Added: DTC reader (with raw HEX output)
  • Optimization: Various bugfixes

v1.03

  • Optimization: New encryption settings for less AV false positives

v1.02

  • Updated: Icon changed to new logo
  • Optimization: MS42 fullflash bug fixed
  • Optimization: Minor spelling fixes

v1.01

  • Updated: Hardware ID will show at startup if an FTDI cable is detected

v1.0

  • Initial release

Windows 7 Requirements

To be able to start the flash tool on Windows 7 the following updates and packages need to be installed: