ECU diagnostic CAN addresses

From BigJimny Wiki
Jump to navigation Jump to search

Support this project: The information on this page is free, but it took a lot of work to gather, test and write up. If it has been useful to you, you can say thanks with a donation at buymeacoffee.com/bigjimny.

Suzuki Jimny JB74 - CAN bus devices and the commands they answer

Status: work in progress. This page lists every module that answered on the OBD socket (DLC) of one RHD UK-market 2021 Jimny, its request and reply CAN IDs, and the diagnostic commands seen so far. Many sections are short because only identification and fault-code requests have been captured. See OBD2 Diagnostics reading project for how the captures were made and for the TPMS data in detail.

How to read this page

  • All IDs are 11-bit CAN IDs on the OBD socket (pins 6 and 14, 500 kbit/s). The "request ID" is the header a tool sends to; the "reply ID" is where the module answers.
  • Commands are shown as the payload bytes in hex, without the ISO-TP length byte. Replies longer than 7 bytes are sent as several frames; the tables show them reassembled.
  • KWP-style modules use services such as 1A (read ECU identification) and 18 (read DTCs by status). UDS-style modules use 22 (read data by identifier) and 19 (read DTCs).
  • The reply ID is not always the request ID plus 8: the engine is +0x08, the 0x261 to 0x274 group is +0x400, and all others are +0x10.
  • Identification strings are ASCII Suzuki part numbers. The first one in each module (1A 8E or 22 F1 01) has no trailing character; the second (1A 8A or 22 F1 88) ends in *. They do not always equal the number printed on the module's label.
  • Commands marked captured were seen in a trace. Nothing here has been sent to a module by us except the TPMS requests.

Example usage

This example reads the TPMS controller (request ID 0x798) with an ELM327 adapter in a terminal app. Use a terminal that sends a carriage return (CR) at the end of each line, with the ignition on. Send the commands one at a time and wait for OK after each.

Command Purpose
ATZ Reset the adapter (prints the adapter version, not OK)
ATSP6 Use protocol 6: ISO 15765-4, 11-bit CAN, 500 kbit/s
ATSH798 Send requests to the TPMS controller (see device table above)
ATS0 No spaces in the reply (stops one clone adapter overflowing its buffer)
ATL0 No line feeds in the reply
ATFCSH798 Send flow-control frames to 0x798 (see device table above)
ATFCSD300000 Flow-control data 30 00 00: continue, send all frames, no delay
ATFCSM1 Use the custom flow-control header and data above
2100 Request the sensor data block (service 0x21, identifier 0x00) ( see device specific tables below)

Example reply (generic ELM327 clone, ignition on, engine off):

2100
066
0:610075010000
1:0000000000004E
2:AA094310397901
3:4900DD91B52520
4:3B880149004EAA
5:0319183C830249
6:004EAA09C9083C
7:83024900000000
8:004EAA09434EAA
9:09434EAA09434E
A:AA094373737373
B:7D7D7D7D000000
C:00000000000000
D:00000030222202
E:01801700000000

Reading the reply:

  • 066 is the total length in hex: 0x66 = 102 bytes. The lines 0: to E: carry those bytes in order.
  • The data starts 61 00 (positive reply to 21 00). The next byte, 75 = 117, probably tracks system voltage (about 11.7 V, unconfirmed).
  • Each wheel has a 10-byte record. Byte +6 of the record is the pressure; bar = raw x 0.01372.
Wheel Record (hex) Byte +6 Raw Pressure
Front left 4E AA 09 43 10 39 79 01 49 00 79 121 1.66 bar
Rear left DD 91 B5 25 20 3B 88 01 49 00 88 136 1.87 bar
Rear right 4E AA 03 19 18 3C 83 02 49 00 83 131 1.80 bar
Front right 4E AA 09 C9 08 3C 83 02 49 00 83 131 1.80 bar

