Skip to content

hidp123/nissan-qashqai-can-info

 
 

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

28 Commits
 
 
 
 
 
 
 
 

Repository files navigation

Nissan Qashqai J10 CAN bus data

This file contains the list of CAN bus frame formats and semantics discovered by looking at the frames captured on a manual-transmission diesel 2013 Nissan Qashqai J10. A portion of the data here applies to other Nissan models like Juke, Pulsar, Sentra, 370Z, X-Trail, Murano from the same period of time, and to a lesser extent to the automatic-transmission and electric models (Nissan Leaf). The automatic-transmission models will have frames 421 and/or 41f, 176 with gearbox information which the manual models don't use. Some specifics for other models can be found here, here and here.

Nissan Qashqai, unlike many other cars, only has one major CAN bus with between 6 and 12 devices connected to it (depending on model configuration) and it's the same bus you can access through the Data Link Connector (connector M4 in the service manual schematics) or the comfort unit. The service manuals refer to that bus as "CAN communication" or "CAN COMM". There is one other isolated bus using the CAN protocol and it connects the Audio unit to the NAVI unit who is the master device on that bus. That bus is referred to as "AV communication" or "AV COMM" in the service manuals. This file always refers to the main CAN bus. Both busses run at 500kbps with 11-bit addresses.

I captured the data using an off-the-shelf ESP32 board with an SN65HVD230 CAN transciever who's main function is to automate the power mirrors folding and unfolding in my car. Schematics, tutorial.

Addressing

This file follows the bit addressing in this doc where CAN bus message bytes in positions 1 to 8 are referenced by letters A-H and bits are numbered from 8th (MSB) to 1st (LSB). Bit M in byte N is represented by N.M, e.g. the lowest bit of the 3rd byte is C.1 while the highest bit in byte 1 -- or the first bit of the entire messsages -- is A.8. Frame IDs (addresses) are hexadecimal.

Periodic data frames

This lists individual values in the frames transmitted periodically by devices on the main CAN bus, i.e. frames that don't need to be requested. Multi-byte values are encoded as big-endian except where noted.

TODO: map signals to their names in chart in service manual LAN.pdf. TODO: map values to their names in chart on service manual INL-38 or DLK-610.

Frame Position in frame Meaning Format Unit
002 A.8-B.1 Steering wheel angle 2's complement 16-bit integer, little-endian, positive values in right turn, negative in left turn, range of about -6000 to 6000 0.1 degree / LSB
002 C.8-1 Steering wheel rate (TODO)
002 E.8-1 Message serial/timestamp unsigned integer
160 A.8-B.5 Effective engine torque, or could be pressure value, > when revving up, < when revving down, usually follows 180: C.8-D5 and 180: D.4-E.1 12-bit unsigned integer
160 D.8-E.7 Accelerator/throttle pedal position (soft zone, value remains at maximum when above 75% stroke, i.e. all stiff zone) integer between 0 (released) and 792 (at or behind the stiff-zone threshold)
160 E.6 WOT -- Accelerator/throttle pedal in stiff zone, i.e. > 75% stroke boolean, 1 if at or behind threshold
160 G.8-H.7 Same as D.8-E.7 -- according to brad370 these two values are compared for error detection
161 A.8-1 Some sensor value, varies with engine RPMs
161 B.8-1 Some voltage value, strictly goes down with electric current consumption (with a delay) when engine running, constant when stopped -- might be used for the idle RPM calcluation or similar
161 C.8-1 Same as above but also goes up with engine RPMs -- roughly follows the sum of A.8-1 and B.8-1
161 D.1 WOT -- Accelerator/throttle pedal in stiff zone, i.e. > 75% stroke boolean, 1 if behind threshold
161 E.8-1 Accelerator/throttle pedal position (soft zone, value remains at maximum when above 75% stroke, i.e. all stiff zone) integer between 0 (released) and 0xfc (at or behind the stiff-zone threshold)
180 A.8-B.2 Engine speed / revolutions 15-bit unsigned integer 0.25 RPM / LSB (service manual page MWI-27 says 8191.875 is displayed in case of malfunction, implying that the whole 16-bit value of A.8-B.1 -- hypothetically 0xffff in that case -- is simply divided by 8 to get the RPMs)
180 C.8-D.5 Reported to be engine torque, varies with engine load, could be pressure value, usually follows D.4-E.1 and 160: A.8-B.5 12-bit unsigned integer
180 D.4-E.1 Varies with engine load, could be pressure value, usually follows C.8-D.5 and 160: A.8-B.5 12-bit unsigned integer
19b A.8-5 Engine running status?
19b C.8-D.1 Related to fuel consumption, up when revving up, low at constant revs, 0 when revving down (doesn't match fuel consumption calculated from the l/100km efficiency indication on dashboard multiplied by current velocity though) 16-bit unsigned integer
19b E.8-5 Drive / reverse status? 0b1111 for a moment after ignition switched to ON, 0b0000 when driving forward or stopped, 0b1001 in reverse, 0b0100 on cruise-control?, 0b0010 when gear-up request, 0b0101 when gear-down request
19b F.8-G.1 A rather stable sensor value 16-bit unsigned integer
1f9 A.7 A/C on while engine running boolean, 1 when true
1f9 A.4 A/C on while engine running (after A/C off, goes to 0 before A.7) boolean, 1 when true
1f9 C.8-D.2 Engine RPM, same as 180: A.8-B.2
215 B.7 Reverse gear / reverse light boolean, 1 when in reverse
280 B.8-D.5 A rapidly changing sensor value -- reacts to longitudinal axis acceleration
280 E.8-F.1 Vehicle absolute speed, similar to 284: E.8-F.1 16-bit unsigned integer 0.01 km/h / LSB (slightly higher)
280 G.8-1 A rapidly changing sensor value -- reacts to longitudinal axis acceleration 2's complement 16-bit integer, positive when force towards front, i.e. when parked on a downward slope or decelerating, negative on upward slope or accelerating
284 A.8-B.1 Front right wheel absolute speed 16-bit unsigned integer, 0 when stopped, positive when rolling in either direction 1/175th km/h / LSB (7000 at 40kmh)
284 C.8-D.1 Front left wheel absolute speed 16-bit unsigned integer, 0 when stopped, positive when rolling in either direction 1/175th km/h / LSB (7000 at 40kmh)
284 E.8-F.1 Vehicle absolute speed 16-bit unsigned integer 0.01 km/h / LSB (slightly lower)
284 G.8-H.1 Message serial/timestamp unsigned integer
285 A.8-B.1 Rear right wheel absolute speed 16-bit unsigned integer, 0 when stopped, positive when rolling in either direction 1/175th km/h / LSB (7000 at 40kmh)
285 C.8-D.1 Rear left wheel absolute speed 16-bit unsigned integer, 0 when stopped, positive when rolling in either direction 1/175th km/h / LSB (7000 at 40kmh)
285 E.8-1 Vehicle absolute speed 8-bit unsigned integer km/h
285 G.8-H.1 Message serial/timestamp unsigned integer
2a0 B.8-C.1 Lateral axis acceleration force 16-bit unsigned integer, 0x8000 in equilibrium, higher values when force towards right, i.e. when parked with right wheels lower or turning left (in forward or in reverse), < 0x8000 when parked with right wheels higher or turning right (in forward or in reverse) 0.0001274 g / LSB according to some specs
2a0 D.8-E.1 Turn rate about vertical axis 16-bit unsigned integer, 0x8000 no turn, higher values in left turn (right in reverse), < 0x8000 in right turn (left in reverse) 0.005 °/s / LSB according to some specs
2de E.2 Efficiency unit is l/100km, as opposed to MPG or km/l boolean, 1 when l/100km
2de G.8-H.1 Distance-to-empty -- range at current fuel economy and fuel left (minus reserve, i.e. 0 km when fuel gauge in red zone), as shown on one of the dashboard panels 16-bit unsigned integer 0.1 km / LSB rounded to 1 km (10 LSBs) -- when efficiency unit set to l/100km
354 A.8-B.1 Vehicle absolute speed, similar to 284: E.8-F.1 16-bit unsigned integer 0.01 km/h / LSB (slightly higher)
354 E.7 ESP (VDC/TCS) disable button boolean, 1 when button in
354 E.6 ESP (VDC/TCS) off dash light boolean, 1 when light on
354 E.4 ESP (VDC/TCS) off dash light boolean, 1 when light on
354 E.3 ESP (VDC/TCS) off dash light boolean, 1 when light on
354 E.1 ABS? off dash light boolean, 1 when light on
354 G.5 Brake pedal switch / brake light / stop light boolean, 1 when foot on pedal
355 A.8-B.1 Vehicle absolute speed, similar to 284: E.8-F.1 16-bit unsigned integer
355 C.8-D.1 Vehicle absolute speed, similar to 284: E.8-F.1 16-bit unsigned integer
355 F.8-1 TODO (Ambient brightness? unlikely) 8-bit unsigned integer
358 A.1 Key inserted boolean, 1 when key in ignition
358 B.7 Blower fan on (climate control) boolean, 1 when fan running
358 D.6 Likely oil pressure dashboard warning light boolean, 1 when true
358 F.2 Other-than-driver doors locked (even if some were unlocked manually) boolean, 1 when locked
358 F.1 Driver door locked boolean, 1 when locked
35d A.8 Ignition in ON boolean, 1 when ON
35d A.7 Ignition in half ON (TODO)
35d A.6 Blower fan on (climate control) boolean, 1 when fan running
35d A.3 Rear window defogging (defrost) boolean, 1 when on
35d A.2 Rear window defogging (defrost) boolean, 1 when on
35d A.1 A/C on boolean, 1 when on
35d B.2 Dashboard power boolean, 1 when on
35d B.1 Dashboard power boolean, 1 when on
35d C.8 Wipers moving boolean, 1 when moving
35d C.7 Wipers moving boolean, 1 when moving
35d E.5 Brake pedal switch / brake light / stop light boolean, 1 when foot on pedal
551 A.8-1 Engine coolant temperature 8-bit unsigned integer, values in °C + 40, 0x75 at middle of gauge range, '0x5b' bottom of range deg C / LSB (service manual page MWI-27 says 215ºC is displayed in data monitor in case of malfunction, suggesting the raw 8-bit value received -- hypothetically 0xff in the malfunction case -- is offset by 40 and taken directly as degrees Celcius between -40 and 215)
551 B.8-1 Engine-related counter, rate proportional to revs, wraps at 0xff -- fuel consumed? 8-bit integer at idle increases at ~1.5 LSB / s
551 C.4-1 Some sensor reading, changes gradually from 0x4 to 0xa when blower fan spins up and back when it spins down but is independent of blower speed (may include all of C.8-1) integer
551 D.8-1 Possibly dashboard lights
551 E.8-1 ASCD cruise speed/limit speed and status target speed in km/h when engaged, 1 if being set currently km/h
551 F.7-5 bitmap, 0b110 when setting ASCD cruise speed, 0b011 when setting limit speed, 0b100 if cruise engaged, 0b001 if limit engaged, 0b101 after cruise dis-enagaged?, 0s otherwise
551 F.4 Engine running? boolean, 1 when running
551 F.4-1 Other engine status bits?
551 H.8-1 Engine-related counter, same as B.8-1
5c5 A.7 IGN not fully ON?
5c5 A.3 Handbrake / parking brake engaged as indicated on dashboard boolean, 1 when engaged
5c5 B.8-D.1 Car odometer absolute value (mileage) 24-bit unsigned integer km / LSB
5c5 E.1 Driver seatbelt unbuckled boolean, 1 when unbuckled
5c5 F.4-1 Might be oil level
5dd B.8-C.1 Some down counter, not fuel though 16-bit unsigned integer
5e1 A.8-B.1 Rapidly changing counter 16-bit unsigned integer
5e4 A.2 Some status bit, true before engine start, false after start (also after stop), not any dashboard light boolean
5e4 B.8-C.1 Rapidly changing counter 16-bit unsigned integer
60d A.7 Rear RH door open boolean, 1 when open
60d A.6 Rear LH door open boolean, 1 when open
60d A.5 Passenger door open boolean, 1 when open
60d A.4 Driver door open boolean, 1 when open
60d A.3 Position/parking/side lights on boolean, 1 when on
60d A.2 Headlights (either low-beam or high-beam) on boolean, 1 when either lights on
60d B.7 Right-turn signal or emergency lights on boolean, 1 when on (delayed?)
60d B.6 Left-turn signal or emergency lights on boolean, 1 when on (delayed?)
60d B.4 High-beam lights on (use together with A.2) boolean, 1 when on
60d B.3 IGN switch ON or START (BCM input 38) boolean, 1 when ON or START
60d B.2 IGN switch ACC or ON (BCM input 37) boolean, 1 when ACC or ON (can be interpreted as a bitmap together with B.3: 0b00 for OFF, 0b01 for ACC, 0b11 for ON, 0b10 for START)
60d B.1 Front fog lights on boolean, 1 when on
60d C.5 Any door locked boolean, 1 when locked
60d C.4 Any door locked boolean, 1 when locked
60d C.3 Rear fog lights on boolean, 1 when on
60d D.6 Trunk door request / beep boolean, 1 when on
60d D.2 Trunk door request / beep boolean, 1 when on
625 A.6-5 0b11 when ready to start? (injectors ready?)
625 B.7 Position/parking/side lights on boolean, 1 when on (delayed?)
625 B.6 Headlights (either low-beam or high-beam) on boolean, 1 when either lights on (delayed?)
625 B.5 High-beam lights on boolean, 1 when on (delayed?)
625 B.4 Front fog lights on boolean, 1 when on (delayed?)
625 C.7-1 Battery voltage (possibly Diesel-only) 8-bit unsigned integer 1/16th V / LSB, e.g. 0xc0 is 12V

BCM diagnostic action PIDs (commands)

These are the BCM's service 0x30 PIDs that can be used to send commands and only send commands (there don't seem to be any useful information queries). The service listens on address 0x745 and replies on address 0x765 but it allows communication only as documented by Brad370z here, i.e. in a diagnostic session. SID 0x30 is known as "I/O control by local ID" in some protocols.

