I've read everything I could find about disabling EGR on PSG16 and then I tried to edit the data read with MPPS from Signum Y22DTR.
The car worked well with the EGR emulator but now the emulator stopped working and I'd like to disable the EGR by editing ECU data. When the engine is warm the error is P0400.
This is what I've done so far:
Changed words:
- Code: Select all
addr 0x988c: 01c2 0384 01c2 0384 --> ffff 0000 ffff 0000
As I understand these are the timmings required to register the DTC and to remove the DTC once it was registered.
Changed words:
- Code: Select all
addr 0xc6d4: 003c 003c 003c 003c 003c 003c 003c --> ffff 0000 ffff 0000 ffff 0000 ffff
These might be the timmings too but I don't have any info about that data except I can see it should be changed.
Then I found 165 words long DTC code table at 0x0bbd2 (yes, it's almost like OBD2 :-)) ) and 165 bytes of DTC mask table at 0x0bd1c right after the DTC code table.
0400 codes are at the following indices: 14, 42, 43, 44, 45, 46, 47 and 48
I changed the corresponding masks from 1 to 0 and saved the file as my_edit1
From some of the info I read that might be enough to disable the EGR but then I tried to compare my edit with the file created by EGR Remover and that program changed quite a few bytes more :-/
What I can't understand is why that program changed only one DTC mask byte for DTC 0400 (the one at index 14) but instead of changing the other mask bytes for the same error it replaced the 0400 error codes with 0000!? Is there a reason why would one want to completely destroy the error code instead of change the mask?
Anyway, I'd appreciate any help trying to understand the right way of disabling the EGR.
Or should I just flash the file created by EGR Remover?
All the files in the archive are .bin - there is an original, my edit and the file produced by EGR Remover.