Pytrex wrote:
anyway to flash the EEPROM?
Multiple ways indeed.
- direct write to the IC, by desoldering or with a clip / adapter; while probably holding the mcu in reset
- for certain parameters (like VIN and immo keys), AFAIK the factory tools do this via certain SIDs, I have in mind 0x31 "startRoutine" etc. Only briefly looked a while ago and didn't find out much. I haven't heard of any generic "write raw data to eeprom" SID in the stock ROMs.
- via npkern, conditional to some very minor code additions that I vaguely recall Shuher had done and tested at one point ? basically implementing the converse of "eep_read" where the kernel calls the low-level function, provided by the ROM, that does the actual writing to the eeprom IC. Of course this method requires to know where the _read and _write functions are in the ROM.
Quote:
On top of this, what’s the actual size of the EEPROM that we should be dumping?
Depends on the ECU, they use different EEPROM ICs. A few variants are shown
https://nissanecu.miraheze.org/wiki/Ecu_hwQuote:
What would cause the kernel to seemingly fault out rather than just throw an error and keep running?
npkern has no way of knowing if you gave it a wrong address... it'll just call whatever function you give it ; if you get it wrong all bets are off.