Davidik
Newbie
Karma: +0/-0
Offline
Posts: 7
|
|
« Reply #90 on: January 15, 2023, 07:26:21 AM »
|
|
|
37 00 0D B0 A3 83 00 00 BB BB 87 FC 02 78 07 47 14 06 98 81 01 00 24 60 28 00 08 00 00 40 26 23 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 56 2F A5 2A E5 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 E0 B1 0F 27 E0 B1 0F 27 00 00 00 00 00 00 00 00 00 00 00 00
I took another correct part and just can't get the correct value
|
|
|
Logged
|
|
|
|
Davidik
Newbie
Karma: +0/-0
Offline
Posts: 7
|
|
« Reply #91 on: January 15, 2023, 07:31:39 AM »
|
|
|
i get crc 02252E97
|
|
|
Logged
|
|
|
|
H2Deetoo
|
|
« Reply #92 on: January 15, 2023, 10:35:34 AM »
|
|
|
Ah I get it ... I thought you already had it working just not that record, but I guess you cannot get any CRC to match using that editor tool function?
You have to understand that a CRC32 algorithm can have several different parameters, mainly the polynome, bit reflection (reversed) and final xoring. And in this case Endianess is important because this algo is DWORD based.
Regards, H2Deetoo
|
|
|
Logged
|
|
|
|
bluelighttube
Newbie
Karma: +0/-1
Offline
Posts: 9
|
|
« Reply #93 on: January 16, 2023, 09:59:16 AM »
|
|
|
If I look at your screenshot the CRC has the last 2 bytes set to 0000. I think that the chance is small this would be true for a CRC, so I think for this ecu there is not CRC used in record 003E. Same would be true for the previous record 003D where it is all 00000000.
Here is some 003E record which does have a valid CRC:
00011600 3E 00 99 A1 A1 0B 00 00 00 00 00 00 00 00 00 00 >.™¡¡........... 00011610 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................ 00011620 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................ 00011630 3D 00 0E 00 FF FF 00 00 AC B7 B8 C0 FF 0F FF 0F =...ÿÿ..¬·¸Àÿ.ÿ. 00011640 FF 0F FF 0F 00 00 00 00 00 00 00 00 00 00 00 00 ÿ.ÿ............. 00011650 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................ 00011660 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................ 00011670 00 00 00 00 00 00 00 00 3F 00 00 00 0D 4A AB 78 ........?....J«x
Rgs H2Deetoo
I've validated with the genuine Winols eeprom checksum plugin and there is an additional 16bit checksum on blocks that do not have checksum2. I have tried several combinations of byte ranges/initial values/(word/dword) cs ranges and can't figure this one out. Side note- I am able to accurately calculate CS1 and CS2. This "new" checksum that winols is correcting- I have no idea.
|
|
|
Logged
|
|
|
|
Davidik
Newbie
Karma: +0/-0
Offline
Posts: 7
|
|
« Reply #94 on: March 12, 2023, 04:11:04 AM »
|
|
|
using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.Threading.Tasks;
namespace ConsoleApp1 { class Program {
static void Main(string[] args) { const UInt32 poly= 0xEDB88320; UInt32[] Data = {0x000009E2, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x0000796F, 0x00006FB1, 0x7C887C85}; UInt32 ini = 0x00000036; UInt32 tmp1, tmp2; UInt32 crc = ini; int i = 0; Console.WriteLine(Data[0]); while ( i <= Data.Length-1) { tmp1 = 0; tmp2 = crc & poly;
for (int j = 0; j < 31; j++) { tmp1 ^= ((tmp2 >> j) & 1); }
crc = Data[i] ^ ((crc << 1) | tmp1);
i = i + 1; } Console.WriteLine(crc.ToString("X2")); Console.ReadLine();
} } } Friends can tell me where I'm making a mistake Result : 984D7A99 INIT = 00000036 LENGTH = 0000001F DATA: E20900000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000006F790000B16F0000857C887C CS1=78F2 -> OK Report to moderator Logged
|
|
« Last Edit: March 12, 2023, 04:48:40 AM by Davidik »
|
Logged
|
|
|
|
H2Deetoo
|
|
« Reply #95 on: March 13, 2023, 01:58:43 AM »
|
|
|
ADDR=000000 BLOCKID=0036, CS1=78F2 -> OK, CS2=7C887C85 -> OK Looks to be just fine
|
|
|
Logged
|
|
|
|
STON75
Newbie
Karma: +1/-0
Offline
Posts: 1
|
|
« Reply #96 on: March 23, 2023, 06:20:32 AM »
|
|
|
I'm also interested in creating an algorithm for calculating the Checksum on MEDC17, maybe you need to ask ChatGPT to understand a little better how to calculate it.
|
|
|
Logged
|
|
|
|
boxsport
Newbie
Karma: +0/-3
Offline
Posts: 4
|
|
« Reply #97 on: June 28, 2023, 04:52:25 PM »
|
|
|
Hello guys.
Could anyone help me out calculating the checksums on the eeprom file for a ME17.9.21.1 from Kia? I need to change VIN in this ECU, but i dont know how to calculate checksums.
I´m attaching Original file and modified file but the checksums need to be corrected
Any help?
Thanks
|
|
|
Logged
|
|
|
|
terminator
|
|
« Reply #98 on: June 29, 2023, 02:57:58 PM »
|
|
|
welcome
|
|
|
Logged
|
|
|
|
Team dz
Newbie
Karma: +0/-0
Offline
Posts: 5
|
|
« Reply #99 on: November 30, 2023, 12:41:51 PM »
|
|
|
Thank you i am solved all crc !
|
|
« Last Edit: December 02, 2023, 09:26:32 AM by Team dz »
|
Logged
|
|
|
|
doot47
Newbie
Karma: +0/-0
Offline
Posts: 6
|
|
« Reply #100 on: December 03, 2023, 10:33:37 AM »
|
|
|
Thank you i am solved all crc !
Great job my friend can you send me your solution ...
|
|
|
Logged
|
|
|
|
doot47
Newbie
Karma: +0/-0
Offline
Posts: 6
|
|
« Reply #101 on: December 06, 2023, 12:19:29 PM »
|
|
|
You can deduct the XOR with known values. It is calculated from unique ID from EDC17 from OTP area, so the XOR result is unique for each EDC.
Hi, how to calculate or extraction unique id from edc17 ?
|
|
|
Logged
|
|
|
|
Team dz
Newbie
Karma: +0/-0
Offline
Posts: 5
|
|
« Reply #102 on: December 07, 2023, 04:36:31 PM »
|
|
|
GO TO STRING FLACH ADRSS:17F00
Slect :16 bit
This is id part otp
|
|
|
Logged
|
|
|
|
Team dz
Newbie
Karma: +0/-0
Offline
Posts: 5
|
|
« Reply #103 on: December 08, 2023, 05:27:15 AM »
|
|
|
ALGO SIMPLE CRC IS:B382....OK
|
|
|
Logged
|
|
|
|
Team dz
Newbie
Karma: +0/-0
Offline
Posts: 5
|
|
« Reply #104 on: December 09, 2023, 03:23:58 PM »
|
|
|
All I know is that you take 16 bytes from that string and perform an operation xor
|
|
|
Logged
|
|
|
|
|