NefMoto

ECU Files => Checksum Update Requests => Topic started by: z1ck on February 05, 2015, 06:22:42 AM



Title: 4B0906018DF checksum request
Post by: z1ck on February 05, 2015, 06:22:42 AM
Hello.
I did changes in my stock ECU 4B0906018DF (I changed some addreeses for Launch Control)
The ori file is calculated OK:
Code:
c:\me7>ME7Check.exe "4B0906018DF.ori"
===================================================
ME7Check v1.12 (c) mki, 06/2004-05/2012
Checking file 4B0906018DF.ori (size=1048576)
Reading Version Strings...
-> Bootrom Version = 05.12
-> EPK = 40/1/ME7.5/5/4016.31//24b/Dst01o/220301//
-> Contents of ECUID data table:
   - '0261207639'         (SSECUHN)
   - '1037362361'         (SSECUSN)
   - '4B0906018DF '       (VAG part number)
   - '0001'               (VAG sw number)
   - '1.8L R4/5VT     '   (engine id)
-> Contents of ECUID data table:
   - 'HW_MAN004'

-> No errors found. File is OK.   *****************
Code:
c:\me7>me7sum.exe "4B0906018DF.ori"
ME7Tool (v1.0.3) [Management tool for Bosch ME7.x firmwares]
Inspiration from Andy Whittaker's tools and information.
Written by 360trev and nyet [BSD License Open Source].

Attempting to open firmware file '4B0906018DF.ori'

Step #1: Reading ROM info ..
 Searching for EPK signature...OK
 Searching for ECUID table...OK
 EPK         : '40/1/ME7.5/5/4016.31//24b/Dst01o/220301//'
 Part Number : '4B0906018DF '
 Engine ID   : '1.8L R4/5VT     '
 SW Version  : '0001'
 HW Number   : '0261207639'
 SW Number   : '1037362361'

Step #2: Reading ROMSYS ..
 Startup section: word[0x008000]+word[0x00FFFE]
 @008038 Add=0x00A8B5 CalcAdd=0x00A8B5  ADD OK
 Program pages: 8k page first+last in 0x0000-0xFFFF and 0x20000-0xFFFFF
 @00803c Add=0x9E5489 CalcAdd=0x9E5489  ADD OK
 All param page: word[0x010000]+word[0x01FFFE]
 @01befa Add=0x00971D CalcAdd=0x00971D  ADD OK

Step #3: Reading RSA signatures ..
 Searching for RSA offset #0...missing
 Searching for RSA offset #1...missing

Step #4: Finding CRC table(s) ..
 Searching for CRC table(s)...OK
 CRC table(s) OK

Step #5: Reading Main Data Checksums ..
 Searching for main data CRC pre block...OK
 Searching for main data CRC/csum blocks...OK
 Searching for main data CRC offsets...OK
 Searching for main data checksum offsets...missing
 Main CRCs:
 0) 0x0183BC-0x0183C5                      CalcCRC: 244E4C69
 1) 0x010002-0x013FFE @90000 CRC: 89F323B6 CalcCRC: 89F323B6(r) CRC OK
 2) 0x014252-0x017F4E @90006 CRC: 22D8898C CalcCRC: 22D8898C(r) CRC OK
 3) 0x018192-0x01FBDC                      CalcCRC: 5CE05A9E(r)
 4) 0x026A00-0x02FFFC @9000c CRC: 1E247AAF CalcCRC: 1E247AAF(r) CRC OK

Step #6: Reading Main Program Checksums ..
 Searching for main program checksum..OK
 ROM Checksum Block Offset Table @1fbc8 [16 bytes]:
 1) 0x000000-0x00FBFF CalcChk: 48D08844
    0x00FC00-0x01FFFF CalcChk: 23A9215B CalcCRC: D55E5E30 SKIPPED
 2) 0x020000-0x0FFFFF
    <fffe0>  Chk: 3E128447 CalcChk: 3E128447 OK (i)

Step #7: Reading Multipoint Checksum Blocks ..
 Searching for multipoint block descriptor #1...missing
 Searching for multipoint block descriptor #2...OK
 1) <1fbde>  0x000000-0x003FFF Chk: 0FA0F5CF Boot: (whitelisted) OK
 2) <1fbee>  0x004000-0x007FFF Chk: 0F4716B3 Boot: (whitelisted) OK
 3) <1fbfe>  0x000000-0x003FFF Chk: 0FA0F5CF CalcChk: 0FA0F5CF OK
 4) <1fc0e>  0x004000-0x007FFF Chk: 0F4716B3 CalcChk: 0F4716B3 OK
 Multipoint #2: [66 blocks x <16> = 1056 bytes]

