Pages: [1]
Author Topic: Flashing ME7.9.10 in OBD mode beyond the data blocks  (Read 4880 times)
woj
Hero Member
*****

Karma: +43/-3
Offline Offline

Posts: 500


« on: August 10, 2017, 01:57:29 PM »

Perhaps a tough one, perhaps not, maybe there is someone here that would know...

I am in progress of putting up my private OBD mode flasher for ME7.9.10 (Fiat/Alfa). It now works in principle, but I am not able to flash anything but the 2 data blocks / sectors (128K). Neither can MPPS v16 which I CAN-sniffed to aid the work. I tried a couple of different scenarios of block sequencing and calling write boot/code/data fingerprint commands before erasing/flashing, nevertheless, each time I try to even erase anything beyond data blocks it gives me an error code (hex 31 or hex 24 depending on the situation). Even more, I have to erase and write the flashable blocks by specifying them as one (giving the start address of 0x0A0000 and size 0x20000, doing it in two 64K pieces does not work either).  

The question is: should I expect that this is indeed not possible, or should I expect that there is some specific sequencing and address ranging in the requests that makes it work? If the latter, does anybody have any hints? I do this on the bench and have working boot-mode flashing, so I can try practically anything, I just need to know what.

Knowing if, for example, KESS can do it would already help. Anyone?

Oh, and this is through the CAN interface if not clear by now.
« Last Edit: August 10, 2017, 02:39:30 PM by woj » Logged
woj
Hero Member
*****

Karma: +43/-3
Offline Offline

Posts: 500


« Reply #1 on: August 14, 2017, 01:58:20 PM »

In case anybody looks for the same thing in the future - yes it is possible to flash the complete code and data blocks on this ECU through OBD. The order and arrangement of the blocks has to be very specific, one has to look in the binary and search for 00 00 00 00 FF 1F 00 00. The following bytes make it clear for anybody having a clue about the memory mapping of this ECU.

Some stats: using the fastest possible CAN interface arrangement (no ELM or other UART based bullcrap, just direct CAN on Raspberry PI) - writing data blocks takes 19 seconds, a complete rewrite takes 1:45. I forgot what the MPPS figure was, but this is defo faster.

One thing I apparently missed - for the first 32K block and the 32K block with flashing procedures I missed some of the checksums / CRCs, I cannot flash images that are modified in any way in these regions. Guess I would have to look into the ME7 sum sources to figure out what I am missing.
Logged
omrfrkbyrk
Newbie
*

Karma: +0/-0
Offline Offline

Posts: 1


« Reply #2 on: July 02, 2023, 01:44:35 AM »

Hi Woj. Please check your inbox.
« Last Edit: July 02, 2023, 07:50:30 AM by omrfrkbyrk » Logged
Pages: [1]
  Print  
 
Jump to:  

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