Thanks Sasha_A80. I have not found a command to read-out the entire EEPROM contents. All the commands are in one subroutine, so I suspect such a command doesn't exist. There are a few different commands that read out parts of the EEPROM content. For example, saved DTCs, key serial numbers, pairing codes and car configuration / installed options. But no command that reads out the entire EEPROM. An alternative would be to save the EEPROM contents via direct connection to the EEPROM chip. In terms of the EEPROM data, the various 128kB EEPROMs seem quite similar. I imagine a 256kB EEPROM will also be similar, but I haven't yet checked.
The next command provides a very long list of the status of input switches, output switches and various CAN values. Some of these are confirmed, some are guesses, and some are still unknown. My car is pretty basic so I can't check quite a few. It would be great if others can try this command to confirm the list and also work out the unknown ones by (eg) run the command, change something, and run the command again to see what changes in the response. The more of these that can be confirmed, the more accurate the reverse engineering will be.
Command to list switch inputs / switch outputs / CAN dataCode:
- command: 0x21 0x50
- response: 0x61 0x50 [Byte0] ... [Byte15]
Here is what I have figured out so far:
Data bit & InformationByte0 bit0 key-lock warning SW
Byte0 bit1 Stop Light Switch
Byte0 bit2 Front fog lamp SW input
Byte0 bit3 Rear fog lamp SW input
Byte0 bit4 lighting SW input
Byte0 bit5 Door key-lock SW input
Byte0 bit6 Door unlock SW input
Byte0 bit7 ---- unused ----
Byte1 bit0 Driver’s door SW input
Byte1 bit1 P-door SW input
Byte1 bit2 Rear right door SW input
Byte1 bit3 Rear left door SW input
Byte1 bit4 R Gate SW input
Byte1 bit5 Manual lock SW input
Byte1 bit6 Manual unlock SW input
Byte1 bit7 Lock SW (guess)
Byte2 bit0 Bright SW input
Byte2 bit1 Shift Button SW input
Byte2 bit2 Economy Switch
Byte2 bit3 Tiptronic Mode Switch
Byte2 bit4 TIP UPSW input
Byte2 bit5 TIP DOWN SW input
Byte2 bit6 P SW
Byte2 bit7 MT Reverse Switch
Byte3 bit0 R wiper ON SW input
Byte3 bit1 R wiper INT SW input
Byte3 bit2 R washer SW input
Byte3 bit3 wiper deicer SW input
Byte3 bit4 Rear Defogger SW
Byte3 bit5 Driver’s Seat SW input
Byte3 bit6 P seatbelt SW input
Byte3 bit7 Fr wiper input
Byte4 bit0 Parking brake SW
Byte4 bit1 Registration SW
Byte4 bit2 Identification SW input
Byte4 bit3 Driver’s seat lock status SW input
Byte4 bit4 Passenger’s seat lock status SW input
Byte4 bit5 R gate lock status SW input
Byte4 bit6 Smart wake-up input
Byte4 bit7 ---- unknown ----
Byte5 bit0 Rr defogger output
Byte5 bit1 ---- unused ----
Byte5 bit2 lock actuat. LOCK output
Byte5 bit3 All seat UNLOCK output
Byte5 bit4 D-seat UNLOCK output
Byte5 bit5 R gate/trunk UNLK output
Byte5 bit6 Double lock output
Byte5 bit7 R wiper output
Byte6 bit0 Shift Lock Solenoid
Byte6 bit1 Key locking output
Byte6 bit2 wiper deicer output
Byte6 bit3 Starter cutting output
Byte6 bit4 Hazard Output
Byte6 bit5 Belt buzzer output
Byte6 bit6 Horn Output
Byte6 bit7 Siren Output
Byte7 bit0 D-belt warning light O/P
Byte7 bit1 P-belt warning light O/P
Byte7 bit2 Illumination lamp O/P
Byte7 bit3 Room lamp output
Byte7 bit4 key illumi. lamp o/p
Byte7 bit5 R fog lamp output
Byte7 bit6 R fog lamp monitor
Byte7 bit7 Immobilizer lamp output
Byte8 bit0 Keyless Operation 1
Byte8 bit1 Keyless Operation 2
Byte8 bit2 EK alarm output
Byte8 bit3 TL alarm output
Byte8 bit4 ---- unused ----
Byte8 bit5 ---- unused ----
Byte8 bit6 ---- unused ----
Byte8 bit7 ---- unused ----
Byte9 bit0 CC Main Lamp
Byte9 bit1 CC Set Lamp
Byte9 bit2 SPORT Lamp
Byte9 bit3 SPORT Blink
Byte9 bit4 ATF Temperature Lamp
Byte9 bit5 ATF Blink
Byte9 bit6 ECO Lamp (AT)
Byte9 bit7 ECO Lamp (MT)
Byte10 bit0 Tire diameter 1
Byte10 bit1 Tire diameter 2
Byte10 bit2 Shift Up indication
Byte10 bit3 Shift Down indication
Byte10 bit4 Sport Shift (buzzer 1)
Byte10 bit5 Sport Shift (buzzer 2)
Byte10 bit6 ABS/VDC Judging
Byte10 bit7 ADA Existence Judging
Byte11 bit0 Small Light SW
Byte11 bit1 Headlamp
Byte11 bit2 Headlight HI ON/OFF
Byte11 bit3 Turn signal LH ON/OFF
Byte11 bit4 Turn signal RH ON/OFF
Byte11 bit5 RR Defogger Switch
Byte11 bit6 Australia Judging Flag
Byte11 bit7 Large Diameter Tire
Byte12 bit0 Number of Cylinders
Byte12 bit1 Camshaft Type
Byte12 bit2 Turbo
Byte12 bit3 E/G displacement (2.5L)
Byte12 bit4 E/G displacement (3.0L)
Byte12 bit5 AT Vehicle Signal ID
Byte12 bit6 E/G Cooling Fan
Byte12 bit7 Heater Cock V/V Output
Byte13 bit0 Power Window (Up)
Byte13 bit1 Power Window (Down)
Byte13 bit2 Keyless Buzzer
Byte13 bit3 Bright Request
Byte13 bit4 P/W ECM Failure
Byte13 bit5 Keyless Hook SW
Byte13 bit6 ---- unknown ----
Byte13 bit7 ---- unused ----
Byte14 bit0 Door lock SW (open)
Byte14 bit1 Door lock SW (closed)
Byte14 bit2 Door Key SW (open)
Byte14 bit3 Door Key SW (closed)
Byte14 bit4 under hook registration
Byte14 bit5 hook registration end
Byte14 bit6 unlock request
Byte14 bit7 ---- unknown ----
Byte15 bit0 Centre Display Failure
Byte15 bit1 Navi Failure
Byte15 bit2 IE Bus Failure
Byte15 bit3 Auto A/C Failure
Byte15 bit4 EBD Warning Light
Byte15 bit5 ABS Warning Light
Byte15 bit6 VDC Off Flag
Byte15 bit7 VDC/ABS OK
Most of these were obtained from lists in service manuals. But it is tricky because the order is completely different. And some only exist on certain models. Note that the first 5 bytes are inputs, the next 4 bytes are outputs and the last 7 bytes are CAN data.
EDIT 28/2/23: updated item list