*** Found 71 checksums in 4B0906018DF.ori

*** DONE! 0 error(s) in 4B0906018DF.ori! ***

I did modify it (4B0906018DF(lc).bin). Then tried to calculate checksum:
Code:
c:\me7>me7sum.exe "4B0906018DF(lc).bin" "4B0906018DF(lcandsum).bin"
ME7Tool (v1.0.3) [Management tool for Bosch ME7.x firmwares]
Inspiration from Andy Whittaker's tools and information.
Written by 360trev and nyet [BSD License Open Source].

Attempting to open firmware file '4B0906018DF(lc).bin'

Step #1: Reading ROM info ..
 Searching for EPK signature...OK
 Searching for ECUID table...OK
 EPK         : '40/1/ME7.5/5/4016.31//24b/Dst01o/220301//'
 Part Number : '4B0906018DF '
 Engine ID   : '1.8L R4/5VT     '
 SW Version  : '0001'
 HW Number   : '0261207639'
 SW Number   : '1037362361'

Step #2: Reading ROMSYS ..
 Startup section: word[0x008000]+word[0x00FFFE]
 @008038 Add=0x00A8B5 CalcAdd=0x00A8B5  ADD OK
 Program pages: 8k page first+last in 0x0000-0xFFFF and 0x20000-0xFFFFF
 @00803c Add=0x9E5489 CalcAdd=0x9E5489  ADD OK
 All param page: word[0x010000]+word[0x01FFFE]
 @01befa Add=0x00971D CalcAdd=0x00971D  ADD OK

Step #3: Reading RSA signatures ..
 Searching for RSA offset #0...missing
 Searching for RSA offset #1...missing

Step #4: Finding CRC table(s) ..
 Searching for CRC table(s)...OK
 CRC table(s) OK

Step #5: Reading Main Data Checksums ..
 Searching for main data CRC pre block...OK
 Searching for main data CRC/csum blocks...OK
 Searching for main data CRC offsets...OK
 Searching for main data checksum offsets...missing
 Main CRCs:
 0) 0x0183BC-0x0183C5                      CalcCRC: 244E4C69
 1) 0x010002-0x013FFE @90000 CRC: 89F323B6 CalcCRC: BCAC1792(r) ** FIXED **
 2) 0x014252-0x017F4E @90006 CRC: 22D8898C CalcCRC: C1F09246(r) ** FIXED **
 3) 0x018192-0x01FBDC                      CalcCRC: AC535AA3(r)
 4) 0x026A00-0x02FFFC @9000c CRC: 1E247AAF CalcCRC: E49DFC8E(r) ** FIXED **

Step #6: Reading Main Program Checksums ..
 Searching for main program checksum..OK
 ROM Checksum Block Offset Table @1fbc8 [16 bytes]:
 1) 0x000000-0x00FBFF CalcChk: 48D08844
    0x00FC00-0x01FFFF CalcChk: 23A7FC14 CalcCRC: C0958A50 SKIPPED
 2) 0x020000-0x0FFFFF
    <fffe0>  Chk: 3E128447 CalcChk: 3E149B06 ** FIXED **

Step #7: Reading Multipoint Checksum Blocks ..
 Searching for multipoint block descriptor #1...missing
 Searching for multipoint block descriptor #2...OK
 1) <1fbde>  0x000000-0x003FFF Chk: 0FA0F5CF Boot: (whitelisted) OK
 2) <1fbee>  0x004000-0x007FFF Chk: 0F4716B3 Boot: (whitelisted) OK
 3) <1fbfe>  0x000000-0x003FFF Chk: 0FA0F5CF CalcChk: 0FA0F5CF OK
 4) <1fc0e>  0x004000-0x007FFF Chk: 0F4716B3 CalcChk: 0F4716B3 OK
 Multipoint #2: [66 blocks x <16> = 1056 bytes]

*** Found 71 checksums in 4B0906018DF(lc).bin

Attempting to output corrected firmware file '4B0906018DF(lcandsum).bin'
├╛ Opening '4B0906018DF(lcandsum).bin' file for writing
├╛ Writing to file
├╛ Validating size correct 1048576=1048576
├╛ All OK, closing file

*** DONE! 8/8 error(s) in 4B0906018DF(lc).bin corrected in 4B0906018DF(lcandsum)
.bin! ***
Looks good. But this file can not calculated:
Code:
c:\me7>ME7Check.exe "4B0906018DF(lcandsum).bin"
======================================================
ME7Check v1.12 (c) mki, 06/2004-05/2012
Checking file 4B0906018DF(lcandsum).bin (size=1048576)
Reading Version Strings...
-> Bootrom Version = 05.12
-> EPK = 40/1/ME7.5/5/4016.31//24b/Dst01o/220301//
-> Contents of ECUID data table:
   - '0261207639'         (SSECUHN)
   - '1037362361'         (SSECUSN)
   - '4B0906018DF '       (VAG part number)
   - '0001'               (VAG sw number)
   - '1.8L R4/5VT     '   (engine id)
