Pages: 1 2 [3] 4 5 ... 9
Author Topic: MED 17 , EDC 17 EEPROM CHECKSUM  (Read 125315 times)
macxxx
Sr. Member
****

Karma: +30/-1
Offline Offline

Posts: 498


« Reply #30 on: December 06, 2016, 01:55:57 AM »

Ok i see that it wont be that easy , a friend asked me if i can do it...i see i dont have tools , i thought that there was a simple chip that i can desolder and read...
Logged
gmgunderground
Newbie
*

Karma: +0/-0
Offline Offline

Posts: 5


« Reply #31 on: December 08, 2016, 04:32:03 AM »

To read eeprom on TriCore you have to put ecu in boot mode, then load a CAN boot loader, initialize cpu, then you can read the eeprom portion of memory.
Or the alternative is to use a commercial product ready to go

Inviato dal mio GT-I9505 utilizzando Tapatalk
Logged
macxxx
Sr. Member
****

Karma: +30/-1
Offline Offline

Posts: 498


« Reply #32 on: December 08, 2016, 07:09:50 AM »

Thank you for your info , it's not for me..... i don't do it commercially so I will attack cluster epprom Smiley
Logged
_nameless
Hero Member
*****

Karma: +349/-850
Offline Offline

Posts: 2868



« Reply #33 on: January 01, 2017, 04:35:20 AM »

i can make all edc17 / med17 eeprom checksum

gttuning2009@yahoo.co.uk

Regards
What he means is he can steal all of your work, you just need to email it to him
Logged

If you are broke or expecting free handouts DO NOT message me. I'll probably put you on blast if you do.
Buzzard
Jr. Member
**

Karma: +7/-0
Offline Offline

Posts: 28


« Reply #34 on: January 01, 2017, 10:58:22 AM »

Marty he also goes by the names        ecu-tuners.net or dpfsolutions.net or gt-tuning.net

Sent from my SM-N910F using Tapatalk
Logged
MarchCat
Newbie
*

Karma: +0/-0
Offline Offline

Posts: 2


« Reply #35 on: June 23, 2017, 06:14:12 AM »

Hi. I need your help!
Example block :
36 00 F2 78 E2 09 00 00 00 00 00 00 00 00 00 00
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
00 00 00 00 6F 79 00 00 B1 6F 00 00 85 7C 88 7C

F2 78 - is CS1(half word) ?
36 00 - is id block ? CRC32 or CRC16 ? initial value for cs1 ? 0x00003600 or 0x36000000 ?
85 7C 88 7C - is CS ? algo is CRC32 ? with polynom 0xEDB88320 ? initial value is 0xB16F0000 or 0x0000B16F ?