Notes:

  • The sensor IDs, and the byte values, are from one car. Your IDs will differ, and the values change with pressure and temperature.
  • ATSH and the ATFC settings last until the adapter is reset (ATZ) or loses power, so send them again after either.
  • Without the ATFC lines, the clone adapter used here returned only the first line (610075010000).
  • If the terminal prints NO DATA, check the ignition is on, that no other app is connected to the adapter, and that ATSH798 was sent after the last reset.

Device table

Request ID Reply ID Style Module Identification reply (first / second) How the module was identified
0x7E0 0x7E8 KWP ECM 33980-78R0 / 33980-78RC* Standard engine address
0x261 0x661 KWP ABS (inferred) 56100-77RA / 56100-78RF* Only brake module left by elimination
0x263 0x663 KWP EPS controller 38720-77R0 / 38720-77R0* Parts catalogue (38720-77R01)
0x271 0x671 KWP Body control module 36775-77R0 / 36775-77RC* Parts catalogue (36775-77RC2 to RC4)
0x274 0x674 KWP Instrument cluster 34100-78R0 / 34110-78RD* Rev counter sweep test
0x798 0x7A8 KWP TPMS controller 37160-61M0 / 37120-78R0* Label (Model No. P61M0) and parts catalogue
0x79A 0x7AA KWP Combination switch (lighting and turn) 37210-74PA / 37210-74PE* Parts catalogue (37210-74PE2)
0x778 0x788 KWP Dual sensor brake support (inferred) 33990-52R0 / 33990-78R8* By elimination
0x793 0x7A3 UDS Airbag (SRS) controller 38910-77R0 / 38910-78RC* Parts catalogue (38910-78RC0)
0x772 0x782 UDS 4WD shift controller 38885-77R0 / 38885-78R0* Parts catalogue (38885-78R01)
0x799 0x7A9 UDS E-call controller 38960-78RA / 38960-78RA* Parts catalogue (38960-78RA0, RA1)
0x751 0x761 UDS Central gateway 33580-79R0 / 33580-78R0* Label (33580-79R01) and parts catalogue

Two more addresses, 0x273 and 0x262, were probed by the scan tool and did not answer.

The names marked "inferred" are guesses from elimination and part-number series, not confirmed by a label or test.

0x7E0 ECM

Models: JB74 (2018+, tested on 2021) — untested on: JB64, JC74, JB43

Request 0x7E0, reply 0x7E8. This is the standard OBD engine address, so standard mode 01 PIDs should be available here, but none were captured.

Request Reply Meaning
3E 7E Tester present (captured)
1A 8E 5A 8E + ASCII 33980-78R0 ECU identification (captured)
1A 8A 5A 8A + ASCII 33980-78RC* ECU identification (captured)
18 00 FF 00 58 00 Read DTCs by status: none stored (captured)

0x261 ABS (inferred)

Models: JB74 (2018+, tested on 2021) — untested on: JB64, JC74, JB43

Request 0x261, reply 0x661. The name is inferred: this is the only brake module left in the scan report after the others were matched, and 56100 looks like a brake part-number series. Not confirmed.

Request Reply Meaning
3E 7E Tester present (captured)
1A 8E 5A 8E + ASCII 56100-77RA ECU identification (captured)
1A 8A 5A 8A + ASCII 56100-78RF* ECU identification (captured)
18 00 FF 00 58 00 DTCs: none stored (captured)

0x263 EPS controller

Models: JB74 (2018+, tested on 2021) — untested on: JB64, JC74, JB43

Request 0x263, reply 0x663. Matches parts catalogue entry 38720-77R01 (EPS controller).

Request Reply Meaning
3E 7E Tester present (captured)
1A 8E 5A 8E + ASCII 38720-77R0 ECU identification (captured)
1A 8A 5A 8A + ASCII 38720-77R0* ECU identification (captured)
18 00 FF 00 58 00 DTCs: none stored (captured)

0x271 Body control module

