Pages: [1] 2 3 4
Author Topic: Checksum calculator - EEPROM 95040  (Read 65545 times)
julex
Hero Member
*****

Karma: +79/-4
Offline Offline

Posts: 923


« on: March 27, 2012, 02:22:35 PM »

Attached is a little utility that will recalculate checksums and create output ready to flash bin file. Thank all Setzi to make this possible with his description of how it works.

Usage:

Checksum85040.exe file.in file.out


Enjoy.
« Last Edit: March 28, 2012, 05:47:36 AM by julex » Logged
RaraK
Hero Member
*****

Karma: +58/-2
Offline Offline

Posts: 539


« Reply #1 on: March 28, 2012, 10:37:43 AM »

nice nice. 
Logged
SteveAR
Full Member
***

Karma: +4/-1
Offline Offline

Posts: 103


« Reply #2 on: March 28, 2012, 04:49:44 PM »

Julex,
   Does your utility use (in part) Setzi's Checksum Checker?  I ran your utility on a few .BIN's (which I pulled with Argdub's ME7_95040) and I didn't get any errors; it produced the output .BIN no problem.    However when I run Setzi's Checksum Checker on the same .BIN I get the following:

ME7Check: binary file test.bin has not correct length (is 0x200 bytes long, 0x80000 or 0x100000 bytes expected)

Logged
thom337
Full Member
***

Karma: +15/-1
Offline Offline

Posts: 81


« Reply #3 on: March 29, 2012, 05:33:31 AM »

 Huh I believe (I haven't personally used it) Setzi's is for the main FLASH EEPROM (500kb-1MB)...this is for the serial EEPROM ST 95040 chip.
Logged
thom337
Full Member
***

Karma: +15/-1
Offline Offline

Posts: 81


« Reply #4 on: March 29, 2012, 05:34:15 AM »

Huh I believe (I haven't personally used it) Setzi's is for the main FLASH EEPROM (500kB-1MB)...this is for the serial EEPROM ST 95040 chip.
Logged
SteveAR
Full Member
***

Karma: +4/-1
Offline Offline

Posts: 103


« Reply #5 on: March 29, 2012, 08:56:05 AM »

Ok, that makes sense if true.  I get my terms mixed up because the "main flash" is also a EEPROM technically.  I have a 95080 on my ECM so it has twice the capacity of the 95040.  I imagine Audi did this because the 95040 went obsolete. So far it doesn't seem to have caused me any problems.
Logged
julex
Hero Member
*****

Karma: +79/-4
Offline Offline

Posts: 923


« Reply #6 on: March 29, 2012, 01:02:09 PM »

I believe I saw somewhere, sometime, a description of checksum calculation for main ROM. I will research and see if I can whip out a calculator for it. I will take donations in beer Smiley

Cheers.
Logged
SteveAR
Full Member
***

Karma: +4/-1
Offline Offline

Posts: 103


« Reply #7 on: March 29, 2012, 01:28:15 PM »

cool, I'm still trying to follow Setzi's text document describing the EEPROM checksum math. Don't think I'll ever want to attempt to do it manually for the main ROM!
Logged
jibberjive
Hero Member
*****

Karma: +23/-2
Offline Offline

Posts: 536


« Reply #8 on: March 31, 2012, 01:19:59 AM »

Another winning contribution by Julex. Nice.
Logged
littco
Hero Member
*****

Karma: +52/-7
Offline Offline

Posts: 903


« Reply #9 on: March 31, 2012, 05:07:26 AM »

This is a great tool, but I have just always used windows calculator and the fact the checksum for each line is just FFFF - 1 for each line down from row 2. Ie to calculate the check sum in row 1X just add the totals bar the last 2 ,subtract from FFFF to give the checksum value for these last 2 values lo/hi.

In the case of Immo removal where you change the bits from 01 to 02 you just need to subtract 1 from the checksum value.

But if you struggle with that this looks a good tool. Thumbs up
Logged
julex
Hero Member
*****

Karma: +79/-4
Offline Offline

Posts: 923


« Reply #10 on: March 31, 2012, 08:21:52 AM »

Another winning contribution by Julex. Nice.

Thanks!
Logged
julex
Hero Member
*****

Karma: +79/-4
Offline Offline

Posts: 923


« Reply #11 on: March 31, 2012, 08:27:57 AM »

This is a great tool, but I have just always used windows calculator and the fact the checksum for each line is just FFFF - 1 for each line down from row 2. Ie to calculate the check sum in row 1X just add the totals bar the last 2 ,subtract from FFFF to give the checksum value for these last 2 values lo/hi.

In the case of Immo removal where you change the bits from 01 to 02 you just need to subtract 1 from the checksum value.

But if you struggle with that this looks a good tool. Thumbs up

I wrote this for people who want to retain their immo functionality and be able to use third party ECUs. One could just copy EEPROM content from one ecu to another, granted, but what if somebody has a dead ECU and they need used ECU which will have different immo data on it or none at all?

I am such a case. My original ECU died a long time ago right after I moved to m-box tune on my allroad. I am without a valid EEPROM for my key/cluster combo. Only way to go back to original allroad programming is to hijack another ECU, flash allroad tune, read off EEPROM  and copy/paste immo ID into EEPROM file. Then just run this program and it will output valid EEPROM file which one can immediately flash back without doing a lot of manual math jugling.

Limited clientele, I know, but I am sure it will be a life saver for some.
Logged
jibberjive
Hero Member
*****

Karma: +23/-2
Offline Offline

Posts: 536


« Reply #12 on: March 31, 2012, 08:33:12 AM »

I've been thinking about how to activate the immobilizer in a B5 (as some around the world had it).  Any idea on how to source a chip for the keychain that one could potentially pair with an activated EEPROM/cluster?
Logged
littco
Hero Member
*****

Karma: +52/-7
Offline Offline

Posts: 903


« Reply #13 on: March 31, 2012, 08:34:46 AM »

I am certainly not one to pass any comment as I am sure that in the future I will need this program :-) I think it is a very good and valuable tool to have and I personally appreciate anything like this that makes my life easier or gets me out of a fix.

It gets my vote and sorry if you thought I was complaining which I certainly had no intention of.

Logged
robin
Full Member
***

Karma: +20/-1
Offline Offline

Posts: 139


« Reply #14 on: April 02, 2012, 03:31:14 AM »

Awesome! thanks.
Logged
Pages: [1] 2 3 4
  Print  
 
Jump to:  

Powered by SMF 1.1.21 | SMF © 2015, Simple Machines Page created in 0.022 seconds with 16 queries. (Pretty URLs adds 0.001s, 0q)