These commands toggle the different lights, actuators, speakers and other devices connected to the BCM, plus it seems the BCM will automatically request power to the right rails on the car from the IPDM-E/R so that the commands mostly work even when the car is completely off. The changes will time out after 5 seconds so these seem to be strictly diagnostic commands for quickly testing the different devices. At the same time it seems the changes can be extended in time by resending the commands before the 5s run out.

As documented by Brad370z each command consists of the service number 0x30, the PID/CID number, the function byte and the requested value. Three functions seem to available:

Function byte Description
0x00 Sends a one-time command such as door unlocking. Either this or 0x20 is supported by every PID, never both.
0x01 Queries whether given value is supported by this PID. Every PID supports this function
0x20 Causes a temporary 5-second change to a device's state

Most PID/CIDs support values 0 (off) and 1 (on). For function 0x00 requesting the value 0 does nothing. For function 0x20 the value 0 disables a device temporarily if it's on, and cancels a previously requested value that hasn't timed out yet. For example if the left turn signal is currently blinking because the turn signal & wiper switch (stick/lever) is in the left position, requesting value will 1 will start blinking the right turn signal (and disable the left turn signal) for 5 seconds. Requesting value 0 will disable either turn signal for 5s whether it was requested with the physical switch or a diagnostic command.

PID Function (0x00/0x20) Values
00 Supported PIDs 01-1f bitmask: 32 20 c6 81
03 00 0: nothing, 1 & 2: TODO -- beeps like the lock/unlock switch and a relay action can be heard from the BCM
04 20 0, 1, 2: TODO
07 00 0: nothing, 1: Lock doors, 2: Unlock all doors, 3: Unlock driver door, 4: Unlock passenger doors
0b 20 0: Rear window defogging (defrost) off for 5s, 1: Rear window defogging (defrost) on for 5s
11 20 0: Key beep off, 1: Key beep continuous tone for 5s
12 20 0: Key beep off, 1: Key beep 4 short tones repeating for 5s (5 times)
16 20 0: key beep off, 1: Key beep 4 short tones repeating for 5s (5 times)
17 20 0: Roof light on for 5s, 1: Roof light on for 5s (same?)
19 20 0: Roof light off, 1: Roof light on for 5s, 2: Roof light auto mode? in ACC on for 5s, in ON fade out and off for 5s
20 Supported PIDs 21-3f bitmask: 84 00 00 6d
21 20 0: No-key dashboard light off for 5s, 1: No-key dashboard light on for 5s
26 00 0: nothing, 1: Trunk door open
3a 20 0: Position/parking/side lights off for 5s, 1: Position/parking/side lights on for 5s
3b 20 0: Low-/high-beam off for 5s, 1: Low-beam lights on for 5s, 2: High-beam lights on for 5s
3d 20 0: Front fog lights off for 5s, 1: Front fog lights on for 5s
3e 20 0: Rear fog lights off for 5s, 1: Rear fog lights on for 5s
40 Supported PIDs 41-5f bitmask: 09 90 00 01
45 20 0: Front wiper off for 5s, 1: Front wiper fast mode for 5s, 2: Front wiper slow mode for 5s, 3: front wiper one-shot mode
48 20 0: Rear wiper off for 5s, 1: Rear wiper on for 5s
49 00 0, 1: TODO
4c 20 0: Turn signals/blinkers off for 5s, 1: Right turn signal on, left off for 5s, 2: Left turn signal on, right off for 5s
60 Supported PIDs 61-7f bitmask: 00 10 03 00
69 MISSING
77 20 0: Check oil dashboard light off for 5s, 1: Check oil dashboard light on for 5s
78 20 0, 1: TODO

Engine ECU diagnostic action PIDs (commands)

The engine computer seems to have its own service 0x30 to trigger diagnostic actions, with a similar syntax to the BCM's service 0x30. The service 0x30 commands as well as the diagnostic session request (02 10 c0) now need to be sent to address 7e0 instead of 745. The function byte is always 00 and the value byte is apparently ignored, so the functions and values are not listed below.

These commands can't be used when the engine is running, error 22 (conditionsNotCorrect) is returned if they're attempted with the engine running. Similarly some of the commands return error 22 if a previous related command is still in effect. The PID/CIDs may be specific to the K9K engine or a subset of engines.

PID Action
03 Runs the radiator for 2-3 secs
04 Runs the radiator for 2-3 secs
11 TODO
12 TODO (2 or 3 quiet tick sounds in 2 sec intervals)
13 TODO
14 TODO
17 TODO
18 TODO (makes a quiet ~5 Hz ticking noise from engine room for ~5 secs)
22 TODO
26 TODO
35 TODO
36 TODO
37 TODO
38 TODO
41 TODO
42 TODO
43 TODO

Some or all of these may correspond to test commands (TODO: find matches), note this list is a mix of lists from different ECUs:

ID Action
AC001 Preheating unit
AC004 Turbocharging solenoid valve
AC011 Rail pressure regulator
AC012 Damper valve
AC017 Canister bleed solenoid valve
AC018 Upstream O2 sensor heating
AC019 Downstream O2 sensor heating
AC027 Motorised fuel valve
AC031 Heating element no. 3 relay
AC038 Low speed fan assembly relay
AC039 High speed fan assembly relay
AC047 OBD warning light
AC063 Heating element no. 1 relay
AC064 Heating element no. 2 relay
AC068 Injection fault warning light
AC069 Severe injection fault warning light
AC070 Air conditioning compressor
AC109 Idle regulation valve
AC116 Coolant temperature warning light
AC180 Air conditioning compressor relay control
AC195 Electric coolant pump
AC250 Heating resistor no. 1 relay
AC251 Heating resistor no. 2 relay
AC252 Heating resistor no. 3 relay

IPDM-E/R diagnostic action PIDs (commands)

These are the diagnostic PIDs/CIDs for the IPDM-E/R ECU (or BCM?) at address 74d. Like before diagnostic session 0xc0 required.

PID Function (0x00/0x20) Values
00 Supported PIDs 01-1f bitmask: 0b d2 00 00
05 00 0: nothing, 1: Very short honk
07 20 0: Rear window defogging (defrost) off for 5s, 1: Rear window defogging (defrost) on for 5s
08 20 0: Front wipers off for 5s, 1: Front wipers run slow for 5s, 2: Front wiper run fast for 5s
09 20 0: Radiator off for 5s, 1, 2, 3: Run the radiator at different speeds
0a 20 0, 1: TODO triggers some big relay on for 5s
0c 00 0, 1: TODO
0f 20 0: Front lights off for 5s, 1: Low/high-beam off for 5s, 2: Position and high-beam off for 5s, 3: Blink high-beam, position lights off for 5s, 4: Front fog lights on and low/high-beam/position lights off for 5s

Messages 342 / 512 (PIN exchange)

Frames with Msg IDs 342 / 512 (two of each) can be seen exchanged by ECUs when ignition is moved from ACC to ON. See further description in key.md.

Standard service 01 PIDs (current data)

This is the supported subset of the standard ECU service 01 PIDs just as described on wikipedia. I captured the values with the engine off, ignition in ON on my 2013 manual transmission diesel J10. Any PIDs not listed here seem to be unsupported. The queries are sent to the address 7e0 and the replies are returned from address 7e8.

