DIAGNOSTIC CODE MODES AND PIDS - The Car Hacker's Handbook: A Guide for the Penetration Tester - Craig Smith

The Car Hacker's Handbook: A Guide for the Penetration Tester - Craig Smith (2016)



In Chapter 4 we looked at modes and parameter IDs in diagnostic codes. This appendix lists a few more common modes and interesting PIDs for reference.

Modes Above 0x10

Modes above 0x10 are proprietary codes. Here are some common modes specified by the ISO 14229 standard:

0x10 Initiates diagnostics

0x11 Resets the ECU

0x14 Clears diagnostic codes

0x22 Reads data by ID

0x23 Reads memory by address

0x27 Security access

0x2e Writes data by ID

0x34 Requests download

0x35 Requests upload

0x36 Transfers data

0x37 Requests transfer exit

0x3d Writes memory by address

0x3e Tester present

Useful PIDs

Some interesting PIDs for modes 0x01 and 0x02 include the following:

0x00 PIDs supported (0x01-0x20)

0x01 Monitor the status of the MIL

0x05 Engine coolant temperature

0x0C RPM

0x0D Vehicle speed

0x1C OBD standards to which this vehicle conforms

0x1F Run time since vehicle started

0x20 Additional PIDs supported (0x21-0x40)

0x31 Distance traveled since DTCs cleared

0x40 Additional PIDs supported (0x41-0x60)

0x4D Time run with MIL on

0x60 Additional PIDs supported (0x61-0x80)

0x80 Additional PIDs supported (0x81-0xA0)

0xA0 Additional PIDs supported (0xA1-0xC0)

0xC0 Additional PIDs supported (0xC1-0xE0)

Some vehicle information service numbers for mode 0x09 include:

0x00 PIDs supported (0x01-0x20)

0x02 VIN

0x04 Calibration ID

0x06 Calibration verification numbers (CVN)

0x20 ECU name

For a list of further service PIDs to query, see http://en.wikipedia.org/wiki/OBD-II_PIDs.