Models: JB74 (2018+, tested on 2021) — untested on: JB64, JC74, JB43

Request 0x271, reply 0x671. Matches parts catalogue entries 36775-77RC2 to RC4 (body control module, RHD).

Request Reply Meaning
3E 7E Tester present (captured)
1A 8E 5A 8E + ASCII 36775-77R0 ECU identification (captured)
1A 8A 5A 8A + ASCII 36775-77RC* ECU identification (captured)
18 00 FF 00 58 00 DTCs: none stored (captured)

0x274 Instrument cluster

Models: JB74 (2018+, tested on 2021) — untested on: JB64, JC74, JB43

Request 0x274, reply 0x674. Confirmed by the rev counter sweep test.

Request Reply Meaning
3E or 3E 00 7E Tester present, about every 2.15 s during the sweep test (captured)
1A 8E 5A 8E + ASCII 34100-78R0 ECU identification (captured)
1A 8A 5A 8A + ASCII 34110-78RD* (last byte of the reply is 06) ECU identification (captured)
18 00 FF 00 58 00 DTCs: none stored (captured)
30 01 07 80 40 00 00 70 01 07 Starts the rev counter sweep (service 0x30, local ID 01, "short-term adjustment"). The cluster then sweeps up and down by itself (captured)
30 01 07 80 00 00 00 7F 30 22 Refused ("conditions not correct"). Possibly a stop request sent after the sweep had finished (captured)

The meaning of the four control bytes (80 40 00 00) is not known. Other output tests (gauges, warning lights) have not been captured.

0x798 TPMS controller

Models: JB74 (2018+, tested on 2021) — untested on: JB64, JC74, JB43

Request 0x798, reply 0x7A8. The label on the module reads 37160-78R00, "BASE ASSY-TPMS", Model No. P61M0 (Continental A2C13930301, 433.92 MHz). The full data layout, calibration and app setups are on OBD2 Diagnostics reading project.

Request Reply Meaning
3E 7E Tester present (captured)
1A 8E 5A 8E + ASCII 37160-61M0 ECU identification; matches Model No. P61M0 on the label (captured)
1A 8A 5A 8A + ASCII 37120-78R0* ECU identification (captured)
18 00 FF 00 58 00 (no codes) or 58 01 9A 31 20 (one code) DTCs by status. The code 9A 31 is probably the left front low pressure warning (inferred). The status byte was 20 in the full scan and E0 in earlier captures (captured)
21 00 61 00 + 100 bytes Sensor data block: four sensor records with ID, temperature-like value and pressure. The scan tool repeats it about twice a second (captured, decoded)

ELM327 setup that works for 21 00: ATSH798, ATS0, ATL0, ATFCSH798, ATFCSD300000, ATFCSM1, then 2100.

0x79A Combination switch (lighting and turn)

Models: JB74 (2018+, tested on 2021) — untested on: JB64, JC74, JB43

Request 0x79A, reply 0x7AA. Matches parts catalogue entry 37210-74PE2 (switch assembly, lighting and turn, RHD).

Request Reply Meaning
3E 7E Tester present (captured)
1A 8E 5A 8E + ASCII 37210-74PA ECU identification (captured)
1A 8A 5A 8A + ASCII 37210-74PE* ECU identification (captured)
18 00 FF 00 58 00 DTCs: none stored (captured)

0x778 Dual sensor brake support (inferred)

Models: JB74 (2018+, tested on 2021) — untested on: JB64, JC74, JB43