My code for CRC32 (C#) :
Code:
public static UInt32 Calculate(byte[] Value, UInt32 ini)
        {
            UInt32[] CRCTable = new UInt32[256];
            for (int i = 0; i < 256; i++)
            {
                UInt32 entry = (UInt32)i;
                for (int j = 0; j < 8; j++)
                    if ((entry & 1) == 1)
                        entry = (entry >> 1) ^ 0xEDB88320;
                    else
                        entry = entry >> 1;
                CRCTable[i] = entry;
            }

            UInt32 CRCVal = ini ;
            for (int i = 0; i < Value.Length; i++)
            {
                CRCVal = (CRCVal >> 8) ^ CRCTable[(CRCVal & 0xff) ^ Value[i]];
            }
            CRCVal ^= 0xFFFFFFFF; // NOT
            UInt32 Result = CRCVal;

            return Result;
        }


Logged
kuebk
Jr. Member
**

Karma: +3/-0
Offline Offline

Posts: 47



« Reply #36 on: June 23, 2017, 01:59:02 PM »

What's the point of keeping 10 different versions of same block? Which version is used by ECU, always latest?
« Last Edit: June 23, 2017, 02:16:56 PM by kuebk » Logged

VAG immo solutions (clone, immo off, repair) MEDC17, SIMOS, SDI, BCM2, ELV, DQ/DL/VL gearboxes, INVCON, MED9.x crypto
ozzy_rp
Jr. Member
**

Karma: +16/-1
Offline Offline

Posts: 49


« Reply #37 on: July 03, 2017, 10:21:15 PM »

What's the point of keeping 10 different versions of same block? Which version is used by ECU, always latest?
.
Flash has a limited number of erase-write cycles. ECU distributes writing of blocks throughout the flash.
Logged

MED17/EDC17 Reverse engineering
conversion sgo and frf to bin https://osotec.com/
kolocar
Newbie
*

Karma: +0/-0
Offline Offline

Posts: 1


« Reply #38 on: September 03, 2017, 12:01:48 AM »

Hi. I need your help!
Example block :
36 00 F2 78 E2 09 00 00 00 00 00 00 00 00 00 00
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
00 00 00 00 6F 79 00 00 B1 6F 00 00 85 7C 88 7C

F2 78 - is CS1(half word) ?
36 00 - is id block ? CRC32 or CRC16 ? initial value for cs1 ? 0x00003600 or 0x36000000 ?
85 7C 88 7C - is CS ? algo is CRC32 ? with polynom 0xEDB88320 ? initial value is 0xB16F0000 or 0x0000B16F ?

My code for CRC32 (C#) :
Code:
public static UInt32 Calculate(byte[] Value, UInt32 ini)
        {
            UInt32[] CRCTable = new UInt32[256];
            for (int i = 0; i < 256; i++)
            {
                UInt32 entry = (UInt32)i;
                for (int j = 0; j < 8; j++)
                    if ((entry & 1) == 1)
                        entry = (entry >> 1) ^ 0xEDB88320;
                    else
                        entry = entry >> 1;
                CRCTable[i] = entry;
            }

            UInt32 CRCVal = ini ;
            for (int i = 0; i < Value.Length; i++)
            {
                CRCVal = (CRCVal >> 8) ^ CRCTable[(CRCVal & 0xff) ^ Value[i]];
            }
            CRCVal ^= 0xFFFFFFFF; // NOT
            UInt32 Result = CRCVal;

            return Result;
        }



Maybe  first calc crc32 (08-7B)then  half word(cs1),but i don't know how calc it,so who can offer more useful advice please?thx BR Kolo
Logged
Ionut
Full Member
***

Karma: +4/-3
Offline Offline

Posts: 89


« Reply #39 on: September 21, 2017, 02:01:17 PM »

Hi all, i`ve tried every possible combination and nothing seems to work....
For example this block
Code:
08 00 EB 04 94 53 00 00 FF B8 71 E0 EA 30 D0 E4 B1 8E 05 E4 35 AF 3E F2 8E 6A 09 9C A7 EF 80 E7 FC AE AE 56 AA 80 01 00 57 41 55 5A 5A 5A 38 54 37 42 41 30 39 37 36 36 31 48 EF E0 24 BA 6C 05 30 02 B6 6C 7D 43 97 A4 F9 B1 EF BF F7 74 FB 67 52 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 C1 4E 00 00 56 8D F6 1C
Tried with CRC32 with poly 0xEDB88320, initial value 0xC14E0000, bytes from 8 to 7F (119 bytes) and result is D7A854D and it should be 56 8D F6 1C.
With initial value just first 2 bytes (0xC14E), result is F219CCDD, with fist 2 bytes reversed, result is AA79A104 and with initial value 0x4EC10000 (each 2 bytes reversed) result is 418F9500

Here is the C# code used for CRC32:
Code:
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;

namespace FwpCrc
{
    class CRC32
    {
        uint[] table;

        public uint ComputeChecksum(byte[] bytes, uint initialValue) {
            uint crc = initialValue;
        //  uint crc = 0xffffffff;
            for(int i = 0; i < bytes.Length; ++i) {
                byte index = (byte)(((crc) & 0xff) ^ bytes[i]);
                crc = (uint)((crc >> 8) ^ table[index]);
            }
            return ~crc;
        }

        public CRC32() {
            uint poly = 0xEDB88320;
            table = new uint[256];
            uint temp = 0;
            for(uint i = 0; i < table.Length; ++i) {
                temp = i;
                for(int j = 8; j > 0; --j) {
                    if((temp & 1) == 1) {
                        temp = (uint)((temp >> 1) ^ poly);
                    }else {
                        temp >>= 1;
                    }
                }
                table[i] = temp;
            }
        }
    }
}
I`m doing something wrong?
Logged
IamwhoIam
Hero Member
*****

Karma: +98/-448
Offline Offline

Posts: 1086


« Reply #40 on: September 22, 2017, 03:08:56 AM »

Buy WinOLS and Tricore checksum plugin, and then eeprom checksums won't be a problem anymore at all, apart from 1793 Bosch MEDC17.
Logged

I have no logs because I have a boost gauge (makes things easier)
Ionut
Full Member
***

Karma: +4/-3
Offline Offline

Posts: 89


« Reply #41 on: September 22, 2017, 03:53:22 AM »

I want to learn how to do it, not buy something that already exists!
Logged
cherry
Sr. Member
****

Karma: +26/-2
Offline Offline

Posts: 261


« Reply #42 on: September 22, 2017, 04:02:23 AM »

Buy WinOLS and Tricore checksum plugin, and then eeprom checksums won't be a problem anymore at all, apart from 1793 Bosch MEDC17.

Really, did they fix VAG EDC17 eeprom checksum? I think it´s wrong and miss something Wink
Logged
H2Deetoo
Sr. Member
****

Karma: +26/-1
Offline Offline

Posts: 259


« Reply #43 on: September 23, 2017, 02:56:08 PM »

Not all blocks have a valid 32 bit checksum.
Logged
Ionut
Full Member
***

Karma: +4/-3
Offline Offline

Posts: 89


« Reply #44 on: October 25, 2017, 02:35:35 AM »

With help of a great man, succeeded to build correct checksum on EDC17 EEPROM. Informations posted here are correct, my approach was not Smiley
Logged
Pages: 1 2 [3] 4 5 ... 9
  Print  
 
Jump to:  

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