The Car Hacker's Handbook: A Guide for the Penetration Tester - Craig Smith (2016)
B. DIAGNOSTIC CODE MODES AND PIDS
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.