PID Meaning Unit (formula to get physical value) Captured value
00 Supported PIDs 01-1f bitmask 98 3b 80 11
01 Monitor status since DTCs cleared bitmap 00 64 80 00 (Diesel engine, Components test incomplete, Fuel test incomplete, EGR System test available)
04 Calculated engine load % (100/255 A) 00
05 Engine coolant temperature °C (A-40) 4d
0b Intake manifold absolute pressure kPa (A) 5e
0c Engine speed rpm (1/4(256A+B)) 00 50
0d Vehicle speed km/h (A) 00
0f Intake air temperature °C (A-40) 51
10 Mass air flow sensor (MAF) air flow rate grams/sec (1/100(256A+B)) 00 00
11 Throttle position (doesn't seem to work, always 0?) % (100/255 A) 00
1c OBD standards this vehicle conforms to enum 06 (EOBD-Europe)
20 Supported PIDs 21-3f bitmask a0 01 80 00
21 Distance traveled with malfunction indicator lamp (MIL) on km (256A+B) 00 00
23 Fuel Rail Gauge Pressure kPa (10(256A+B)) 00 00
30 Warm-ups since codes cleared count (A) 13
31 Distance traveled since codes cleared km (256A+B) 03 7c

Standard service 09 PIDs (vehicle information)

As before this is the supported subset of the standard ECU service 09 PIDs just as described on wikipedia. Any PIDs not listed here seem to be unsupported, i.e. very little is actually supported and the VIN query (02), while available, returns no data. The other two PIDs have lengths that don't match the specs.

PID Meaning Value
00 Supported PIDs 01-1f bitmask 54 00 00 00
02 Vehicle Identification Number (VIN) 01 ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff
04 Calibration ID 02 32 33 37 31 30 42 42 33 31 41 00 00 00 00 00 00 32 33 37 30 31 42 42 33 36 41 00 00 00 00 00 00 (ascii 23710BB31A 23701B36A)
06 Calibration Verification Numbers (CVN) Several CVN can be output (4 bytes each) the number of CVN and CALID must match 01 44 d8 62 a7

Non-standard service 22 PIDs

These are the manufacturer-specific service 22 PID/CIDs that can be queried for current values from sensors, internal BCM/Engine state and/or hardcoded information. They're read in the same way as services 01 and 09 except for the PID/CID numbers being 16-bit. SID 0x22 is known as "Read Data by Common Identifier" (CID, or Data Identifier - DID)

PID Meaning Unit (format) Captured value
2000 Supported PIDs 2001-201f bitmask ff bf 14 59
2001 [PR064] Engine coolant temperature 0.1 °K (or °C offset by -273) 0c 6a
2002 [PR055] Engine speed/revolutions 0.5 RPM / LSB 00 50
2003 [PR089] Vehicle absolute speed km/h 00 00
2004 [PR015] Engine torque, similar to 180: C.8-D.5 but higher resolution, documentation says must be between 20 and 40 Nm with engine running 1/32 Nm offset by -400 32 00
2005 [PR071] Computer supply voltage (battery voltage) 0.01 V / LSB 04 cf
2006 [PR025/PR992] Car odometer absolute value (mileage) km 01 fd ad
2007 Some engine temperature reading 0c 6a
2008 [PR063] Fuel temperature 0.1 °K (kelvin, aka. °C offset by -273) 0c 4e
2009 [PR035] Athmospheric air pressure mBar 03 b8
200b [PR147] Raw accelerator/throttle pedal potentiometer voltage gang 1, should less than ~817mV released, greater than 4185mV when floored mV 02 e6
200c [PR148] Raw accelerator/throttle pedal potentiometer voltage gang 2, should less than ~440mV released, greater than 2013mV when floored mV 01 73
200d [PR872] Coolant pressure sensor voltage reading 0.01 V 00 5b
200e [ET001] Computer "+ after ignition" feed active -- it seems "+ after ignition" is the name of a specific electrical signal and this becomes 1 when that signal is on 01
200f [ET759] Braking multiplex signal detected, one of ABSENT (0 -- when brake pedal fully released), PRESENT (2 -- when brake pedal depressed enough that the stop light comes on), INTERMEDIATE (1 -- foot on pedal, barely pressed) 00
2010 [ET038] Engine status, one of: 00: STOPPED (ign on without starter engaged), 20: STALLED, 30: RUNNING, 10: STARTING 00
2011 (Present on some ECUs) Reportedly engine coolant pressure 0.1 bar
2012 (Present on some ECUs) [PR079] Reportedly atmospheric air pressure sensor voltage mV
2014 [ET775] Camshaft TDC (Top Dead Centre) synchronisation, values COMPLETED/NOT COMPLETED, 1 when engine running 00
2016 1 when engine running 00
201a bit 1: [ET134/ET160] Injector pre-heat relay command 00
201c [PR303] Aux information, TODO 00
201d bits 3: [ET207] Thermoplunger 3 relay control, bit 2: [ET206] Thermoplunger 2 relay control, bit 1: [ET205] Thermoplunger 1 relay control. On K9K: [PR372] number of active glow-plugs? 00
2020 Supported PIDs 2021-203f bitmask fd 0c 0e ff
2021 [PR215] Sensor supply voltage no. 1, should be ~5V mV 13 8d
2022 [PR216] Sensor supply voltage no. 2, should be ~5V mV 13 8d
2023 [PR635] Sensor supply voltage no. 3, should be ~5V mV 13 8d
2024 [PR190] Idle RPM setpoint, changes with current demand, by the spec must be equal to PR145 to within 25 RPM 0.25 RPM / LSB 0c 80
2025 2 when brake pedal pressed (light on), 1 otherwise 01
2026 [ET799] Brake wire contact, 2 when brake pedal pressed (light on), 1 otherwise 01
2028 Some dashboard lights? 03
202d TODO 00
202e [PR030] Accelerator/throttle pedal position scaled to 0-3ff range but not clamped at 75% 00 00
2035 [PR130] Cruise control setpoint, 0xff when disabled km/h ff
2036 [ET673] Jammed accelerator/throttle pedal detected (command RZ001 clears this), or [PR1249] Brake pedal error? 00
2037 Varies with engine load, could be pressure value, same as 160: A.8-B.5 but higher resolution 2b ed
2039 [PR135] Cruise control/speed limiter buttons voltage -- each button's switch connects through a different resistance resulting in a voltage divider, voltage is ~4V normally, ~3V when "R" is pressed, ~2V when "+" is pressed, ~1V when "-" is pressed, ~0V when "O" is pressed (actually seems to be ~3V for "+", ~2V for "-" and ~1V for Cancel) mV 0f 95
203a bit 1: [LC166] Cruise control function 01
203b bit 1: [ET727] Cruise control disengaged ("Cruise control/Speed limiter connection after after cruise control button pressed", values DETECTED, NOT DETECTED) 01
203c TODO 00
203d bit 1: [LC165] Speed limiter function 01
203e bit 1: [ET728] Speed limit disengaged ("Cruise control/Speed limiter connection after after speed limiter button pressed", values DETECTED, NOT DETECTED) 01
203f TODO 00
2040 Supported PIDs 2041-205f bitmask ff 7f ff fb
2041 [LC167] ASCD cruise control/speed limiter buttons (doesn't seem to actually do anything) 01
2042 TODO 00
2043 TODO 01
2044 Accelerator/throttle pedal angle scaled to 0-3ff range, clamped at 75% stroke 00 00
2045 TODO 03
2046 Reported to be starter engine status 00
2047 bit 1: [ET760] First engine start, values COMPLETED/NOT COMPLETED 01
2048 1 when engine stopped, 2 when running 01
204a bit 8: [ET820] High speed fan assembly final request, bit 7: [ET819] Low speed fan assembly final request, bit 6: [ET818] High speed fan assembly request by automatic gearbox, bit 5: [ET817] Low speed fan assembly request by automatic gearbox, bit 4: [ET816] High speed fan assembly request by air conditioning, bit 3: [ET815] Low speed fan assembly request by air conditioning, bit 2: [ET814] High speed fan assembly request by injection, bit 1: [ET813] Low speed fan assembly request by injection bitmap 00
204b [ET703] ASCD cruise control/speed limiter buttons, values: INACTIVE, INCREASE, DECREASE, SUSPEND, RESUME, CO.1 (open circuit or short circuit), INVALID -- doesn't seem to actually react to any buttons 00
204c [ET413] Cruise control/Speed limit function, 0 when cruise control disabled, 1 when limit speed engaged, 2 when setting limit speed, 5 when setting cruise speed, other values TODO 00
204d TODO 00
204e ASCD Cruise control status, bit 6: [ET792] Speed limiter inhibition by injection ("This indicates that the injection computer has requested deactivation of the speed limiter function for system reasons. This is a normal deactivation."), bit 5: [ET797] Speed unit change, bit 4: [ET796] No vehicle speed signal displayed ("This means that the injection computer has not received the vehicle speed displayed on the instrument panel"), bit 3: [ET795] No real vehicle speed signal ("This means that the real vehicle speed coming from the ABS was unavailable."), bit 2: [ET794] Displayed vehicle speed signal unavaiable bitmap 24
204f ASCD Cruise control status, bit 8: [ET791] Cruise control inhibition by injection ("This indicates that the injection computer has requested deactivation of the cruise control function for system reasons. This is a normal deactivation."), bit 7: [ET756] Automatic transmission in defect mode, bit 6: [ET790] Sudden deceleration without depressing brake pedal, bit 5: [ET789] Deceleration without depressing brake pedal (this is an error, like ET790, indicates that something is slowing down the car or that the brake pedal switch failed), bit 4: [ET788] Brake pedal position information missing ("This means that the injection computer did not receive the signal from the UCH concerning the brake pedal switch"), bit 3: [ET787] Brake pedal position information unavailable, bit 2: [ET786] Clutch pedal position information missing ("This means that the injection computer did not receive the signal from the UCH concerning the clutch pedal start of travel switch"), bit 1: [ET785] Clutch pedal signal unavailable ("signal from the UCH concerning the clutch pedal start of travel switch") 80
2050 [PR851] Vehicle speed being displayed 0.01 km/h 00 00
2051 [ET767] Vehicle Speed measurement unit, TODO 00
2052 [PR890] Glow plug preheat power 100 / 255 A 00
2053 TODO 01
2054 1 when engine stopped, 7 when running? nope, something else 07
2055 [ET838] Combustion mode setpoint: 1: Normal, 2: DPF regeneration start, 3: DPF regeneration, 4: DPF cooling, 5: NOx purge, 6: SOx purge, 7: Start, 8: Catalytic converter test, (spec values: NORMAL, STATUS1: Heating phase, STATUS2: Regeneration phase, STATUS3: Particle filter protection, STATUS4: Catalytic converted check) 07
2056 [ET839] Combustion mode, same values as above and actual values should follow ET838 00
2057 [PR306/PR1029] Alternator power 10 W 00 06
2058 K9K-specific: diesel fuel water-content status 00
2059 ASCD Clutch switch, 0 when release, 1 when depressed 00
205a 4 when RPMs above idle, 8 when engine stopped, 0x40 when idle. Values 2 and 0x20 seen briefly while going from higher RPMs to idle 08
205b TODO 00
205c 0 when IGN in OFF or ACC, 1 when in ON 01
205d 0 when accelerator/throttle pedal pressed, 1 when released 01
205f TODO 0f a0
2060 Supported PIDs 2061-207f bitmask ff ee 01 ff
2061 Varies with engine load, could be a pressure value, similar to 180: C.8-D.5 but higher resolution 32 00
2062 Varies with engine load, could be a pressure value, similar to 180: C.8-D.5 but higher resolution 32 00
2063 Varies with engine load, could be a pressure value, different from 180: C.8-D.5 32 00
2064 Battery voltage? Varies with engine RPM 2b ed
2065 Varies with engine load, could be a pressure value 2b ed
2066 Varies with engine load and RPMs 06 13
2067 [PR1019] Max. engine torque? Varies with engine load, could be a pressure value 0d ad
2068 Varies with engine load, could be a pressure value 0d ad
2069 [1127] Engine torque setpoint 1/32 Nm 00 00
206a Engine running time in seconds (resets when ECU starts?) 00 00
206b Engine running time in seconds (resets every time IGN goes from OFF to ON?) 00 00
206d TODO 01
206e TODO, bit 1: [ET602] Brake switch? doesn't seem to react to brake pedal 01
206f TODO f0
2078 Occasionally 2, TODO 00
2079 bit 7: [ET835] Speed limiter system inhibition by injection, bit 6: [ET834] Cruise control system inhibition by injection, bit 5: [ET808] Handbrake, bit 4: [ET043] Cruise control, bit 3: [ET807] ESP/TCS - anti-yaw calibration, bit 2: [ET726] Reverse gear engagement, bit 1: [ET691] Engine start/stop switch 00
207a [PR827] Resume ("R") button pressing duration (doesn't actually do anything) s 00
207b [PR828] "+" button pressing duration (doesn't actually do anything) s 00
207c [PR829] "-" button pressing duration (doesn't actually do anything) s 00
207d [PR830] Suspend ("O") button pressing duration (doesn't actually do anything) s 00
207e [PR849] Number of abnormal cruise control/speed limiter transitions 00
207f TODO 00
2080 Supported PIDs 2081-209f bitmask ff 21 ff aa
2081 TODO 00
2082 TODO 00
2083 TODO 00
2084 TODO 01
2085 TODO 01
2086 TODO 00
2087 TODO 01
2088 TODO 01
208b TODO 00
2090 TODO 0f
2091 TODO 0f
2092 bit 1: [ET116] A/C on (permission to stop A/C?) 00
2093 TODO 02
2094 TODO 00
2095 1 when engine stopped, 0 when running 01
2096 Transmission status (AT vs. MT) 03
2097 TODO 02
2098 TODO 00 00
2099 [PR002] Alternator charge, goes up with electric current demand, goes down with engine RPMs 100/255 % eb
209b TODO, bit 1: [ET428] Idle control 00
209d TODO ff
209f TODO 00 00
2100 Supported PIDs 2101-211f bitmask ff ff ff fd
2101 TODO 0f
2102 TODO 00 75 3f 01 c6 76 01 33 72 00 e2 95
2103 TODO 04 7d 8b a7 05 0b 43 74 02 ff bc fc 04 8a 8d 47
2104 TODO 00 00 00 00 00 00 00 00
2105 TODO 01
2106 TODO 01
2107 TODO 01 a8 a2
2108 TODO 00 00 00
2109 TODO 00 0a
210a A km counter 37 37
210b TODO 00 1f
210c TODO, a counter, increases faster than km count 5e ce
210d TODO, a down counter 00 f2 14 a8
210e [PR1232/PR1330] Crankshaft revolution count, updates when stopping engine 01 e0 51 22
210f TODO 00
2110 TODO 01 c6 76
2111 TODO 01
2112 TODO 00
2113 TODO 0d 9c
2114 TODO, bit 1: [ET716] Diesel fuel injector 00
2115 TODO 00
2116 TODO 0a d2
2117 TODO 0c 26
2118 TODO 2c ec
2119 TODO 32 c8
211a TODO ff ff
211b TODO 03 a4
211c TODO 03 56 c0 68
211d TODO 00
211e TODO 00
2120 Supported PIDs 2121-213f bitmask ff f8 00 01
2121 TODO 01
2122 TODO 01
2123 TODO 01
2124 [ET098] TODO 01
2125 TODO 01
2126 TODO 00
2127 TODO 01
2128 TODO 01
2129 1 when engine stopped, 0 when running 01
212a TODO 00
212b TODO 00
212c TODO, 20 odometer snapshots from oldest to newest -- from DTC time? what's in the first byte? 2c 01 fc 3c 01 fc 42 01 fc 6f 01 fc 6f 01 fc 70 01 fc 70 01 fc 70 01 fc 70 01 fd 4f 01 fd 55 01 fd 70 01 fd 71 01 fd 71 01 fd 72 01 fd 92 01 fd 93 01 fd 94 01 fd 95 01 fd 95 01 fd 9c
212d TODO 00 10 9a 02 00 00 00 00 00 c0 00 78 76 74 72 70 6e 6c 6b 69 67 66 64 62 61 5f 5e 02 07 02 06 02 06 01 06 02 06 02 06 01 06 02 06 01 06 03 06
2140 Supported PIDs 2141-215f bitmask 00 00 00 03
215f 1 if engine has been started since ECU boot? 00
2160 Supported PIDs 2161-217f bitmask f4 00 00 01
2161 [ET879] Crankshaft frequency signal, 1 when engine running 00
2162 [PR1026] Crankshaft synchronisation loss counter 00 98
2163 Changes rapidly whlie engine running (values from a subset) 00 00
2164 TODO 00
2166 bit 1: [ET825] Regeneration started 00
2168 (Present on some ECUs) [PR1312] Cylinder 4 run count, [PR1203] Engine start count
2169 (Present on some ECUs) [PR1311] Cylinder 3 run count
216a (Present on some ECUs) [PR1310] Cylinder 2 run count
216b (Present on some ECUs) [PR1309] Cylinder 1 run count
2180 Supported PIDs 2181-219f bitmask 96 fe f8 7e
2181 TODO 00 00 00 00
2184 TODO ff ff
2186 TODO 00
2187 TODO 01
2189 TODO 00
218a TODO 00
218b TODO 00
218c TODO 00
218d TODO 00
218e TODO 00
218f TODO 00
2191 TODO 00 00
2192 TODO 00
2193 TODO 00
2194 TODO 00
2195 Occasionally 1 when blower is on but not reliably 00
219a [PR891] Preheating mode 0.25 % 00 00
219b TODO 00 05
219c TODO 00
219d TODO ff ff
219e TODO 00 00
219f TODO 00 00 00
2200 Supported PIDs 2201-221f bitmask 00 00 00 01
2201 (Present on some ECUs) [PR371] Error count
2220 Supported PIDs 2221-223f bitmask ff de 00 01
2221 TODO 00
2222 [ET757] This is supposed to be some pedal signal but doesn't actually react to pedals 00
2223 TODO 00
2224 TODO 00
2225 bit 1: [ET724] Speed signal multiplexer, TODO doesn't react to speed 00
2226 bit 1: [ET723] Vehicle speed being displayed, doesn't react to speed 00
2227 TODO 00
2228 TODO 00
2229 [ET018] A/C on request 01
222a [PR037] Coolant/refrigerant pressure, reacts to climate control power usage 0.1 bar 00 37
222b (Present on some ECUs) [ET732] AT/MT Parking brake (also SID 21 CID 22 byte M)
222c [ET764] ASCD cruise control/speed limit disable signal from pedal ("Clutch start of travel wire contact"), 1 when clutch depressed 00
222d [ET405] ASCD Clutch pedal switch, 1 when depressed 00
222e [ET755] Manual gearbox gear lever neutral, values DETECTED/NOT DETECTED 02
222f bit 1: [ET832] "ASCD cruise control/speed limiter engage authorisation" (also reported as ET764, like CID 222c) 00
2240 Supported PIDs 2241-225f bitmask 00 00 00 01
2260 Supported PIDs 2261-227f bitmask 06 00 00 01
2266 TODO 00
2267 TODO 00
2280 Supported PIDs 2281-229f bitmask 60 20 00 00
2282 TODO 00 00
2283 TODO 00 00
228b TODO 01 54
2294 (Present on some ECUs) [PR932/PR1233] Engine oil viscosity level 100 * 2^-31 %
2400 Supported PIDs 2401-241f bitmask ff ab 62 05
2401 [PR041] Turbocharging pressure mBar 03 b7
2402 [PR009] Turbocharging pressure setpoint, goes up with RPMs hPa 04 55
2403 [PR846] Turbocharging SV (solenoid valve) OCR (opening cyclic ratio), goes down with RPMs 0.01% 02 0e
2404 [PR1017] Relative position of damper valve, some noise 1/20.491 % 06 5b
2405 [PR672] Reportedly fuel valve position setpoint 0.01% 88 00
2406 [PR279/PR417] Air inlet valve setpoint OCR (opening cycle ratio) 0.01% offset by 0x8000 7c 31
2407 [PR136] EGR valve aperture feedback 00 00
2408 [PR005] EGR valve aperture 0.01% open offset by 0x8000 7e 70
2409 [PR241] EGR valve control, a noisy sensor 0.01 % 83 2c
240b [PR312] Intake manifold pressure mBar 03 b7
240d [PR059] Inlet air temperature, goes up with RPMs, with IGN on should roughly equal exterior temperature, also PR059 ~= PR064 with engine cold 0.1 °K (kelvin, aka. °C offset by -273) 0c 6c
240f [ET587] EGR system cooling 01
2410 TODO 93 88
2412 [PR146] Air intake supply flow 0.1 mg/cp 00 00
2413 [PR180] Reportedly air supply configuration, goes up with RPMs 0.1 mg/cp 1d bc
2417 [PR774] Air inlet valve position sensor voltage, a little noise mV 11 7e
241e [ET774] Turbochaging pressure control/turbocharger regulation, goes to 0 when engine running, quickly back to 9 when stopped 09
2420 Supported PIDs 2421-243f bitmask 9f d5 fd f1
2421 [PR018] Estimated airflow 0.1 mg/cp 0b 65
2422 (Present on some ECUs) Reportedly mass airflow 0.05 kg/h
2424 [PR077/PR160/PR177] EGR potentiometer/position sensor voltage, up with engine load, spec says "If the values of PR077 are between 0.5 V ≤ X ≤ 4.5 V, the EGR valve is sound" mV 0e a1
2425 [PR858] First intake valve open offset 1/20.492% or 1/81.9691% 07 2e
2426 [PR861] Last intake valve open offset 1/20.492% or 1/81.9691% 07 25
2427 [PR859] First intake valve closed offset 1/20.492% or 1/81.9691% 00 c9
2428 [PR860] Last intake valve closed offset 1/20.492% or 1/81.9691% 00 cb
2429 [PR129] Last EGR valve offset 0.01% 02 10
242a [PR128] First EGR valve offset 0.01% 01 bf
242c [PR383] Weight of soot in the DPF, should never exceed 39g (but it does on some cars) 0.01 g 06 19
242e Same as PR1012 in CID 24a5 04 de
2430 TODO 00 00
2431 TODO 00 00
2432 [PR1009] DPF upstream temperature setpoint 0.1 °K (kelvin, aka. °C offset by -273) 23 2b
2433 TODO 00
2434 [ET702] Static regeneration 00
2435 TODO 80 00
2436 TODO 80 00
2438 [PR889] Reportedly turbo entry gas temperature setpoint 0.1 °K (kelvin, aka. °C offset by -273) 0a aa
2439 [PR667] Turbine upstream temperature 0.1 °K (kelvin, aka. °C offset by -273) 0e 92
243a [PR668] Turbine upstream temperature sensor voltage, varies with engine load 2^-16 V 54 62
243b [PR1046] Temperature upstream from catalytic converter 0.1 °K (kelvin, aka. °C offset by -273) 09 1a
243c TODO 54 62
2440 Supported PIDs 2441-245f bitmask c7 08 00 01
2441 [PR381] DPF downstream temperature, goes above 550°C only during DPF regeneration -- goes up with RPMs 0.1 °K (kelvin, aka. °C offset by -273) 15 5b
2442 [PR382] DPF upstream temperature, goes above 600°C only during DPF regeneration 0.1 °K (kelvin, aka. °C offset by -273) 0d a1
2443 (Present on some ECUs) [PR414] DPF pressure differential mBar offset by 0x8000
2446 [PR1006] DPF pressure sensor reference voltage, up with RPMs up mV 01 e3
2447 [PR1005/PR385] Exhaust gas DPF flow rate 0.1 m³/h or 0.01 g/s? 00 00
2448 [PR636] Reportedly turbo entry pressure mBar 03 ac
244d [PR1024] Estimated damper valve upstream temperature, down when engine running then slowly recovers 0c bd
2460 Supported PIDs 2461-247f bitmask ff fc 4b a7
2461 TODO 00 00 00 03 00 00 00 3c 00 00 00 03 00 00 00 7d 00 00 00 0d 00 00 01 3f 00 00 00 0e 00 00 00 f8 00 00 00 04 00 00
                00 00 00 11 00 00 00 ce 00 00 00 02 00 00 00 24 00 00 00 02 00 00 00 3f 00 00 00 11 00 00 00 f1 00 00 00 04 00 00

| 2462 | TODO, seems to be a queue, new value occasionally appears in the last 2 bytes and the other bytes are shifted to front || 00 00 00 00 00 00 00 00 00 67 00 3f 00 80 01 4c 01 06 | | 2463 | TODO || ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff | | 2464 | TODO || 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | | 2465 | TODO || 00 00 00 00 00 02 01 02 02 02 | | 2466 | TODO || 00 00 00 00 00 00 00 00 01 01 | | 2467 | TODO || 00 00 00 00 00 02 02 00 00 00 | | 2468 | TODO || 08 17 20 07 16 19 00 0a 17 1b | | 2469 | TODO, seems to be a queue, new value occasionally appears in the last byte and the other bytes are shifted to front || 5a 4b 3d 35 2c 16 1b 24 20 1c | | 246a | TODO || 00 00 00 00 00 00 00 00 00 00 | | 246b | TODO || 02 04 0a 00 02 04 08 00 02 04 08 00 02 04 08 00 02 04 0a 00 | | 246c | TODO || 12 15 14 04 15 10 1b 17 17 01 | | 246d | [ET824] Regeneration request, TODO || 00 | | 246e | TODO || a7 10 | | 2472 | Car odometer absolute value (mileage) | km | 01 fd ad | | 2475 | TODO || 80 00 | | 2477 | [ET827] Damper valve first opening programmed || 01 | | 2478 | [ET828] Damper valve first closing programmed || 01 | | 2479 | [ET336] EGR function programming, values: completed/not completed || 01 | | 247b | TODO || 72 | | 247e | TODO || 00 | | 247f | TODO || 0b 32 | | 2480 | Supported PIDs 2481-249f bitmask || ff 80 0f 81 | | 2481 | [PR914] Successful DPF regeneration count (some regenerations aren't included, yet PR848 gets reset to 0) || 05 | | 2482 | TODO || 00 00 | | 2483 | TODO || 00 04 | | 2484 | TODO || 00 01 | | 2485 | [PR848] Failed DPF regeneration attempt count (since last successful one, resets to 0 on successful regneration) || 01 | | 2486 | [PR1004] TODO | 100/255 % | 00 | | 2487 | [PR1008] DPF last regeneration duration | s | 00 00 | | 2488 | [PR415] Time since last DPF regeneration, updates every second, wraps around | s | 12 ee | | 2489 | [PR875] Oil viscosity reduction | 100/65536 % | 03 a4 | | 2495 | TODO || 03 d4 | | 2496 | TODO || 03 d4 | | 2497 | TODO || 02 45 | | 2498 | TODO || 00 00 | | 2499 | TODO || 00 | | 24a0 | Supported PIDs 24a1-24bf bitmask || 1f ff ef fd | | 24a4 | TODO || 00 01 01 00 01 01 01 01 00 00 | | 24a5 | [PR1012] Weight of soot in the DPF after last regeneration attempt (either successful or failed) | 0.01 g | 04 de | | 24a6 | TODO || 02 26 | | 24a7 | TODO || 04 4c | | 24a8 | TODO || 00 | | 24a9 | [PR1079] DPF mileage at last successful regeneration, updates when turning engine off || 01 fc b1 | | 24aa | TODO || 00 | | 24ab | Reported to be DPF regeneration success status || 00 | | 24ac | TODO || 02 23 e2 | | 24ad | TODO || 02 24 bb | | 24ae | TODO || 02 24 bb | | 24af | Reported to be DPF load || 02 | | 24b0 | TODO, odometer snapshot when? updates on every trip || 01 fd ad | | 24b1 | TODO || 01 a4 | | 24b2 | TODO || 74 | | 24b3 | TODO || 01 | | 24b5 | TODO || 00 0d | | 24b6 | TODO || 00 00 | | 24b7 | TODO || 12 80 | | 24b8 | TODO || 00 00 | | 24b9 | TODO || 00 | | 24ba | TODO || 00 00 | | 24bb | [PR1078] DPF mileage at replacement | km | 00 00 00 | | 24bc | TODO || 00 00 fc | | 24bd | Same as 247f, TODO || 0b 32 | | 24be | TODO || 03 a5 | | 24c0 | Supported PIDs 24c1-24df bitmask || 47 7f ef 31 | | 24c2 | [PR1020] DPF pressure offset | mBar offset by 0x8000 | 7f f9 | | 24c6 | TODO || 86 5a | | 24c7 | TODO || 00 cb | | 24c8 | TODO || 80 00 | | 24ca | [PR1021] Last damper valve absolute position | 1/20.491% | 07 26 | | 24cb | TODO || 00 | | 24cc | TODO || 00 | | 24cd | TODO || 00 | | 24ce | TODO, varies with engine load || 80 00 | | 24cf | [PR542] EGR valve potentiometer voltage when closed according to one description, DPF pressure differential according to another (doesn't match readings), varies with engine load, slowly goes back to earlier values || 02 07 | | 24d0 | TODO || 00 | | 24d1 | TODO || 80 00 | | 24d2 | [PR1025] Air inlet valve position setpoint || 80 00 | | 24d3 | [PR1016] Air inlet valve diagnostic supply voltage || 00 00 | | 24d5 | [PR1033] EGR sensor supply voltage | mV | 13 97 | | 24d6 | [PR1023] Damper valve sensor supply voltage | mV | 13 97 | | 24d7 | TODO, goes up with RPMs || 03 ba | | 24d8 | TODO || 00 | | 24db | TODO || 01 | | 24dc | TODO || 02 | | 24e0 | Supported PIDs 24e1-24ff bitmask || 67 7b ff d1 | | 24e2 | TODO || 00 00 | | 24e3 | [PR929] Total relative pressure in the DPF | mbar offset by 0x8000 | 7f f9 | | 24e6 | TODO || 00 | | 24e7 | TODO || 00 | | 24e8 | TODO || 1f db | | 24ea | TODO || 00 00 00 | | 24eb | TODO || 00 00 | | 24ec | [PR932] Engine oil dilution rate || 00 15 b6 89 | | 24ed | TODO || 03 03 03 00 05 04 03 03 0a 06 | | 24ef | TODO || 00 ab 00 ae 00 82 00 28 00 21 00 24 00 09 00 6e 00 03 00 05 | | 24f0 | TODO, odometer snapshot when? doesn't update on every trip || 01 fd a9 | | 24f1 | TODO, odometer snapshot when? doesn't update on every trip || 01 fd ad | | 24f2 | [PR916] Mass airflow rate | 0.1 kg/h | 00 00 | | 24f3 | [PR1223] Aux information | 0.1 °K (or °C offset by -273) | 09 1a | | 24f4 | TODO || 00 | | 24f5 | TODO || 01 | | 24f6 | TODO || 00 | | 24f7 | TODO || 1f db | | 24f8 | TODO || 1f db | | 24f9 | TODO || 1f db | | 24fa | TODO || 00 00 | | 24fb | (Present on some ECUs) [PR1236] DPF pressure differential offset | mbar || | 24fc | TODO || 80 00 | | 2500 | Supported PIDs 2501-251f bitmask || 00 00 00 01 | | 2519 | [PR1288] Oxygen content on some ECUs ||| | 2520 | Supported PIDs 2521-253f bitmask || ff f8 00 01 | | 2521 | TODO || 80 d2 | | 2522 | TODO || 01 | | 2523 | TODO || 00 | | 2524 | TODO || 00 00 | | 2525 | TODO || 80 00 | | 2526 | TODO || 80 00 | | 2527 | TODO || 01 f4 | | 2528 | TODO || 25 1c | | 2529 | TODO || 00 00 | | 252a | TODO || 00 00 | | 252b | TODO || 00 00 | | 252c | TODO || 05 78 | | 252d | TODO || 00 | | 2540 | Supported PIDs 2541-255f bitmask || ff ff e0 01 | | 2541 | TODO || 80 00 | | 2542 | [PR414] DPF pressure differential | mBar offset by 0x8000 | 80 00 | | 2543 | Car odometer absolute value (mileage) | km | 01 fd ad | | 2544 | TODO || 00 | | 2545 | TODO || 80 00 | | 2546 | TODO || 00 00 | | 2547 | TODO || 01 | | 2548 | TODO || 01 | | 2549 | TODO || 00 | | 254a | Reportedly Weight of soot in the DPF (matches PR383) | 0.01 g | 06 19 | | 254b | TODO || 00 00 | | 254c | TODO || 00 00 | | 254d | TODO || 00 00 | | 254e | TODO || 00 | | 254f | TODO || 00 | | 2550 | TODO || 01 | | 2551 | TODO || 00 | | 2552 | TODO || 00 00 | | 2553 | TODO || 00 | | 2560 | Supported PIDs 2561-257f bitmask || 00 00 00 11 | | 2561 | (Present on some ECUs) [PR1286] Low-pressure Valve position? ||| | 2562 | (Present on some ECUs) [PR1208] Low-pressure Valve last close offset? ||| | 2563 | (Present on some ECUs) [PR1205] Low-pressure valve first open offset? ||| | 2564 | (Present on some ECUs) [PR1206] Low-pressure valve position? ||| | 2567 | (Present on some ECUs) [PR1213] EGR low-pressure differential? ||| | 2569 | (Present on some ECUs) [PR1214] Air exit damper/silencer? ||| | 256a | (Present on some ECUs) [PR1224] Intermediate setpoint? ||| | 256b | (Present on some ECUs) [PR1222] Air exit valve position? ||| | 256c | (Present on some ECUs) [PR1218] Air exit valve offset? ||| | 256d | (Present on some ECUs) [PR1209] Low-pressure Valve first close offset? ||| | 256f | (Present on some ECUs) [PR1225] Air release absolute position? ||| | 2578 | (Present on some ECUs) [PR1215] First bleed valve offset? ||| | 257b | (Present on some ECUs) [PR1226] Low pressure valve voltage | mV || | 257c | [PR1227] Low-pressure valve control? | 0.01% offset by 0x8000 | 80 00 | | 257d | (Present on some ECUs) [PR1239] Airflow sensor voltage | mV || | 2580 | Supported PIDs 2581-259f bitmask || 00 00 00 00 | | 2589 | (Present on some ECUs) [PR1207] Valve first close offset? ||| | 258b | (Present on some ECUs) [PR1210] Valve last close offset? ||| | 258d | (Present on some ECUs) [PR1211] Valve first open offset? ||| | 2594 | (Present on some ECUs) [PR049] Valve turbulence damper? ||| | 259b | (Present on some ECUs) [PR1228] Valve swirl control? ||| | 2800 | Supported PIDs 2801-281f bitmask || c5 fd e0 21 | | 2801 | [PR038] Fuel rail pressure | 0.1 bar | 00 00 | | 2802 | [PR008] Fuel rail pressure setpoint (theoretical pressure for optimum engine operation) -- 250 +/- 50 bar | 0.1 bar | 01 20 | | 2806 | [PR017] Fuel mass flow | 0.01 mg/cp | 00 00 | | 2808 | TODO || 80 00 | | 2809 | [PR1031] Total injection system fuel use | 0.01 mg/cp | 00 00 | | 280a | TODO || 00 00 | | 280b | TODO || 00 00 | | 280c | TODO || 00 00 | | 280d | [PR1229] Injection system fuel flow rate | 0.01 mg/cp | 00 00 | | 280e | [PR988] Post injector fuel flow rate 1 | 0.01 mg/cp | 00 00 | | 2810 | TODO || 80 00 | | 2811 | TODO || 80 00 | | 2812 | TODO || 80 00 | | 2813 | [PR1245] Post-injection phase? || 80 00 | | 2817 | (Present on some ECUs) Reportedly fuel valve electric current | mA offset by 0x8000 || | 281a | (Present on some ECUs) Reportedly fuel manifold pressure regulator electric current | mA offset by 0x8000 || | 281b | bit 1: [ET521] Low fuel level warning light || 01 | | 2820 | Supported PIDs 2821-283f bitmask || 34 00 00 01 | | 2823 | bit 1: [ET115] Injector pre-heat warning light || 00 | | 2824 | TODO || 00 | | 2826 | [PR1007] DPF OCR (opening cycle ratio) control | 0.01% | 00 00 | | 2840 | Supported PIDs 2841-285f bitmask || 00 00 00 01 | | 2860 | Supported PIDs 2861-287f bitmask || 01 00 09 c1 | | 2868 | TODO || 00 4a ff 9c | | 2875 | [PR304] Aux information, TODO || 00 00 | | 2878 | bit 1: [ET826] Exhaust injector solenoid valve control || 00 | | 2879 | TODO || 00 00 | | 287a | TODO || 00 | | 2880 | Supported PIDs 2881-289f bitmask || 00 00 00 00 | | 2882 | (Present on some ECUs) [ET605] Fuel pump relay ||| | 2c00 | Supported PIDs 2c01-2c1f bitmask || 30 00 00 01 | | 2c03 | TODO || 01 | | 2c04 | [ET041] Trans. gearbox ratio, 0: in reverse gear (as soon as lever moved to reverse), 1: neutral or declutched (most of the time), 2: 1st gear, 3: 2nd gear, 4: 3rd gear, 5: 4th gear, 6: 5th gear, 7: 6th gear, switches to values 2-7 only when the gear is actually engaged and clutch fully released || 01 | | 2c20 | Supported PIDs 2c21-2c3f bitmask || 00 10 00 01 | | 2c2c | TODO || 00 | | 2c40 | Supported PIDs 2c41-2c5f bitmask || 00 00 00 00 | | 2e04 | (Present on some ECUs) [PR848] Failed DPF regeneration attempts count ||| | 2ec2 | (Present on some ECUs) [PR241] Reportedly EGR control ||| | 3400 | Supported PIDs 3401-341f bitmask || 00 3f ff f8 | | 340b | TODO || 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | | 340c | TODO || 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | | 340d | TODO || 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | | 340e | TODO || 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | | 340f | TODO || 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | | 3410 | TODO || 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | | 3411 | TODO || 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | | 3412 | TODO || 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | | 3413 | TODO || 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | | 3414 | TODO || 00 00 | | 3415 | TODO || 00 00 | | 3416 | TODO || 00 00 | | 3417 | TODO || 00 00 | | 3418 | TODO || 00 00 | | 3419 | TODO || 00 00 | | 341a | TODO || 00 00 | | 341b | TODO || 00 00 | | 341c | TODO || 00 00 | | 341d | TODO || 00 00 | | ef00 | Supported PIDs ef01-ef1f bitmask || 58 3b 00 01 | | ef02 | TODO || 00 00 | | ef04 | TODO || 00 | | ef05 | TODO || 00 | | ef0b | TODO || 00 | | ef0c | TODO || 00 00 | | ef0d | TODO || 00 | | ef0f | TODO || 00 | | ef10 | TODO || 00 00 | | ef20 | Supported PIDs ef21-ef3f bitmask || 20 00 80 00 | | ef23 | TODO || 00 00 | | ef31 | TODO || 00 00 | | f0e0 | Supported PIDs f0e1-f0ff bitmask || 00 00 00 02 | | f0ff | MISSING (query returns error) ||| | f180 | Supported PIDs f181-f19f bitmask || 00 01 00 00 | | f190 | TODO || 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | | f400 | Supported PIDs f401-f41f bitmask || 98 3b 80 11 | | f401 | Monitor status since DTCs cleared || 00 64 80 00 | | f404 | Calculated engine load | 100/255 % / LSB | 00 | | f405 | Engine coolant temperature | °C (offset by 40 (decimal)) | 54 | | f40b | [PR931] Raw turbocharging pressure | kPa | 5e | | f40c | Engine speed | 0.25 RPM / LSB | 00 50 | | f40d | Vehicle speed | km/h | 00 | | f40f | Intake air temperature | °C (offset by 40 (decimal)) | 55 | | f410 | Mass air flow sensor (MAF) air flow rate | 0.01 grams/sec / LSB || 00 00 | | f411 | Throttle position | 100/255 % / LSB | 00 | | f41c | OBD standards this vehicle conforms to || 06 | | f420 | Supported PIDs f421-f43f bitmask || a0 01 80 00 | | f421 | Distance traveled with malfunction indicator lamp (MIL) on | km | 00 00 | | f423 | Fuel Rail Gauge Pressure | 10 kPa / LSB | 00 00 | | f430 | Warm-ups since codes cleared | literal | 13 | | f431 | Distance traveled since codes cleared | km | 03 7c | | f600 | Supported PIDs f601-f61f bitmask || 00 00 00 01 | | f620 | Supported PIDs f621-f63f bitmask || 00 00 80 01 | | f631 | TODO || 81 03 00 64 00 5a 00 c8 31 82 af 00 00 00 00 00 00 | | f640 | Supported PIDs f641-f65f bitmask || 00 00 00 01 | | f660 | Supported PIDs f661-f67f bitmask || 00 00 00 01 | | f680 | Supported PIDs f681-f69f bitmask || 00 00 00 01 | | f6a0 | Supported PIDs f6a1-f6bf bitmask || 00 00 40 01 | | f6b2 | TODO || 86 01 00 3d 00 00 00 18 b2 87 01 00 01 00 00 00 ff | | f6c0 | Supported PIDs f6c1-f6df bitmask || 00 00 00 00 | | f6e0 | Supported PIDs f6e1-f6ff bitmask || 00 00 00 00 | | f800 | Supported PIDs f801-f81f bitmask || 55 00 00 00 | | f802 | Vehicle Identification Number (VIN) || 01 ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff | | f804 | Calibration ID || 02 32 33 37 31 30 42 42 33 31 41 00 00 00 00 00 00 32 33 37 30 31 42 42 33 36 41 00 00 00 00 00 00 | | f806 | Calibration Verification Numbers (CVN) Several CVN can be output (4 bytes each) the number of CVN and CALID must match || 01 44 d8 62 a7 | | f808 | TODO || 0a e8 53 d2 | | fd00 | Supported PIDs fd01-fd1f bitmask || 03 cf 1f ff | | fd07 | [PR364] Cylinder 1 fuel flow correction | 0.1 mg/st | 9f de | | fd08 | [PR405] Cylinder 2 fuel flow correction | 0.1 mg/st | 71 de | | fd09 | [PR406] Cylinder 3 fuel flow correction | 0.1 mg/st | 79 46 | | fd0a | [PR365] Cylinder 4 fuel flow correction | 0.1 mg/st | 74 fe | | fd0d | TODO || 45 48 48 48 | | fd0e | TODO || 46 47 48 48 | | fd0f | TODO || 46 4c 4c 4b | | fd10 | TODO || 48 47 47 47 | | fd14 | TODO || 3f f5 3f f5 3f f5 3f f5 3f f5 3f f5 40 17 40 0e 3f df 3f df 3f f8 40 20 3f f2 3f f2 40 04 40 0e | | fd15 | [PR1035] Cylinder 1 adapter state? || 01 | | fd16 | [PR1036] Cylinder 1 adapter state? || 01 | | fd17 | [PR1037] Cylinder 1 adapter state? || 01 | | fd18 | [PR1038] Cylinder 1 adapter state? || 01 | | fd19 | TODO || 8e e7 | | fd1a | TODO || 8f 08 | | fd1b | TODO || 8c af | | fd1c | TODO || 8c a7 | | fd1d | TODO || 41 37 | | fd1e | TODO || 3f f2 3f f2 3f f2 3f f2 3f f2 3f f2 40 1a 40 12 40 12 40 12 40 24 40 2d 3f fb 3f fb 40 02 40 0a | | fd1f | TODO || 3f f1 3f f1 3f f1 3f f1 3f f1 3f f1 40 1d 40 15 3f fa 3f fa 40 31 40 2c 3f fa 3f fa 40 12 40 10 | | fd20 | Supported PIDs fd21-fd3f bitmask || 00 00 00 1f | | fd31 | (Present on some ECUs) [PR1288] Oxygen content ||| | fd38 | (Present on some ECUs) [PR364] Cylinder 1 fuel flow correction | 0.1 mg/st || | fd39 | (Present on some ECUs) [PR405] Cylinder 2 fuel flow correction | 0.1 mg/st || | fd3a | (Present on some ECUs) [PR406] Cylinder 3 fuel flow correction | 0.1 mg/st || | fd3b | (Present on some ECUs) [PR365] Cylinder 4 fuel flow correction | 0.1 mg/st || | fd3c | TODO || 41 36 | | fd3d | TODO || 42 46 | | fd3e | TODO || 41 31 | | fd3f | TODO || 3f f5 3f f5 3f f5 3f f5 3f f5 3f f5 40 0e 40 05 3f f5 3f f5 40 15 40 18 40 07 40 07 40 04 40 03 | | fd40 | Supported PIDs fd41-fd5f bitmask || 60 0d fe 01 | | fd42 | TODO || 00 | | fd43 | TODO || 00 | | fd4d | TODO || 00 00 | | fd4c | (Present on some ECUs) [PR1287] Low-pressure average value? | 0.1 °K (or °C offset by -273) || | fd4e | TODO || 00 | | fd50 | TODO || 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 05 00 04 00 00 00 00 00 05 00 1d 00 0b 00 00 00 08 00 ca 00 4f 00 01 00 03 00 bd 00 bc 00 08 00 00 00 15 00 1e 00 18 00 00 00 03 00 07 00 00 | | fd51 | TODO || 00 00 00 00 00 00 00 00 00 cc c8 64 00 cc c3 73 00 cc e5 78 00 cc eb db 00 cc ef 6d 00 cc e6 aa | | fd52 | TODO || 82 d8 83 22 83 17 81 40 82 d8 83 22 83 17 81 40 82 d8 83 22 83 17 81 40 81 05 82 ca 83 17 81 40 81 9c 83 31 82 29 81 40 81 14 82 29 82 f1 81 24 7f 1d 81 62 81 c2 81 bf 7f 1d 81 61 82 4e 7f 1d | | fd53 | TODO || 00 | | fd54 | TODO || 00 00 00 00 00 02 00 03 00 04 00 05 00 05 00 06 | | fd55 | TODO || 00 00 00 00 00 00 00 00 00 cc c8 58 00 cc c8 3a 00 cc b8 ff 00 cc e3 13 00 cc d7 41 00 cc e5 c0 | | fd56 | TODO || 7b 2f 7b 2f 7b 2f 7b 84 7e 56 7c ba 7d cf 80 3f | | fd57 | TODO || 00 | | fd60 | Supported PIDs fd61-fd7f bitmask || 00 81 0f 81 | | fd69 | [PR1022] Average airflow sensor signal period || 00 57 | | fd70 | bit 1: [ET649] Water in diesel fuel detector || 00 | | fd75 | TODO || 00 00 | | fd76 | TODO || 00 00 | | fd77 | TODO || 80 00 | | fd78 | TODO || 2c f5 | | fd79 | TODO || 00 | | fd80 | Supported PIDs fd81-fd9f bitmask || 57 f8 0f f9 | | fd82 | [PR224] Turbo pressure sensor voltage | 10 * 2^-16 V? | 26 e0 | | fd84 | [PR847] Inlet air temperature sensor voltage | 0.2 mV | 14 c9 | | fd86 | [PR782] Turbo entry pressure sensor voltage | 0.2 mV | 14 e0 | | fd87 | TODO || 00 00 | | fd88 | [PR670] DPF entrance temperature sensor voltage | 0.1 mV | 52 e1 | | fd89 | [PR082] Fuel temperature sensor voltage | ~0.076 mV? | 23 78 | | fd8a | [PR080] Fuel rail pressure sensor voltage | 0.2 mV | 19 80 | | fd8b | [PR084] Coolant temperature sensor voltage | 10 * 2^-16 V? | 22 75 | | fd8c | [PR1241] Aux information | 0.2 V | 00 00 | | fd8d | TODO || 54 62 | | fd95 | TODO || 00 00 | | fd96 | [PR1140] Aux information || 00 00 | | fd97 | TODO || 00 00 | | fd98 | TODO || 00 00 | | fd99 | TODO || 00 00 | | fd9a | TODO || 00 00 | | fd9b | TODO || 80 00 | | fd9c | [PR1141] Aux information | 0.1 °C | 80 00 | | fd9d | [PR1142] Aux information || 80 00 | | fda0 | Supported PIDs fda1-fdbf bitmask || 30 00 07 f0 | | fda3 | TODO || 00 | | fda4 | TODO || 00 | | fda8 | (Present on some ECUs) [PR1235] Low-pressure sensor voltage? | 0.2 mV || | fdb6 | [PR864] Fuel supply regulation valve OCR || 00 00 | | fdb7 | [PR850] Fuel supply current setpoint | mA | 00 00 | | fdb8 | [PR007/PR739] Rail pressure regulator current setpoint | ~3 mA | 00 19 | | fdb9 | [PR048] Rail pressure regulation valve OCR (opening cycle ratio) || 00 00 | | fdba | [PR006] Rail pressure regulator current (should be 1600 mA or 1400+/-50 mA and in any case within 5 mA of PR007) | ~3 mA | 00 19 | | fdbb | TODO || 00 | | fdbc | TODO || 00 20 00 20 00 20 00 20 | | fdbd | (Present on some ECUs) [PR1230] Low-pressure block temperature sensor voltage? | 0.2 mV | 00 | | fde9 | (Present on some ECUs) [PR739] | mA | 00 | | fee0 | Supported PIDs fee1-feff bitmask || 00 00 00 02 | | feff | MISSING (query returns error 12) |||

BCM non-standard service 21 PIDs

These are some manufacturer-specific service 21 PID/CIDs that can be queried for BCM information. They're read in the same way as services 01 and 09 but only within a diagnostic session (command 10 c0). In a normal session the reads will return error 0x80. SID 0x21 is known as "Read Data by Local Identifier" in some protocols.

PID Meaning Captured value
00 Supported PIDs 01-1f bitmask c0 00 00 01
01 TODO (the key fob remote IDs could be somewhere here) d7 0a fc 95 28 04 20 d5 11 34 21 14 1e 98 14 cd 06 02 00 89 b8 02 0f bc 02 80 98 a0 00 00 40 88 88 00
02 42 52 30 33 30 (ascii BR030)
20 Supported PIDs 21-3f bitmask 80 00 00 01
21 BCM serial number in the first 5 digits (this can be used for PIN calculation with utilities like http://keytechtools.com/bcmcodes/index.php) 90 8c df
40 Supported PIDs 41-5f bitmask df fd 90 00
41 A.8: IGN in ON, A.7: emergency lights switch, A.6: right turn switch, A.5: left turn switch, A.4: brake pedal (brake light switch) 80 00 00 00 00
42 A.8: IGN in ON, A.7: key inserted, A.6: driver door open, A.5: passenger door open, A.4: rear right door open, A.3: rear left door open, C.4`: IGN in ACC or ON, others TODO c0 00 08 00 00 00 00 00
44 A.8: IGN in ON, A.7: key inserted, A.6: driver door open, A.4: lights selector in the 3rd or 4th position, i.e. low-beam lights and/or position lights are on -- but 0 when the same lights are on in AUTO or triggered by the fog lights switch -- this bit strictly depends on the selector position, A.1: passenger door open, B.8: rear right door open, B.7: rear left door open, B.6`: trunk door open, others TODO c0 00 00 00 00
45 A.8 and A.7: IGN in ON or START, A.6-4: 0b000: front wipers selector in OFF (2nd position), 0b001: front wipers selector in AUTO (3rd position), 0b010: front wipers selector in SLOW or one-shot (4th or 1st position), 0b100: front wipers selector in FAST (5th position), B.5: front wipers NOT moving right now, E.8-7: 0b00: rear wiper selector in OFF, 0b01: rear wiper selector in INTERMITTENT, 0b10: rear wiper selector in FAST, E.5: rear wiper moving right now, E.4: reverse gear, other bits TODO c0 f0 00 00 00 00 00 00 00
46 A.8: IGN in ACC or ON, A.7: IGN in ACC, other bits TODO c0 00 00 00 00
47 A.8: IGN in ON or START, A.7: key inserted, A.4: driver door open, A.3: passenger door open, A.2: rear right door open, A.1: rear left door open, B.8: trunk door open, B.6: IGN in ACC or ON, other bits TODO c0 20 00 00 00 00 00 00 00 00
48 A.8: IGN in ON or START, A.7: key inserted, A.2: IGN in ON or ACC, B.7: driver door open, B.6: passenger door open, B.5: rear right door open, B.4: rear left door open, B.3: trunk door open, other bits TODO e0 00 00 00 c0 00 00 00 00
49 A.8: IGN in ON or START, A.7: IGN in ON or ACC, A.6: high-beam switch (stick forward) on, A.5-2: 0b0000: light selector in OFF, 0b0001: light selector in AUTO, 0b0010: light selector in position/parking/side position, 0b1110: light selector in low-beam position, A.1: high-beam temporary switch (stick towards driver) on, B.8-7: 0b00: fog lights selector in 1st position (OFF), 0b10: fog lights selector in 2nd position (front fog lights), 0b11: fog lights selector in 3rd position (toggle rear fog lights+front on) B.6: driver door open, B.5: passenger door open, B.4: rear right door open, B.3: rear left door open, B.2: trunk door open, B.1: right turn switch on, C.8: left turn switch on, C.3: engine running, G.8-7: dashboard lights? other bits TODO c0 00 00 00 00 00 40 1e 00 00
4a A.8: right turn switch on, A.7: left turn switch on, A.6: high-beam switch (stick forward) on, A.5-3,1: 0b000x0: light selector in OFF, 0b000x1: light selector in AUTO, 0b001x0: light selector in position/parking/side position, 0b111x0: light selector in low-beam position, A.2: high-beam temporary switch (stick towards driver) on, B.8-7: 0b00: fog lights selector in 1st position (OFF), 0b10: fog lights selector in 2nd position (front fog lights), 0b11: fog lights selector in 3rd position (toggle rear fog lights+front on), B.6-4: 0b000: front wipers selector in OFF (2nd position), 0b001: front wipers selector in AUTO (3rd position), 0b010: front wipers selector in SLOW or one-shot (4th or 1st position), 0b100: front wipers selector in FAST (5th position), B.3: front wiper sprinkler switch on, C.5-4: 0b00: rear wiper selector in OFF, 0b01: rear wiper selector in INTERMITTENT, 0b10: rear wiper selector in FAST, C.3: rear wiper sprinkle switch on, other bits TODO 00 00 e0 00 00 00 00
4b B.4: IGN in ON or START, B.3: IGN in ON or ACC, B.2: key inserted, other bits TODO 00 0e 80 00 00
4c A.8: IGN in ON or START, A.7: blower fan on, A.6: A/C on, other bits TODO 80 00 00 00 00
4d A.8: key inserted, A.1: IGN in ON or START, other bits TODO 81 00 00 00 00 00 00 00
4e A.8: IGN in ON or START, A.7: IGN in ON or ACC, A.6: key inserted, other bits TODO e0 00 00 00 00 00 00 00 00
50 A.8: IGN in ON or START, A.6: key inserted, other bits TODO d0 40 c0 00 00
51 A.8: IGN in ON or START, A.7: brake pedal depressed (braking light on), other bits TODO 80 00 00 00 00
54 A.6: blower fan on, A.5: TODO, A.2,1: TODO (1 after engine stopped, 2 when running?), B.8-1: might be coolant temperature, C.8-1 might be battery voltage, E.8-1: engine revolutions / RPMs, F.8-1 might be intake temperature, other bits TODO 81 53 9f 00 00 3a 00 00 00 00 00
82 TODO (Partially matches PID 82 on addresses 74d, 742) 32 4c 01 01 01 ff 01 00 ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff 01 ff ff ff ff ff ff ff ff ff ff ff 00
83 A.8-E.1: The second half of the part number, the whole of which is 284B2-BR02A in my case (as printed on the BCM box label), F.8-1: Diag ID, G.8-I.1: Supplier code, L.8-M.1: One of the BCM encrypted PINs printed on the BCM box label, J.8-N.1: Hardware ID?, O.8-P.1: Software ID?, Q.8-R.1: Edition ID, S.8-T.1: Calibration ID?, Y.8-1: Manufacture date? 42 52 30 32 41 45 44 03 17 00 05 03 68 01 11 00 00 00 00 00 00 00 00 80 (ascii BR02AED)
90 TODO 0b b8 (3000)
91 TODO 03 e8 (1000)
92 TODO 05
94 TODO 00

Other ECUs non-standard service 21 PIDs

These are some manufacturer-specific service 21 PID/LIDs that can be queried for ECU information. They're read in the same way as services 01 and 09 but there are no supported PID bitmasks for the LIDs after 0x80. SID 0x21 is known as "Read Data by Local Identifier" in some protocols.

Address 7e0 (Engine ECU / ECM / ECMD?) LIDs:

PID Name Captured value
80 42 42 33 36 41 46 34 42 45 30 36 36 39 52 00 f4 31 0e e6 a1 01 01 01 88 (ascii BB36AF4BE0669R)
81 VIN 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
82 95 03 00 00 00 00 00 00 ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff 00 ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff
84 34 42 45 46 31 33 30 32 31 33 35 31 33 30 35 32 31 20 20 20 (ascii 4BEF1302135130521)
a3 (Present on some ECUs) Reportedly EGR valve feedback loop setpoint 0.01220703% and mass airflow
a5 (Present on some ECUs) Reportedly per cylinder fuel flow adjustments
ac (Present on some ECUs) Reportedly DPF status -- soot content before/after regeneration, distance since last change, odometer snapshot from last regeneration and time since last regeneration
ac (Present on some ECUs) Reportedly turbo status, pressure differential
ae (Present on some ECUs) Reportedly diesel fuel water content detection
f0 Product Number long 33 36 31 30 52 46 34 42 45 30 36 36 39 52 00 f4 31 00 00 00 01 01 00 88 (ascii 3610RF4BE0669R)
f1 30 30 30 30 30 46 46 4f 49 58 20 20 20 20 20 00 13 02 13 01 58 5c e5 63 (ascii 00000FFOIX)
fc 33 36 31 30 52 46 34 42 45 30 36 36 39 52 00 f4 31 00 00 00 01 01 00 88 (ascii 3610RF4BE0669R)
fd 30 30 30 30 30 46 46 4f 49 58 20 20 20 20 20 00 13 02 13 01 58 5c e5 63 (ascii 00000FFOIX)
fe Product Number 42 42 33 36 41 46 34 42 45 30 36 36 39 52 00 f4 31 0e e6 a1 02 01 00 88 (ascii BB36AF4BE0669R)
ff HW Number 42 42 33 31 41 4e 4d 55 4b 00 45 4f 4c 50 47 01 13 02 26 13 22 5c b8 12 (ascii BB31ANMUK EOLPG)

Address 74d (IPDM-E/R or BCM?) LIDs:

PID Name Captured value
00 Supported PIDs 01-1f bitmask c0 01 00 00
01 d5 00 00 00 00
02 f0 40 27 c3 00 bc 05 d8 04
10 2f 30 ff 0f 32 00 be 9d 00 cc 01 00 00 00 00 00 00 f0
82 (Partially matches PID 82 on addresses 745, 742) 32 4c ff 01 01 ff ff 01 ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff 00 ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff
83 A.8-E.1: The second half of the part number, F.8-1: Diag ID, G.8-I.1: Supplier code?, J.8-N.1: Hardware ID?, O.8-P.1: Software ID?, Q.8-R.1: Edition ID, S.8-T.1: Calibration ID?, Y.8-1: Manufacture date? 4a 44 30 32 44 0d 44 08 07 00 00 00 00 00 76 35 2e 30 72 31 00 00 00 80 (ascii JD02D v5.0r1)
91 0f 0a 14 0a 02
93 78 9e 28 03 7c 06 02 13 3b 00 00 00 00 00 00 00 00 00 00 00
95 00
97 00

Address 742 (EPS?) LIDs -- requires diagnostic session 0xc0:

PID Name Captured value
00 Supported PIDs 01-1f bitmask c4 00 00 00
01 0b f8 03 00 00 00 00 00 00 00 43 64 00 00 80 00 00 44 00 00 00
02 01
06 94 94 94 94 94 a2 a2 a2 a2 a2 a2
82 (Partially matches PID 82 on addresses 745, 74d) 32 4c 01 00 01 00 01 00 ff ff ff ff ff ff ff ff ff ff ff ff ff 00 ff ff ff ff ff ff
83 A.8-E.1: The second half of the part number, F.8-1: Diag ID, G.8-I.1: Supplier code?, J.8-N.1: Hardware ID?, O.8-P.1: Software ID?, Q.8-R.1: Edition ID, S.8-T.1: Calibration ID?, Y.8-1: Manufacture date? 42 52 30 31 44 42 41 05 02 39 43 30 31 35 87 00 00 00 01 01 00 00 00 80 (ascii BR01DBA 9C015)
84 31 36 33 33 32 31 38 32 34 37 ff ff ff ff ff ff ff ff ff ff (ascii 1633218247)

Address 743 (Instrument cluster/Odometer) LIDs:

PID Name Captured value
00 Supported PIDs 01-1f bitmask e0 00 00 00
01 Bytes 4-5 and 6-7: speedometer, bytes 8-10: odometer, bytes 11-12: engine RPMs (0.125 RPM unit), byte 13: fuel level in litres?, byte 14: engine coolant temperature - 6d middle of gauge, 5b bottom, bytes 17,18,33: dashboard lights, byte 17 bit 7: ESP/TCS off, bit 5: change oil?, bit 4: any door open, byte 33 bit 8: handbrake, bit 4: driver seatbelt undone, byte 38: outside temperature in °C offset by 40 °C, byte 63: cruise control state - 10 - speed limiter engaged, 20 - setting limit speed, 50 - setting cruise speed, byte 64: cruise control speed setpoint - fe when unset 00 00 00 00 00 00 00 01 fd ec 00 00 33 45 00 00 10 0c 00 00 40 00 00 00 00 00 00 00 00 00 00 00 98 00 01 1e a0 2f 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 fe 00 00 41 c8 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
02 fc fb fe 00 20 80 00 10 00 00 00 00 02 9a 07 e0 80 00 00 00 00 00 e4 00 00 00 00 00
03 03 03 03 00 ff ff 00 00 27 ff ff ff ff ff ff ff ff ff ff 27 ff ff ff ff ff 00 ff ff ff ff ff ff ff ff ff ff 00 ff ff ff ff ff ff ff ff ff ff ff 27 ff ff ff ff ff
82 00 00 ff ff 01 00 00 00 ff ff ff ff ff ff ff ff ff ff ff ff ff 00 ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff
83 A.8-E.1: The second half of the part number, F.8-1: Diag ID?, G.8-I.1: Supplier code?, J.8-N.1: Hardware ID?, O.8-P.1: Software ID?, Q.8-R.1: Edition ID, S.8-T.1: Calibration ID?, Y.8-1: Manufacture date? 42 52 35 30 45 14 46 02 18 01 06 06 08 06 00 01 00 16 00 01 ff ff ff 80 (ascii BR50E)
f0 Product Number long 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
f1 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
fe Product Number 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
ff HW Number 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00

Non-standard service 0x23 (ROM dump)

Apparently the Engine ECU (address 7e0) and the BCM (address 745) implement service 0x23 but I've been unable to get any data out of them so far. SID 0x23 is known as "Read Memory by Address" in some procotols. The message syntax is as described in this blog post, i.e. the command consists of the length byte (07), the Service ID (23), the 32-bit big-endian read start address and the 16-bit big-endian number of bytes to read, e.g. 07 23 00 00 12 34 00 3f to request 63 bytes starting at memory address 0x1234. The command returns error 0x7f if attempted in the normal session mode. In that (370Z-specific) blog post those commands are executed in the 0xfb session (elevatedDiagSession) but that mode is not supported on the J10 Qashqai. However, executing the command in session 0xc0 mode (startDiagSession) resolves the 0x7f error and instead error 0x12 (subFunctionNotSupported-invalidFormat) is then returned. In session 0x85 error 0x11 is returned. More research needed.

TO DO

Write the DBC file for the periodic messages and the information PID queries perhaps using the free online editor.

Find out a message combination to stop the engine, perhaps by imitating the periodic messages.

Data available on some cars but not available on Nissan Qashqai J10 or yet to be decoded:

  • Fuel level
  • Outside temperature
  • Outside brightness level (bright/dark, from the Light & Rain sensor)
  • Seatbelt status and occupancy sensor status other than driver
  • Car VIN
  • Current time and/or date
  • Current GPS lat/lon/number of satellites

About

CAN frame decoding on a Nissan Qashqai

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

  • C 71.9%
  • Python 28.1%