-> Contents of ECUID data table:
   - 'HW_MAN004'

Romsys checksum failure(s) found
-> Found 1 error!!!   *******************************
Code:
c:\me7>me7sum.exe "4B0906018DF(lcandsum).bin"
ME7Tool (v1.0.3) [Management tool for Bosch ME7.x firmwares]
Inspiration from Andy Whittaker's tools and information.
Written by 360trev and nyet [BSD License Open Source].

Attempting to open firmware file '4B0906018DF(lcandsum).bin'

Step #1: Reading ROM info ..
 Searching for EPK signature...OK
 Searching for ECUID table...OK
 EPK         : '40/1/ME7.5/5/4016.31//24b/Dst01o/220301//'
 Part Number : '4B0906018DF '
 Engine ID   : '1.8L R4/5VT     '
 SW Version  : '0001'
 HW Number   : '0261207639'
 SW Number   : '1037362361'

Step #2: Reading ROMSYS ..
 Startup section: word[0x008000]+word[0x00FFFE]
 @008038 Add=0x00A8B5 CalcAdd=0x00A8B5  ADD OK
 Program pages: 8k page first+last in 0x0000-0xFFFF and 0x20000-0xFFFFF
 @00803c Add=0x9E4865 CalcAdd=0x9E5489 ** NOT OK **
 All param page: word[0x010000]+word[0x01FFFE]
 @01befa Add=0x00971D CalcAdd=0x00971D  ADD OK

Step #3: Reading RSA signatures ..
 Searching for RSA offset #0...missing
 Searching for RSA offset #1...missing

Step #4: Finding CRC table(s) ..
 Searching for CRC table(s)...OK
 CRC table(s) OK

Step #5: Reading Main Data Checksums ..
 Searching for main data CRC pre block...OK
 Searching for main data CRC/csum blocks...OK
 Searching for main data CRC offsets...OK
 Searching for main data checksum offsets...missing
 Main CRCs:
 0) 0x0183BC-0x0183C5                      CalcCRC: 244E4C69
 1) 0x010002-0x013FFE @90000 CRC: BCAC1792 CalcCRC: BCAC1792(r) CRC OK
 2) 0x014252-0x017F4E @90006 CRC: C1F09246 CalcCRC: C1F09246(r) CRC OK
 3) 0x018192-0x01FBDC                      CalcCRC: AC535AA3(r)
 4) 0x026A00-0x02FFFC @9000c CRC: E49DFC8E CalcCRC: E49DFC8E(r) CRC OK

Step #6: Reading Main Program Checksums ..
 Searching for main program checksum..OK
 ROM Checksum Block Offset Table @1fbc8 [16 bytes]:
 1) 0x000000-0x00FBFF CalcChk: 48D08844
    0x00FC00-0x01FFFF CalcChk: 23A7FC14 CalcCRC: B454C5FE SKIPPED
 2) 0x020000-0x0FFFFF
    <fffe0>  Chk: 3E149B06 CalcChk: 3E149B06 OK (i)

Step #7: Reading Multipoint Checksum Blocks ..
 Searching for multipoint block descriptor #1...missing
 Searching for multipoint block descriptor #2...OK
 1) <1fbde>  0x000000-0x003FFF Chk: 0FA0F5CF Boot: (whitelisted) OK
 2) <1fbee>  0x004000-0x007FFF Chk: 0F4716B3 Boot: (whitelisted) OK
 3) <1fbfe>  0x000000-0x003FFF Chk: 0FA0F5CF CalcChk: 0FA0F5CF OK
 4) <1fc0e>  0x004000-0x007FFF Chk: 0F4716B3 CalcChk: 0F4716B3 OK
 Multipoint #2: [66 blocks x <16> = 1056 bytes]

*** Found 71 checksums in 4B0906018DF(lcandsum).bin

*** WARNING! 1/1 uncorrected error(s) in 4B0906018DF(lcandsum).bin! ***

Any help with it?


Title: Re: 4B0906018DF checksum request
Post by: nyet on February 05, 2015, 11:13:42 AM
Looks like a bug in me7sum. You can run the file through me7sum again, it should fix it.

I'll look into why it requires being run twice.


Title: Re: 4B0906018DF checksum request
Post by: eliotroyano on March 27, 2015, 07:11:01 PM
Hi z1ck do you have the 95040 OEM dump from that ECU?
Thanks,