Request 0x778, reply 0x788. The name is inferred by elimination (the scan report's last unassigned module). Not confirmed.

Request Reply Meaning
3E 7E Tester present (captured)
1A 8E 5A 8E + ASCII 33990-52R0 ECU identification (captured)
1A 8A 5A 8A + ASCII 33990-78R8* ECU identification (captured)
18 00 FF 00 58 00 DTCs: none stored (captured)

0x793 Airbag (SRS) controller

Models: JB74 (2018+, tested on 2021) — untested on: JB64, JC74, JB43

Request 0x793, reply 0x7A3. Matches parts catalogue entry 38910-78RC0 (airbag controller, VAN).

Request Reply Meaning
3E 00 7E 00 Tester present (captured)
22 F1 01 62 F1 01 + ASCII 38910-77R0 Identification (captured)
22 F1 88 62 F1 88 + ASCII 38910-78RC* Identification (captured)
19 02 FF 59 02 4B DTCs by status mask: none stored (captured)

0x772 4WD shift controller

Models: JB74 (2018+, tested on 2021) — untested on: JB64, JC74, JB43

Request 0x772, reply 0x782. Matches parts catalogue entry 38885-78R01 (4WD shift controller).

Request Reply Meaning
3E 7F 3E 13 Refused: incorrect message length. Sent four times by the scan tool (captured)
3E 01 7F 3E 12 Refused: sub-function not supported. Sent four times (captured)
3E 00 7E 00 Tester present (captured)
22 F1 01 62 F1 01 + ASCII 38885-77R0 Identification (captured)
22 F1 88 62 F1 88 + ASCII 38885-78R0* Identification (captured)
19 02 FF 59 02 4B DTCs by status mask: none stored (captured)

The scan tool tried the KWP-style 3E first and fell back to the UDS form 3E 00.

0x799 E-call controller

Models: JB74 (2018+, tested on 2021) — untested on: JB64, JC74, JB43

Request 0x799, reply 0x7A9. Matches parts catalogue entries 38960-78RA0 and RA1 (E-call controller).

Request Reply Meaning
3E 7F 3E 13 Refused: incorrect message length. Sent four times (captured)
3E 01 7F 3E 12 Refused: sub-function not supported. Sent four times (captured)
3E 00 7E 00 Tester present (captured)
22 F1 01 62 F1 01 + ASCII 38960-78RA Identification (captured)
22 F1 88 62 F1 88 + ASCII 38960-78RA* Identification (captured)
19 02 FF 59 02 4B 92 4E 00 02 One stored code record: 92 4E 00, status 02. The Launch report does not list it and its meaning is not known (captured)

0x751 Central gateway

Models: JB74 (2018+, tested on 2021) — untested on: JB64, JC74, JB43

Request 0x751, reply 0x761. The label on the module reads 33580-79R01.

Request Reply Meaning
3E 00 7E 00 Tester present (captured)
22 F1 01 62 F1 01 + ASCII 33580-79R0 Identification (captured)
22 F1 88 62 F1 88 + ASCII 33580-78R0* Identification (captured)
19 02 FF 59 02 4B DTCs by status mask: none stored (captured)

The gateway sits between the OBD socket and the vehicle CAN bus. Whether it forwards requests to the other modules unchanged is not confirmed.

Addresses probed with no reply

The scan tool sent tester-present (3E) about eight times each to 0x273 and 0x262 and received nothing from the expected reply IDs (0x673 and 0x662). They are probably modules this car does not have, such as an automatic transmission or auto-levelling controller. This is a guess.

ELM327 notes

  • Only 0x798 has been tested with an ELM327. For other modules, set ATSH to the request ID and ATFCSH to the same ID, and you may need ATCRA with the reply ID, because the reply is not always the request ID plus 8. This is untested.
  • Replies from the 0x7xx modules are multi-frame for the identification strings, so the flow-control settings from the TPMS section probably apply there too. Untested.
  • Do not send output-control commands (service 30 and similar) from a head-unit app while driving.

Sources

  • Owner PCAN-View captures of a Launch X431 CRP919 full health-check scan and rev counter sweep test, October 2026.
  • Suzuki Jimny parts catalogue 9900B-40312-004 (type 1, October 2021), figures 350A, 351A and 351B.
  • Labels on the TPMS controller and central gateway of the test car.