<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="en-GB">
	<id>https://www.bigjimny.com/mediawiki/api.php?action=feedcontributions&amp;feedformat=atom&amp;user=Mlines</id>
	<title>BigJimny Wiki - User contributions [en-gb]</title>
	<link rel="self" type="application/atom+xml" href="https://www.bigjimny.com/mediawiki/api.php?action=feedcontributions&amp;feedformat=atom&amp;user=Mlines"/>
	<link rel="alternate" type="text/html" href="https://www.bigjimny.com/mediawiki/index.php/Special:Contributions/Mlines"/>
	<updated>2026-11-11T21:27:31Z</updated>
	<subtitle>User contributions</subtitle>
	<generator>MediaWiki 1.46.2</generator>
	<entry>
		<id>https://www.bigjimny.com/mediawiki/index.php?title=Transmission_gearing_ratios&amp;diff=10109</id>
		<title>Transmission gearing ratios</title>
		<link rel="alternate" type="text/html" href="https://www.bigjimny.com/mediawiki/index.php?title=Transmission_gearing_ratios&amp;diff=10109"/>
		<updated>2026-11-07T15:53:39Z</updated>

		<summary type="html">&lt;p&gt;Mlines: /* Jimny Gen4 (JB64, JB74,JC74 */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{intro-notes}}&lt;br /&gt;
&lt;br /&gt;
== Introduction ==&lt;br /&gt;
&lt;br /&gt;
{{Gen1|}}{{Gen2|}}{{Gen3|}}{{Gen4|}}&lt;br /&gt;
This article provides information on transmission ratios of the gearbox, transfer box and the differentials&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Note: For the tyre/road speed calculations, you can use your maths from school or a [https://www.4qd.co.uk/road-speed-calculator/ www.4qd.co.uk/road-speed-calculator/ web calculator];&lt;br /&gt;
&lt;br /&gt;
== Jimny gen2 ==&lt;br /&gt;
&lt;br /&gt;
{{Gen2|}}&lt;br /&gt;
&#039;&#039;Add info if you know it ...&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Jimny gen3 ==&lt;br /&gt;
&lt;br /&gt;
{{Gen3|}}&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; vertical-align:top;&lt;br /&gt;
!Date&lt;br /&gt;
!Country&lt;br /&gt;
!Engine&lt;br /&gt;
!Gearbox&lt;br /&gt;
!Gear 1&lt;br /&gt;
!Gear 2&lt;br /&gt;
!Gear 3&lt;br /&gt;
!Gear 4&lt;br /&gt;
!Gear 5&lt;br /&gt;
!Transfer Box&lt;br /&gt;
!High&lt;br /&gt;
!Low&lt;br /&gt;
!Final Drive&lt;br /&gt;
|-&lt;br /&gt;
|1998&lt;br /&gt;
|UK/EU&lt;br /&gt;
|G13B&lt;br /&gt;
|Manual&lt;br /&gt;
|3.652&lt;br /&gt;
|1.947&lt;br /&gt;
|1.423&lt;br /&gt;
|1.000&lt;br /&gt;
|0.864&lt;br /&gt;
|Manual&lt;br /&gt;
|1.320&lt;br /&gt;
|2.145&lt;br /&gt;
|3.909&lt;br /&gt;
|-&lt;br /&gt;
|1998&lt;br /&gt;
|UK/EU&lt;br /&gt;
|G13B&lt;br /&gt;
|Auto&lt;br /&gt;
|2.962&lt;br /&gt;
|1.515&lt;br /&gt;
|1.000&lt;br /&gt;
|0.738&lt;br /&gt;
|N/A&lt;br /&gt;
|Manual&lt;br /&gt;
|1.320&lt;br /&gt;
|2.145&lt;br /&gt;
|4.090&lt;br /&gt;
|-&lt;br /&gt;
|2001&lt;br /&gt;
|UK/EU&lt;br /&gt;
|M13A&lt;br /&gt;
|Manual&lt;br /&gt;
|&amp;lt;p style=&amp;quot;color: red&amp;quot;&amp;gt;3.652?&amp;lt;/p&amp;gt;&lt;br /&gt;
|&amp;lt;p style=&amp;quot;color: red&amp;quot;&amp;gt;1.947?&amp;lt;/p&amp;gt;&lt;br /&gt;
|&amp;lt;p style=&amp;quot;color: red&amp;quot;&amp;gt;1.423?&amp;lt;/p&amp;gt;&lt;br /&gt;
|1.00&lt;br /&gt;
|&amp;lt;p style=&amp;quot;color: red&amp;quot;&amp;gt;0.864?&amp;lt;/p&amp;gt;&lt;br /&gt;
|Manual&lt;br /&gt;
|1.32&lt;br /&gt;
|2.145&lt;br /&gt;
|3.909&lt;br /&gt;
|-&lt;br /&gt;
|2001&lt;br /&gt;
|UK/EU&lt;br /&gt;
|M13A&lt;br /&gt;
|Auto&lt;br /&gt;
|&amp;lt;p style=&amp;quot;color: red&amp;quot;&amp;gt;2.962?&amp;lt;/p&amp;gt;&lt;br /&gt;
|&amp;lt;p style=&amp;quot;color: red&amp;quot;&amp;gt;1.515?&amp;lt;/p&amp;gt;&lt;br /&gt;
|&amp;lt;p style=&amp;quot;color: red&amp;quot;&amp;gt;1.000?&amp;lt;/p&amp;gt;&lt;br /&gt;
|&amp;lt;p style=&amp;quot;color: red&amp;quot;&amp;gt;0.738?&amp;lt;/p&amp;gt;&lt;br /&gt;
|N/A&lt;br /&gt;
&lt;br /&gt;
|Manual&lt;br /&gt;
|1.32&lt;br /&gt;
|2.145&lt;br /&gt;
|4.090&lt;br /&gt;
|-&lt;br /&gt;
|2005+&lt;br /&gt;
|UK/EU&lt;br /&gt;
|M13AVVT&lt;br /&gt;
|Manual&lt;br /&gt;
|4.425&lt;br /&gt;
|2.304&lt;br /&gt;
|1.674&lt;br /&gt;
|1.190&lt;br /&gt;
|1.000&lt;br /&gt;
|Electric&lt;br /&gt;
|1.00&lt;br /&gt;
|2.002&lt;br /&gt;
|4.300&lt;br /&gt;
|-&lt;br /&gt;
|2005+&lt;br /&gt;
|UK/EU&lt;br /&gt;
|M13AVVT&lt;br /&gt;
|Auto&lt;br /&gt;
|2.875&lt;br /&gt;
|1.568&lt;br /&gt;
|1.000&lt;br /&gt;
|0.695&lt;br /&gt;
|N/A&lt;br /&gt;
|Electric&lt;br /&gt;
|1.32&lt;br /&gt;
|2.643&lt;br /&gt;
|4.090&lt;br /&gt;
|-&lt;br /&gt;
|2005+ &lt;br /&gt;
|EU&lt;br /&gt;
|K9K&lt;br /&gt;
|Manual&lt;br /&gt;
|4.246&lt;br /&gt;
|2.357&lt;br /&gt;
|1.695&lt;br /&gt;
|1.242&lt;br /&gt;
|1.00&lt;br /&gt;
|Electric&lt;br /&gt;
|1.00&lt;br /&gt;
|2.002&lt;br /&gt;
|3.416&lt;br /&gt;
|-&lt;br /&gt;
|2000&lt;br /&gt;
|JP&lt;br /&gt;
|K6A&lt;br /&gt;
|Manual&lt;br /&gt;
|4.031&lt;br /&gt;
|2.391&lt;br /&gt;
|1.513&lt;br /&gt;
|1.00&lt;br /&gt;
|0.790&lt;br /&gt;
|Manual&lt;br /&gt;
|1.320&lt;br /&gt;
|2.145&lt;br /&gt;
|5.375&lt;br /&gt;
|-&lt;br /&gt;
|2000&lt;br /&gt;
|JP&lt;br /&gt;
|K6A&lt;br /&gt;
|Auto&lt;br /&gt;
|2.902&lt;br /&gt;
|1.515&lt;br /&gt;
|1.00&lt;br /&gt;
|0.736&lt;br /&gt;
|N/A&lt;br /&gt;
|Manual&lt;br /&gt;
|1.320&lt;br /&gt;
|2.145&lt;br /&gt;
|5.375&lt;br /&gt;
|-&lt;br /&gt;
|2010&lt;br /&gt;
|JP&lt;br /&gt;
|K6A&lt;br /&gt;
|Manual&lt;br /&gt;
|5.106&lt;br /&gt;
|3.107&lt;br /&gt;
|1.908&lt;br /&gt;
|1.254&lt;br /&gt;
|1.000&lt;br /&gt;
|Manual&lt;br /&gt;
|1.320&lt;br /&gt;
|2.643&lt;br /&gt;
|4.300&lt;br /&gt;
|-&lt;br /&gt;
|2010&lt;br /&gt;
|JP&lt;br /&gt;
|K6A&lt;br /&gt;
|Auto&lt;br /&gt;
|2.875&lt;br /&gt;
|1.568&lt;br /&gt;
|1.000&lt;br /&gt;
|0.696&lt;br /&gt;
|N/A&lt;br /&gt;
|Electric&lt;br /&gt;
|1.320&lt;br /&gt;
|2.643&lt;br /&gt;
|5.375&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Practical examples ===&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
See below for some practical examples.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;2005 VVT manual gearbox Jimny, engine at 4000 RPM and in 5th gear High Ratio, standard wheels&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
!&lt;br /&gt;
!Engine&lt;br /&gt;
!Gearbox&lt;br /&gt;
!Transfer Box&lt;br /&gt;
!Diff&lt;br /&gt;
!Wheel&lt;br /&gt;
|-&lt;br /&gt;
|&#039;&#039;&#039;Input&#039;&#039;&#039;&lt;br /&gt;
| --------&lt;br /&gt;
|&amp;lt;span style=&amp;quot;color:orange&amp;quot;&amp;gt;&#039;&#039;&#039;4000 RPM&#039;&#039;&#039;&amp;lt;/span&amp;gt;&lt;br /&gt;
|&amp;lt;span style=&amp;quot;color:green&amp;quot;&amp;gt;&#039;&#039;&#039;4000 RPM&#039;&#039;&#039;&amp;lt;/span&amp;gt;&lt;br /&gt;
|&amp;lt;span style=&amp;quot;color:blue&amp;quot;&amp;gt;&#039;&#039;&#039;4000 RPM&#039;&#039;&#039;&amp;lt;/span&amp;gt;&lt;br /&gt;
|&amp;lt;span style=&amp;quot;color:red&amp;quot;&amp;gt;&#039;&#039;&#039;465 RPM&#039;&#039;&#039;&amp;lt;/span&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
|&#039;&#039;&#039;Ratio&#039;&#039;&#039;&lt;br /&gt;
| --------&lt;br /&gt;
|1.000&lt;br /&gt;
|1.000&lt;br /&gt;
|4.300&lt;br /&gt;
|28&amp;quot; Tyre&lt;br /&gt;
|-&lt;br /&gt;
|&#039;&#039;&#039;Output&#039;&#039;&#039;&lt;br /&gt;
|&amp;lt;span style=&amp;quot;color:orange&amp;quot;&amp;gt;&#039;&#039;&#039;4000 RPM&#039;&#039;&#039;&amp;lt;/span&amp;gt;&lt;br /&gt;
|&amp;lt;span style=&amp;quot;color:green&amp;quot;&amp;gt;&#039;&#039;&#039;4000 RPM&#039;&#039;&#039;&amp;lt;/span&amp;gt;&lt;br /&gt;
|&amp;lt;span style=&amp;quot;color:blue&amp;quot;&amp;gt;&#039;&#039;&#039;4000 RPM&#039;&#039;&#039;&amp;lt;/span&amp;gt;&lt;br /&gt;
|&amp;lt;span style=&amp;quot;color:red&amp;quot;&amp;gt;&#039;&#039;&#039;465 RPM&#039;&#039;&#039;&amp;lt;/span&amp;gt;&lt;br /&gt;
|77.7 MPH&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
|}&#039;&#039;&#039;2001 M13A manual gearbox Jimny, engine at 3000 RPM and in 1st gear Low Ratio, 30&amp;quot; Tyres&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
!&lt;br /&gt;
!Engine&lt;br /&gt;
!Gearbox&lt;br /&gt;
!Transfer Box&lt;br /&gt;
!Diff&lt;br /&gt;
!Wheel&lt;br /&gt;
|-&lt;br /&gt;
|&#039;&#039;&#039;Input&#039;&#039;&#039;&lt;br /&gt;
| ------&lt;br /&gt;
|&amp;lt;span style=&amp;quot;color:orange&amp;quot;&amp;gt;&#039;&#039;&#039;3000 RPM&#039;&#039;&#039;&amp;lt;/span&amp;gt;&lt;br /&gt;
|&amp;lt;span style=&amp;quot;color:green&amp;quot;&amp;gt;&#039;&#039;&#039;821.4 RPM&#039;&#039;&#039;&amp;lt;/span&amp;gt;&lt;br /&gt;
|&amp;lt;span style=&amp;quot;color:blue&amp;quot;&amp;gt;&#039;&#039;&#039;382.9 RPM&#039;&#039;&#039;&amp;lt;/span&amp;gt;&lt;br /&gt;
|&amp;lt;span style=&amp;quot;color:red&amp;quot;&amp;gt;&#039;&#039;&#039;97.97 RPM&#039;&#039;&#039;&amp;lt;/span&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
|&#039;&#039;&#039;Ratio&#039;&#039;&#039;&lt;br /&gt;
| ------&lt;br /&gt;
|3.652&lt;br /&gt;
|2.145&lt;br /&gt;
|3.909&lt;br /&gt;
|30&amp;quot; Tyre&lt;br /&gt;
|-&lt;br /&gt;
|&#039;&#039;&#039;Output&#039;&#039;&#039;&lt;br /&gt;
|&amp;lt;span style=&amp;quot;color:orange&amp;quot;&amp;gt;&#039;&#039;&#039;3000 RPM&#039;&#039;&#039;&amp;lt;/span&amp;gt;&lt;br /&gt;
|&amp;lt;span style=&amp;quot;color:green&amp;quot;&amp;gt;&#039;&#039;&#039;821.4 RPM&#039;&#039;&#039;&amp;lt;/span&amp;gt;&lt;br /&gt;
|&amp;lt;span style=&amp;quot;color:blue&amp;quot;&amp;gt;&#039;&#039;&#039;382.9 RPM&#039;&#039;&#039;&amp;lt;/span&amp;gt;&lt;br /&gt;
|&amp;lt;span style=&amp;quot;color:red&amp;quot;&amp;gt;&#039;&#039;&#039;97.97 RPM&#039;&#039;&#039;&amp;lt;/span&amp;gt;&lt;br /&gt;
|8.7 MPH&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;2001 M13A manual gearbox Jimny, engine at 3000 RPM and in 1st gear Low Ratio, 30&amp;quot; Tyres &amp;lt;u&amp;gt;with Differential from later VVT&amp;lt;/u&amp;gt;&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
This shows an example of a modified diff with an increase reduction ratio&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
!&lt;br /&gt;
!Engine&lt;br /&gt;
!Gearbox&lt;br /&gt;
!Transfer Box&lt;br /&gt;
!Diff&lt;br /&gt;
!Wheel&lt;br /&gt;
|-&lt;br /&gt;
|&#039;&#039;&#039;Input&#039;&#039;&#039;&lt;br /&gt;
| ------&lt;br /&gt;
|&amp;lt;span style=&amp;quot;color:orange&amp;quot;&amp;gt;&#039;&#039;&#039;3000 RPM&#039;&#039;&#039;&amp;lt;/span&amp;gt;&lt;br /&gt;
|&amp;lt;span style=&amp;quot;color:green&amp;quot;&amp;gt;&#039;&#039;&#039;821.4 RPM&#039;&#039;&#039;&amp;lt;/span&amp;gt;&lt;br /&gt;
|&amp;lt;span style=&amp;quot;color:blue&amp;quot;&amp;gt;&#039;&#039;&#039;382.9 RPM&#039;&#039;&#039;&amp;lt;/span&amp;gt;&lt;br /&gt;
|&amp;lt;span style=&amp;quot;color:red&amp;quot;&amp;gt;&#039;&#039;&#039;89 RPM&#039;&#039;&#039;&amp;lt;/span&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
|&#039;&#039;&#039;Ratio&#039;&#039;&#039;&lt;br /&gt;
| ------&lt;br /&gt;
|3.652&lt;br /&gt;
|2.145&lt;br /&gt;
|4.3000&lt;br /&gt;
|30&amp;quot; Tyre&lt;br /&gt;
|-&lt;br /&gt;
|&#039;&#039;&#039;Output&#039;&#039;&#039;&lt;br /&gt;
|&amp;lt;span style=&amp;quot;color:orange&amp;quot;&amp;gt;&#039;&#039;&#039;3000 RPM&#039;&#039;&#039;&amp;lt;/span&amp;gt;&lt;br /&gt;
|&amp;lt;span style=&amp;quot;color:green&amp;quot;&amp;gt;&#039;&#039;&#039;821.4 RPM&#039;&#039;&#039;&amp;lt;/span&amp;gt;&lt;br /&gt;
|&amp;lt;span style=&amp;quot;color:blue&amp;quot;&amp;gt;&#039;&#039;&#039;382.9 RPM&#039;&#039;&#039;&amp;lt;/span&amp;gt;&lt;br /&gt;
|&amp;lt;span style=&amp;quot;color:red&amp;quot;&amp;gt;&#039;&#039;&#039;89 RPM&#039;&#039;&#039;&amp;lt;/span&amp;gt;&lt;br /&gt;
|7.9 MPH&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Jimny Gen4 (JB64, JB74,JC74) ==&lt;br /&gt;
&#039;&#039;&#039;Jimny (JB64, 3-door, Japan kei car)&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
!Date&lt;br /&gt;
!Country&lt;br /&gt;
!Engine&lt;br /&gt;
!Gearbox&lt;br /&gt;
!Gear 1&lt;br /&gt;
!Gear 2&lt;br /&gt;
!Gear 3&lt;br /&gt;
!Gear 4&lt;br /&gt;
!Gear 5&lt;br /&gt;
!Transfer Box&lt;br /&gt;
!High&lt;br /&gt;
!Low&lt;br /&gt;
!Final Drive&lt;br /&gt;
|-&lt;br /&gt;
|2018&lt;br /&gt;
|JP&lt;br /&gt;
|R06A&lt;br /&gt;
|Manual&lt;br /&gt;
|5.809&lt;br /&gt;
|3.433&lt;br /&gt;
|2.171&lt;br /&gt;
|1.354&lt;br /&gt;
|1.000&lt;br /&gt;
|Manual&lt;br /&gt;
|1.320&lt;br /&gt;
|2.643&lt;br /&gt;
|3.818&lt;br /&gt;
|-&lt;br /&gt;
|2018&lt;br /&gt;
|JP&lt;br /&gt;
|R06A&lt;br /&gt;
|Auto&lt;br /&gt;
|2.875&lt;br /&gt;
|1.568&lt;br /&gt;
|1.000&lt;br /&gt;
|0.696&lt;br /&gt;
|N/A&lt;br /&gt;
|Manual&lt;br /&gt;
|1.320&lt;br /&gt;
|2.643&lt;br /&gt;
|5.375&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
Reverse gear: 5.861 (Manual), 2.300 (Auto).&lt;br /&gt;
&lt;br /&gt;
Source: [https://www.suzuki.co.jp/car/jimny/asset/pdf/detail/detail.pdf Suzuki Japan Jimny specification sheet] (May 2026).&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Jimny (Sierra) (JB74, 3-door)&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; vertical-align:top;&lt;br /&gt;
!Date&lt;br /&gt;
!Country&lt;br /&gt;
!Engine&lt;br /&gt;
!Gearbox&lt;br /&gt;
!Gear 1&lt;br /&gt;
!Gear 2&lt;br /&gt;
!Gear 3&lt;br /&gt;
!Gear 4&lt;br /&gt;
!Gear 5&lt;br /&gt;
!Transfer Box&lt;br /&gt;
!High&lt;br /&gt;
!Low&lt;br /&gt;
!Final Drive&lt;br /&gt;
|-&lt;br /&gt;
|2019&lt;br /&gt;
|UK&lt;br /&gt;
|1.5&lt;br /&gt;
|Manual&lt;br /&gt;
|4.425&lt;br /&gt;
|2.304&lt;br /&gt;
|1.674&lt;br /&gt;
|1.190&lt;br /&gt;
|1&lt;br /&gt;
|Manual&lt;br /&gt;
|1&lt;br /&gt;
|2.002&lt;br /&gt;
|4.09&lt;br /&gt;
|-&lt;br /&gt;
|2019&lt;br /&gt;
|UK&lt;br /&gt;
|1.5&lt;br /&gt;
|Auto&lt;br /&gt;
|2.875&lt;br /&gt;
|1.568&lt;br /&gt;
|1&lt;br /&gt;
|0.696&lt;br /&gt;
|&lt;br /&gt;
|Manual&lt;br /&gt;
|1.320&lt;br /&gt;
|2.643&lt;br /&gt;
|4.3&lt;br /&gt;
|-&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Jimny Nomade (JC74, 5-door)&#039;&#039;&#039;&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
!Date&lt;br /&gt;
!Country&lt;br /&gt;
!Engine&lt;br /&gt;
!Gearbox&lt;br /&gt;
!Gear 1&lt;br /&gt;
!Gear 2&lt;br /&gt;
!Gear 3&lt;br /&gt;
!Gear 4&lt;br /&gt;
!Gear 5&lt;br /&gt;
!Transfer Box&lt;br /&gt;
!High&lt;br /&gt;
!Low&lt;br /&gt;
!Final Drive&lt;br /&gt;
|-&lt;br /&gt;
|2025&lt;br /&gt;
|JP&lt;br /&gt;
|K15B&lt;br /&gt;
|Manual&lt;br /&gt;
|4.425&lt;br /&gt;
|2.304&lt;br /&gt;
|1.674&lt;br /&gt;
|1.190&lt;br /&gt;
|1.000&lt;br /&gt;
|Manual&lt;br /&gt;
|1.000&lt;br /&gt;
|2.002&lt;br /&gt;
|4.090&lt;br /&gt;
|-&lt;br /&gt;
|2025&lt;br /&gt;
|JP&lt;br /&gt;
|K15B&lt;br /&gt;
|Auto&lt;br /&gt;
|2.875&lt;br /&gt;
|1.568&lt;br /&gt;
|1.000&lt;br /&gt;
|0.696&lt;br /&gt;
|N/A&lt;br /&gt;
|Manual&lt;br /&gt;
|1.320&lt;br /&gt;
|2.643&lt;br /&gt;
|4.300&lt;br /&gt;
|}&lt;br /&gt;
Reverse gear: 5.151 (Manual), 2.300 (Auto).&lt;br /&gt;
Source: [https://www.suzuki.co.jp/car/jimny_nomade/asset/pdf/detail/detail.pdf Suzuki Japan Jimny Nomade specification sheet] (May 2026).&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
{{Edited}}&lt;br /&gt;
&lt;br /&gt;
[[Category:Drivechain - gen2]]&lt;br /&gt;
[[Category:Reference Data - gen2]]&lt;br /&gt;
&lt;br /&gt;
[[Category:Drivechain - gen3]]&lt;br /&gt;
[[Category:Reference Data - gen3]]&lt;br /&gt;
&lt;br /&gt;
[[Category:Drivechain - gen4]]&lt;br /&gt;
[[Category:Reference Data - gen4]]&lt;/div&gt;</summary>
		<author><name>Mlines</name></author>
	</entry>
	<entry>
		<id>https://www.bigjimny.com/mediawiki/index.php?title=Transmission_gearing_ratios&amp;diff=10108</id>
		<title>Transmission gearing ratios</title>
		<link rel="alternate" type="text/html" href="https://www.bigjimny.com/mediawiki/index.php?title=Transmission_gearing_ratios&amp;diff=10108"/>
		<updated>2026-11-07T15:52:05Z</updated>

		<summary type="html">&lt;p&gt;Mlines: /* Introduction */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{intro-notes}}&lt;br /&gt;
&lt;br /&gt;
== Introduction ==&lt;br /&gt;
&lt;br /&gt;
{{Gen1|}}{{Gen2|}}{{Gen3|}}{{Gen4|}}&lt;br /&gt;
This article provides information on transmission ratios of the gearbox, transfer box and the differentials&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Note: For the tyre/road speed calculations, you can use your maths from school or a [https://www.4qd.co.uk/road-speed-calculator/ www.4qd.co.uk/road-speed-calculator/ web calculator];&lt;br /&gt;
&lt;br /&gt;
== Jimny gen2 ==&lt;br /&gt;
&lt;br /&gt;
{{Gen2|}}&lt;br /&gt;
&#039;&#039;Add info if you know it ...&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Jimny gen3 ==&lt;br /&gt;
&lt;br /&gt;
{{Gen3|}}&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; vertical-align:top;&lt;br /&gt;
!Date&lt;br /&gt;
!Country&lt;br /&gt;
!Engine&lt;br /&gt;
!Gearbox&lt;br /&gt;
!Gear 1&lt;br /&gt;
!Gear 2&lt;br /&gt;
!Gear 3&lt;br /&gt;
!Gear 4&lt;br /&gt;
!Gear 5&lt;br /&gt;
!Transfer Box&lt;br /&gt;
!High&lt;br /&gt;
!Low&lt;br /&gt;
!Final Drive&lt;br /&gt;
|-&lt;br /&gt;
|1998&lt;br /&gt;
|UK/EU&lt;br /&gt;
|G13B&lt;br /&gt;
|Manual&lt;br /&gt;
|3.652&lt;br /&gt;
|1.947&lt;br /&gt;
|1.423&lt;br /&gt;
|1.000&lt;br /&gt;
|0.864&lt;br /&gt;
|Manual&lt;br /&gt;
|1.320&lt;br /&gt;
|2.145&lt;br /&gt;
|3.909&lt;br /&gt;
|-&lt;br /&gt;
|1998&lt;br /&gt;
|UK/EU&lt;br /&gt;
|G13B&lt;br /&gt;
|Auto&lt;br /&gt;
|2.962&lt;br /&gt;
|1.515&lt;br /&gt;
|1.000&lt;br /&gt;
|0.738&lt;br /&gt;
|N/A&lt;br /&gt;
|Manual&lt;br /&gt;
|1.320&lt;br /&gt;
|2.145&lt;br /&gt;
|4.090&lt;br /&gt;
|-&lt;br /&gt;
|2001&lt;br /&gt;
|UK/EU&lt;br /&gt;
|M13A&lt;br /&gt;
|Manual&lt;br /&gt;
|&amp;lt;p style=&amp;quot;color: red&amp;quot;&amp;gt;3.652?&amp;lt;/p&amp;gt;&lt;br /&gt;
|&amp;lt;p style=&amp;quot;color: red&amp;quot;&amp;gt;1.947?&amp;lt;/p&amp;gt;&lt;br /&gt;
|&amp;lt;p style=&amp;quot;color: red&amp;quot;&amp;gt;1.423?&amp;lt;/p&amp;gt;&lt;br /&gt;
|1.00&lt;br /&gt;
|&amp;lt;p style=&amp;quot;color: red&amp;quot;&amp;gt;0.864?&amp;lt;/p&amp;gt;&lt;br /&gt;
|Manual&lt;br /&gt;
|1.32&lt;br /&gt;
|2.145&lt;br /&gt;
|3.909&lt;br /&gt;
|-&lt;br /&gt;
|2001&lt;br /&gt;
|UK/EU&lt;br /&gt;
|M13A&lt;br /&gt;
|Auto&lt;br /&gt;
|&amp;lt;p style=&amp;quot;color: red&amp;quot;&amp;gt;2.962?&amp;lt;/p&amp;gt;&lt;br /&gt;
|&amp;lt;p style=&amp;quot;color: red&amp;quot;&amp;gt;1.515?&amp;lt;/p&amp;gt;&lt;br /&gt;
|&amp;lt;p style=&amp;quot;color: red&amp;quot;&amp;gt;1.000?&amp;lt;/p&amp;gt;&lt;br /&gt;
|&amp;lt;p style=&amp;quot;color: red&amp;quot;&amp;gt;0.738?&amp;lt;/p&amp;gt;&lt;br /&gt;
|N/A&lt;br /&gt;
&lt;br /&gt;
|Manual&lt;br /&gt;
|1.32&lt;br /&gt;
|2.145&lt;br /&gt;
|4.090&lt;br /&gt;
|-&lt;br /&gt;
|2005+&lt;br /&gt;
|UK/EU&lt;br /&gt;
|M13AVVT&lt;br /&gt;
|Manual&lt;br /&gt;
|4.425&lt;br /&gt;
|2.304&lt;br /&gt;
|1.674&lt;br /&gt;
|1.190&lt;br /&gt;
|1.000&lt;br /&gt;
|Electric&lt;br /&gt;
|1.00&lt;br /&gt;
|2.002&lt;br /&gt;
|4.300&lt;br /&gt;
|-&lt;br /&gt;
|2005+&lt;br /&gt;
|UK/EU&lt;br /&gt;
|M13AVVT&lt;br /&gt;
|Auto&lt;br /&gt;
|2.875&lt;br /&gt;
|1.568&lt;br /&gt;
|1.000&lt;br /&gt;
|0.695&lt;br /&gt;
|N/A&lt;br /&gt;
|Electric&lt;br /&gt;
|1.32&lt;br /&gt;
|2.643&lt;br /&gt;
|4.090&lt;br /&gt;
|-&lt;br /&gt;
|2005+ &lt;br /&gt;
|EU&lt;br /&gt;
|K9K&lt;br /&gt;
|Manual&lt;br /&gt;
|4.246&lt;br /&gt;
|2.357&lt;br /&gt;
|1.695&lt;br /&gt;
|1.242&lt;br /&gt;
|1.00&lt;br /&gt;
|Electric&lt;br /&gt;
|1.00&lt;br /&gt;
|2.002&lt;br /&gt;
|3.416&lt;br /&gt;
|-&lt;br /&gt;
|2000&lt;br /&gt;
|JP&lt;br /&gt;
|K6A&lt;br /&gt;
|Manual&lt;br /&gt;
|4.031&lt;br /&gt;
|2.391&lt;br /&gt;
|1.513&lt;br /&gt;
|1.00&lt;br /&gt;
|0.790&lt;br /&gt;
|Manual&lt;br /&gt;
|1.320&lt;br /&gt;
|2.145&lt;br /&gt;
|5.375&lt;br /&gt;
|-&lt;br /&gt;
|2000&lt;br /&gt;
|JP&lt;br /&gt;
|K6A&lt;br /&gt;
|Auto&lt;br /&gt;
|2.902&lt;br /&gt;
|1.515&lt;br /&gt;
|1.00&lt;br /&gt;
|0.736&lt;br /&gt;
|N/A&lt;br /&gt;
|Manual&lt;br /&gt;
|1.320&lt;br /&gt;
|2.145&lt;br /&gt;
|5.375&lt;br /&gt;
|-&lt;br /&gt;
|2010&lt;br /&gt;
|JP&lt;br /&gt;
|K6A&lt;br /&gt;
|Manual&lt;br /&gt;
|5.106&lt;br /&gt;
|3.107&lt;br /&gt;
|1.908&lt;br /&gt;
|1.254&lt;br /&gt;
|1.000&lt;br /&gt;
|Manual&lt;br /&gt;
|1.320&lt;br /&gt;
|2.643&lt;br /&gt;
|4.300&lt;br /&gt;
|-&lt;br /&gt;
|2010&lt;br /&gt;
|JP&lt;br /&gt;
|K6A&lt;br /&gt;
|Auto&lt;br /&gt;
|2.875&lt;br /&gt;
|1.568&lt;br /&gt;
|1.000&lt;br /&gt;
|0.696&lt;br /&gt;
|N/A&lt;br /&gt;
|Electric&lt;br /&gt;
|1.320&lt;br /&gt;
|2.643&lt;br /&gt;
|5.375&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Practical examples ===&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
See below for some practical examples.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;2005 VVT manual gearbox Jimny, engine at 4000 RPM and in 5th gear High Ratio, standard wheels&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
!&lt;br /&gt;
!Engine&lt;br /&gt;
!Gearbox&lt;br /&gt;
!Transfer Box&lt;br /&gt;
!Diff&lt;br /&gt;
!Wheel&lt;br /&gt;
|-&lt;br /&gt;
|&#039;&#039;&#039;Input&#039;&#039;&#039;&lt;br /&gt;
| --------&lt;br /&gt;
|&amp;lt;span style=&amp;quot;color:orange&amp;quot;&amp;gt;&#039;&#039;&#039;4000 RPM&#039;&#039;&#039;&amp;lt;/span&amp;gt;&lt;br /&gt;
|&amp;lt;span style=&amp;quot;color:green&amp;quot;&amp;gt;&#039;&#039;&#039;4000 RPM&#039;&#039;&#039;&amp;lt;/span&amp;gt;&lt;br /&gt;
|&amp;lt;span style=&amp;quot;color:blue&amp;quot;&amp;gt;&#039;&#039;&#039;4000 RPM&#039;&#039;&#039;&amp;lt;/span&amp;gt;&lt;br /&gt;
|&amp;lt;span style=&amp;quot;color:red&amp;quot;&amp;gt;&#039;&#039;&#039;465 RPM&#039;&#039;&#039;&amp;lt;/span&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
|&#039;&#039;&#039;Ratio&#039;&#039;&#039;&lt;br /&gt;
| --------&lt;br /&gt;
|1.000&lt;br /&gt;
|1.000&lt;br /&gt;
|4.300&lt;br /&gt;
|28&amp;quot; Tyre&lt;br /&gt;
|-&lt;br /&gt;
|&#039;&#039;&#039;Output&#039;&#039;&#039;&lt;br /&gt;
|&amp;lt;span style=&amp;quot;color:orange&amp;quot;&amp;gt;&#039;&#039;&#039;4000 RPM&#039;&#039;&#039;&amp;lt;/span&amp;gt;&lt;br /&gt;
|&amp;lt;span style=&amp;quot;color:green&amp;quot;&amp;gt;&#039;&#039;&#039;4000 RPM&#039;&#039;&#039;&amp;lt;/span&amp;gt;&lt;br /&gt;
|&amp;lt;span style=&amp;quot;color:blue&amp;quot;&amp;gt;&#039;&#039;&#039;4000 RPM&#039;&#039;&#039;&amp;lt;/span&amp;gt;&lt;br /&gt;
|&amp;lt;span style=&amp;quot;color:red&amp;quot;&amp;gt;&#039;&#039;&#039;465 RPM&#039;&#039;&#039;&amp;lt;/span&amp;gt;&lt;br /&gt;
|77.7 MPH&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
|}&#039;&#039;&#039;2001 M13A manual gearbox Jimny, engine at 3000 RPM and in 1st gear Low Ratio, 30&amp;quot; Tyres&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
!&lt;br /&gt;
!Engine&lt;br /&gt;
!Gearbox&lt;br /&gt;
!Transfer Box&lt;br /&gt;
!Diff&lt;br /&gt;
!Wheel&lt;br /&gt;
|-&lt;br /&gt;
|&#039;&#039;&#039;Input&#039;&#039;&#039;&lt;br /&gt;
| ------&lt;br /&gt;
|&amp;lt;span style=&amp;quot;color:orange&amp;quot;&amp;gt;&#039;&#039;&#039;3000 RPM&#039;&#039;&#039;&amp;lt;/span&amp;gt;&lt;br /&gt;
|&amp;lt;span style=&amp;quot;color:green&amp;quot;&amp;gt;&#039;&#039;&#039;821.4 RPM&#039;&#039;&#039;&amp;lt;/span&amp;gt;&lt;br /&gt;
|&amp;lt;span style=&amp;quot;color:blue&amp;quot;&amp;gt;&#039;&#039;&#039;382.9 RPM&#039;&#039;&#039;&amp;lt;/span&amp;gt;&lt;br /&gt;
|&amp;lt;span style=&amp;quot;color:red&amp;quot;&amp;gt;&#039;&#039;&#039;97.97 RPM&#039;&#039;&#039;&amp;lt;/span&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
|&#039;&#039;&#039;Ratio&#039;&#039;&#039;&lt;br /&gt;
| ------&lt;br /&gt;
|3.652&lt;br /&gt;
|2.145&lt;br /&gt;
|3.909&lt;br /&gt;
|30&amp;quot; Tyre&lt;br /&gt;
|-&lt;br /&gt;
|&#039;&#039;&#039;Output&#039;&#039;&#039;&lt;br /&gt;
|&amp;lt;span style=&amp;quot;color:orange&amp;quot;&amp;gt;&#039;&#039;&#039;3000 RPM&#039;&#039;&#039;&amp;lt;/span&amp;gt;&lt;br /&gt;
|&amp;lt;span style=&amp;quot;color:green&amp;quot;&amp;gt;&#039;&#039;&#039;821.4 RPM&#039;&#039;&#039;&amp;lt;/span&amp;gt;&lt;br /&gt;
|&amp;lt;span style=&amp;quot;color:blue&amp;quot;&amp;gt;&#039;&#039;&#039;382.9 RPM&#039;&#039;&#039;&amp;lt;/span&amp;gt;&lt;br /&gt;
|&amp;lt;span style=&amp;quot;color:red&amp;quot;&amp;gt;&#039;&#039;&#039;97.97 RPM&#039;&#039;&#039;&amp;lt;/span&amp;gt;&lt;br /&gt;
|8.7 MPH&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;2001 M13A manual gearbox Jimny, engine at 3000 RPM and in 1st gear Low Ratio, 30&amp;quot; Tyres &amp;lt;u&amp;gt;with Differential from later VVT&amp;lt;/u&amp;gt;&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
This shows an example of a modified diff with an increase reduction ratio&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
!&lt;br /&gt;
!Engine&lt;br /&gt;
!Gearbox&lt;br /&gt;
!Transfer Box&lt;br /&gt;
!Diff&lt;br /&gt;
!Wheel&lt;br /&gt;
|-&lt;br /&gt;
|&#039;&#039;&#039;Input&#039;&#039;&#039;&lt;br /&gt;
| ------&lt;br /&gt;
|&amp;lt;span style=&amp;quot;color:orange&amp;quot;&amp;gt;&#039;&#039;&#039;3000 RPM&#039;&#039;&#039;&amp;lt;/span&amp;gt;&lt;br /&gt;
|&amp;lt;span style=&amp;quot;color:green&amp;quot;&amp;gt;&#039;&#039;&#039;821.4 RPM&#039;&#039;&#039;&amp;lt;/span&amp;gt;&lt;br /&gt;
|&amp;lt;span style=&amp;quot;color:blue&amp;quot;&amp;gt;&#039;&#039;&#039;382.9 RPM&#039;&#039;&#039;&amp;lt;/span&amp;gt;&lt;br /&gt;
|&amp;lt;span style=&amp;quot;color:red&amp;quot;&amp;gt;&#039;&#039;&#039;89 RPM&#039;&#039;&#039;&amp;lt;/span&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
|&#039;&#039;&#039;Ratio&#039;&#039;&#039;&lt;br /&gt;
| ------&lt;br /&gt;
|3.652&lt;br /&gt;
|2.145&lt;br /&gt;
|4.3000&lt;br /&gt;
|30&amp;quot; Tyre&lt;br /&gt;
|-&lt;br /&gt;
|&#039;&#039;&#039;Output&#039;&#039;&#039;&lt;br /&gt;
|&amp;lt;span style=&amp;quot;color:orange&amp;quot;&amp;gt;&#039;&#039;&#039;3000 RPM&#039;&#039;&#039;&amp;lt;/span&amp;gt;&lt;br /&gt;
|&amp;lt;span style=&amp;quot;color:green&amp;quot;&amp;gt;&#039;&#039;&#039;821.4 RPM&#039;&#039;&#039;&amp;lt;/span&amp;gt;&lt;br /&gt;
|&amp;lt;span style=&amp;quot;color:blue&amp;quot;&amp;gt;&#039;&#039;&#039;382.9 RPM&#039;&#039;&#039;&amp;lt;/span&amp;gt;&lt;br /&gt;
|&amp;lt;span style=&amp;quot;color:red&amp;quot;&amp;gt;&#039;&#039;&#039;89 RPM&#039;&#039;&#039;&amp;lt;/span&amp;gt;&lt;br /&gt;
|7.9 MPH&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Jimny Gen4 (JB64, JB74,JC74 ==&lt;br /&gt;
&#039;&#039;&#039;Jimny (JB64, 3-door, Japan kei car)&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
!Date&lt;br /&gt;
!Country&lt;br /&gt;
!Engine&lt;br /&gt;
!Gearbox&lt;br /&gt;
!Gear 1&lt;br /&gt;
!Gear 2&lt;br /&gt;
!Gear 3&lt;br /&gt;
!Gear 4&lt;br /&gt;
!Gear 5&lt;br /&gt;
!Transfer Box&lt;br /&gt;
!High&lt;br /&gt;
!Low&lt;br /&gt;
!Final Drive&lt;br /&gt;
|-&lt;br /&gt;
|2018&lt;br /&gt;
|JP&lt;br /&gt;
|R06A&lt;br /&gt;
|Manual&lt;br /&gt;
|5.809&lt;br /&gt;
|3.433&lt;br /&gt;
|2.171&lt;br /&gt;
|1.354&lt;br /&gt;
|1.000&lt;br /&gt;
|Manual&lt;br /&gt;
|1.320&lt;br /&gt;
|2.643&lt;br /&gt;
|3.818&lt;br /&gt;
|-&lt;br /&gt;
|2018&lt;br /&gt;
|JP&lt;br /&gt;
|R06A&lt;br /&gt;
|Auto&lt;br /&gt;
|2.875&lt;br /&gt;
|1.568&lt;br /&gt;
|1.000&lt;br /&gt;
|0.696&lt;br /&gt;
|N/A&lt;br /&gt;
|Manual&lt;br /&gt;
|1.320&lt;br /&gt;
|2.643&lt;br /&gt;
|5.375&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
Reverse gear: 5.861 (Manual), 2.300 (Auto).&lt;br /&gt;
&lt;br /&gt;
Source: [https://www.suzuki.co.jp/car/jimny/asset/pdf/detail/detail.pdf Suzuki Japan Jimny specification sheet] (May 2026).&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Jimny (Sierra) (JB74, 3-door)&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; vertical-align:top;&lt;br /&gt;
!Date&lt;br /&gt;
!Country&lt;br /&gt;
!Engine&lt;br /&gt;
!Gearbox&lt;br /&gt;
!Gear 1&lt;br /&gt;
!Gear 2&lt;br /&gt;
!Gear 3&lt;br /&gt;
!Gear 4&lt;br /&gt;
!Gear 5&lt;br /&gt;
!Transfer Box&lt;br /&gt;
!High&lt;br /&gt;
!Low&lt;br /&gt;
!Final Drive&lt;br /&gt;
|-&lt;br /&gt;
|2019&lt;br /&gt;
|UK&lt;br /&gt;
|1.5&lt;br /&gt;
|Manual&lt;br /&gt;
|4.425&lt;br /&gt;
|2.304&lt;br /&gt;
|1.674&lt;br /&gt;
|1.190&lt;br /&gt;
|1&lt;br /&gt;
|Manual&lt;br /&gt;
|1&lt;br /&gt;
|2.002&lt;br /&gt;
|4.09&lt;br /&gt;
|-&lt;br /&gt;
|2019&lt;br /&gt;
|UK&lt;br /&gt;
|1.5&lt;br /&gt;
|Auto&lt;br /&gt;
|2.875&lt;br /&gt;
|1.568&lt;br /&gt;
|1&lt;br /&gt;
|0.696&lt;br /&gt;
|&lt;br /&gt;
|Manual&lt;br /&gt;
|1.320&lt;br /&gt;
|2.643&lt;br /&gt;
|4.3&lt;br /&gt;
|-&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Jimny Nomade (JC74, 5-door)&#039;&#039;&#039;&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
!Date&lt;br /&gt;
!Country&lt;br /&gt;
!Engine&lt;br /&gt;
!Gearbox&lt;br /&gt;
!Gear 1&lt;br /&gt;
!Gear 2&lt;br /&gt;
!Gear 3&lt;br /&gt;
!Gear 4&lt;br /&gt;
!Gear 5&lt;br /&gt;
!Transfer Box&lt;br /&gt;
!High&lt;br /&gt;
!Low&lt;br /&gt;
!Final Drive&lt;br /&gt;
|-&lt;br /&gt;
|2025&lt;br /&gt;
|JP&lt;br /&gt;
|K15B&lt;br /&gt;
|Manual&lt;br /&gt;
|4.425&lt;br /&gt;
|2.304&lt;br /&gt;
|1.674&lt;br /&gt;
|1.190&lt;br /&gt;
|1.000&lt;br /&gt;
|Manual&lt;br /&gt;
|1.000&lt;br /&gt;
|2.002&lt;br /&gt;
|4.090&lt;br /&gt;
|-&lt;br /&gt;
|2025&lt;br /&gt;
|JP&lt;br /&gt;
|K15B&lt;br /&gt;
|Auto&lt;br /&gt;
|2.875&lt;br /&gt;
|1.568&lt;br /&gt;
|1.000&lt;br /&gt;
|0.696&lt;br /&gt;
|N/A&lt;br /&gt;
|Manual&lt;br /&gt;
|1.320&lt;br /&gt;
|2.643&lt;br /&gt;
|4.300&lt;br /&gt;
|}&lt;br /&gt;
Reverse gear: 5.151 (Manual), 2.300 (Auto).&lt;br /&gt;
Source: [https://www.suzuki.co.jp/car/jimny_nomade/asset/pdf/detail/detail.pdf Suzuki Japan Jimny Nomade specification sheet] (May 2026).&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
{{Edited}}&lt;br /&gt;
&lt;br /&gt;
[[Category:Drivechain - gen2]]&lt;br /&gt;
[[Category:Reference Data - gen2]]&lt;br /&gt;
&lt;br /&gt;
[[Category:Drivechain - gen3]]&lt;br /&gt;
[[Category:Reference Data - gen3]]&lt;br /&gt;
&lt;br /&gt;
[[Category:Drivechain - gen4]]&lt;br /&gt;
[[Category:Reference Data - gen4]]&lt;/div&gt;</summary>
		<author><name>Mlines</name></author>
	</entry>
	<entry>
		<id>https://www.bigjimny.com/mediawiki/index.php?title=Transmission_gearing_ratios&amp;diff=10107</id>
		<title>Transmission gearing ratios</title>
		<link rel="alternate" type="text/html" href="https://www.bigjimny.com/mediawiki/index.php?title=Transmission_gearing_ratios&amp;diff=10107"/>
		<updated>2026-11-07T15:51:49Z</updated>

		<summary type="html">&lt;p&gt;Mlines: /* Jimny Gen4 (JB64, JB74,JC74 */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{intro-notes}}&lt;br /&gt;
&lt;br /&gt;
== Introduction ==&lt;br /&gt;
&lt;br /&gt;
{{Gen1|}}{{Gen2|}}{{Gen3|}}{{Gen4|}}&lt;br /&gt;
This article provides information on transmission ratios of the gearbox, transfer box and the differentials&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Note: For the tyre/road speed calculations, you can use your maths from school or a [https://www.4qd.co.uk/road-speed-calculator/ www.4qd.co.uk/road-speed-calculator/ web calculator];&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Jimny gen2 ==&lt;br /&gt;
&lt;br /&gt;
{{Gen2|}}&lt;br /&gt;
&#039;&#039;Add info if you know it ...&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Jimny gen3 ==&lt;br /&gt;
&lt;br /&gt;
{{Gen3|}}&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; vertical-align:top;&lt;br /&gt;
!Date&lt;br /&gt;
!Country&lt;br /&gt;
!Engine&lt;br /&gt;
!Gearbox&lt;br /&gt;
!Gear 1&lt;br /&gt;
!Gear 2&lt;br /&gt;
!Gear 3&lt;br /&gt;
!Gear 4&lt;br /&gt;
!Gear 5&lt;br /&gt;
!Transfer Box&lt;br /&gt;
!High&lt;br /&gt;
!Low&lt;br /&gt;
!Final Drive&lt;br /&gt;
|-&lt;br /&gt;
|1998&lt;br /&gt;
|UK/EU&lt;br /&gt;
|G13B&lt;br /&gt;
|Manual&lt;br /&gt;
|3.652&lt;br /&gt;
|1.947&lt;br /&gt;
|1.423&lt;br /&gt;
|1.000&lt;br /&gt;
|0.864&lt;br /&gt;
|Manual&lt;br /&gt;
|1.320&lt;br /&gt;
|2.145&lt;br /&gt;
|3.909&lt;br /&gt;
|-&lt;br /&gt;
|1998&lt;br /&gt;
|UK/EU&lt;br /&gt;
|G13B&lt;br /&gt;
|Auto&lt;br /&gt;
|2.962&lt;br /&gt;
|1.515&lt;br /&gt;
|1.000&lt;br /&gt;
|0.738&lt;br /&gt;
|N/A&lt;br /&gt;
|Manual&lt;br /&gt;
|1.320&lt;br /&gt;
|2.145&lt;br /&gt;
|4.090&lt;br /&gt;
|-&lt;br /&gt;
|2001&lt;br /&gt;
|UK/EU&lt;br /&gt;
|M13A&lt;br /&gt;
|Manual&lt;br /&gt;
|&amp;lt;p style=&amp;quot;color: red&amp;quot;&amp;gt;3.652?&amp;lt;/p&amp;gt;&lt;br /&gt;
|&amp;lt;p style=&amp;quot;color: red&amp;quot;&amp;gt;1.947?&amp;lt;/p&amp;gt;&lt;br /&gt;
|&amp;lt;p style=&amp;quot;color: red&amp;quot;&amp;gt;1.423?&amp;lt;/p&amp;gt;&lt;br /&gt;
|1.00&lt;br /&gt;
|&amp;lt;p style=&amp;quot;color: red&amp;quot;&amp;gt;0.864?&amp;lt;/p&amp;gt;&lt;br /&gt;
|Manual&lt;br /&gt;
|1.32&lt;br /&gt;
|2.145&lt;br /&gt;
|3.909&lt;br /&gt;
|-&lt;br /&gt;
|2001&lt;br /&gt;
|UK/EU&lt;br /&gt;
|M13A&lt;br /&gt;
|Auto&lt;br /&gt;
|&amp;lt;p style=&amp;quot;color: red&amp;quot;&amp;gt;2.962?&amp;lt;/p&amp;gt;&lt;br /&gt;
|&amp;lt;p style=&amp;quot;color: red&amp;quot;&amp;gt;1.515?&amp;lt;/p&amp;gt;&lt;br /&gt;
|&amp;lt;p style=&amp;quot;color: red&amp;quot;&amp;gt;1.000?&amp;lt;/p&amp;gt;&lt;br /&gt;
|&amp;lt;p style=&amp;quot;color: red&amp;quot;&amp;gt;0.738?&amp;lt;/p&amp;gt;&lt;br /&gt;
|N/A&lt;br /&gt;
&lt;br /&gt;
|Manual&lt;br /&gt;
|1.32&lt;br /&gt;
|2.145&lt;br /&gt;
|4.090&lt;br /&gt;
|-&lt;br /&gt;
|2005+&lt;br /&gt;
|UK/EU&lt;br /&gt;
|M13AVVT&lt;br /&gt;
|Manual&lt;br /&gt;
|4.425&lt;br /&gt;
|2.304&lt;br /&gt;
|1.674&lt;br /&gt;
|1.190&lt;br /&gt;
|1.000&lt;br /&gt;
|Electric&lt;br /&gt;
|1.00&lt;br /&gt;
|2.002&lt;br /&gt;
|4.300&lt;br /&gt;
|-&lt;br /&gt;
|2005+&lt;br /&gt;
|UK/EU&lt;br /&gt;
|M13AVVT&lt;br /&gt;
|Auto&lt;br /&gt;
|2.875&lt;br /&gt;
|1.568&lt;br /&gt;
|1.000&lt;br /&gt;
|0.695&lt;br /&gt;
|N/A&lt;br /&gt;
|Electric&lt;br /&gt;
|1.32&lt;br /&gt;
|2.643&lt;br /&gt;
|4.090&lt;br /&gt;
|-&lt;br /&gt;
|2005+ &lt;br /&gt;
|EU&lt;br /&gt;
|K9K&lt;br /&gt;
|Manual&lt;br /&gt;
|4.246&lt;br /&gt;
|2.357&lt;br /&gt;
|1.695&lt;br /&gt;
|1.242&lt;br /&gt;
|1.00&lt;br /&gt;
|Electric&lt;br /&gt;
|1.00&lt;br /&gt;
|2.002&lt;br /&gt;
|3.416&lt;br /&gt;
|-&lt;br /&gt;
|2000&lt;br /&gt;
|JP&lt;br /&gt;
|K6A&lt;br /&gt;
|Manual&lt;br /&gt;
|4.031&lt;br /&gt;
|2.391&lt;br /&gt;
|1.513&lt;br /&gt;
|1.00&lt;br /&gt;
|0.790&lt;br /&gt;
|Manual&lt;br /&gt;
|1.320&lt;br /&gt;
|2.145&lt;br /&gt;
|5.375&lt;br /&gt;
|-&lt;br /&gt;
|2000&lt;br /&gt;
|JP&lt;br /&gt;
|K6A&lt;br /&gt;
|Auto&lt;br /&gt;
|2.902&lt;br /&gt;
|1.515&lt;br /&gt;
|1.00&lt;br /&gt;
|0.736&lt;br /&gt;
|N/A&lt;br /&gt;
|Manual&lt;br /&gt;
|1.320&lt;br /&gt;
|2.145&lt;br /&gt;
|5.375&lt;br /&gt;
|-&lt;br /&gt;
|2010&lt;br /&gt;
|JP&lt;br /&gt;
|K6A&lt;br /&gt;
|Manual&lt;br /&gt;
|5.106&lt;br /&gt;
|3.107&lt;br /&gt;
|1.908&lt;br /&gt;
|1.254&lt;br /&gt;
|1.000&lt;br /&gt;
|Manual&lt;br /&gt;
|1.320&lt;br /&gt;
|2.643&lt;br /&gt;
|4.300&lt;br /&gt;
|-&lt;br /&gt;
|2010&lt;br /&gt;
|JP&lt;br /&gt;
|K6A&lt;br /&gt;
|Auto&lt;br /&gt;
|2.875&lt;br /&gt;
|1.568&lt;br /&gt;
|1.000&lt;br /&gt;
|0.696&lt;br /&gt;
|N/A&lt;br /&gt;
|Electric&lt;br /&gt;
|1.320&lt;br /&gt;
|2.643&lt;br /&gt;
|5.375&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Practical examples ===&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
See below for some practical examples.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;2005 VVT manual gearbox Jimny, engine at 4000 RPM and in 5th gear High Ratio, standard wheels&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
!&lt;br /&gt;
!Engine&lt;br /&gt;
!Gearbox&lt;br /&gt;
!Transfer Box&lt;br /&gt;
!Diff&lt;br /&gt;
!Wheel&lt;br /&gt;
|-&lt;br /&gt;
|&#039;&#039;&#039;Input&#039;&#039;&#039;&lt;br /&gt;
| --------&lt;br /&gt;
|&amp;lt;span style=&amp;quot;color:orange&amp;quot;&amp;gt;&#039;&#039;&#039;4000 RPM&#039;&#039;&#039;&amp;lt;/span&amp;gt;&lt;br /&gt;
|&amp;lt;span style=&amp;quot;color:green&amp;quot;&amp;gt;&#039;&#039;&#039;4000 RPM&#039;&#039;&#039;&amp;lt;/span&amp;gt;&lt;br /&gt;
|&amp;lt;span style=&amp;quot;color:blue&amp;quot;&amp;gt;&#039;&#039;&#039;4000 RPM&#039;&#039;&#039;&amp;lt;/span&amp;gt;&lt;br /&gt;
|&amp;lt;span style=&amp;quot;color:red&amp;quot;&amp;gt;&#039;&#039;&#039;465 RPM&#039;&#039;&#039;&amp;lt;/span&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
|&#039;&#039;&#039;Ratio&#039;&#039;&#039;&lt;br /&gt;
| --------&lt;br /&gt;
|1.000&lt;br /&gt;
|1.000&lt;br /&gt;
|4.300&lt;br /&gt;
|28&amp;quot; Tyre&lt;br /&gt;
|-&lt;br /&gt;
|&#039;&#039;&#039;Output&#039;&#039;&#039;&lt;br /&gt;
|&amp;lt;span style=&amp;quot;color:orange&amp;quot;&amp;gt;&#039;&#039;&#039;4000 RPM&#039;&#039;&#039;&amp;lt;/span&amp;gt;&lt;br /&gt;
|&amp;lt;span style=&amp;quot;color:green&amp;quot;&amp;gt;&#039;&#039;&#039;4000 RPM&#039;&#039;&#039;&amp;lt;/span&amp;gt;&lt;br /&gt;
|&amp;lt;span style=&amp;quot;color:blue&amp;quot;&amp;gt;&#039;&#039;&#039;4000 RPM&#039;&#039;&#039;&amp;lt;/span&amp;gt;&lt;br /&gt;
|&amp;lt;span style=&amp;quot;color:red&amp;quot;&amp;gt;&#039;&#039;&#039;465 RPM&#039;&#039;&#039;&amp;lt;/span&amp;gt;&lt;br /&gt;
|77.7 MPH&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
|}&#039;&#039;&#039;2001 M13A manual gearbox Jimny, engine at 3000 RPM and in 1st gear Low Ratio, 30&amp;quot; Tyres&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
!&lt;br /&gt;
!Engine&lt;br /&gt;
!Gearbox&lt;br /&gt;
!Transfer Box&lt;br /&gt;
!Diff&lt;br /&gt;
!Wheel&lt;br /&gt;
|-&lt;br /&gt;
|&#039;&#039;&#039;Input&#039;&#039;&#039;&lt;br /&gt;
| ------&lt;br /&gt;
|&amp;lt;span style=&amp;quot;color:orange&amp;quot;&amp;gt;&#039;&#039;&#039;3000 RPM&#039;&#039;&#039;&amp;lt;/span&amp;gt;&lt;br /&gt;
|&amp;lt;span style=&amp;quot;color:green&amp;quot;&amp;gt;&#039;&#039;&#039;821.4 RPM&#039;&#039;&#039;&amp;lt;/span&amp;gt;&lt;br /&gt;
|&amp;lt;span style=&amp;quot;color:blue&amp;quot;&amp;gt;&#039;&#039;&#039;382.9 RPM&#039;&#039;&#039;&amp;lt;/span&amp;gt;&lt;br /&gt;
|&amp;lt;span style=&amp;quot;color:red&amp;quot;&amp;gt;&#039;&#039;&#039;97.97 RPM&#039;&#039;&#039;&amp;lt;/span&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
|&#039;&#039;&#039;Ratio&#039;&#039;&#039;&lt;br /&gt;
| ------&lt;br /&gt;
|3.652&lt;br /&gt;
|2.145&lt;br /&gt;
|3.909&lt;br /&gt;
|30&amp;quot; Tyre&lt;br /&gt;
|-&lt;br /&gt;
|&#039;&#039;&#039;Output&#039;&#039;&#039;&lt;br /&gt;
|&amp;lt;span style=&amp;quot;color:orange&amp;quot;&amp;gt;&#039;&#039;&#039;3000 RPM&#039;&#039;&#039;&amp;lt;/span&amp;gt;&lt;br /&gt;
|&amp;lt;span style=&amp;quot;color:green&amp;quot;&amp;gt;&#039;&#039;&#039;821.4 RPM&#039;&#039;&#039;&amp;lt;/span&amp;gt;&lt;br /&gt;
|&amp;lt;span style=&amp;quot;color:blue&amp;quot;&amp;gt;&#039;&#039;&#039;382.9 RPM&#039;&#039;&#039;&amp;lt;/span&amp;gt;&lt;br /&gt;
|&amp;lt;span style=&amp;quot;color:red&amp;quot;&amp;gt;&#039;&#039;&#039;97.97 RPM&#039;&#039;&#039;&amp;lt;/span&amp;gt;&lt;br /&gt;
|8.7 MPH&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;2001 M13A manual gearbox Jimny, engine at 3000 RPM and in 1st gear Low Ratio, 30&amp;quot; Tyres &amp;lt;u&amp;gt;with Differential from later VVT&amp;lt;/u&amp;gt;&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
This shows an example of a modified diff with an increase reduction ratio&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
!&lt;br /&gt;
!Engine&lt;br /&gt;
!Gearbox&lt;br /&gt;
!Transfer Box&lt;br /&gt;
!Diff&lt;br /&gt;
!Wheel&lt;br /&gt;
|-&lt;br /&gt;
|&#039;&#039;&#039;Input&#039;&#039;&#039;&lt;br /&gt;
| ------&lt;br /&gt;
|&amp;lt;span style=&amp;quot;color:orange&amp;quot;&amp;gt;&#039;&#039;&#039;3000 RPM&#039;&#039;&#039;&amp;lt;/span&amp;gt;&lt;br /&gt;
|&amp;lt;span style=&amp;quot;color:green&amp;quot;&amp;gt;&#039;&#039;&#039;821.4 RPM&#039;&#039;&#039;&amp;lt;/span&amp;gt;&lt;br /&gt;
|&amp;lt;span style=&amp;quot;color:blue&amp;quot;&amp;gt;&#039;&#039;&#039;382.9 RPM&#039;&#039;&#039;&amp;lt;/span&amp;gt;&lt;br /&gt;
|&amp;lt;span style=&amp;quot;color:red&amp;quot;&amp;gt;&#039;&#039;&#039;89 RPM&#039;&#039;&#039;&amp;lt;/span&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
|&#039;&#039;&#039;Ratio&#039;&#039;&#039;&lt;br /&gt;
| ------&lt;br /&gt;
|3.652&lt;br /&gt;
|2.145&lt;br /&gt;
|4.3000&lt;br /&gt;
|30&amp;quot; Tyre&lt;br /&gt;
|-&lt;br /&gt;
|&#039;&#039;&#039;Output&#039;&#039;&#039;&lt;br /&gt;
|&amp;lt;span style=&amp;quot;color:orange&amp;quot;&amp;gt;&#039;&#039;&#039;3000 RPM&#039;&#039;&#039;&amp;lt;/span&amp;gt;&lt;br /&gt;
|&amp;lt;span style=&amp;quot;color:green&amp;quot;&amp;gt;&#039;&#039;&#039;821.4 RPM&#039;&#039;&#039;&amp;lt;/span&amp;gt;&lt;br /&gt;
|&amp;lt;span style=&amp;quot;color:blue&amp;quot;&amp;gt;&#039;&#039;&#039;382.9 RPM&#039;&#039;&#039;&amp;lt;/span&amp;gt;&lt;br /&gt;
|&amp;lt;span style=&amp;quot;color:red&amp;quot;&amp;gt;&#039;&#039;&#039;89 RPM&#039;&#039;&#039;&amp;lt;/span&amp;gt;&lt;br /&gt;
|7.9 MPH&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Jimny Gen4 (JB64, JB74,JC74 ==&lt;br /&gt;
&#039;&#039;&#039;Jimny (JB64, 3-door, Japan kei car)&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
!Date&lt;br /&gt;
!Country&lt;br /&gt;
!Engine&lt;br /&gt;
!Gearbox&lt;br /&gt;
!Gear 1&lt;br /&gt;
!Gear 2&lt;br /&gt;
!Gear 3&lt;br /&gt;
!Gear 4&lt;br /&gt;
!Gear 5&lt;br /&gt;
!Transfer Box&lt;br /&gt;
!High&lt;br /&gt;
!Low&lt;br /&gt;
!Final Drive&lt;br /&gt;
|-&lt;br /&gt;
|2018&lt;br /&gt;
|JP&lt;br /&gt;
|R06A&lt;br /&gt;
|Manual&lt;br /&gt;
|5.809&lt;br /&gt;
|3.433&lt;br /&gt;
|2.171&lt;br /&gt;
|1.354&lt;br /&gt;
|1.000&lt;br /&gt;
|Manual&lt;br /&gt;
|1.320&lt;br /&gt;
|2.643&lt;br /&gt;
|3.818&lt;br /&gt;
|-&lt;br /&gt;
|2018&lt;br /&gt;
|JP&lt;br /&gt;
|R06A&lt;br /&gt;
|Auto&lt;br /&gt;
|2.875&lt;br /&gt;
|1.568&lt;br /&gt;
|1.000&lt;br /&gt;
|0.696&lt;br /&gt;
|N/A&lt;br /&gt;
|Manual&lt;br /&gt;
|1.320&lt;br /&gt;
|2.643&lt;br /&gt;
|5.375&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
Reverse gear: 5.861 (Manual), 2.300 (Auto).&lt;br /&gt;
&lt;br /&gt;
Source: [https://www.suzuki.co.jp/car/jimny/asset/pdf/detail/detail.pdf Suzuki Japan Jimny specification sheet] (May 2026).&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Jimny (Sierra) (JB74, 3-door)&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; vertical-align:top;&lt;br /&gt;
!Date&lt;br /&gt;
!Country&lt;br /&gt;
!Engine&lt;br /&gt;
!Gearbox&lt;br /&gt;
!Gear 1&lt;br /&gt;
!Gear 2&lt;br /&gt;
!Gear 3&lt;br /&gt;
!Gear 4&lt;br /&gt;
!Gear 5&lt;br /&gt;
!Transfer Box&lt;br /&gt;
!High&lt;br /&gt;
!Low&lt;br /&gt;
!Final Drive&lt;br /&gt;
|-&lt;br /&gt;
|2019&lt;br /&gt;
|UK&lt;br /&gt;
|1.5&lt;br /&gt;
|Manual&lt;br /&gt;
|4.425&lt;br /&gt;
|2.304&lt;br /&gt;
|1.674&lt;br /&gt;
|1.190&lt;br /&gt;
|1&lt;br /&gt;
|Manual&lt;br /&gt;
|1&lt;br /&gt;
|2.002&lt;br /&gt;
|4.09&lt;br /&gt;
|-&lt;br /&gt;
|2019&lt;br /&gt;
|UK&lt;br /&gt;
|1.5&lt;br /&gt;
|Auto&lt;br /&gt;
|2.875&lt;br /&gt;
|1.568&lt;br /&gt;
|1&lt;br /&gt;
|0.696&lt;br /&gt;
|&lt;br /&gt;
|Manual&lt;br /&gt;
|1.320&lt;br /&gt;
|2.643&lt;br /&gt;
|4.3&lt;br /&gt;
|-&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Jimny Nomade (JC74, 5-door)&#039;&#039;&#039;&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
!Date&lt;br /&gt;
!Country&lt;br /&gt;
!Engine&lt;br /&gt;
!Gearbox&lt;br /&gt;
!Gear 1&lt;br /&gt;
!Gear 2&lt;br /&gt;
!Gear 3&lt;br /&gt;
!Gear 4&lt;br /&gt;
!Gear 5&lt;br /&gt;
!Transfer Box&lt;br /&gt;
!High&lt;br /&gt;
!Low&lt;br /&gt;
!Final Drive&lt;br /&gt;
|-&lt;br /&gt;
|2025&lt;br /&gt;
|JP&lt;br /&gt;
|K15B&lt;br /&gt;
|Manual&lt;br /&gt;
|4.425&lt;br /&gt;
|2.304&lt;br /&gt;
|1.674&lt;br /&gt;
|1.190&lt;br /&gt;
|1.000&lt;br /&gt;
|Manual&lt;br /&gt;
|1.000&lt;br /&gt;
|2.002&lt;br /&gt;
|4.090&lt;br /&gt;
|-&lt;br /&gt;
|2025&lt;br /&gt;
|JP&lt;br /&gt;
|K15B&lt;br /&gt;
|Auto&lt;br /&gt;
|2.875&lt;br /&gt;
|1.568&lt;br /&gt;
|1.000&lt;br /&gt;
|0.696&lt;br /&gt;
|N/A&lt;br /&gt;
|Manual&lt;br /&gt;
|1.320&lt;br /&gt;
|2.643&lt;br /&gt;
|4.300&lt;br /&gt;
|}&lt;br /&gt;
Reverse gear: 5.151 (Manual), 2.300 (Auto).&lt;br /&gt;
Source: [https://www.suzuki.co.jp/car/jimny_nomade/asset/pdf/detail/detail.pdf Suzuki Japan Jimny Nomade specification sheet] (May 2026).&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
{{Edited}}&lt;br /&gt;
&lt;br /&gt;
[[Category:Drivechain - gen2]]&lt;br /&gt;
[[Category:Reference Data - gen2]]&lt;br /&gt;
&lt;br /&gt;
[[Category:Drivechain - gen3]]&lt;br /&gt;
[[Category:Reference Data - gen3]]&lt;br /&gt;
&lt;br /&gt;
[[Category:Drivechain - gen4]]&lt;br /&gt;
[[Category:Reference Data - gen4]]&lt;/div&gt;</summary>
		<author><name>Mlines</name></author>
	</entry>
	<entry>
		<id>https://www.bigjimny.com/mediawiki/index.php?title=Transmission_gearing_ratios&amp;diff=10106</id>
		<title>Transmission gearing ratios</title>
		<link rel="alternate" type="text/html" href="https://www.bigjimny.com/mediawiki/index.php?title=Transmission_gearing_ratios&amp;diff=10106"/>
		<updated>2026-11-07T15:51:04Z</updated>

		<summary type="html">&lt;p&gt;Mlines: /* Jimny Gen4 (JB64, JB74,JC74 */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{intro-notes}}&lt;br /&gt;
&lt;br /&gt;
== Introduction ==&lt;br /&gt;
&lt;br /&gt;
{{Gen1|}}{{Gen2|}}{{Gen3|}}{{Gen4|}}&lt;br /&gt;
This article provides information on transmission ratios of the gearbox, transfer box and the differentials&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Note: For the tyre/road speed calculations, you can use your maths from school or a [https://www.4qd.co.uk/road-speed-calculator/ www.4qd.co.uk/road-speed-calculator/ web calculator];&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Jimny gen2 ==&lt;br /&gt;
&lt;br /&gt;
{{Gen2|}}&lt;br /&gt;
&#039;&#039;Add info if you know it ...&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Jimny gen3 ==&lt;br /&gt;
&lt;br /&gt;
{{Gen3|}}&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; vertical-align:top;&lt;br /&gt;
!Date&lt;br /&gt;
!Country&lt;br /&gt;
!Engine&lt;br /&gt;
!Gearbox&lt;br /&gt;
!Gear 1&lt;br /&gt;
!Gear 2&lt;br /&gt;
!Gear 3&lt;br /&gt;
!Gear 4&lt;br /&gt;
!Gear 5&lt;br /&gt;
!Transfer Box&lt;br /&gt;
!High&lt;br /&gt;
!Low&lt;br /&gt;
!Final Drive&lt;br /&gt;
|-&lt;br /&gt;
|1998&lt;br /&gt;
|UK/EU&lt;br /&gt;
|G13B&lt;br /&gt;
|Manual&lt;br /&gt;
|3.652&lt;br /&gt;
|1.947&lt;br /&gt;
|1.423&lt;br /&gt;
|1.000&lt;br /&gt;
|0.864&lt;br /&gt;
|Manual&lt;br /&gt;
|1.320&lt;br /&gt;
|2.145&lt;br /&gt;
|3.909&lt;br /&gt;
|-&lt;br /&gt;
|1998&lt;br /&gt;
|UK/EU&lt;br /&gt;
|G13B&lt;br /&gt;
|Auto&lt;br /&gt;
|2.962&lt;br /&gt;
|1.515&lt;br /&gt;
|1.000&lt;br /&gt;
|0.738&lt;br /&gt;
|N/A&lt;br /&gt;
|Manual&lt;br /&gt;
|1.320&lt;br /&gt;
|2.145&lt;br /&gt;
|4.090&lt;br /&gt;
|-&lt;br /&gt;
|2001&lt;br /&gt;
|UK/EU&lt;br /&gt;
|M13A&lt;br /&gt;
|Manual&lt;br /&gt;
|&amp;lt;p style=&amp;quot;color: red&amp;quot;&amp;gt;3.652?&amp;lt;/p&amp;gt;&lt;br /&gt;
|&amp;lt;p style=&amp;quot;color: red&amp;quot;&amp;gt;1.947?&amp;lt;/p&amp;gt;&lt;br /&gt;
|&amp;lt;p style=&amp;quot;color: red&amp;quot;&amp;gt;1.423?&amp;lt;/p&amp;gt;&lt;br /&gt;
|1.00&lt;br /&gt;
|&amp;lt;p style=&amp;quot;color: red&amp;quot;&amp;gt;0.864?&amp;lt;/p&amp;gt;&lt;br /&gt;
|Manual&lt;br /&gt;
|1.32&lt;br /&gt;
|2.145&lt;br /&gt;
|3.909&lt;br /&gt;
|-&lt;br /&gt;
|2001&lt;br /&gt;
|UK/EU&lt;br /&gt;
|M13A&lt;br /&gt;
|Auto&lt;br /&gt;
|&amp;lt;p style=&amp;quot;color: red&amp;quot;&amp;gt;2.962?&amp;lt;/p&amp;gt;&lt;br /&gt;
|&amp;lt;p style=&amp;quot;color: red&amp;quot;&amp;gt;1.515?&amp;lt;/p&amp;gt;&lt;br /&gt;
|&amp;lt;p style=&amp;quot;color: red&amp;quot;&amp;gt;1.000?&amp;lt;/p&amp;gt;&lt;br /&gt;
|&amp;lt;p style=&amp;quot;color: red&amp;quot;&amp;gt;0.738?&amp;lt;/p&amp;gt;&lt;br /&gt;
|N/A&lt;br /&gt;
&lt;br /&gt;
|Manual&lt;br /&gt;
|1.32&lt;br /&gt;
|2.145&lt;br /&gt;
|4.090&lt;br /&gt;
|-&lt;br /&gt;
|2005+&lt;br /&gt;
|UK/EU&lt;br /&gt;
|M13AVVT&lt;br /&gt;
|Manual&lt;br /&gt;
|4.425&lt;br /&gt;
|2.304&lt;br /&gt;
|1.674&lt;br /&gt;
|1.190&lt;br /&gt;
|1.000&lt;br /&gt;
|Electric&lt;br /&gt;
|1.00&lt;br /&gt;
|2.002&lt;br /&gt;
|4.300&lt;br /&gt;
|-&lt;br /&gt;
|2005+&lt;br /&gt;
|UK/EU&lt;br /&gt;
|M13AVVT&lt;br /&gt;
|Auto&lt;br /&gt;
|2.875&lt;br /&gt;
|1.568&lt;br /&gt;
|1.000&lt;br /&gt;
|0.695&lt;br /&gt;
|N/A&lt;br /&gt;
|Electric&lt;br /&gt;
|1.32&lt;br /&gt;
|2.643&lt;br /&gt;
|4.090&lt;br /&gt;
|-&lt;br /&gt;
|2005+ &lt;br /&gt;
|EU&lt;br /&gt;
|K9K&lt;br /&gt;
|Manual&lt;br /&gt;
|4.246&lt;br /&gt;
|2.357&lt;br /&gt;
|1.695&lt;br /&gt;
|1.242&lt;br /&gt;
|1.00&lt;br /&gt;
|Electric&lt;br /&gt;
|1.00&lt;br /&gt;
|2.002&lt;br /&gt;
|3.416&lt;br /&gt;
|-&lt;br /&gt;
|2000&lt;br /&gt;
|JP&lt;br /&gt;
|K6A&lt;br /&gt;
|Manual&lt;br /&gt;
|4.031&lt;br /&gt;
|2.391&lt;br /&gt;
|1.513&lt;br /&gt;
|1.00&lt;br /&gt;
|0.790&lt;br /&gt;
|Manual&lt;br /&gt;
|1.320&lt;br /&gt;
|2.145&lt;br /&gt;
|5.375&lt;br /&gt;
|-&lt;br /&gt;
|2000&lt;br /&gt;
|JP&lt;br /&gt;
|K6A&lt;br /&gt;
|Auto&lt;br /&gt;
|2.902&lt;br /&gt;
|1.515&lt;br /&gt;
|1.00&lt;br /&gt;
|0.736&lt;br /&gt;
|N/A&lt;br /&gt;
|Manual&lt;br /&gt;
|1.320&lt;br /&gt;
|2.145&lt;br /&gt;
|5.375&lt;br /&gt;
|-&lt;br /&gt;
|2010&lt;br /&gt;
|JP&lt;br /&gt;
|K6A&lt;br /&gt;
|Manual&lt;br /&gt;
|5.106&lt;br /&gt;
|3.107&lt;br /&gt;
|1.908&lt;br /&gt;
|1.254&lt;br /&gt;
|1.000&lt;br /&gt;
|Manual&lt;br /&gt;
|1.320&lt;br /&gt;
|2.643&lt;br /&gt;
|4.300&lt;br /&gt;
|-&lt;br /&gt;
|2010&lt;br /&gt;
|JP&lt;br /&gt;
|K6A&lt;br /&gt;
|Auto&lt;br /&gt;
|2.875&lt;br /&gt;
|1.568&lt;br /&gt;
|1.000&lt;br /&gt;
|0.696&lt;br /&gt;
|N/A&lt;br /&gt;
|Electric&lt;br /&gt;
|1.320&lt;br /&gt;
|2.643&lt;br /&gt;
|5.375&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Practical examples ===&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
See below for some practical examples.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;2005 VVT manual gearbox Jimny, engine at 4000 RPM and in 5th gear High Ratio, standard wheels&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
!&lt;br /&gt;
!Engine&lt;br /&gt;
!Gearbox&lt;br /&gt;
!Transfer Box&lt;br /&gt;
!Diff&lt;br /&gt;
!Wheel&lt;br /&gt;
|-&lt;br /&gt;
|&#039;&#039;&#039;Input&#039;&#039;&#039;&lt;br /&gt;
| --------&lt;br /&gt;
|&amp;lt;span style=&amp;quot;color:orange&amp;quot;&amp;gt;&#039;&#039;&#039;4000 RPM&#039;&#039;&#039;&amp;lt;/span&amp;gt;&lt;br /&gt;
|&amp;lt;span style=&amp;quot;color:green&amp;quot;&amp;gt;&#039;&#039;&#039;4000 RPM&#039;&#039;&#039;&amp;lt;/span&amp;gt;&lt;br /&gt;
|&amp;lt;span style=&amp;quot;color:blue&amp;quot;&amp;gt;&#039;&#039;&#039;4000 RPM&#039;&#039;&#039;&amp;lt;/span&amp;gt;&lt;br /&gt;
|&amp;lt;span style=&amp;quot;color:red&amp;quot;&amp;gt;&#039;&#039;&#039;465 RPM&#039;&#039;&#039;&amp;lt;/span&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
|&#039;&#039;&#039;Ratio&#039;&#039;&#039;&lt;br /&gt;
| --------&lt;br /&gt;
|1.000&lt;br /&gt;
|1.000&lt;br /&gt;
|4.300&lt;br /&gt;
|28&amp;quot; Tyre&lt;br /&gt;
|-&lt;br /&gt;
|&#039;&#039;&#039;Output&#039;&#039;&#039;&lt;br /&gt;
|&amp;lt;span style=&amp;quot;color:orange&amp;quot;&amp;gt;&#039;&#039;&#039;4000 RPM&#039;&#039;&#039;&amp;lt;/span&amp;gt;&lt;br /&gt;
|&amp;lt;span style=&amp;quot;color:green&amp;quot;&amp;gt;&#039;&#039;&#039;4000 RPM&#039;&#039;&#039;&amp;lt;/span&amp;gt;&lt;br /&gt;
|&amp;lt;span style=&amp;quot;color:blue&amp;quot;&amp;gt;&#039;&#039;&#039;4000 RPM&#039;&#039;&#039;&amp;lt;/span&amp;gt;&lt;br /&gt;
|&amp;lt;span style=&amp;quot;color:red&amp;quot;&amp;gt;&#039;&#039;&#039;465 RPM&#039;&#039;&#039;&amp;lt;/span&amp;gt;&lt;br /&gt;
|77.7 MPH&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
|}&#039;&#039;&#039;2001 M13A manual gearbox Jimny, engine at 3000 RPM and in 1st gear Low Ratio, 30&amp;quot; Tyres&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
!&lt;br /&gt;
!Engine&lt;br /&gt;
!Gearbox&lt;br /&gt;
!Transfer Box&lt;br /&gt;
!Diff&lt;br /&gt;
!Wheel&lt;br /&gt;
|-&lt;br /&gt;
|&#039;&#039;&#039;Input&#039;&#039;&#039;&lt;br /&gt;
| ------&lt;br /&gt;
|&amp;lt;span style=&amp;quot;color:orange&amp;quot;&amp;gt;&#039;&#039;&#039;3000 RPM&#039;&#039;&#039;&amp;lt;/span&amp;gt;&lt;br /&gt;
|&amp;lt;span style=&amp;quot;color:green&amp;quot;&amp;gt;&#039;&#039;&#039;821.4 RPM&#039;&#039;&#039;&amp;lt;/span&amp;gt;&lt;br /&gt;
|&amp;lt;span style=&amp;quot;color:blue&amp;quot;&amp;gt;&#039;&#039;&#039;382.9 RPM&#039;&#039;&#039;&amp;lt;/span&amp;gt;&lt;br /&gt;
|&amp;lt;span style=&amp;quot;color:red&amp;quot;&amp;gt;&#039;&#039;&#039;97.97 RPM&#039;&#039;&#039;&amp;lt;/span&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
|&#039;&#039;&#039;Ratio&#039;&#039;&#039;&lt;br /&gt;
| ------&lt;br /&gt;
|3.652&lt;br /&gt;
|2.145&lt;br /&gt;
|3.909&lt;br /&gt;
|30&amp;quot; Tyre&lt;br /&gt;
|-&lt;br /&gt;
|&#039;&#039;&#039;Output&#039;&#039;&#039;&lt;br /&gt;
|&amp;lt;span style=&amp;quot;color:orange&amp;quot;&amp;gt;&#039;&#039;&#039;3000 RPM&#039;&#039;&#039;&amp;lt;/span&amp;gt;&lt;br /&gt;
|&amp;lt;span style=&amp;quot;color:green&amp;quot;&amp;gt;&#039;&#039;&#039;821.4 RPM&#039;&#039;&#039;&amp;lt;/span&amp;gt;&lt;br /&gt;
|&amp;lt;span style=&amp;quot;color:blue&amp;quot;&amp;gt;&#039;&#039;&#039;382.9 RPM&#039;&#039;&#039;&amp;lt;/span&amp;gt;&lt;br /&gt;
|&amp;lt;span style=&amp;quot;color:red&amp;quot;&amp;gt;&#039;&#039;&#039;97.97 RPM&#039;&#039;&#039;&amp;lt;/span&amp;gt;&lt;br /&gt;
|8.7 MPH&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;2001 M13A manual gearbox Jimny, engine at 3000 RPM and in 1st gear Low Ratio, 30&amp;quot; Tyres &amp;lt;u&amp;gt;with Differential from later VVT&amp;lt;/u&amp;gt;&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
This shows an example of a modified diff with an increase reduction ratio&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
!&lt;br /&gt;
!Engine&lt;br /&gt;
!Gearbox&lt;br /&gt;
!Transfer Box&lt;br /&gt;
!Diff&lt;br /&gt;
!Wheel&lt;br /&gt;
|-&lt;br /&gt;
|&#039;&#039;&#039;Input&#039;&#039;&#039;&lt;br /&gt;
| ------&lt;br /&gt;
|&amp;lt;span style=&amp;quot;color:orange&amp;quot;&amp;gt;&#039;&#039;&#039;3000 RPM&#039;&#039;&#039;&amp;lt;/span&amp;gt;&lt;br /&gt;
|&amp;lt;span style=&amp;quot;color:green&amp;quot;&amp;gt;&#039;&#039;&#039;821.4 RPM&#039;&#039;&#039;&amp;lt;/span&amp;gt;&lt;br /&gt;
|&amp;lt;span style=&amp;quot;color:blue&amp;quot;&amp;gt;&#039;&#039;&#039;382.9 RPM&#039;&#039;&#039;&amp;lt;/span&amp;gt;&lt;br /&gt;
|&amp;lt;span style=&amp;quot;color:red&amp;quot;&amp;gt;&#039;&#039;&#039;89 RPM&#039;&#039;&#039;&amp;lt;/span&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
|&#039;&#039;&#039;Ratio&#039;&#039;&#039;&lt;br /&gt;
| ------&lt;br /&gt;
|3.652&lt;br /&gt;
|2.145&lt;br /&gt;
|4.3000&lt;br /&gt;
|30&amp;quot; Tyre&lt;br /&gt;
|-&lt;br /&gt;
|&#039;&#039;&#039;Output&#039;&#039;&#039;&lt;br /&gt;
|&amp;lt;span style=&amp;quot;color:orange&amp;quot;&amp;gt;&#039;&#039;&#039;3000 RPM&#039;&#039;&#039;&amp;lt;/span&amp;gt;&lt;br /&gt;
|&amp;lt;span style=&amp;quot;color:green&amp;quot;&amp;gt;&#039;&#039;&#039;821.4 RPM&#039;&#039;&#039;&amp;lt;/span&amp;gt;&lt;br /&gt;
|&amp;lt;span style=&amp;quot;color:blue&amp;quot;&amp;gt;&#039;&#039;&#039;382.9 RPM&#039;&#039;&#039;&amp;lt;/span&amp;gt;&lt;br /&gt;
|&amp;lt;span style=&amp;quot;color:red&amp;quot;&amp;gt;&#039;&#039;&#039;89 RPM&#039;&#039;&#039;&amp;lt;/span&amp;gt;&lt;br /&gt;
|7.9 MPH&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Jimny Gen4 (JB64, JB74,JC74 ==&lt;br /&gt;
&#039;&#039;&#039;Jimny (JB64, 3-door, Japan kei car)&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
!Date&lt;br /&gt;
!Country&lt;br /&gt;
!Engine&lt;br /&gt;
!Gearbox&lt;br /&gt;
!Gear 1&lt;br /&gt;
!Gear 2&lt;br /&gt;
!Gear 3&lt;br /&gt;
!Gear 4&lt;br /&gt;
!Gear 5&lt;br /&gt;
!Transfer Box&lt;br /&gt;
!High&lt;br /&gt;
!Low&lt;br /&gt;
!Final Drive&lt;br /&gt;
|-&lt;br /&gt;
|2018&lt;br /&gt;
|JP&lt;br /&gt;
|R06A&lt;br /&gt;
|Manual&lt;br /&gt;
|5.809&lt;br /&gt;
|3.433&lt;br /&gt;
|2.171&lt;br /&gt;
|1.354&lt;br /&gt;
|1.000&lt;br /&gt;
|Manual&lt;br /&gt;
|1.320&lt;br /&gt;
|2.643&lt;br /&gt;
|3.818&lt;br /&gt;
|-&lt;br /&gt;
|2018&lt;br /&gt;
|JP&lt;br /&gt;
|R06A&lt;br /&gt;
|Auto&lt;br /&gt;
|2.875&lt;br /&gt;
|1.568&lt;br /&gt;
|1.000&lt;br /&gt;
|0.696&lt;br /&gt;
|N/A&lt;br /&gt;
|Manual&lt;br /&gt;
|1.320&lt;br /&gt;
|2.643&lt;br /&gt;
|5.375&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
Reverse gear: 5.861 (Manual), 2.300 (Auto).&lt;br /&gt;
&lt;br /&gt;
Source: [https://www.suzuki.co.jp/car/jimny/asset/pdf/detail/detail.pdf Suzuki Japan Jimny specification sheet] (May 2026).&lt;br /&gt;
{{Gen4|}}&lt;br /&gt;
&#039;&#039;&#039;Jimny (Sierra) (JB74, 3-door)&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; vertical-align:top;&lt;br /&gt;
!Date&lt;br /&gt;
!Country&lt;br /&gt;
!Engine&lt;br /&gt;
!Gearbox&lt;br /&gt;
!Gear 1&lt;br /&gt;
!Gear 2&lt;br /&gt;
!Gear 3&lt;br /&gt;
!Gear 4&lt;br /&gt;
!Gear 5&lt;br /&gt;
!Transfer Box&lt;br /&gt;
!High&lt;br /&gt;
!Low&lt;br /&gt;
!Final Drive&lt;br /&gt;
|-&lt;br /&gt;
|2019&lt;br /&gt;
|UK&lt;br /&gt;
|1.5&lt;br /&gt;
|Manual&lt;br /&gt;
|4.425&lt;br /&gt;
|2.304&lt;br /&gt;
|1.674&lt;br /&gt;
|1.190&lt;br /&gt;
|1&lt;br /&gt;
|Manual&lt;br /&gt;
|1&lt;br /&gt;
|2.002&lt;br /&gt;
|4.09&lt;br /&gt;
|-&lt;br /&gt;
|2019&lt;br /&gt;
|UK&lt;br /&gt;
|1.5&lt;br /&gt;
|Auto&lt;br /&gt;
|2.875&lt;br /&gt;
|1.568&lt;br /&gt;
|1&lt;br /&gt;
|0.696&lt;br /&gt;
|&lt;br /&gt;
|Manual&lt;br /&gt;
|1.320&lt;br /&gt;
|2.643&lt;br /&gt;
|4.3&lt;br /&gt;
|-&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Jimny Nomade (JC74, 5-door)&#039;&#039;&#039;&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
!Date&lt;br /&gt;
!Country&lt;br /&gt;
!Engine&lt;br /&gt;
!Gearbox&lt;br /&gt;
!Gear 1&lt;br /&gt;
!Gear 2&lt;br /&gt;
!Gear 3&lt;br /&gt;
!Gear 4&lt;br /&gt;
!Gear 5&lt;br /&gt;
!Transfer Box&lt;br /&gt;
!High&lt;br /&gt;
!Low&lt;br /&gt;
!Final Drive&lt;br /&gt;
|-&lt;br /&gt;
|2025&lt;br /&gt;
|JP&lt;br /&gt;
|K15B&lt;br /&gt;
|Manual&lt;br /&gt;
|4.425&lt;br /&gt;
|2.304&lt;br /&gt;
|1.674&lt;br /&gt;
|1.190&lt;br /&gt;
|1.000&lt;br /&gt;
|Manual&lt;br /&gt;
|1.000&lt;br /&gt;
|2.002&lt;br /&gt;
|4.090&lt;br /&gt;
|-&lt;br /&gt;
|2025&lt;br /&gt;
|JP&lt;br /&gt;
|K15B&lt;br /&gt;
|Auto&lt;br /&gt;
|2.875&lt;br /&gt;
|1.568&lt;br /&gt;
|1.000&lt;br /&gt;
|0.696&lt;br /&gt;
|N/A&lt;br /&gt;
|Manual&lt;br /&gt;
|1.320&lt;br /&gt;
|2.643&lt;br /&gt;
|4.300&lt;br /&gt;
|}&lt;br /&gt;
Reverse gear: 5.151 (Manual), 2.300 (Auto).&lt;br /&gt;
Source: [https://www.suzuki.co.jp/car/jimny_nomade/asset/pdf/detail/detail.pdf Suzuki Japan Jimny Nomade specification sheet] (May 2026).&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
{{Edited}}&lt;br /&gt;
&lt;br /&gt;
[[Category:Drivechain - gen2]]&lt;br /&gt;
[[Category:Reference Data - gen2]]&lt;br /&gt;
&lt;br /&gt;
[[Category:Drivechain - gen3]]&lt;br /&gt;
[[Category:Reference Data - gen3]]&lt;br /&gt;
&lt;br /&gt;
[[Category:Drivechain - gen4]]&lt;br /&gt;
[[Category:Reference Data - gen4]]&lt;/div&gt;</summary>
		<author><name>Mlines</name></author>
	</entry>
	<entry>
		<id>https://www.bigjimny.com/mediawiki/index.php?title=Transmission_gearing_ratios&amp;diff=10105</id>
		<title>Transmission gearing ratios</title>
		<link rel="alternate" type="text/html" href="https://www.bigjimny.com/mediawiki/index.php?title=Transmission_gearing_ratios&amp;diff=10105"/>
		<updated>2026-11-07T15:50:26Z</updated>

		<summary type="html">&lt;p&gt;Mlines: /* Jimny gen4 */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{intro-notes}}&lt;br /&gt;
&lt;br /&gt;
== Introduction ==&lt;br /&gt;
&lt;br /&gt;
{{Gen1|}}{{Gen2|}}{{Gen3|}}{{Gen4|}}&lt;br /&gt;
This article provides information on transmission ratios of the gearbox, transfer box and the differentials&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Note: For the tyre/road speed calculations, you can use your maths from school or a [https://www.4qd.co.uk/road-speed-calculator/ www.4qd.co.uk/road-speed-calculator/ web calculator];&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Jimny gen2 ==&lt;br /&gt;
&lt;br /&gt;
{{Gen2|}}&lt;br /&gt;
&#039;&#039;Add info if you know it ...&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Jimny gen3 ==&lt;br /&gt;
&lt;br /&gt;
{{Gen3|}}&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; vertical-align:top;&lt;br /&gt;
!Date&lt;br /&gt;
!Country&lt;br /&gt;
!Engine&lt;br /&gt;
!Gearbox&lt;br /&gt;
!Gear 1&lt;br /&gt;
!Gear 2&lt;br /&gt;
!Gear 3&lt;br /&gt;
!Gear 4&lt;br /&gt;
!Gear 5&lt;br /&gt;
!Transfer Box&lt;br /&gt;
!High&lt;br /&gt;
!Low&lt;br /&gt;
!Final Drive&lt;br /&gt;
|-&lt;br /&gt;
|1998&lt;br /&gt;
|UK/EU&lt;br /&gt;
|G13B&lt;br /&gt;
|Manual&lt;br /&gt;
|3.652&lt;br /&gt;
|1.947&lt;br /&gt;
|1.423&lt;br /&gt;
|1.000&lt;br /&gt;
|0.864&lt;br /&gt;
|Manual&lt;br /&gt;
|1.320&lt;br /&gt;
|2.145&lt;br /&gt;
|3.909&lt;br /&gt;
|-&lt;br /&gt;
|1998&lt;br /&gt;
|UK/EU&lt;br /&gt;
|G13B&lt;br /&gt;
|Auto&lt;br /&gt;
|2.962&lt;br /&gt;
|1.515&lt;br /&gt;
|1.000&lt;br /&gt;
|0.738&lt;br /&gt;
|N/A&lt;br /&gt;
|Manual&lt;br /&gt;
|1.320&lt;br /&gt;
|2.145&lt;br /&gt;
|4.090&lt;br /&gt;
|-&lt;br /&gt;
|2001&lt;br /&gt;
|UK/EU&lt;br /&gt;
|M13A&lt;br /&gt;
|Manual&lt;br /&gt;
|&amp;lt;p style=&amp;quot;color: red&amp;quot;&amp;gt;3.652?&amp;lt;/p&amp;gt;&lt;br /&gt;
|&amp;lt;p style=&amp;quot;color: red&amp;quot;&amp;gt;1.947?&amp;lt;/p&amp;gt;&lt;br /&gt;
|&amp;lt;p style=&amp;quot;color: red&amp;quot;&amp;gt;1.423?&amp;lt;/p&amp;gt;&lt;br /&gt;
|1.00&lt;br /&gt;
|&amp;lt;p style=&amp;quot;color: red&amp;quot;&amp;gt;0.864?&amp;lt;/p&amp;gt;&lt;br /&gt;
|Manual&lt;br /&gt;
|1.32&lt;br /&gt;
|2.145&lt;br /&gt;
|3.909&lt;br /&gt;
|-&lt;br /&gt;
|2001&lt;br /&gt;
|UK/EU&lt;br /&gt;
|M13A&lt;br /&gt;
|Auto&lt;br /&gt;
|&amp;lt;p style=&amp;quot;color: red&amp;quot;&amp;gt;2.962?&amp;lt;/p&amp;gt;&lt;br /&gt;
|&amp;lt;p style=&amp;quot;color: red&amp;quot;&amp;gt;1.515?&amp;lt;/p&amp;gt;&lt;br /&gt;
|&amp;lt;p style=&amp;quot;color: red&amp;quot;&amp;gt;1.000?&amp;lt;/p&amp;gt;&lt;br /&gt;
|&amp;lt;p style=&amp;quot;color: red&amp;quot;&amp;gt;0.738?&amp;lt;/p&amp;gt;&lt;br /&gt;
|N/A&lt;br /&gt;
&lt;br /&gt;
|Manual&lt;br /&gt;
|1.32&lt;br /&gt;
|2.145&lt;br /&gt;
|4.090&lt;br /&gt;
|-&lt;br /&gt;
|2005+&lt;br /&gt;
|UK/EU&lt;br /&gt;
|M13AVVT&lt;br /&gt;
|Manual&lt;br /&gt;
|4.425&lt;br /&gt;
|2.304&lt;br /&gt;
|1.674&lt;br /&gt;
|1.190&lt;br /&gt;
|1.000&lt;br /&gt;
|Electric&lt;br /&gt;
|1.00&lt;br /&gt;
|2.002&lt;br /&gt;
|4.300&lt;br /&gt;
|-&lt;br /&gt;
|2005+&lt;br /&gt;
|UK/EU&lt;br /&gt;
|M13AVVT&lt;br /&gt;
|Auto&lt;br /&gt;
|2.875&lt;br /&gt;
|1.568&lt;br /&gt;
|1.000&lt;br /&gt;
|0.695&lt;br /&gt;
|N/A&lt;br /&gt;
|Electric&lt;br /&gt;
|1.32&lt;br /&gt;
|2.643&lt;br /&gt;
|4.090&lt;br /&gt;
|-&lt;br /&gt;
|2005+ &lt;br /&gt;
|EU&lt;br /&gt;
|K9K&lt;br /&gt;
|Manual&lt;br /&gt;
|4.246&lt;br /&gt;
|2.357&lt;br /&gt;
|1.695&lt;br /&gt;
|1.242&lt;br /&gt;
|1.00&lt;br /&gt;
|Electric&lt;br /&gt;
|1.00&lt;br /&gt;
|2.002&lt;br /&gt;
|3.416&lt;br /&gt;
|-&lt;br /&gt;
|2000&lt;br /&gt;
|JP&lt;br /&gt;
|K6A&lt;br /&gt;
|Manual&lt;br /&gt;
|4.031&lt;br /&gt;
|2.391&lt;br /&gt;
|1.513&lt;br /&gt;
|1.00&lt;br /&gt;
|0.790&lt;br /&gt;
|Manual&lt;br /&gt;
|1.320&lt;br /&gt;
|2.145&lt;br /&gt;
|5.375&lt;br /&gt;
|-&lt;br /&gt;
|2000&lt;br /&gt;
|JP&lt;br /&gt;
|K6A&lt;br /&gt;
|Auto&lt;br /&gt;
|2.902&lt;br /&gt;
|1.515&lt;br /&gt;
|1.00&lt;br /&gt;
|0.736&lt;br /&gt;
|N/A&lt;br /&gt;
|Manual&lt;br /&gt;
|1.320&lt;br /&gt;
|2.145&lt;br /&gt;
|5.375&lt;br /&gt;
|-&lt;br /&gt;
|2010&lt;br /&gt;
|JP&lt;br /&gt;
|K6A&lt;br /&gt;
|Manual&lt;br /&gt;
|5.106&lt;br /&gt;
|3.107&lt;br /&gt;
|1.908&lt;br /&gt;
|1.254&lt;br /&gt;
|1.000&lt;br /&gt;
|Manual&lt;br /&gt;
|1.320&lt;br /&gt;
|2.643&lt;br /&gt;
|4.300&lt;br /&gt;
|-&lt;br /&gt;
|2010&lt;br /&gt;
|JP&lt;br /&gt;
|K6A&lt;br /&gt;
|Auto&lt;br /&gt;
|2.875&lt;br /&gt;
|1.568&lt;br /&gt;
|1.000&lt;br /&gt;
|0.696&lt;br /&gt;
|N/A&lt;br /&gt;
|Electric&lt;br /&gt;
|1.320&lt;br /&gt;
|2.643&lt;br /&gt;
|5.375&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Practical examples ===&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
See below for some practical examples.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;2005 VVT manual gearbox Jimny, engine at 4000 RPM and in 5th gear High Ratio, standard wheels&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
!&lt;br /&gt;
!Engine&lt;br /&gt;
!Gearbox&lt;br /&gt;
!Transfer Box&lt;br /&gt;
!Diff&lt;br /&gt;
!Wheel&lt;br /&gt;
|-&lt;br /&gt;
|&#039;&#039;&#039;Input&#039;&#039;&#039;&lt;br /&gt;
| --------&lt;br /&gt;
|&amp;lt;span style=&amp;quot;color:orange&amp;quot;&amp;gt;&#039;&#039;&#039;4000 RPM&#039;&#039;&#039;&amp;lt;/span&amp;gt;&lt;br /&gt;
|&amp;lt;span style=&amp;quot;color:green&amp;quot;&amp;gt;&#039;&#039;&#039;4000 RPM&#039;&#039;&#039;&amp;lt;/span&amp;gt;&lt;br /&gt;
|&amp;lt;span style=&amp;quot;color:blue&amp;quot;&amp;gt;&#039;&#039;&#039;4000 RPM&#039;&#039;&#039;&amp;lt;/span&amp;gt;&lt;br /&gt;
|&amp;lt;span style=&amp;quot;color:red&amp;quot;&amp;gt;&#039;&#039;&#039;465 RPM&#039;&#039;&#039;&amp;lt;/span&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
|&#039;&#039;&#039;Ratio&#039;&#039;&#039;&lt;br /&gt;
| --------&lt;br /&gt;
|1.000&lt;br /&gt;
|1.000&lt;br /&gt;
|4.300&lt;br /&gt;
|28&amp;quot; Tyre&lt;br /&gt;
|-&lt;br /&gt;
|&#039;&#039;&#039;Output&#039;&#039;&#039;&lt;br /&gt;
|&amp;lt;span style=&amp;quot;color:orange&amp;quot;&amp;gt;&#039;&#039;&#039;4000 RPM&#039;&#039;&#039;&amp;lt;/span&amp;gt;&lt;br /&gt;
|&amp;lt;span style=&amp;quot;color:green&amp;quot;&amp;gt;&#039;&#039;&#039;4000 RPM&#039;&#039;&#039;&amp;lt;/span&amp;gt;&lt;br /&gt;
|&amp;lt;span style=&amp;quot;color:blue&amp;quot;&amp;gt;&#039;&#039;&#039;4000 RPM&#039;&#039;&#039;&amp;lt;/span&amp;gt;&lt;br /&gt;
|&amp;lt;span style=&amp;quot;color:red&amp;quot;&amp;gt;&#039;&#039;&#039;465 RPM&#039;&#039;&#039;&amp;lt;/span&amp;gt;&lt;br /&gt;
|77.7 MPH&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
|}&#039;&#039;&#039;2001 M13A manual gearbox Jimny, engine at 3000 RPM and in 1st gear Low Ratio, 30&amp;quot; Tyres&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
!&lt;br /&gt;
!Engine&lt;br /&gt;
!Gearbox&lt;br /&gt;
!Transfer Box&lt;br /&gt;
!Diff&lt;br /&gt;
!Wheel&lt;br /&gt;
|-&lt;br /&gt;
|&#039;&#039;&#039;Input&#039;&#039;&#039;&lt;br /&gt;
| ------&lt;br /&gt;
|&amp;lt;span style=&amp;quot;color:orange&amp;quot;&amp;gt;&#039;&#039;&#039;3000 RPM&#039;&#039;&#039;&amp;lt;/span&amp;gt;&lt;br /&gt;
|&amp;lt;span style=&amp;quot;color:green&amp;quot;&amp;gt;&#039;&#039;&#039;821.4 RPM&#039;&#039;&#039;&amp;lt;/span&amp;gt;&lt;br /&gt;
|&amp;lt;span style=&amp;quot;color:blue&amp;quot;&amp;gt;&#039;&#039;&#039;382.9 RPM&#039;&#039;&#039;&amp;lt;/span&amp;gt;&lt;br /&gt;
|&amp;lt;span style=&amp;quot;color:red&amp;quot;&amp;gt;&#039;&#039;&#039;97.97 RPM&#039;&#039;&#039;&amp;lt;/span&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
|&#039;&#039;&#039;Ratio&#039;&#039;&#039;&lt;br /&gt;
| ------&lt;br /&gt;
|3.652&lt;br /&gt;
|2.145&lt;br /&gt;
|3.909&lt;br /&gt;
|30&amp;quot; Tyre&lt;br /&gt;
|-&lt;br /&gt;
|&#039;&#039;&#039;Output&#039;&#039;&#039;&lt;br /&gt;
|&amp;lt;span style=&amp;quot;color:orange&amp;quot;&amp;gt;&#039;&#039;&#039;3000 RPM&#039;&#039;&#039;&amp;lt;/span&amp;gt;&lt;br /&gt;
|&amp;lt;span style=&amp;quot;color:green&amp;quot;&amp;gt;&#039;&#039;&#039;821.4 RPM&#039;&#039;&#039;&amp;lt;/span&amp;gt;&lt;br /&gt;
|&amp;lt;span style=&amp;quot;color:blue&amp;quot;&amp;gt;&#039;&#039;&#039;382.9 RPM&#039;&#039;&#039;&amp;lt;/span&amp;gt;&lt;br /&gt;
|&amp;lt;span style=&amp;quot;color:red&amp;quot;&amp;gt;&#039;&#039;&#039;97.97 RPM&#039;&#039;&#039;&amp;lt;/span&amp;gt;&lt;br /&gt;
|8.7 MPH&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;2001 M13A manual gearbox Jimny, engine at 3000 RPM and in 1st gear Low Ratio, 30&amp;quot; Tyres &amp;lt;u&amp;gt;with Differential from later VVT&amp;lt;/u&amp;gt;&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
This shows an example of a modified diff with an increase reduction ratio&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
!&lt;br /&gt;
!Engine&lt;br /&gt;
!Gearbox&lt;br /&gt;
!Transfer Box&lt;br /&gt;
!Diff&lt;br /&gt;
!Wheel&lt;br /&gt;
|-&lt;br /&gt;
|&#039;&#039;&#039;Input&#039;&#039;&#039;&lt;br /&gt;
| ------&lt;br /&gt;
|&amp;lt;span style=&amp;quot;color:orange&amp;quot;&amp;gt;&#039;&#039;&#039;3000 RPM&#039;&#039;&#039;&amp;lt;/span&amp;gt;&lt;br /&gt;
|&amp;lt;span style=&amp;quot;color:green&amp;quot;&amp;gt;&#039;&#039;&#039;821.4 RPM&#039;&#039;&#039;&amp;lt;/span&amp;gt;&lt;br /&gt;
|&amp;lt;span style=&amp;quot;color:blue&amp;quot;&amp;gt;&#039;&#039;&#039;382.9 RPM&#039;&#039;&#039;&amp;lt;/span&amp;gt;&lt;br /&gt;
|&amp;lt;span style=&amp;quot;color:red&amp;quot;&amp;gt;&#039;&#039;&#039;89 RPM&#039;&#039;&#039;&amp;lt;/span&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
|&#039;&#039;&#039;Ratio&#039;&#039;&#039;&lt;br /&gt;
| ------&lt;br /&gt;
|3.652&lt;br /&gt;
|2.145&lt;br /&gt;
|4.3000&lt;br /&gt;
|30&amp;quot; Tyre&lt;br /&gt;
|-&lt;br /&gt;
|&#039;&#039;&#039;Output&#039;&#039;&#039;&lt;br /&gt;
|&amp;lt;span style=&amp;quot;color:orange&amp;quot;&amp;gt;&#039;&#039;&#039;3000 RPM&#039;&#039;&#039;&amp;lt;/span&amp;gt;&lt;br /&gt;
|&amp;lt;span style=&amp;quot;color:green&amp;quot;&amp;gt;&#039;&#039;&#039;821.4 RPM&#039;&#039;&#039;&amp;lt;/span&amp;gt;&lt;br /&gt;
|&amp;lt;span style=&amp;quot;color:blue&amp;quot;&amp;gt;&#039;&#039;&#039;382.9 RPM&#039;&#039;&#039;&amp;lt;/span&amp;gt;&lt;br /&gt;
|&amp;lt;span style=&amp;quot;color:red&amp;quot;&amp;gt;&#039;&#039;&#039;89 RPM&#039;&#039;&#039;&amp;lt;/span&amp;gt;&lt;br /&gt;
|7.9 MPH&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Jimny Gen4 (JB64, JB74,JC74 ==&lt;br /&gt;
&#039;&#039;&#039;Jimny (JB64, 3-door, Japan kei car)&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
!Date&lt;br /&gt;
!Country&lt;br /&gt;
!Engine&lt;br /&gt;
!Gearbox&lt;br /&gt;
!Gear 1&lt;br /&gt;
!Gear 2&lt;br /&gt;
!Gear 3&lt;br /&gt;
!Gear 4&lt;br /&gt;
!Gear 5&lt;br /&gt;
!Transfer Box&lt;br /&gt;
!High&lt;br /&gt;
!Low&lt;br /&gt;
!Final Drive&lt;br /&gt;
|-&lt;br /&gt;
|2018&lt;br /&gt;
|JP&lt;br /&gt;
|R06A&lt;br /&gt;
|Manual&lt;br /&gt;
|5.809&lt;br /&gt;
|3.433&lt;br /&gt;
|2.171&lt;br /&gt;
|1.354&lt;br /&gt;
|1.000&lt;br /&gt;
|Manual&lt;br /&gt;
|1.320&lt;br /&gt;
|2.643&lt;br /&gt;
|3.818&lt;br /&gt;
|-&lt;br /&gt;
|2018&lt;br /&gt;
|JP&lt;br /&gt;
|R06A&lt;br /&gt;
|Auto&lt;br /&gt;
|2.875&lt;br /&gt;
|1.568&lt;br /&gt;
|1.000&lt;br /&gt;
|0.696&lt;br /&gt;
|N/A&lt;br /&gt;
|Manual&lt;br /&gt;
|1.320&lt;br /&gt;
|2.643&lt;br /&gt;
|5.375&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
Reverse gear: 5.861 (Manual), 2.300 (Auto).&lt;br /&gt;
&lt;br /&gt;
Source: [https://www.suzuki.co.jp/car/jimny/asset/pdf/detail/detail.pdf Suzuki Japan Jimny specification sheet] (May 2026).&lt;br /&gt;
{{Gen4|}}&lt;br /&gt;
&#039;&#039;&#039;Jimny Sierra (JB74, 3-door)&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; vertical-align:top;&lt;br /&gt;
!Date&lt;br /&gt;
!Country&lt;br /&gt;
!Engine&lt;br /&gt;
!Gearbox&lt;br /&gt;
!Gear 1&lt;br /&gt;
!Gear 2&lt;br /&gt;
!Gear 3&lt;br /&gt;
!Gear 4&lt;br /&gt;
!Gear 5&lt;br /&gt;
!Transfer Box&lt;br /&gt;
!High&lt;br /&gt;
!Low&lt;br /&gt;
!Final Drive&lt;br /&gt;
|-&lt;br /&gt;
|2019&lt;br /&gt;
|UK&lt;br /&gt;
|1.5&lt;br /&gt;
|Manual&lt;br /&gt;
|4.425&lt;br /&gt;
|2.304&lt;br /&gt;
|1.674&lt;br /&gt;
|1.190&lt;br /&gt;
|1&lt;br /&gt;
|Manual&lt;br /&gt;
|1&lt;br /&gt;
|2.002&lt;br /&gt;
|4.09&lt;br /&gt;
|-&lt;br /&gt;
|2019&lt;br /&gt;
|UK&lt;br /&gt;
|1.5&lt;br /&gt;
|Auto&lt;br /&gt;
|2.875&lt;br /&gt;
|1.568&lt;br /&gt;
|1&lt;br /&gt;
|0.696&lt;br /&gt;
|&lt;br /&gt;
|Manual&lt;br /&gt;
|1.320&lt;br /&gt;
|2.643&lt;br /&gt;
|4.3&lt;br /&gt;
|-&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Jimny Nomade (JC74, 5-door)&#039;&#039;&#039;&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
!Date&lt;br /&gt;
!Country&lt;br /&gt;
!Engine&lt;br /&gt;
!Gearbox&lt;br /&gt;
!Gear 1&lt;br /&gt;
!Gear 2&lt;br /&gt;
!Gear 3&lt;br /&gt;
!Gear 4&lt;br /&gt;
!Gear 5&lt;br /&gt;
!Transfer Box&lt;br /&gt;
!High&lt;br /&gt;
!Low&lt;br /&gt;
!Final Drive&lt;br /&gt;
|-&lt;br /&gt;
|2025&lt;br /&gt;
|JP&lt;br /&gt;
|K15B&lt;br /&gt;
|Manual&lt;br /&gt;
|4.425&lt;br /&gt;
|2.304&lt;br /&gt;
|1.674&lt;br /&gt;
|1.190&lt;br /&gt;
|1.000&lt;br /&gt;
|Manual&lt;br /&gt;
|1.000&lt;br /&gt;
|2.002&lt;br /&gt;
|4.090&lt;br /&gt;
|-&lt;br /&gt;
|2025&lt;br /&gt;
|JP&lt;br /&gt;
|K15B&lt;br /&gt;
|Auto&lt;br /&gt;
|2.875&lt;br /&gt;
|1.568&lt;br /&gt;
|1.000&lt;br /&gt;
|0.696&lt;br /&gt;
|N/A&lt;br /&gt;
|Manual&lt;br /&gt;
|1.320&lt;br /&gt;
|2.643&lt;br /&gt;
|4.300&lt;br /&gt;
|}&lt;br /&gt;
Reverse gear: 5.151 (Manual), 2.300 (Auto).&lt;br /&gt;
Source: [https://www.suzuki.co.jp/car/jimny_nomade/asset/pdf/detail/detail.pdf Suzuki Japan Jimny Nomade specification sheet] (May 2026).&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
{{Edited}}&lt;br /&gt;
&lt;br /&gt;
[[Category:Drivechain - gen2]]&lt;br /&gt;
[[Category:Reference Data - gen2]]&lt;br /&gt;
&lt;br /&gt;
[[Category:Drivechain - gen3]]&lt;br /&gt;
[[Category:Reference Data - gen3]]&lt;br /&gt;
&lt;br /&gt;
[[Category:Drivechain - gen4]]&lt;br /&gt;
[[Category:Reference Data - gen4]]&lt;/div&gt;</summary>
		<author><name>Mlines</name></author>
	</entry>
	<entry>
		<id>https://www.bigjimny.com/mediawiki/index.php?title=Transmission_gearing_ratios&amp;diff=10104</id>
		<title>Transmission gearing ratios</title>
		<link rel="alternate" type="text/html" href="https://www.bigjimny.com/mediawiki/index.php?title=Transmission_gearing_ratios&amp;diff=10104"/>
		<updated>2026-11-07T15:49:43Z</updated>

		<summary type="html">&lt;p&gt;Mlines: /* Jimny gen4 */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{intro-notes}}&lt;br /&gt;
&lt;br /&gt;
== Introduction ==&lt;br /&gt;
&lt;br /&gt;
{{Gen1|}}{{Gen2|}}{{Gen3|}}{{Gen4|}}&lt;br /&gt;
This article provides information on transmission ratios of the gearbox, transfer box and the differentials&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Note: For the tyre/road speed calculations, you can use your maths from school or a [https://www.4qd.co.uk/road-speed-calculator/ www.4qd.co.uk/road-speed-calculator/ web calculator];&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Jimny gen2 ==&lt;br /&gt;
&lt;br /&gt;
{{Gen2|}}&lt;br /&gt;
&#039;&#039;Add info if you know it ...&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Jimny gen3 ==&lt;br /&gt;
&lt;br /&gt;
{{Gen3|}}&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; vertical-align:top;&lt;br /&gt;
!Date&lt;br /&gt;
!Country&lt;br /&gt;
!Engine&lt;br /&gt;
!Gearbox&lt;br /&gt;
!Gear 1&lt;br /&gt;
!Gear 2&lt;br /&gt;
!Gear 3&lt;br /&gt;
!Gear 4&lt;br /&gt;
!Gear 5&lt;br /&gt;
!Transfer Box&lt;br /&gt;
!High&lt;br /&gt;
!Low&lt;br /&gt;
!Final Drive&lt;br /&gt;
|-&lt;br /&gt;
|1998&lt;br /&gt;
|UK/EU&lt;br /&gt;
|G13B&lt;br /&gt;
|Manual&lt;br /&gt;
|3.652&lt;br /&gt;
|1.947&lt;br /&gt;
|1.423&lt;br /&gt;
|1.000&lt;br /&gt;
|0.864&lt;br /&gt;
|Manual&lt;br /&gt;
|1.320&lt;br /&gt;
|2.145&lt;br /&gt;
|3.909&lt;br /&gt;
|-&lt;br /&gt;
|1998&lt;br /&gt;
|UK/EU&lt;br /&gt;
|G13B&lt;br /&gt;
|Auto&lt;br /&gt;
|2.962&lt;br /&gt;
|1.515&lt;br /&gt;
|1.000&lt;br /&gt;
|0.738&lt;br /&gt;
|N/A&lt;br /&gt;
|Manual&lt;br /&gt;
|1.320&lt;br /&gt;
|2.145&lt;br /&gt;
|4.090&lt;br /&gt;
|-&lt;br /&gt;
|2001&lt;br /&gt;
|UK/EU&lt;br /&gt;
|M13A&lt;br /&gt;
|Manual&lt;br /&gt;
|&amp;lt;p style=&amp;quot;color: red&amp;quot;&amp;gt;3.652?&amp;lt;/p&amp;gt;&lt;br /&gt;
|&amp;lt;p style=&amp;quot;color: red&amp;quot;&amp;gt;1.947?&amp;lt;/p&amp;gt;&lt;br /&gt;
|&amp;lt;p style=&amp;quot;color: red&amp;quot;&amp;gt;1.423?&amp;lt;/p&amp;gt;&lt;br /&gt;
|1.00&lt;br /&gt;
|&amp;lt;p style=&amp;quot;color: red&amp;quot;&amp;gt;0.864?&amp;lt;/p&amp;gt;&lt;br /&gt;
|Manual&lt;br /&gt;
|1.32&lt;br /&gt;
|2.145&lt;br /&gt;
|3.909&lt;br /&gt;
|-&lt;br /&gt;
|2001&lt;br /&gt;
|UK/EU&lt;br /&gt;
|M13A&lt;br /&gt;
|Auto&lt;br /&gt;
|&amp;lt;p style=&amp;quot;color: red&amp;quot;&amp;gt;2.962?&amp;lt;/p&amp;gt;&lt;br /&gt;
|&amp;lt;p style=&amp;quot;color: red&amp;quot;&amp;gt;1.515?&amp;lt;/p&amp;gt;&lt;br /&gt;
|&amp;lt;p style=&amp;quot;color: red&amp;quot;&amp;gt;1.000?&amp;lt;/p&amp;gt;&lt;br /&gt;
|&amp;lt;p style=&amp;quot;color: red&amp;quot;&amp;gt;0.738?&amp;lt;/p&amp;gt;&lt;br /&gt;
|N/A&lt;br /&gt;
&lt;br /&gt;
|Manual&lt;br /&gt;
|1.32&lt;br /&gt;
|2.145&lt;br /&gt;
|4.090&lt;br /&gt;
|-&lt;br /&gt;
|2005+&lt;br /&gt;
|UK/EU&lt;br /&gt;
|M13AVVT&lt;br /&gt;
|Manual&lt;br /&gt;
|4.425&lt;br /&gt;
|2.304&lt;br /&gt;
|1.674&lt;br /&gt;
|1.190&lt;br /&gt;
|1.000&lt;br /&gt;
|Electric&lt;br /&gt;
|1.00&lt;br /&gt;
|2.002&lt;br /&gt;
|4.300&lt;br /&gt;
|-&lt;br /&gt;
|2005+&lt;br /&gt;
|UK/EU&lt;br /&gt;
|M13AVVT&lt;br /&gt;
|Auto&lt;br /&gt;
|2.875&lt;br /&gt;
|1.568&lt;br /&gt;
|1.000&lt;br /&gt;
|0.695&lt;br /&gt;
|N/A&lt;br /&gt;
|Electric&lt;br /&gt;
|1.32&lt;br /&gt;
|2.643&lt;br /&gt;
|4.090&lt;br /&gt;
|-&lt;br /&gt;
|2005+ &lt;br /&gt;
|EU&lt;br /&gt;
|K9K&lt;br /&gt;
|Manual&lt;br /&gt;
|4.246&lt;br /&gt;
|2.357&lt;br /&gt;
|1.695&lt;br /&gt;
|1.242&lt;br /&gt;
|1.00&lt;br /&gt;
|Electric&lt;br /&gt;
|1.00&lt;br /&gt;
|2.002&lt;br /&gt;
|3.416&lt;br /&gt;
|-&lt;br /&gt;
|2000&lt;br /&gt;
|JP&lt;br /&gt;
|K6A&lt;br /&gt;
|Manual&lt;br /&gt;
|4.031&lt;br /&gt;
|2.391&lt;br /&gt;
|1.513&lt;br /&gt;
|1.00&lt;br /&gt;
|0.790&lt;br /&gt;
|Manual&lt;br /&gt;
|1.320&lt;br /&gt;
|2.145&lt;br /&gt;
|5.375&lt;br /&gt;
|-&lt;br /&gt;
|2000&lt;br /&gt;
|JP&lt;br /&gt;
|K6A&lt;br /&gt;
|Auto&lt;br /&gt;
|2.902&lt;br /&gt;
|1.515&lt;br /&gt;
|1.00&lt;br /&gt;
|0.736&lt;br /&gt;
|N/A&lt;br /&gt;
|Manual&lt;br /&gt;
|1.320&lt;br /&gt;
|2.145&lt;br /&gt;
|5.375&lt;br /&gt;
|-&lt;br /&gt;
|2010&lt;br /&gt;
|JP&lt;br /&gt;
|K6A&lt;br /&gt;
|Manual&lt;br /&gt;
|5.106&lt;br /&gt;
|3.107&lt;br /&gt;
|1.908&lt;br /&gt;
|1.254&lt;br /&gt;
|1.000&lt;br /&gt;
|Manual&lt;br /&gt;
|1.320&lt;br /&gt;
|2.643&lt;br /&gt;
|4.300&lt;br /&gt;
|-&lt;br /&gt;
|2010&lt;br /&gt;
|JP&lt;br /&gt;
|K6A&lt;br /&gt;
|Auto&lt;br /&gt;
|2.875&lt;br /&gt;
|1.568&lt;br /&gt;
|1.000&lt;br /&gt;
|0.696&lt;br /&gt;
|N/A&lt;br /&gt;
|Electric&lt;br /&gt;
|1.320&lt;br /&gt;
|2.643&lt;br /&gt;
|5.375&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Practical examples ===&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
See below for some practical examples.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;2005 VVT manual gearbox Jimny, engine at 4000 RPM and in 5th gear High Ratio, standard wheels&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
!&lt;br /&gt;
!Engine&lt;br /&gt;
!Gearbox&lt;br /&gt;
!Transfer Box&lt;br /&gt;
!Diff&lt;br /&gt;
!Wheel&lt;br /&gt;
|-&lt;br /&gt;
|&#039;&#039;&#039;Input&#039;&#039;&#039;&lt;br /&gt;
| --------&lt;br /&gt;
|&amp;lt;span style=&amp;quot;color:orange&amp;quot;&amp;gt;&#039;&#039;&#039;4000 RPM&#039;&#039;&#039;&amp;lt;/span&amp;gt;&lt;br /&gt;
|&amp;lt;span style=&amp;quot;color:green&amp;quot;&amp;gt;&#039;&#039;&#039;4000 RPM&#039;&#039;&#039;&amp;lt;/span&amp;gt;&lt;br /&gt;
|&amp;lt;span style=&amp;quot;color:blue&amp;quot;&amp;gt;&#039;&#039;&#039;4000 RPM&#039;&#039;&#039;&amp;lt;/span&amp;gt;&lt;br /&gt;
|&amp;lt;span style=&amp;quot;color:red&amp;quot;&amp;gt;&#039;&#039;&#039;465 RPM&#039;&#039;&#039;&amp;lt;/span&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
|&#039;&#039;&#039;Ratio&#039;&#039;&#039;&lt;br /&gt;
| --------&lt;br /&gt;
|1.000&lt;br /&gt;
|1.000&lt;br /&gt;
|4.300&lt;br /&gt;
|28&amp;quot; Tyre&lt;br /&gt;
|-&lt;br /&gt;
|&#039;&#039;&#039;Output&#039;&#039;&#039;&lt;br /&gt;
|&amp;lt;span style=&amp;quot;color:orange&amp;quot;&amp;gt;&#039;&#039;&#039;4000 RPM&#039;&#039;&#039;&amp;lt;/span&amp;gt;&lt;br /&gt;
|&amp;lt;span style=&amp;quot;color:green&amp;quot;&amp;gt;&#039;&#039;&#039;4000 RPM&#039;&#039;&#039;&amp;lt;/span&amp;gt;&lt;br /&gt;
|&amp;lt;span style=&amp;quot;color:blue&amp;quot;&amp;gt;&#039;&#039;&#039;4000 RPM&#039;&#039;&#039;&amp;lt;/span&amp;gt;&lt;br /&gt;
|&amp;lt;span style=&amp;quot;color:red&amp;quot;&amp;gt;&#039;&#039;&#039;465 RPM&#039;&#039;&#039;&amp;lt;/span&amp;gt;&lt;br /&gt;
|77.7 MPH&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
|}&#039;&#039;&#039;2001 M13A manual gearbox Jimny, engine at 3000 RPM and in 1st gear Low Ratio, 30&amp;quot; Tyres&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
!&lt;br /&gt;
!Engine&lt;br /&gt;
!Gearbox&lt;br /&gt;
!Transfer Box&lt;br /&gt;
!Diff&lt;br /&gt;
!Wheel&lt;br /&gt;
|-&lt;br /&gt;
|&#039;&#039;&#039;Input&#039;&#039;&#039;&lt;br /&gt;
| ------&lt;br /&gt;
|&amp;lt;span style=&amp;quot;color:orange&amp;quot;&amp;gt;&#039;&#039;&#039;3000 RPM&#039;&#039;&#039;&amp;lt;/span&amp;gt;&lt;br /&gt;
|&amp;lt;span style=&amp;quot;color:green&amp;quot;&amp;gt;&#039;&#039;&#039;821.4 RPM&#039;&#039;&#039;&amp;lt;/span&amp;gt;&lt;br /&gt;
|&amp;lt;span style=&amp;quot;color:blue&amp;quot;&amp;gt;&#039;&#039;&#039;382.9 RPM&#039;&#039;&#039;&amp;lt;/span&amp;gt;&lt;br /&gt;
|&amp;lt;span style=&amp;quot;color:red&amp;quot;&amp;gt;&#039;&#039;&#039;97.97 RPM&#039;&#039;&#039;&amp;lt;/span&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
|&#039;&#039;&#039;Ratio&#039;&#039;&#039;&lt;br /&gt;
| ------&lt;br /&gt;
|3.652&lt;br /&gt;
|2.145&lt;br /&gt;
|3.909&lt;br /&gt;
|30&amp;quot; Tyre&lt;br /&gt;
|-&lt;br /&gt;
|&#039;&#039;&#039;Output&#039;&#039;&#039;&lt;br /&gt;
|&amp;lt;span style=&amp;quot;color:orange&amp;quot;&amp;gt;&#039;&#039;&#039;3000 RPM&#039;&#039;&#039;&amp;lt;/span&amp;gt;&lt;br /&gt;
|&amp;lt;span style=&amp;quot;color:green&amp;quot;&amp;gt;&#039;&#039;&#039;821.4 RPM&#039;&#039;&#039;&amp;lt;/span&amp;gt;&lt;br /&gt;
|&amp;lt;span style=&amp;quot;color:blue&amp;quot;&amp;gt;&#039;&#039;&#039;382.9 RPM&#039;&#039;&#039;&amp;lt;/span&amp;gt;&lt;br /&gt;
|&amp;lt;span style=&amp;quot;color:red&amp;quot;&amp;gt;&#039;&#039;&#039;97.97 RPM&#039;&#039;&#039;&amp;lt;/span&amp;gt;&lt;br /&gt;
|8.7 MPH&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;2001 M13A manual gearbox Jimny, engine at 3000 RPM and in 1st gear Low Ratio, 30&amp;quot; Tyres &amp;lt;u&amp;gt;with Differential from later VVT&amp;lt;/u&amp;gt;&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
This shows an example of a modified diff with an increase reduction ratio&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
!&lt;br /&gt;
!Engine&lt;br /&gt;
!Gearbox&lt;br /&gt;
!Transfer Box&lt;br /&gt;
!Diff&lt;br /&gt;
!Wheel&lt;br /&gt;
|-&lt;br /&gt;
|&#039;&#039;&#039;Input&#039;&#039;&#039;&lt;br /&gt;
| ------&lt;br /&gt;
|&amp;lt;span style=&amp;quot;color:orange&amp;quot;&amp;gt;&#039;&#039;&#039;3000 RPM&#039;&#039;&#039;&amp;lt;/span&amp;gt;&lt;br /&gt;
|&amp;lt;span style=&amp;quot;color:green&amp;quot;&amp;gt;&#039;&#039;&#039;821.4 RPM&#039;&#039;&#039;&amp;lt;/span&amp;gt;&lt;br /&gt;
|&amp;lt;span style=&amp;quot;color:blue&amp;quot;&amp;gt;&#039;&#039;&#039;382.9 RPM&#039;&#039;&#039;&amp;lt;/span&amp;gt;&lt;br /&gt;
|&amp;lt;span style=&amp;quot;color:red&amp;quot;&amp;gt;&#039;&#039;&#039;89 RPM&#039;&#039;&#039;&amp;lt;/span&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
|&#039;&#039;&#039;Ratio&#039;&#039;&#039;&lt;br /&gt;
| ------&lt;br /&gt;
|3.652&lt;br /&gt;
|2.145&lt;br /&gt;
|4.3000&lt;br /&gt;
|30&amp;quot; Tyre&lt;br /&gt;
|-&lt;br /&gt;
|&#039;&#039;&#039;Output&#039;&#039;&#039;&lt;br /&gt;
|&amp;lt;span style=&amp;quot;color:orange&amp;quot;&amp;gt;&#039;&#039;&#039;3000 RPM&#039;&#039;&#039;&amp;lt;/span&amp;gt;&lt;br /&gt;
|&amp;lt;span style=&amp;quot;color:green&amp;quot;&amp;gt;&#039;&#039;&#039;821.4 RPM&#039;&#039;&#039;&amp;lt;/span&amp;gt;&lt;br /&gt;
|&amp;lt;span style=&amp;quot;color:blue&amp;quot;&amp;gt;&#039;&#039;&#039;382.9 RPM&#039;&#039;&#039;&amp;lt;/span&amp;gt;&lt;br /&gt;
|&amp;lt;span style=&amp;quot;color:red&amp;quot;&amp;gt;&#039;&#039;&#039;89 RPM&#039;&#039;&#039;&amp;lt;/span&amp;gt;&lt;br /&gt;
|7.9 MPH&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Jimny gen4 ==&lt;br /&gt;
&#039;&#039;&#039;Jimny (JB64, 3-door, Japan kei car)&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
!Date&lt;br /&gt;
!Country&lt;br /&gt;
!Engine&lt;br /&gt;
!Gearbox&lt;br /&gt;
!Gear 1&lt;br /&gt;
!Gear 2&lt;br /&gt;
!Gear 3&lt;br /&gt;
!Gear 4&lt;br /&gt;
!Gear 5&lt;br /&gt;
!Transfer Box&lt;br /&gt;
!High&lt;br /&gt;
!Low&lt;br /&gt;
!Final Drive&lt;br /&gt;
|-&lt;br /&gt;
|2018&lt;br /&gt;
|JP&lt;br /&gt;
|R06A&lt;br /&gt;
|Manual&lt;br /&gt;
|5.809&lt;br /&gt;
|3.433&lt;br /&gt;
|2.171&lt;br /&gt;
|1.354&lt;br /&gt;
|1.000&lt;br /&gt;
|Manual&lt;br /&gt;
|1.320&lt;br /&gt;
|2.643&lt;br /&gt;
|3.818&lt;br /&gt;
|-&lt;br /&gt;
|2018&lt;br /&gt;
|JP&lt;br /&gt;
|R06A&lt;br /&gt;
|Auto&lt;br /&gt;
|2.875&lt;br /&gt;
|1.568&lt;br /&gt;
|1.000&lt;br /&gt;
|0.696&lt;br /&gt;
|N/A&lt;br /&gt;
|Manual&lt;br /&gt;
|1.320&lt;br /&gt;
|2.643&lt;br /&gt;
|5.375&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
Reverse gear: 5.861 (Manual), 2.300 (Auto).&lt;br /&gt;
&lt;br /&gt;
Source: [https://www.suzuki.co.jp/car/jimny/asset/pdf/detail/detail.pdf Suzuki Japan Jimny specification sheet] (May 2026).&lt;br /&gt;
{{Gen4|}}&lt;br /&gt;
&#039;&#039;Jimny Sierra (JB74, 3-door)&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; vertical-align:top;&lt;br /&gt;
!Date&lt;br /&gt;
!Country&lt;br /&gt;
!Engine&lt;br /&gt;
!Gearbox&lt;br /&gt;
!Gear 1&lt;br /&gt;
!Gear 2&lt;br /&gt;
!Gear 3&lt;br /&gt;
!Gear 4&lt;br /&gt;
!Gear 5&lt;br /&gt;
!Transfer Box&lt;br /&gt;
!High&lt;br /&gt;
!Low&lt;br /&gt;
!Final Drive&lt;br /&gt;
|-&lt;br /&gt;
|2019&lt;br /&gt;
|UK&lt;br /&gt;
|1.5&lt;br /&gt;
|Manual&lt;br /&gt;
|4.425&lt;br /&gt;
|2.304&lt;br /&gt;
|1.674&lt;br /&gt;
|1.190&lt;br /&gt;
|1&lt;br /&gt;
|Manual&lt;br /&gt;
|1&lt;br /&gt;
|2.002&lt;br /&gt;
|4.09&lt;br /&gt;
|-&lt;br /&gt;
|2019&lt;br /&gt;
|UK&lt;br /&gt;
|1.5&lt;br /&gt;
|Auto&lt;br /&gt;
|2.875&lt;br /&gt;
|1.568&lt;br /&gt;
|1&lt;br /&gt;
|0.696&lt;br /&gt;
|&lt;br /&gt;
|Manual&lt;br /&gt;
|1.320&lt;br /&gt;
|2.643&lt;br /&gt;
|4.3&lt;br /&gt;
|-&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Jimny Nomade (JC74, 5-door)&#039;&#039;&#039;&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
!Date&lt;br /&gt;
!Country&lt;br /&gt;
!Engine&lt;br /&gt;
!Gearbox&lt;br /&gt;
!Gear 1&lt;br /&gt;
!Gear 2&lt;br /&gt;
!Gear 3&lt;br /&gt;
!Gear 4&lt;br /&gt;
!Gear 5&lt;br /&gt;
!Transfer Box&lt;br /&gt;
!High&lt;br /&gt;
!Low&lt;br /&gt;
!Final Drive&lt;br /&gt;
|-&lt;br /&gt;
|2025&lt;br /&gt;
|JP&lt;br /&gt;
|K15B&lt;br /&gt;
|Manual&lt;br /&gt;
|4.425&lt;br /&gt;
|2.304&lt;br /&gt;
|1.674&lt;br /&gt;
|1.190&lt;br /&gt;
|1.000&lt;br /&gt;
|Manual&lt;br /&gt;
|1.000&lt;br /&gt;
|2.002&lt;br /&gt;
|4.090&lt;br /&gt;
|-&lt;br /&gt;
|2025&lt;br /&gt;
|JP&lt;br /&gt;
|K15B&lt;br /&gt;
|Auto&lt;br /&gt;
|2.875&lt;br /&gt;
|1.568&lt;br /&gt;
|1.000&lt;br /&gt;
|0.696&lt;br /&gt;
|N/A&lt;br /&gt;
|Manual&lt;br /&gt;
|1.320&lt;br /&gt;
|2.643&lt;br /&gt;
|4.300&lt;br /&gt;
|}&lt;br /&gt;
Reverse gear: 5.151 (Manual), 2.300 (Auto).&lt;br /&gt;
Source: [https://www.suzuki.co.jp/car/jimny_nomade/asset/pdf/detail/detail.pdf Suzuki Japan Jimny Nomade specification sheet] (May 2026).&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
{{Edited}}&lt;br /&gt;
&lt;br /&gt;
[[Category:Drivechain - gen2]]&lt;br /&gt;
[[Category:Reference Data - gen2]]&lt;br /&gt;
&lt;br /&gt;
[[Category:Drivechain - gen3]]&lt;br /&gt;
[[Category:Reference Data - gen3]]&lt;br /&gt;
&lt;br /&gt;
[[Category:Drivechain - gen4]]&lt;br /&gt;
[[Category:Reference Data - gen4]]&lt;/div&gt;</summary>
		<author><name>Mlines</name></author>
	</entry>
	<entry>
		<id>https://www.bigjimny.com/mediawiki/index.php?title=Transmission_gearing_ratios&amp;diff=10103</id>
		<title>Transmission gearing ratios</title>
		<link rel="alternate" type="text/html" href="https://www.bigjimny.com/mediawiki/index.php?title=Transmission_gearing_ratios&amp;diff=10103"/>
		<updated>2026-11-07T15:46:28Z</updated>

		<summary type="html">&lt;p&gt;Mlines: /* Jimny gen4 */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{intro-notes}}&lt;br /&gt;
&lt;br /&gt;
== Introduction ==&lt;br /&gt;
&lt;br /&gt;
{{Gen1|}}{{Gen2|}}{{Gen3|}}{{Gen4|}}&lt;br /&gt;
This article provides information on transmission ratios of the gearbox, transfer box and the differentials&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Note: For the tyre/road speed calculations, you can use your maths from school or a [https://www.4qd.co.uk/road-speed-calculator/ www.4qd.co.uk/road-speed-calculator/ web calculator];&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Jimny gen2 ==&lt;br /&gt;
&lt;br /&gt;
{{Gen2|}}&lt;br /&gt;
&#039;&#039;Add info if you know it ...&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Jimny gen3 ==&lt;br /&gt;
&lt;br /&gt;
{{Gen3|}}&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; vertical-align:top;&lt;br /&gt;
!Date&lt;br /&gt;
!Country&lt;br /&gt;
!Engine&lt;br /&gt;
!Gearbox&lt;br /&gt;
!Gear 1&lt;br /&gt;
!Gear 2&lt;br /&gt;
!Gear 3&lt;br /&gt;
!Gear 4&lt;br /&gt;
!Gear 5&lt;br /&gt;
!Transfer Box&lt;br /&gt;
!High&lt;br /&gt;
!Low&lt;br /&gt;
!Final Drive&lt;br /&gt;
|-&lt;br /&gt;
|1998&lt;br /&gt;
|UK/EU&lt;br /&gt;
|G13B&lt;br /&gt;
|Manual&lt;br /&gt;
|3.652&lt;br /&gt;
|1.947&lt;br /&gt;
|1.423&lt;br /&gt;
|1.000&lt;br /&gt;
|0.864&lt;br /&gt;
|Manual&lt;br /&gt;
|1.320&lt;br /&gt;
|2.145&lt;br /&gt;
|3.909&lt;br /&gt;
|-&lt;br /&gt;
|1998&lt;br /&gt;
|UK/EU&lt;br /&gt;
|G13B&lt;br /&gt;
|Auto&lt;br /&gt;
|2.962&lt;br /&gt;
|1.515&lt;br /&gt;
|1.000&lt;br /&gt;
|0.738&lt;br /&gt;
|N/A&lt;br /&gt;
|Manual&lt;br /&gt;
|1.320&lt;br /&gt;
|2.145&lt;br /&gt;
|4.090&lt;br /&gt;
|-&lt;br /&gt;
|2001&lt;br /&gt;
|UK/EU&lt;br /&gt;
|M13A&lt;br /&gt;
|Manual&lt;br /&gt;
|&amp;lt;p style=&amp;quot;color: red&amp;quot;&amp;gt;3.652?&amp;lt;/p&amp;gt;&lt;br /&gt;
|&amp;lt;p style=&amp;quot;color: red&amp;quot;&amp;gt;1.947?&amp;lt;/p&amp;gt;&lt;br /&gt;
|&amp;lt;p style=&amp;quot;color: red&amp;quot;&amp;gt;1.423?&amp;lt;/p&amp;gt;&lt;br /&gt;
|1.00&lt;br /&gt;
|&amp;lt;p style=&amp;quot;color: red&amp;quot;&amp;gt;0.864?&amp;lt;/p&amp;gt;&lt;br /&gt;
|Manual&lt;br /&gt;
|1.32&lt;br /&gt;
|2.145&lt;br /&gt;
|3.909&lt;br /&gt;
|-&lt;br /&gt;
|2001&lt;br /&gt;
|UK/EU&lt;br /&gt;
|M13A&lt;br /&gt;
|Auto&lt;br /&gt;
|&amp;lt;p style=&amp;quot;color: red&amp;quot;&amp;gt;2.962?&amp;lt;/p&amp;gt;&lt;br /&gt;
|&amp;lt;p style=&amp;quot;color: red&amp;quot;&amp;gt;1.515?&amp;lt;/p&amp;gt;&lt;br /&gt;
|&amp;lt;p style=&amp;quot;color: red&amp;quot;&amp;gt;1.000?&amp;lt;/p&amp;gt;&lt;br /&gt;
|&amp;lt;p style=&amp;quot;color: red&amp;quot;&amp;gt;0.738?&amp;lt;/p&amp;gt;&lt;br /&gt;
|N/A&lt;br /&gt;
&lt;br /&gt;
|Manual&lt;br /&gt;
|1.32&lt;br /&gt;
|2.145&lt;br /&gt;
|4.090&lt;br /&gt;
|-&lt;br /&gt;
|2005+&lt;br /&gt;
|UK/EU&lt;br /&gt;
|M13AVVT&lt;br /&gt;
|Manual&lt;br /&gt;
|4.425&lt;br /&gt;
|2.304&lt;br /&gt;
|1.674&lt;br /&gt;
|1.190&lt;br /&gt;
|1.000&lt;br /&gt;
|Electric&lt;br /&gt;
|1.00&lt;br /&gt;
|2.002&lt;br /&gt;
|4.300&lt;br /&gt;
|-&lt;br /&gt;
|2005+&lt;br /&gt;
|UK/EU&lt;br /&gt;
|M13AVVT&lt;br /&gt;
|Auto&lt;br /&gt;
|2.875&lt;br /&gt;
|1.568&lt;br /&gt;
|1.000&lt;br /&gt;
|0.695&lt;br /&gt;
|N/A&lt;br /&gt;
|Electric&lt;br /&gt;
|1.32&lt;br /&gt;
|2.643&lt;br /&gt;
|4.090&lt;br /&gt;
|-&lt;br /&gt;
|2005+ &lt;br /&gt;
|EU&lt;br /&gt;
|K9K&lt;br /&gt;
|Manual&lt;br /&gt;
|4.246&lt;br /&gt;
|2.357&lt;br /&gt;
|1.695&lt;br /&gt;
|1.242&lt;br /&gt;
|1.00&lt;br /&gt;
|Electric&lt;br /&gt;
|1.00&lt;br /&gt;
|2.002&lt;br /&gt;
|3.416&lt;br /&gt;
|-&lt;br /&gt;
|2000&lt;br /&gt;
|JP&lt;br /&gt;
|K6A&lt;br /&gt;
|Manual&lt;br /&gt;
|4.031&lt;br /&gt;
|2.391&lt;br /&gt;
|1.513&lt;br /&gt;
|1.00&lt;br /&gt;
|0.790&lt;br /&gt;
|Manual&lt;br /&gt;
|1.320&lt;br /&gt;
|2.145&lt;br /&gt;
|5.375&lt;br /&gt;
|-&lt;br /&gt;
|2000&lt;br /&gt;
|JP&lt;br /&gt;
|K6A&lt;br /&gt;
|Auto&lt;br /&gt;
|2.902&lt;br /&gt;
|1.515&lt;br /&gt;
|1.00&lt;br /&gt;
|0.736&lt;br /&gt;
|N/A&lt;br /&gt;
|Manual&lt;br /&gt;
|1.320&lt;br /&gt;
|2.145&lt;br /&gt;
|5.375&lt;br /&gt;
|-&lt;br /&gt;
|2010&lt;br /&gt;
|JP&lt;br /&gt;
|K6A&lt;br /&gt;
|Manual&lt;br /&gt;
|5.106&lt;br /&gt;
|3.107&lt;br /&gt;
|1.908&lt;br /&gt;
|1.254&lt;br /&gt;
|1.000&lt;br /&gt;
|Manual&lt;br /&gt;
|1.320&lt;br /&gt;
|2.643&lt;br /&gt;
|4.300&lt;br /&gt;
|-&lt;br /&gt;
|2010&lt;br /&gt;
|JP&lt;br /&gt;
|K6A&lt;br /&gt;
|Auto&lt;br /&gt;
|2.875&lt;br /&gt;
|1.568&lt;br /&gt;
|1.000&lt;br /&gt;
|0.696&lt;br /&gt;
|N/A&lt;br /&gt;
|Electric&lt;br /&gt;
|1.320&lt;br /&gt;
|2.643&lt;br /&gt;
|5.375&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Practical examples ===&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
See below for some practical examples.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;2005 VVT manual gearbox Jimny, engine at 4000 RPM and in 5th gear High Ratio, standard wheels&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
!&lt;br /&gt;
!Engine&lt;br /&gt;
!Gearbox&lt;br /&gt;
!Transfer Box&lt;br /&gt;
!Diff&lt;br /&gt;
!Wheel&lt;br /&gt;
|-&lt;br /&gt;
|&#039;&#039;&#039;Input&#039;&#039;&#039;&lt;br /&gt;
| --------&lt;br /&gt;
|&amp;lt;span style=&amp;quot;color:orange&amp;quot;&amp;gt;&#039;&#039;&#039;4000 RPM&#039;&#039;&#039;&amp;lt;/span&amp;gt;&lt;br /&gt;
|&amp;lt;span style=&amp;quot;color:green&amp;quot;&amp;gt;&#039;&#039;&#039;4000 RPM&#039;&#039;&#039;&amp;lt;/span&amp;gt;&lt;br /&gt;
|&amp;lt;span style=&amp;quot;color:blue&amp;quot;&amp;gt;&#039;&#039;&#039;4000 RPM&#039;&#039;&#039;&amp;lt;/span&amp;gt;&lt;br /&gt;
|&amp;lt;span style=&amp;quot;color:red&amp;quot;&amp;gt;&#039;&#039;&#039;465 RPM&#039;&#039;&#039;&amp;lt;/span&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
|&#039;&#039;&#039;Ratio&#039;&#039;&#039;&lt;br /&gt;
| --------&lt;br /&gt;
|1.000&lt;br /&gt;
|1.000&lt;br /&gt;
|4.300&lt;br /&gt;
|28&amp;quot; Tyre&lt;br /&gt;
|-&lt;br /&gt;
|&#039;&#039;&#039;Output&#039;&#039;&#039;&lt;br /&gt;
|&amp;lt;span style=&amp;quot;color:orange&amp;quot;&amp;gt;&#039;&#039;&#039;4000 RPM&#039;&#039;&#039;&amp;lt;/span&amp;gt;&lt;br /&gt;
|&amp;lt;span style=&amp;quot;color:green&amp;quot;&amp;gt;&#039;&#039;&#039;4000 RPM&#039;&#039;&#039;&amp;lt;/span&amp;gt;&lt;br /&gt;
|&amp;lt;span style=&amp;quot;color:blue&amp;quot;&amp;gt;&#039;&#039;&#039;4000 RPM&#039;&#039;&#039;&amp;lt;/span&amp;gt;&lt;br /&gt;
|&amp;lt;span style=&amp;quot;color:red&amp;quot;&amp;gt;&#039;&#039;&#039;465 RPM&#039;&#039;&#039;&amp;lt;/span&amp;gt;&lt;br /&gt;
|77.7 MPH&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
|}&#039;&#039;&#039;2001 M13A manual gearbox Jimny, engine at 3000 RPM and in 1st gear Low Ratio, 30&amp;quot; Tyres&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
!&lt;br /&gt;
!Engine&lt;br /&gt;
!Gearbox&lt;br /&gt;
!Transfer Box&lt;br /&gt;
!Diff&lt;br /&gt;
!Wheel&lt;br /&gt;
|-&lt;br /&gt;
|&#039;&#039;&#039;Input&#039;&#039;&#039;&lt;br /&gt;
| ------&lt;br /&gt;
|&amp;lt;span style=&amp;quot;color:orange&amp;quot;&amp;gt;&#039;&#039;&#039;3000 RPM&#039;&#039;&#039;&amp;lt;/span&amp;gt;&lt;br /&gt;
|&amp;lt;span style=&amp;quot;color:green&amp;quot;&amp;gt;&#039;&#039;&#039;821.4 RPM&#039;&#039;&#039;&amp;lt;/span&amp;gt;&lt;br /&gt;
|&amp;lt;span style=&amp;quot;color:blue&amp;quot;&amp;gt;&#039;&#039;&#039;382.9 RPM&#039;&#039;&#039;&amp;lt;/span&amp;gt;&lt;br /&gt;
|&amp;lt;span style=&amp;quot;color:red&amp;quot;&amp;gt;&#039;&#039;&#039;97.97 RPM&#039;&#039;&#039;&amp;lt;/span&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
|&#039;&#039;&#039;Ratio&#039;&#039;&#039;&lt;br /&gt;
| ------&lt;br /&gt;
|3.652&lt;br /&gt;
|2.145&lt;br /&gt;
|3.909&lt;br /&gt;
|30&amp;quot; Tyre&lt;br /&gt;
|-&lt;br /&gt;
|&#039;&#039;&#039;Output&#039;&#039;&#039;&lt;br /&gt;
|&amp;lt;span style=&amp;quot;color:orange&amp;quot;&amp;gt;&#039;&#039;&#039;3000 RPM&#039;&#039;&#039;&amp;lt;/span&amp;gt;&lt;br /&gt;
|&amp;lt;span style=&amp;quot;color:green&amp;quot;&amp;gt;&#039;&#039;&#039;821.4 RPM&#039;&#039;&#039;&amp;lt;/span&amp;gt;&lt;br /&gt;
|&amp;lt;span style=&amp;quot;color:blue&amp;quot;&amp;gt;&#039;&#039;&#039;382.9 RPM&#039;&#039;&#039;&amp;lt;/span&amp;gt;&lt;br /&gt;
|&amp;lt;span style=&amp;quot;color:red&amp;quot;&amp;gt;&#039;&#039;&#039;97.97 RPM&#039;&#039;&#039;&amp;lt;/span&amp;gt;&lt;br /&gt;
|8.7 MPH&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;2001 M13A manual gearbox Jimny, engine at 3000 RPM and in 1st gear Low Ratio, 30&amp;quot; Tyres &amp;lt;u&amp;gt;with Differential from later VVT&amp;lt;/u&amp;gt;&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
This shows an example of a modified diff with an increase reduction ratio&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
!&lt;br /&gt;
!Engine&lt;br /&gt;
!Gearbox&lt;br /&gt;
!Transfer Box&lt;br /&gt;
!Diff&lt;br /&gt;
!Wheel&lt;br /&gt;
|-&lt;br /&gt;
|&#039;&#039;&#039;Input&#039;&#039;&#039;&lt;br /&gt;
| ------&lt;br /&gt;
|&amp;lt;span style=&amp;quot;color:orange&amp;quot;&amp;gt;&#039;&#039;&#039;3000 RPM&#039;&#039;&#039;&amp;lt;/span&amp;gt;&lt;br /&gt;
|&amp;lt;span style=&amp;quot;color:green&amp;quot;&amp;gt;&#039;&#039;&#039;821.4 RPM&#039;&#039;&#039;&amp;lt;/span&amp;gt;&lt;br /&gt;
|&amp;lt;span style=&amp;quot;color:blue&amp;quot;&amp;gt;&#039;&#039;&#039;382.9 RPM&#039;&#039;&#039;&amp;lt;/span&amp;gt;&lt;br /&gt;
|&amp;lt;span style=&amp;quot;color:red&amp;quot;&amp;gt;&#039;&#039;&#039;89 RPM&#039;&#039;&#039;&amp;lt;/span&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
|&#039;&#039;&#039;Ratio&#039;&#039;&#039;&lt;br /&gt;
| ------&lt;br /&gt;
|3.652&lt;br /&gt;
|2.145&lt;br /&gt;
|4.3000&lt;br /&gt;
|30&amp;quot; Tyre&lt;br /&gt;
|-&lt;br /&gt;
|&#039;&#039;&#039;Output&#039;&#039;&#039;&lt;br /&gt;
|&amp;lt;span style=&amp;quot;color:orange&amp;quot;&amp;gt;&#039;&#039;&#039;3000 RPM&#039;&#039;&#039;&amp;lt;/span&amp;gt;&lt;br /&gt;
|&amp;lt;span style=&amp;quot;color:green&amp;quot;&amp;gt;&#039;&#039;&#039;821.4 RPM&#039;&#039;&#039;&amp;lt;/span&amp;gt;&lt;br /&gt;
|&amp;lt;span style=&amp;quot;color:blue&amp;quot;&amp;gt;&#039;&#039;&#039;382.9 RPM&#039;&#039;&#039;&amp;lt;/span&amp;gt;&lt;br /&gt;
|&amp;lt;span style=&amp;quot;color:red&amp;quot;&amp;gt;&#039;&#039;&#039;89 RPM&#039;&#039;&#039;&amp;lt;/span&amp;gt;&lt;br /&gt;
|7.9 MPH&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Jimny gen4 ==&lt;br /&gt;
&lt;br /&gt;
{{Gen4|}}&lt;br /&gt;
&#039;&#039;Jimny Sierra (JB74, 3-door)&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; vertical-align:top;&lt;br /&gt;
!Date&lt;br /&gt;
!Country&lt;br /&gt;
!Engine&lt;br /&gt;
!Gearbox&lt;br /&gt;
!Gear 1&lt;br /&gt;
!Gear 2&lt;br /&gt;
!Gear 3&lt;br /&gt;
!Gear 4&lt;br /&gt;
!Gear 5&lt;br /&gt;
!Transfer Box&lt;br /&gt;
!High&lt;br /&gt;
!Low&lt;br /&gt;
!Final Drive&lt;br /&gt;
|-&lt;br /&gt;
|2019&lt;br /&gt;
|UK&lt;br /&gt;
|1.5&lt;br /&gt;
|Manual&lt;br /&gt;
|4.425&lt;br /&gt;
|2.304&lt;br /&gt;
|1.674&lt;br /&gt;
|1.190&lt;br /&gt;
|1&lt;br /&gt;
|Manual&lt;br /&gt;
|1&lt;br /&gt;
|2.002&lt;br /&gt;
|4.09&lt;br /&gt;
|-&lt;br /&gt;
|2019&lt;br /&gt;
|UK&lt;br /&gt;
|1.5&lt;br /&gt;
|Auto&lt;br /&gt;
|2.875&lt;br /&gt;
|1.568&lt;br /&gt;
|1&lt;br /&gt;
|0.696&lt;br /&gt;
|&lt;br /&gt;
|Manual&lt;br /&gt;
|1.320&lt;br /&gt;
|2.643&lt;br /&gt;
|4.3&lt;br /&gt;
|-&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Jimny Nomade (JC74, 5-door)&#039;&#039;&#039;&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
!Date&lt;br /&gt;
!Country&lt;br /&gt;
!Engine&lt;br /&gt;
!Gearbox&lt;br /&gt;
!Gear 1&lt;br /&gt;
!Gear 2&lt;br /&gt;
!Gear 3&lt;br /&gt;
!Gear 4&lt;br /&gt;
!Gear 5&lt;br /&gt;
!Transfer Box&lt;br /&gt;
!High&lt;br /&gt;
!Low&lt;br /&gt;
!Final Drive&lt;br /&gt;
|-&lt;br /&gt;
|2025&lt;br /&gt;
|JP&lt;br /&gt;
|K15B&lt;br /&gt;
|Manual&lt;br /&gt;
|4.425&lt;br /&gt;
|2.304&lt;br /&gt;
|1.674&lt;br /&gt;
|1.190&lt;br /&gt;
|1.000&lt;br /&gt;
|Manual&lt;br /&gt;
|1.000&lt;br /&gt;
|2.002&lt;br /&gt;
|4.090&lt;br /&gt;
|-&lt;br /&gt;
|2025&lt;br /&gt;
|JP&lt;br /&gt;
|K15B&lt;br /&gt;
|Auto&lt;br /&gt;
|2.875&lt;br /&gt;
|1.568&lt;br /&gt;
|1.000&lt;br /&gt;
|0.696&lt;br /&gt;
|N/A&lt;br /&gt;
|Manual&lt;br /&gt;
|1.320&lt;br /&gt;
|2.643&lt;br /&gt;
|4.300&lt;br /&gt;
|}&lt;br /&gt;
Reverse gear: 5.151 (Manual), 2.300 (Auto).&lt;br /&gt;
Source: [https://www.suzuki.co.jp/car/jimny_nomade/asset/pdf/detail/detail.pdf Suzuki Japan Jimny Nomade specification sheet] (May 2026).&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
{{Edited}}&lt;br /&gt;
&lt;br /&gt;
[[Category:Drivechain - gen2]]&lt;br /&gt;
[[Category:Reference Data - gen2]]&lt;br /&gt;
&lt;br /&gt;
[[Category:Drivechain - gen3]]&lt;br /&gt;
[[Category:Reference Data - gen3]]&lt;br /&gt;
&lt;br /&gt;
[[Category:Drivechain - gen4]]&lt;br /&gt;
[[Category:Reference Data - gen4]]&lt;/div&gt;</summary>
		<author><name>Mlines</name></author>
	</entry>
	<entry>
		<id>https://www.bigjimny.com/mediawiki/index.php?title=Transmission_gearing_ratios&amp;diff=10102</id>
		<title>Transmission gearing ratios</title>
		<link rel="alternate" type="text/html" href="https://www.bigjimny.com/mediawiki/index.php?title=Transmission_gearing_ratios&amp;diff=10102"/>
		<updated>2026-11-07T15:44:33Z</updated>

		<summary type="html">&lt;p&gt;Mlines: /* Jimny gen4 */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{intro-notes}}&lt;br /&gt;
&lt;br /&gt;
== Introduction ==&lt;br /&gt;
&lt;br /&gt;
{{Gen1|}}{{Gen2|}}{{Gen3|}}{{Gen4|}}&lt;br /&gt;
This article provides information on transmission ratios of the gearbox, transfer box and the differentials&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Note: For the tyre/road speed calculations, you can use your maths from school or a [https://www.4qd.co.uk/road-speed-calculator/ www.4qd.co.uk/road-speed-calculator/ web calculator];&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Jimny gen2 ==&lt;br /&gt;
&lt;br /&gt;
{{Gen2|}}&lt;br /&gt;
&#039;&#039;Add info if you know it ...&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Jimny gen3 ==&lt;br /&gt;
&lt;br /&gt;
{{Gen3|}}&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; vertical-align:top;&lt;br /&gt;
!Date&lt;br /&gt;
!Country&lt;br /&gt;
!Engine&lt;br /&gt;
!Gearbox&lt;br /&gt;
!Gear 1&lt;br /&gt;
!Gear 2&lt;br /&gt;
!Gear 3&lt;br /&gt;
!Gear 4&lt;br /&gt;
!Gear 5&lt;br /&gt;
!Transfer Box&lt;br /&gt;
!High&lt;br /&gt;
!Low&lt;br /&gt;
!Final Drive&lt;br /&gt;
|-&lt;br /&gt;
|1998&lt;br /&gt;
|UK/EU&lt;br /&gt;
|G13B&lt;br /&gt;
|Manual&lt;br /&gt;
|3.652&lt;br /&gt;
|1.947&lt;br /&gt;
|1.423&lt;br /&gt;
|1.000&lt;br /&gt;
|0.864&lt;br /&gt;
|Manual&lt;br /&gt;
|1.320&lt;br /&gt;
|2.145&lt;br /&gt;
|3.909&lt;br /&gt;
|-&lt;br /&gt;
|1998&lt;br /&gt;
|UK/EU&lt;br /&gt;
|G13B&lt;br /&gt;
|Auto&lt;br /&gt;
|2.962&lt;br /&gt;
|1.515&lt;br /&gt;
|1.000&lt;br /&gt;
|0.738&lt;br /&gt;
|N/A&lt;br /&gt;
|Manual&lt;br /&gt;
|1.320&lt;br /&gt;
|2.145&lt;br /&gt;
|4.090&lt;br /&gt;
|-&lt;br /&gt;
|2001&lt;br /&gt;
|UK/EU&lt;br /&gt;
|M13A&lt;br /&gt;
|Manual&lt;br /&gt;
|&amp;lt;p style=&amp;quot;color: red&amp;quot;&amp;gt;3.652?&amp;lt;/p&amp;gt;&lt;br /&gt;
|&amp;lt;p style=&amp;quot;color: red&amp;quot;&amp;gt;1.947?&amp;lt;/p&amp;gt;&lt;br /&gt;
|&amp;lt;p style=&amp;quot;color: red&amp;quot;&amp;gt;1.423?&amp;lt;/p&amp;gt;&lt;br /&gt;
|1.00&lt;br /&gt;
|&amp;lt;p style=&amp;quot;color: red&amp;quot;&amp;gt;0.864?&amp;lt;/p&amp;gt;&lt;br /&gt;
|Manual&lt;br /&gt;
|1.32&lt;br /&gt;
|2.145&lt;br /&gt;
|3.909&lt;br /&gt;
|-&lt;br /&gt;
|2001&lt;br /&gt;
|UK/EU&lt;br /&gt;
|M13A&lt;br /&gt;
|Auto&lt;br /&gt;
|&amp;lt;p style=&amp;quot;color: red&amp;quot;&amp;gt;2.962?&amp;lt;/p&amp;gt;&lt;br /&gt;
|&amp;lt;p style=&amp;quot;color: red&amp;quot;&amp;gt;1.515?&amp;lt;/p&amp;gt;&lt;br /&gt;
|&amp;lt;p style=&amp;quot;color: red&amp;quot;&amp;gt;1.000?&amp;lt;/p&amp;gt;&lt;br /&gt;
|&amp;lt;p style=&amp;quot;color: red&amp;quot;&amp;gt;0.738?&amp;lt;/p&amp;gt;&lt;br /&gt;
|N/A&lt;br /&gt;
&lt;br /&gt;
|Manual&lt;br /&gt;
|1.32&lt;br /&gt;
|2.145&lt;br /&gt;
|4.090&lt;br /&gt;
|-&lt;br /&gt;
|2005+&lt;br /&gt;
|UK/EU&lt;br /&gt;
|M13AVVT&lt;br /&gt;
|Manual&lt;br /&gt;
|4.425&lt;br /&gt;
|2.304&lt;br /&gt;
|1.674&lt;br /&gt;
|1.190&lt;br /&gt;
|1.000&lt;br /&gt;
|Electric&lt;br /&gt;
|1.00&lt;br /&gt;
|2.002&lt;br /&gt;
|4.300&lt;br /&gt;
|-&lt;br /&gt;
|2005+&lt;br /&gt;
|UK/EU&lt;br /&gt;
|M13AVVT&lt;br /&gt;
|Auto&lt;br /&gt;
|2.875&lt;br /&gt;
|1.568&lt;br /&gt;
|1.000&lt;br /&gt;
|0.695&lt;br /&gt;
|N/A&lt;br /&gt;
|Electric&lt;br /&gt;
|1.32&lt;br /&gt;
|2.643&lt;br /&gt;
|4.090&lt;br /&gt;
|-&lt;br /&gt;
|2005+ &lt;br /&gt;
|EU&lt;br /&gt;
|K9K&lt;br /&gt;
|Manual&lt;br /&gt;
|4.246&lt;br /&gt;
|2.357&lt;br /&gt;
|1.695&lt;br /&gt;
|1.242&lt;br /&gt;
|1.00&lt;br /&gt;
|Electric&lt;br /&gt;
|1.00&lt;br /&gt;
|2.002&lt;br /&gt;
|3.416&lt;br /&gt;
|-&lt;br /&gt;
|2000&lt;br /&gt;
|JP&lt;br /&gt;
|K6A&lt;br /&gt;
|Manual&lt;br /&gt;
|4.031&lt;br /&gt;
|2.391&lt;br /&gt;
|1.513&lt;br /&gt;
|1.00&lt;br /&gt;
|0.790&lt;br /&gt;
|Manual&lt;br /&gt;
|1.320&lt;br /&gt;
|2.145&lt;br /&gt;
|5.375&lt;br /&gt;
|-&lt;br /&gt;
|2000&lt;br /&gt;
|JP&lt;br /&gt;
|K6A&lt;br /&gt;
|Auto&lt;br /&gt;
|2.902&lt;br /&gt;
|1.515&lt;br /&gt;
|1.00&lt;br /&gt;
|0.736&lt;br /&gt;
|N/A&lt;br /&gt;
|Manual&lt;br /&gt;
|1.320&lt;br /&gt;
|2.145&lt;br /&gt;
|5.375&lt;br /&gt;
|-&lt;br /&gt;
|2010&lt;br /&gt;
|JP&lt;br /&gt;
|K6A&lt;br /&gt;
|Manual&lt;br /&gt;
|5.106&lt;br /&gt;
|3.107&lt;br /&gt;
|1.908&lt;br /&gt;
|1.254&lt;br /&gt;
|1.000&lt;br /&gt;
|Manual&lt;br /&gt;
|1.320&lt;br /&gt;
|2.643&lt;br /&gt;
|4.300&lt;br /&gt;
|-&lt;br /&gt;
|2010&lt;br /&gt;
|JP&lt;br /&gt;
|K6A&lt;br /&gt;
|Auto&lt;br /&gt;
|2.875&lt;br /&gt;
|1.568&lt;br /&gt;
|1.000&lt;br /&gt;
|0.696&lt;br /&gt;
|N/A&lt;br /&gt;
|Electric&lt;br /&gt;
|1.320&lt;br /&gt;
|2.643&lt;br /&gt;
|5.375&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Practical examples ===&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
See below for some practical examples.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;2005 VVT manual gearbox Jimny, engine at 4000 RPM and in 5th gear High Ratio, standard wheels&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
!&lt;br /&gt;
!Engine&lt;br /&gt;
!Gearbox&lt;br /&gt;
!Transfer Box&lt;br /&gt;
!Diff&lt;br /&gt;
!Wheel&lt;br /&gt;
|-&lt;br /&gt;
|&#039;&#039;&#039;Input&#039;&#039;&#039;&lt;br /&gt;
| --------&lt;br /&gt;
|&amp;lt;span style=&amp;quot;color:orange&amp;quot;&amp;gt;&#039;&#039;&#039;4000 RPM&#039;&#039;&#039;&amp;lt;/span&amp;gt;&lt;br /&gt;
|&amp;lt;span style=&amp;quot;color:green&amp;quot;&amp;gt;&#039;&#039;&#039;4000 RPM&#039;&#039;&#039;&amp;lt;/span&amp;gt;&lt;br /&gt;
|&amp;lt;span style=&amp;quot;color:blue&amp;quot;&amp;gt;&#039;&#039;&#039;4000 RPM&#039;&#039;&#039;&amp;lt;/span&amp;gt;&lt;br /&gt;
|&amp;lt;span style=&amp;quot;color:red&amp;quot;&amp;gt;&#039;&#039;&#039;465 RPM&#039;&#039;&#039;&amp;lt;/span&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
|&#039;&#039;&#039;Ratio&#039;&#039;&#039;&lt;br /&gt;
| --------&lt;br /&gt;
|1.000&lt;br /&gt;
|1.000&lt;br /&gt;
|4.300&lt;br /&gt;
|28&amp;quot; Tyre&lt;br /&gt;
|-&lt;br /&gt;
|&#039;&#039;&#039;Output&#039;&#039;&#039;&lt;br /&gt;
|&amp;lt;span style=&amp;quot;color:orange&amp;quot;&amp;gt;&#039;&#039;&#039;4000 RPM&#039;&#039;&#039;&amp;lt;/span&amp;gt;&lt;br /&gt;
|&amp;lt;span style=&amp;quot;color:green&amp;quot;&amp;gt;&#039;&#039;&#039;4000 RPM&#039;&#039;&#039;&amp;lt;/span&amp;gt;&lt;br /&gt;
|&amp;lt;span style=&amp;quot;color:blue&amp;quot;&amp;gt;&#039;&#039;&#039;4000 RPM&#039;&#039;&#039;&amp;lt;/span&amp;gt;&lt;br /&gt;
|&amp;lt;span style=&amp;quot;color:red&amp;quot;&amp;gt;&#039;&#039;&#039;465 RPM&#039;&#039;&#039;&amp;lt;/span&amp;gt;&lt;br /&gt;
|77.7 MPH&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
|}&#039;&#039;&#039;2001 M13A manual gearbox Jimny, engine at 3000 RPM and in 1st gear Low Ratio, 30&amp;quot; Tyres&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
!&lt;br /&gt;
!Engine&lt;br /&gt;
!Gearbox&lt;br /&gt;
!Transfer Box&lt;br /&gt;
!Diff&lt;br /&gt;
!Wheel&lt;br /&gt;
|-&lt;br /&gt;
|&#039;&#039;&#039;Input&#039;&#039;&#039;&lt;br /&gt;
| ------&lt;br /&gt;
|&amp;lt;span style=&amp;quot;color:orange&amp;quot;&amp;gt;&#039;&#039;&#039;3000 RPM&#039;&#039;&#039;&amp;lt;/span&amp;gt;&lt;br /&gt;
|&amp;lt;span style=&amp;quot;color:green&amp;quot;&amp;gt;&#039;&#039;&#039;821.4 RPM&#039;&#039;&#039;&amp;lt;/span&amp;gt;&lt;br /&gt;
|&amp;lt;span style=&amp;quot;color:blue&amp;quot;&amp;gt;&#039;&#039;&#039;382.9 RPM&#039;&#039;&#039;&amp;lt;/span&amp;gt;&lt;br /&gt;
|&amp;lt;span style=&amp;quot;color:red&amp;quot;&amp;gt;&#039;&#039;&#039;97.97 RPM&#039;&#039;&#039;&amp;lt;/span&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
|&#039;&#039;&#039;Ratio&#039;&#039;&#039;&lt;br /&gt;
| ------&lt;br /&gt;
|3.652&lt;br /&gt;
|2.145&lt;br /&gt;
|3.909&lt;br /&gt;
|30&amp;quot; Tyre&lt;br /&gt;
|-&lt;br /&gt;
|&#039;&#039;&#039;Output&#039;&#039;&#039;&lt;br /&gt;
|&amp;lt;span style=&amp;quot;color:orange&amp;quot;&amp;gt;&#039;&#039;&#039;3000 RPM&#039;&#039;&#039;&amp;lt;/span&amp;gt;&lt;br /&gt;
|&amp;lt;span style=&amp;quot;color:green&amp;quot;&amp;gt;&#039;&#039;&#039;821.4 RPM&#039;&#039;&#039;&amp;lt;/span&amp;gt;&lt;br /&gt;
|&amp;lt;span style=&amp;quot;color:blue&amp;quot;&amp;gt;&#039;&#039;&#039;382.9 RPM&#039;&#039;&#039;&amp;lt;/span&amp;gt;&lt;br /&gt;
|&amp;lt;span style=&amp;quot;color:red&amp;quot;&amp;gt;&#039;&#039;&#039;97.97 RPM&#039;&#039;&#039;&amp;lt;/span&amp;gt;&lt;br /&gt;
|8.7 MPH&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;2001 M13A manual gearbox Jimny, engine at 3000 RPM and in 1st gear Low Ratio, 30&amp;quot; Tyres &amp;lt;u&amp;gt;with Differential from later VVT&amp;lt;/u&amp;gt;&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
This shows an example of a modified diff with an increase reduction ratio&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
!&lt;br /&gt;
!Engine&lt;br /&gt;
!Gearbox&lt;br /&gt;
!Transfer Box&lt;br /&gt;
!Diff&lt;br /&gt;
!Wheel&lt;br /&gt;
|-&lt;br /&gt;
|&#039;&#039;&#039;Input&#039;&#039;&#039;&lt;br /&gt;
| ------&lt;br /&gt;
|&amp;lt;span style=&amp;quot;color:orange&amp;quot;&amp;gt;&#039;&#039;&#039;3000 RPM&#039;&#039;&#039;&amp;lt;/span&amp;gt;&lt;br /&gt;
|&amp;lt;span style=&amp;quot;color:green&amp;quot;&amp;gt;&#039;&#039;&#039;821.4 RPM&#039;&#039;&#039;&amp;lt;/span&amp;gt;&lt;br /&gt;
|&amp;lt;span style=&amp;quot;color:blue&amp;quot;&amp;gt;&#039;&#039;&#039;382.9 RPM&#039;&#039;&#039;&amp;lt;/span&amp;gt;&lt;br /&gt;
|&amp;lt;span style=&amp;quot;color:red&amp;quot;&amp;gt;&#039;&#039;&#039;89 RPM&#039;&#039;&#039;&amp;lt;/span&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
|&#039;&#039;&#039;Ratio&#039;&#039;&#039;&lt;br /&gt;
| ------&lt;br /&gt;
|3.652&lt;br /&gt;
|2.145&lt;br /&gt;
|4.3000&lt;br /&gt;
|30&amp;quot; Tyre&lt;br /&gt;
|-&lt;br /&gt;
|&#039;&#039;&#039;Output&#039;&#039;&#039;&lt;br /&gt;
|&amp;lt;span style=&amp;quot;color:orange&amp;quot;&amp;gt;&#039;&#039;&#039;3000 RPM&#039;&#039;&#039;&amp;lt;/span&amp;gt;&lt;br /&gt;
|&amp;lt;span style=&amp;quot;color:green&amp;quot;&amp;gt;&#039;&#039;&#039;821.4 RPM&#039;&#039;&#039;&amp;lt;/span&amp;gt;&lt;br /&gt;
|&amp;lt;span style=&amp;quot;color:blue&amp;quot;&amp;gt;&#039;&#039;&#039;382.9 RPM&#039;&#039;&#039;&amp;lt;/span&amp;gt;&lt;br /&gt;
|&amp;lt;span style=&amp;quot;color:red&amp;quot;&amp;gt;&#039;&#039;&#039;89 RPM&#039;&#039;&#039;&amp;lt;/span&amp;gt;&lt;br /&gt;
|7.9 MPH&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Jimny gen4 ==&lt;br /&gt;
&lt;br /&gt;
{{Gen4|}}&lt;br /&gt;
&#039;&#039;Info needed ...&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; vertical-align:top;&lt;br /&gt;
!Date&lt;br /&gt;
!Country&lt;br /&gt;
!Engine&lt;br /&gt;
!Gearbox&lt;br /&gt;
!Gear 1&lt;br /&gt;
!Gear 2&lt;br /&gt;
!Gear 3&lt;br /&gt;
!Gear 4&lt;br /&gt;
!Gear 5&lt;br /&gt;
!Transfer Box&lt;br /&gt;
!High&lt;br /&gt;
!Low&lt;br /&gt;
!Final Drive&lt;br /&gt;
|-&lt;br /&gt;
|2019&lt;br /&gt;
|UK&lt;br /&gt;
|1.5&lt;br /&gt;
|Manual&lt;br /&gt;
|4.425&lt;br /&gt;
|2.304&lt;br /&gt;
|1.674&lt;br /&gt;
|1.190&lt;br /&gt;
|1&lt;br /&gt;
|Manual&lt;br /&gt;
|1&lt;br /&gt;
|2.002&lt;br /&gt;
|4.09&lt;br /&gt;
|-&lt;br /&gt;
|2019&lt;br /&gt;
|UK&lt;br /&gt;
|1.5&lt;br /&gt;
|Auto&lt;br /&gt;
|2.875&lt;br /&gt;
|1.568&lt;br /&gt;
|1&lt;br /&gt;
|0.696&lt;br /&gt;
|&lt;br /&gt;
|Manual&lt;br /&gt;
|1.320&lt;br /&gt;
|2.643&lt;br /&gt;
|4.3&lt;br /&gt;
|-&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Jimny Nomade (JC74, 5-door)&#039;&#039;&#039;&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
!Date&lt;br /&gt;
!Country&lt;br /&gt;
!Engine&lt;br /&gt;
!Gearbox&lt;br /&gt;
!Gear 1&lt;br /&gt;
!Gear 2&lt;br /&gt;
!Gear 3&lt;br /&gt;
!Gear 4&lt;br /&gt;
!Gear 5&lt;br /&gt;
!Transfer Box&lt;br /&gt;
!High&lt;br /&gt;
!Low&lt;br /&gt;
!Final Drive&lt;br /&gt;
|-&lt;br /&gt;
|2025&lt;br /&gt;
|JP&lt;br /&gt;
|K15B&lt;br /&gt;
|Manual&lt;br /&gt;
|4.425&lt;br /&gt;
|2.304&lt;br /&gt;
|1.674&lt;br /&gt;
|1.190&lt;br /&gt;
|1.000&lt;br /&gt;
|Manual&lt;br /&gt;
|1.000&lt;br /&gt;
|2.002&lt;br /&gt;
|4.090&lt;br /&gt;
|-&lt;br /&gt;
|2025&lt;br /&gt;
|JP&lt;br /&gt;
|K15B&lt;br /&gt;
|Auto&lt;br /&gt;
|2.875&lt;br /&gt;
|1.568&lt;br /&gt;
|1.000&lt;br /&gt;
|0.696&lt;br /&gt;
|N/A&lt;br /&gt;
|Manual&lt;br /&gt;
|1.320&lt;br /&gt;
|2.643&lt;br /&gt;
|4.300&lt;br /&gt;
|}&lt;br /&gt;
Reverse gear: 5.151 (Manual), 2.300 (Auto).&lt;br /&gt;
Source: [https://www.suzuki.co.jp/car/jimny_nomade/asset/pdf/detail/detail.pdf Suzuki Japan Jimny Nomade specification sheet] (May 2026).&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
{{Edited}}&lt;br /&gt;
&lt;br /&gt;
[[Category:Drivechain - gen2]]&lt;br /&gt;
[[Category:Reference Data - gen2]]&lt;br /&gt;
&lt;br /&gt;
[[Category:Drivechain - gen3]]&lt;br /&gt;
[[Category:Reference Data - gen3]]&lt;br /&gt;
&lt;br /&gt;
[[Category:Drivechain - gen4]]&lt;br /&gt;
[[Category:Reference Data - gen4]]&lt;/div&gt;</summary>
		<author><name>Mlines</name></author>
	</entry>
	<entry>
		<id>https://www.bigjimny.com/mediawiki/index.php?title=ECU_diagnostic_CAN_addresses&amp;diff=10101</id>
		<title>ECU diagnostic CAN addresses</title>
		<link rel="alternate" type="text/html" href="https://www.bigjimny.com/mediawiki/index.php?title=ECU_diagnostic_CAN_addresses&amp;diff=10101"/>
		<updated>2026-11-02T08:53:34Z</updated>

		<summary type="html">&lt;p&gt;Mlines: /* Example usage */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&amp;lt;div style=&amp;quot;border: 1px solid #c9a227; background-color: #fff8dc; padding: 0.6em 1em; margin: 0 0 1em 0; border-radius: 4px;&amp;quot;&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;Support this project:&#039;&#039;&#039; 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 [https://buymeacoffee.com/bigjimny buymeacoffee.com/bigjimny].&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
= Suzuki Jimny JB74 - CAN bus devices and the commands they answer =&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Status:&#039;&#039;&#039; 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.&lt;br /&gt;
&lt;br /&gt;
== How to read this page ==&lt;br /&gt;
* All IDs are 11-bit CAN IDs on the OBD socket (pins 6 and 14, 500 kbit/s). The &amp;quot;request ID&amp;quot; is the header a tool sends to; the &amp;quot;reply ID&amp;quot; is where the module answers.&lt;br /&gt;
* 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.&lt;br /&gt;
* &#039;&#039;&#039;KWP-style&#039;&#039;&#039; modules use services such as &amp;lt;code&amp;gt;1A&amp;lt;/code&amp;gt; (read ECU identification) and &amp;lt;code&amp;gt;18&amp;lt;/code&amp;gt; (read DTCs by status). &#039;&#039;&#039;UDS-style&#039;&#039;&#039; modules use &amp;lt;code&amp;gt;22&amp;lt;/code&amp;gt; (read data by identifier) and &amp;lt;code&amp;gt;19&amp;lt;/code&amp;gt; (read DTCs).&lt;br /&gt;
* 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.&lt;br /&gt;
* Identification strings are ASCII Suzuki part numbers. The first one in each module (&amp;lt;code&amp;gt;1A 8E&amp;lt;/code&amp;gt; or &amp;lt;code&amp;gt;22 F1 01&amp;lt;/code&amp;gt;) has no trailing character; the second (&amp;lt;code&amp;gt;1A 8A&amp;lt;/code&amp;gt; or &amp;lt;code&amp;gt;22 F1 88&amp;lt;/code&amp;gt;) ends in &amp;lt;code&amp;gt;*&amp;lt;/code&amp;gt;. They do not always equal the number printed on the module&#039;s label.&lt;br /&gt;
* Commands marked &#039;&#039;captured&#039;&#039; were seen in a trace. Nothing here has been sent to a module by us except the TPMS requests.&lt;br /&gt;
=== Example usage ===&lt;br /&gt;
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 &amp;lt;code&amp;gt;OK&amp;lt;/code&amp;gt; after each.&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! Command !! Purpose&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;ATZ&amp;lt;/code&amp;gt; || Reset the adapter (prints the adapter version, not OK)&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;ATSP6&amp;lt;/code&amp;gt; || Use protocol 6: ISO 15765-4, 11-bit CAN, 500 kbit/s&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;ATSH798&amp;lt;/code&amp;gt; || Send requests to the TPMS controller (&#039;&#039;&#039;see device table above&#039;&#039;&#039;)&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;ATS0&amp;lt;/code&amp;gt; || No spaces in the reply (stops one clone adapter overflowing its buffer)&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;ATL0&amp;lt;/code&amp;gt; || No line feeds in the reply&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;ATFCSH798&amp;lt;/code&amp;gt; || Send flow-control frames to 0x798 (&#039;&#039;&#039;see device table above&#039;&#039;&#039;)&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;ATFCSD300000&amp;lt;/code&amp;gt; || Flow-control data &amp;lt;code&amp;gt;30 00 00&amp;lt;/code&amp;gt;: continue, send all frames, no delay&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;ATFCSM1&amp;lt;/code&amp;gt; || Use the custom flow-control header and data above&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;2100&amp;lt;/code&amp;gt; || Request the sensor data block (service 0x21, identifier 0x00) ( &#039;&#039;&#039;see device specific tables below&#039;&#039;&#039;)&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
Example reply (generic ELM327 clone, ignition on, engine off):&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
2100&lt;br /&gt;
066&lt;br /&gt;
0:610075010000&lt;br /&gt;
1:0000000000004E&lt;br /&gt;
2:AA094310397901&lt;br /&gt;
3:4900DD91B52520&lt;br /&gt;
4:3B880149004EAA&lt;br /&gt;
5:0319183C830249&lt;br /&gt;
6:004EAA09C9083C&lt;br /&gt;
7:83024900000000&lt;br /&gt;
8:004EAA09434EAA&lt;br /&gt;
9:09434EAA09434E&lt;br /&gt;
A:AA094373737373&lt;br /&gt;
B:7D7D7D7D000000&lt;br /&gt;
C:00000000000000&lt;br /&gt;
D:00000030222202&lt;br /&gt;
E:01801700000000&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Reading the reply:&lt;br /&gt;
* &amp;lt;code&amp;gt;066&amp;lt;/code&amp;gt; is the total length in hex: 0x66 = 102 bytes. The lines &amp;lt;code&amp;gt;0:&amp;lt;/code&amp;gt; to &amp;lt;code&amp;gt;E:&amp;lt;/code&amp;gt; carry those bytes in order.&lt;br /&gt;
* The data starts &amp;lt;code&amp;gt;61 00&amp;lt;/code&amp;gt; (positive reply to &amp;lt;code&amp;gt;21 00&amp;lt;/code&amp;gt;). The next byte, &amp;lt;code&amp;gt;75&amp;lt;/code&amp;gt; = 117, probably tracks system voltage (about 11.7 V, unconfirmed).&lt;br /&gt;
* Each wheel has a 10-byte record. Byte +6 of the record is the pressure; bar = raw x 0.01372.&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! Wheel !! Record (hex) !! Byte +6 !! Raw !! Pressure&lt;br /&gt;
|-&lt;br /&gt;
| Front left || &amp;lt;code&amp;gt;4E AA 09 43 10 39 79 01 49 00&amp;lt;/code&amp;gt; || &amp;lt;code&amp;gt;79&amp;lt;/code&amp;gt; || 121 || 1.66 bar&lt;br /&gt;
|-&lt;br /&gt;
| Rear left || &amp;lt;code&amp;gt;DD 91 B5 25 20 3B 88 01 49 00&amp;lt;/code&amp;gt; || &amp;lt;code&amp;gt;88&amp;lt;/code&amp;gt; || 136 || 1.87 bar&lt;br /&gt;
|-&lt;br /&gt;
| Rear right || &amp;lt;code&amp;gt;4E AA 03 19 18 3C 83 02 49 00&amp;lt;/code&amp;gt; || &amp;lt;code&amp;gt;83&amp;lt;/code&amp;gt; || 131 || 1.80 bar&lt;br /&gt;
|-&lt;br /&gt;
| Front right || &amp;lt;code&amp;gt;4E AA 09 C9 08 3C 83 02 49 00&amp;lt;/code&amp;gt; || &amp;lt;code&amp;gt;83&amp;lt;/code&amp;gt; || 131 || 1.80 bar&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
Notes:&lt;br /&gt;
* The sensor IDs, and the byte values, are from one car. Your IDs will differ, and the values change with pressure and temperature.&lt;br /&gt;
* &amp;lt;code&amp;gt;ATSH&amp;lt;/code&amp;gt; and the &amp;lt;code&amp;gt;ATFC&amp;lt;/code&amp;gt; settings last until the adapter is reset (&amp;lt;code&amp;gt;ATZ&amp;lt;/code&amp;gt;) or loses power, so send them again after either.&lt;br /&gt;
* Without the &amp;lt;code&amp;gt;ATFC&amp;lt;/code&amp;gt; lines, the clone adapter used here returned only the first line (&amp;lt;code&amp;gt;610075010000&amp;lt;/code&amp;gt;).&lt;br /&gt;
* If the terminal prints &amp;lt;code&amp;gt;NO DATA&amp;lt;/code&amp;gt;, check the ignition is on, that no other app is connected to the adapter, and that &amp;lt;code&amp;gt;ATSH798&amp;lt;/code&amp;gt; was sent after the last reset.&lt;br /&gt;
&lt;br /&gt;
== Device table ==&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! Request ID !! Reply ID !! Style !! Module !! Identification reply (first / second) !! How the module was identified&lt;br /&gt;
|-&lt;br /&gt;
| [[#0x7E0 ECM|0x7E0]] || 0x7E8 || KWP || ECM || 33980-78R0 / 33980-78RC* || Standard engine address&lt;br /&gt;
|-&lt;br /&gt;
| [[#0x261 ABS (inferred)|0x261]] || 0x661 || KWP || ABS (inferred) || 56100-77RA / 56100-78RF* || Only brake module left by elimination&lt;br /&gt;
|-&lt;br /&gt;
| [[#0x263 EPS controller|0x263]] || 0x663 || KWP || EPS controller || 38720-77R0 / 38720-77R0* || Parts catalogue (38720-77R01)&lt;br /&gt;
|-&lt;br /&gt;
| [[#0x271 Body control module|0x271]] || 0x671 || KWP || Body control module || 36775-77R0 / 36775-77RC* || Parts catalogue (36775-77RC2 to RC4)&lt;br /&gt;
|-&lt;br /&gt;
| [[#0x274 Instrument cluster|0x274]] || 0x674 || KWP || Instrument cluster || 34100-78R0 / 34110-78RD* || Rev counter sweep test&lt;br /&gt;
|-&lt;br /&gt;
| [[#0x798 TPMS controller|0x798]] || 0x7A8 || KWP || TPMS controller || 37160-61M0 / 37120-78R0* || Label (Model No. P61M0) and parts catalogue&lt;br /&gt;
|-&lt;br /&gt;
| [[#0x79A Combination switch (lighting and turn)|0x79A]] || 0x7AA || KWP || Combination switch (lighting and turn) || 37210-74PA / 37210-74PE* || Parts catalogue (37210-74PE2)&lt;br /&gt;
|-&lt;br /&gt;
| [[#0x778 Dual sensor brake support (inferred)|0x778]] || 0x788 || KWP || Dual sensor brake support (inferred) || 33990-52R0 / 33990-78R8* || By elimination&lt;br /&gt;
|-&lt;br /&gt;
| [[#0x793 Airbag (SRS) controller|0x793]] || 0x7A3 || UDS || Airbag (SRS) controller || 38910-77R0 / 38910-78RC* || Parts catalogue (38910-78RC0)&lt;br /&gt;
|-&lt;br /&gt;
| [[#0x772 4WD shift controller|0x772]] || 0x782 || UDS || 4WD shift controller || 38885-77R0 / 38885-78R0* || Parts catalogue (38885-78R01)&lt;br /&gt;
|-&lt;br /&gt;
| [[#0x799 E-call controller|0x799]] || 0x7A9 || UDS || E-call controller || 38960-78RA / 38960-78RA* || Parts catalogue (38960-78RA0, RA1)&lt;br /&gt;
|-&lt;br /&gt;
| [[#0x751 Central gateway|0x751]] || 0x761 || UDS || Central gateway || 33580-79R0 / 33580-78R0* || Label (33580-79R01) and parts catalogue&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
Two more addresses, [[#Addresses probed with no reply|0x273 and 0x262]], were probed by the scan tool and did not answer.&lt;br /&gt;
&lt;br /&gt;
The names marked &amp;quot;inferred&amp;quot; are guesses from elimination and part-number series, not confirmed by a label or test.&lt;br /&gt;
&lt;br /&gt;
== 0x7E0 ECM ==&lt;br /&gt;
{{Models|JB74 (2018+, tested on 2021)|untested=JB64, JC74, JB43}}&lt;br /&gt;
&lt;br /&gt;
Request &amp;lt;code&amp;gt;0x7E0&amp;lt;/code&amp;gt;, reply &amp;lt;code&amp;gt;0x7E8&amp;lt;/code&amp;gt;. This is the standard OBD engine address, so standard mode 01 PIDs should be available here, but none were captured.&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! Request !! Reply !! Meaning&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;3E&amp;lt;/code&amp;gt; || &amp;lt;code&amp;gt;7E&amp;lt;/code&amp;gt; || Tester present (captured)&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;1A 8E&amp;lt;/code&amp;gt; || &amp;lt;code&amp;gt;5A 8E&amp;lt;/code&amp;gt; + ASCII &amp;lt;code&amp;gt;33980-78R0&amp;lt;/code&amp;gt; || ECU identification (captured)&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;1A 8A&amp;lt;/code&amp;gt; || &amp;lt;code&amp;gt;5A 8A&amp;lt;/code&amp;gt; + ASCII &amp;lt;code&amp;gt;33980-78RC*&amp;lt;/code&amp;gt; || ECU identification (captured)&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;18 00 FF 00&amp;lt;/code&amp;gt; || &amp;lt;code&amp;gt;58 00&amp;lt;/code&amp;gt; || Read DTCs by status: none stored (captured)&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== 0x261 ABS (inferred) ==&lt;br /&gt;
{{Models|JB74 (2018+, tested on 2021)|untested=JB64, JC74, JB43}}&lt;br /&gt;
&lt;br /&gt;
Request &amp;lt;code&amp;gt;0x261&amp;lt;/code&amp;gt;, reply &amp;lt;code&amp;gt;0x661&amp;lt;/code&amp;gt;. 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.&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! Request !! Reply !! Meaning&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;3E&amp;lt;/code&amp;gt; || &amp;lt;code&amp;gt;7E&amp;lt;/code&amp;gt; || Tester present (captured)&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;1A 8E&amp;lt;/code&amp;gt; || &amp;lt;code&amp;gt;5A 8E&amp;lt;/code&amp;gt; + ASCII &amp;lt;code&amp;gt;56100-77RA&amp;lt;/code&amp;gt; || ECU identification (captured)&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;1A 8A&amp;lt;/code&amp;gt; || &amp;lt;code&amp;gt;5A 8A&amp;lt;/code&amp;gt; + ASCII &amp;lt;code&amp;gt;56100-78RF*&amp;lt;/code&amp;gt; || ECU identification (captured)&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;18 00 FF 00&amp;lt;/code&amp;gt; || &amp;lt;code&amp;gt;58 00&amp;lt;/code&amp;gt; || DTCs: none stored (captured)&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== 0x263 EPS controller ==&lt;br /&gt;
{{Models|JB74 (2018+, tested on 2021)|untested=JB64, JC74, JB43}}&lt;br /&gt;
&lt;br /&gt;
Request &amp;lt;code&amp;gt;0x263&amp;lt;/code&amp;gt;, reply &amp;lt;code&amp;gt;0x663&amp;lt;/code&amp;gt;. Matches parts catalogue entry 38720-77R01 (EPS controller).&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! Request !! Reply !! Meaning&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;3E&amp;lt;/code&amp;gt; || &amp;lt;code&amp;gt;7E&amp;lt;/code&amp;gt; || Tester present (captured)&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;1A 8E&amp;lt;/code&amp;gt; || &amp;lt;code&amp;gt;5A 8E&amp;lt;/code&amp;gt; + ASCII &amp;lt;code&amp;gt;38720-77R0&amp;lt;/code&amp;gt; || ECU identification (captured)&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;1A 8A&amp;lt;/code&amp;gt; || &amp;lt;code&amp;gt;5A 8A&amp;lt;/code&amp;gt; + ASCII &amp;lt;code&amp;gt;38720-77R0*&amp;lt;/code&amp;gt; || ECU identification (captured)&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;18 00 FF 00&amp;lt;/code&amp;gt; || &amp;lt;code&amp;gt;58 00&amp;lt;/code&amp;gt; || DTCs: none stored (captured)&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== 0x271 Body control module ==&lt;br /&gt;
{{Models|JB74 (2018+, tested on 2021)|untested=JB64, JC74, JB43}}&lt;br /&gt;
&lt;br /&gt;
Request &amp;lt;code&amp;gt;0x271&amp;lt;/code&amp;gt;, reply &amp;lt;code&amp;gt;0x671&amp;lt;/code&amp;gt;. Matches parts catalogue entries 36775-77RC2 to RC4 (body control module, RHD).&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! Request !! Reply !! Meaning&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;3E&amp;lt;/code&amp;gt; || &amp;lt;code&amp;gt;7E&amp;lt;/code&amp;gt; || Tester present (captured)&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;1A 8E&amp;lt;/code&amp;gt; || &amp;lt;code&amp;gt;5A 8E&amp;lt;/code&amp;gt; + ASCII &amp;lt;code&amp;gt;36775-77R0&amp;lt;/code&amp;gt; || ECU identification (captured)&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;1A 8A&amp;lt;/code&amp;gt; || &amp;lt;code&amp;gt;5A 8A&amp;lt;/code&amp;gt; + ASCII &amp;lt;code&amp;gt;36775-77RC*&amp;lt;/code&amp;gt; || ECU identification (captured)&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;18 00 FF 00&amp;lt;/code&amp;gt; || &amp;lt;code&amp;gt;58 00&amp;lt;/code&amp;gt; || DTCs: none stored (captured)&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== 0x274 Instrument cluster ==&lt;br /&gt;
{{Models|JB74 (2018+, tested on 2021)|untested=JB64, JC74, JB43}}&lt;br /&gt;
&lt;br /&gt;
Request &amp;lt;code&amp;gt;0x274&amp;lt;/code&amp;gt;, reply &amp;lt;code&amp;gt;0x674&amp;lt;/code&amp;gt;. Confirmed by the rev counter sweep test.&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! Request !! Reply !! Meaning&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;3E&amp;lt;/code&amp;gt; or &amp;lt;code&amp;gt;3E 00&amp;lt;/code&amp;gt; || &amp;lt;code&amp;gt;7E&amp;lt;/code&amp;gt; || Tester present, about every 2.15 s during the sweep test (captured)&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;1A 8E&amp;lt;/code&amp;gt; || &amp;lt;code&amp;gt;5A 8E&amp;lt;/code&amp;gt; + ASCII &amp;lt;code&amp;gt;34100-78R0&amp;lt;/code&amp;gt; || ECU identification (captured)&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;1A 8A&amp;lt;/code&amp;gt; || &amp;lt;code&amp;gt;5A 8A&amp;lt;/code&amp;gt; + ASCII &amp;lt;code&amp;gt;34110-78RD*&amp;lt;/code&amp;gt; (last byte of the reply is &amp;lt;code&amp;gt;06&amp;lt;/code&amp;gt;) || ECU identification (captured)&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;18 00 FF 00&amp;lt;/code&amp;gt; || &amp;lt;code&amp;gt;58 00&amp;lt;/code&amp;gt; || DTCs: none stored (captured)&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;30 01 07 80 40 00 00&amp;lt;/code&amp;gt; || &amp;lt;code&amp;gt;70 01 07&amp;lt;/code&amp;gt; || Starts the rev counter sweep (service 0x30, local ID 01, &amp;quot;short-term adjustment&amp;quot;). The cluster then sweeps up and down by itself (captured)&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;30 01 07 80 00 00 00&amp;lt;/code&amp;gt; || &amp;lt;code&amp;gt;7F 30 22&amp;lt;/code&amp;gt; || Refused (&amp;quot;conditions not correct&amp;quot;). Possibly a stop request sent after the sweep had finished (captured)&lt;br /&gt;
|}&lt;br /&gt;
The meaning of the four control bytes (&amp;lt;code&amp;gt;80 40 00 00&amp;lt;/code&amp;gt;) is not known. Other output tests (gauges, warning lights) have not been captured.&lt;br /&gt;
&lt;br /&gt;
== 0x798 TPMS controller ==&lt;br /&gt;
{{Models|JB74 (2018+, tested on 2021)|untested=JB64, JC74, JB43}}&lt;br /&gt;
&lt;br /&gt;
Request &amp;lt;code&amp;gt;0x798&amp;lt;/code&amp;gt;, reply &amp;lt;code&amp;gt;0x7A8&amp;lt;/code&amp;gt;. The label on the module reads 37160-78R00, &amp;quot;BASE ASSY-TPMS&amp;quot;, Model No. P61M0 (Continental A2C13930301, 433.92 MHz). The full data layout, calibration and app setups are on [[OBD2 Diagnostics reading project]].&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! Request !! Reply !! Meaning&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;3E&amp;lt;/code&amp;gt; || &amp;lt;code&amp;gt;7E&amp;lt;/code&amp;gt; || Tester present (captured)&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;1A 8E&amp;lt;/code&amp;gt; || &amp;lt;code&amp;gt;5A 8E&amp;lt;/code&amp;gt; + ASCII &amp;lt;code&amp;gt;37160-61M0&amp;lt;/code&amp;gt; || ECU identification; matches Model No. P61M0 on the label (captured)&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;1A 8A&amp;lt;/code&amp;gt; || &amp;lt;code&amp;gt;5A 8A&amp;lt;/code&amp;gt; + ASCII &amp;lt;code&amp;gt;37120-78R0*&amp;lt;/code&amp;gt; || ECU identification (captured)&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;18 00 FF 00&amp;lt;/code&amp;gt; || &amp;lt;code&amp;gt;58 00&amp;lt;/code&amp;gt; (no codes) or &amp;lt;code&amp;gt;58 01 9A 31 20&amp;lt;/code&amp;gt; (one code) || DTCs by status. The code &amp;lt;code&amp;gt;9A 31&amp;lt;/code&amp;gt; is probably the left front low pressure warning (inferred). The status byte was &amp;lt;code&amp;gt;20&amp;lt;/code&amp;gt; in the full scan and &amp;lt;code&amp;gt;E0&amp;lt;/code&amp;gt; in earlier captures (captured)&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;21 00&amp;lt;/code&amp;gt; || &amp;lt;code&amp;gt;61 00&amp;lt;/code&amp;gt; + 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)&lt;br /&gt;
|}&lt;br /&gt;
ELM327 setup that works for &amp;lt;code&amp;gt;21 00&amp;lt;/code&amp;gt;: &amp;lt;code&amp;gt;ATSH798&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;ATS0&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;ATL0&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;ATFCSH798&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;ATFCSD300000&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;ATFCSM1&amp;lt;/code&amp;gt;, then &amp;lt;code&amp;gt;2100&amp;lt;/code&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
== 0x79A Combination switch (lighting and turn) ==&lt;br /&gt;
{{Models|JB74 (2018+, tested on 2021)|untested=JB64, JC74, JB43}}&lt;br /&gt;
&lt;br /&gt;
Request &amp;lt;code&amp;gt;0x79A&amp;lt;/code&amp;gt;, reply &amp;lt;code&amp;gt;0x7AA&amp;lt;/code&amp;gt;. Matches parts catalogue entry 37210-74PE2 (switch assembly, lighting and turn, RHD).&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! Request !! Reply !! Meaning&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;3E&amp;lt;/code&amp;gt; || &amp;lt;code&amp;gt;7E&amp;lt;/code&amp;gt; || Tester present (captured)&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;1A 8E&amp;lt;/code&amp;gt; || &amp;lt;code&amp;gt;5A 8E&amp;lt;/code&amp;gt; + ASCII &amp;lt;code&amp;gt;37210-74PA&amp;lt;/code&amp;gt; || ECU identification (captured)&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;1A 8A&amp;lt;/code&amp;gt; || &amp;lt;code&amp;gt;5A 8A&amp;lt;/code&amp;gt; + ASCII &amp;lt;code&amp;gt;37210-74PE*&amp;lt;/code&amp;gt; || ECU identification (captured)&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;18 00 FF 00&amp;lt;/code&amp;gt; || &amp;lt;code&amp;gt;58 00&amp;lt;/code&amp;gt; || DTCs: none stored (captured)&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== 0x778 Dual sensor brake support (inferred) ==&lt;br /&gt;
{{Models|JB74 (2018+, tested on 2021)|untested=JB64, JC74, JB43}}&lt;br /&gt;
&lt;br /&gt;
Request &amp;lt;code&amp;gt;0x778&amp;lt;/code&amp;gt;, reply &amp;lt;code&amp;gt;0x788&amp;lt;/code&amp;gt;. The name is inferred by elimination (the scan report&#039;s last unassigned module). Not confirmed.&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! Request !! Reply !! Meaning&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;3E&amp;lt;/code&amp;gt; || &amp;lt;code&amp;gt;7E&amp;lt;/code&amp;gt; || Tester present (captured)&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;1A 8E&amp;lt;/code&amp;gt; || &amp;lt;code&amp;gt;5A 8E&amp;lt;/code&amp;gt; + ASCII &amp;lt;code&amp;gt;33990-52R0&amp;lt;/code&amp;gt; || ECU identification (captured)&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;1A 8A&amp;lt;/code&amp;gt; || &amp;lt;code&amp;gt;5A 8A&amp;lt;/code&amp;gt; + ASCII &amp;lt;code&amp;gt;33990-78R8*&amp;lt;/code&amp;gt; || ECU identification (captured)&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;18 00 FF 00&amp;lt;/code&amp;gt; || &amp;lt;code&amp;gt;58 00&amp;lt;/code&amp;gt; || DTCs: none stored (captured)&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== 0x793 Airbag (SRS) controller ==&lt;br /&gt;
{{Models|JB74 (2018+, tested on 2021)|untested=JB64, JC74, JB43}}&lt;br /&gt;
&lt;br /&gt;
Request &amp;lt;code&amp;gt;0x793&amp;lt;/code&amp;gt;, reply &amp;lt;code&amp;gt;0x7A3&amp;lt;/code&amp;gt;. Matches parts catalogue entry 38910-78RC0 (airbag controller, VAN).&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! Request !! Reply !! Meaning&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;3E 00&amp;lt;/code&amp;gt; || &amp;lt;code&amp;gt;7E 00&amp;lt;/code&amp;gt; || Tester present (captured)&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;22 F1 01&amp;lt;/code&amp;gt; || &amp;lt;code&amp;gt;62 F1 01&amp;lt;/code&amp;gt; + ASCII &amp;lt;code&amp;gt;38910-77R0&amp;lt;/code&amp;gt; || Identification (captured)&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;22 F1 88&amp;lt;/code&amp;gt; || &amp;lt;code&amp;gt;62 F1 88&amp;lt;/code&amp;gt; + ASCII &amp;lt;code&amp;gt;38910-78RC*&amp;lt;/code&amp;gt; || Identification (captured)&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;19 02 FF&amp;lt;/code&amp;gt; || &amp;lt;code&amp;gt;59 02 4B&amp;lt;/code&amp;gt; || DTCs by status mask: none stored (captured)&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== 0x772 4WD shift controller ==&lt;br /&gt;
{{Models|JB74 (2018+, tested on 2021)|untested=JB64, JC74, JB43}}&lt;br /&gt;
&lt;br /&gt;
Request &amp;lt;code&amp;gt;0x772&amp;lt;/code&amp;gt;, reply &amp;lt;code&amp;gt;0x782&amp;lt;/code&amp;gt;. Matches parts catalogue entry 38885-78R01 (4WD shift controller).&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! Request !! Reply !! Meaning&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;3E&amp;lt;/code&amp;gt; || &amp;lt;code&amp;gt;7F 3E 13&amp;lt;/code&amp;gt; || Refused: incorrect message length. Sent four times by the scan tool (captured)&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;3E 01&amp;lt;/code&amp;gt; || &amp;lt;code&amp;gt;7F 3E 12&amp;lt;/code&amp;gt; || Refused: sub-function not supported. Sent four times (captured)&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;3E 00&amp;lt;/code&amp;gt; || &amp;lt;code&amp;gt;7E 00&amp;lt;/code&amp;gt; || Tester present (captured)&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;22 F1 01&amp;lt;/code&amp;gt; || &amp;lt;code&amp;gt;62 F1 01&amp;lt;/code&amp;gt; + ASCII &amp;lt;code&amp;gt;38885-77R0&amp;lt;/code&amp;gt; || Identification (captured)&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;22 F1 88&amp;lt;/code&amp;gt; || &amp;lt;code&amp;gt;62 F1 88&amp;lt;/code&amp;gt; + ASCII &amp;lt;code&amp;gt;38885-78R0*&amp;lt;/code&amp;gt; || Identification (captured)&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;19 02 FF&amp;lt;/code&amp;gt; || &amp;lt;code&amp;gt;59 02 4B&amp;lt;/code&amp;gt; || DTCs by status mask: none stored (captured)&lt;br /&gt;
|}&lt;br /&gt;
The scan tool tried the KWP-style &amp;lt;code&amp;gt;3E&amp;lt;/code&amp;gt; first and fell back to the UDS form &amp;lt;code&amp;gt;3E 00&amp;lt;/code&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
== 0x799 E-call controller ==&lt;br /&gt;
{{Models|JB74 (2018+, tested on 2021)|untested=JB64, JC74, JB43}}&lt;br /&gt;
&lt;br /&gt;
Request &amp;lt;code&amp;gt;0x799&amp;lt;/code&amp;gt;, reply &amp;lt;code&amp;gt;0x7A9&amp;lt;/code&amp;gt;. Matches parts catalogue entries 38960-78RA0 and RA1 (E-call controller).&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! Request !! Reply !! Meaning&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;3E&amp;lt;/code&amp;gt; || &amp;lt;code&amp;gt;7F 3E 13&amp;lt;/code&amp;gt; || Refused: incorrect message length. Sent four times (captured)&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;3E 01&amp;lt;/code&amp;gt; || &amp;lt;code&amp;gt;7F 3E 12&amp;lt;/code&amp;gt; || Refused: sub-function not supported. Sent four times (captured)&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;3E 00&amp;lt;/code&amp;gt; || &amp;lt;code&amp;gt;7E 00&amp;lt;/code&amp;gt; || Tester present (captured)&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;22 F1 01&amp;lt;/code&amp;gt; || &amp;lt;code&amp;gt;62 F1 01&amp;lt;/code&amp;gt; + ASCII &amp;lt;code&amp;gt;38960-78RA&amp;lt;/code&amp;gt; || Identification (captured)&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;22 F1 88&amp;lt;/code&amp;gt; || &amp;lt;code&amp;gt;62 F1 88&amp;lt;/code&amp;gt; + ASCII &amp;lt;code&amp;gt;38960-78RA*&amp;lt;/code&amp;gt; || Identification (captured)&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;19 02 FF&amp;lt;/code&amp;gt; || &amp;lt;code&amp;gt;59 02 4B 92 4E 00 02&amp;lt;/code&amp;gt; || One stored code record: &amp;lt;code&amp;gt;92 4E 00&amp;lt;/code&amp;gt;, status &amp;lt;code&amp;gt;02&amp;lt;/code&amp;gt;. The Launch report does not list it and its meaning is not known (captured)&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== 0x751 Central gateway ==&lt;br /&gt;
{{Models|JB74 (2018+, tested on 2021)|untested=JB64, JC74, JB43}}&lt;br /&gt;
&lt;br /&gt;
Request &amp;lt;code&amp;gt;0x751&amp;lt;/code&amp;gt;, reply &amp;lt;code&amp;gt;0x761&amp;lt;/code&amp;gt;. The label on the module reads 33580-79R01.&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! Request !! Reply !! Meaning&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;3E 00&amp;lt;/code&amp;gt; || &amp;lt;code&amp;gt;7E 00&amp;lt;/code&amp;gt; || Tester present (captured)&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;22 F1 01&amp;lt;/code&amp;gt; || &amp;lt;code&amp;gt;62 F1 01&amp;lt;/code&amp;gt; + ASCII &amp;lt;code&amp;gt;33580-79R0&amp;lt;/code&amp;gt; || Identification (captured)&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;22 F1 88&amp;lt;/code&amp;gt; || &amp;lt;code&amp;gt;62 F1 88&amp;lt;/code&amp;gt; + ASCII &amp;lt;code&amp;gt;33580-78R0*&amp;lt;/code&amp;gt; || Identification (captured)&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;19 02 FF&amp;lt;/code&amp;gt; || &amp;lt;code&amp;gt;59 02 4B&amp;lt;/code&amp;gt; || DTCs by status mask: none stored (captured)&lt;br /&gt;
|}&lt;br /&gt;
The gateway sits between the OBD socket and the vehicle CAN bus. Whether it forwards requests to the other modules unchanged is not confirmed.&lt;br /&gt;
&lt;br /&gt;
== Addresses probed with no reply ==&lt;br /&gt;
The scan tool sent tester-present (&amp;lt;code&amp;gt;3E&amp;lt;/code&amp;gt;) about eight times each to &amp;lt;code&amp;gt;0x273&amp;lt;/code&amp;gt; and &amp;lt;code&amp;gt;0x262&amp;lt;/code&amp;gt; and received nothing from the expected reply IDs (&amp;lt;code&amp;gt;0x673&amp;lt;/code&amp;gt; and &amp;lt;code&amp;gt;0x662&amp;lt;/code&amp;gt;). They are probably modules this car does not have, such as an automatic transmission or auto-levelling controller. This is a guess.&lt;br /&gt;
&lt;br /&gt;
== ELM327 notes ==&lt;br /&gt;
* Only &amp;lt;code&amp;gt;0x798&amp;lt;/code&amp;gt; has been tested with an ELM327. For other modules, set &amp;lt;code&amp;gt;ATSH&amp;lt;/code&amp;gt; to the request ID and &amp;lt;code&amp;gt;ATFCSH&amp;lt;/code&amp;gt; to the same ID, and you may need &amp;lt;code&amp;gt;ATCRA&amp;lt;/code&amp;gt; with the reply ID, because the reply is not always the request ID plus 8. This is untested.&lt;br /&gt;
* 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.&lt;br /&gt;
* Do not send output-control commands (service &amp;lt;code&amp;gt;30&amp;lt;/code&amp;gt; and similar) from a head-unit app while driving.&lt;br /&gt;
&lt;br /&gt;
== Sources ==&lt;br /&gt;
* Owner PCAN-View captures of a Launch X431 CRP919 full health-check scan and rev counter sweep test, October 2026.&lt;br /&gt;
* Suzuki Jimny parts catalogue 9900B-40312-004 (type 1, October 2021), figures 350A, 351A and 351B.&lt;br /&gt;
* Labels on the TPMS controller and central gateway of the test car.&lt;br /&gt;
&lt;br /&gt;
[[Category:Electrical - gen4]]&lt;/div&gt;</summary>
		<author><name>Mlines</name></author>
	</entry>
	<entry>
		<id>https://www.bigjimny.com/mediawiki/index.php?title=ECU_diagnostic_CAN_addresses&amp;diff=10100</id>
		<title>ECU diagnostic CAN addresses</title>
		<link rel="alternate" type="text/html" href="https://www.bigjimny.com/mediawiki/index.php?title=ECU_diagnostic_CAN_addresses&amp;diff=10100"/>
		<updated>2026-11-02T08:53:14Z</updated>

		<summary type="html">&lt;p&gt;Mlines: /* Example usage */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&amp;lt;div style=&amp;quot;border: 1px solid #c9a227; background-color: #fff8dc; padding: 0.6em 1em; margin: 0 0 1em 0; border-radius: 4px;&amp;quot;&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;Support this project:&#039;&#039;&#039; 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 [https://buymeacoffee.com/bigjimny buymeacoffee.com/bigjimny].&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
= Suzuki Jimny JB74 - CAN bus devices and the commands they answer =&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Status:&#039;&#039;&#039; 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.&lt;br /&gt;
&lt;br /&gt;
== How to read this page ==&lt;br /&gt;
* All IDs are 11-bit CAN IDs on the OBD socket (pins 6 and 14, 500 kbit/s). The &amp;quot;request ID&amp;quot; is the header a tool sends to; the &amp;quot;reply ID&amp;quot; is where the module answers.&lt;br /&gt;
* 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.&lt;br /&gt;
* &#039;&#039;&#039;KWP-style&#039;&#039;&#039; modules use services such as &amp;lt;code&amp;gt;1A&amp;lt;/code&amp;gt; (read ECU identification) and &amp;lt;code&amp;gt;18&amp;lt;/code&amp;gt; (read DTCs by status). &#039;&#039;&#039;UDS-style&#039;&#039;&#039; modules use &amp;lt;code&amp;gt;22&amp;lt;/code&amp;gt; (read data by identifier) and &amp;lt;code&amp;gt;19&amp;lt;/code&amp;gt; (read DTCs).&lt;br /&gt;
* 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.&lt;br /&gt;
* Identification strings are ASCII Suzuki part numbers. The first one in each module (&amp;lt;code&amp;gt;1A 8E&amp;lt;/code&amp;gt; or &amp;lt;code&amp;gt;22 F1 01&amp;lt;/code&amp;gt;) has no trailing character; the second (&amp;lt;code&amp;gt;1A 8A&amp;lt;/code&amp;gt; or &amp;lt;code&amp;gt;22 F1 88&amp;lt;/code&amp;gt;) ends in &amp;lt;code&amp;gt;*&amp;lt;/code&amp;gt;. They do not always equal the number printed on the module&#039;s label.&lt;br /&gt;
* Commands marked &#039;&#039;captured&#039;&#039; were seen in a trace. Nothing here has been sent to a module by us except the TPMS requests.&lt;br /&gt;
=== Example usage ===&lt;br /&gt;
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 &amp;lt;code&amp;gt;OK&amp;lt;/code&amp;gt; after each.&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! Command !! Purpose&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;ATZ&amp;lt;/code&amp;gt; || Reset the adapter (prints the adapter version, not OK)&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;ATSP6&amp;lt;/code&amp;gt; || Use protocol 6: ISO 15765-4, 11-bit CAN, 500 kbit/s&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;ATSH798&amp;lt;/code&amp;gt; || Send requests to the TPMS controller (&#039;&#039;&#039;see device table above&#039;&#039;&#039;)&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;ATS0&amp;lt;/code&amp;gt; || No spaces in the reply (stops one clone adapter overflowing its buffer)&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;ATL0&amp;lt;/code&amp;gt; || No line feeds in the reply&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;ATFCSH798&amp;lt;/code&amp;gt; || Send flow-control frames to 0x798 (&#039;&#039;&#039;see device table above&#039;&#039;&#039;)&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;ATFCSD300000&amp;lt;/code&amp;gt; || Flow-control data &amp;lt;code&amp;gt;30 00 00&amp;lt;/code&amp;gt;: continue, send all frames, no delay&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;ATFCSM1&amp;lt;/code&amp;gt; || Use the custom flow-control header and data above&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;2100&amp;lt;/code&amp;gt; || Request the sensor data block (service 0x21, identifier 0x00, &#039;&#039;&#039;see device specific tables below&#039;&#039;&#039;)&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
Example reply (generic ELM327 clone, ignition on, engine off):&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
2100&lt;br /&gt;
066&lt;br /&gt;
0:610075010000&lt;br /&gt;
1:0000000000004E&lt;br /&gt;
2:AA094310397901&lt;br /&gt;
3:4900DD91B52520&lt;br /&gt;
4:3B880149004EAA&lt;br /&gt;
5:0319183C830249&lt;br /&gt;
6:004EAA09C9083C&lt;br /&gt;
7:83024900000000&lt;br /&gt;
8:004EAA09434EAA&lt;br /&gt;
9:09434EAA09434E&lt;br /&gt;
A:AA094373737373&lt;br /&gt;
B:7D7D7D7D000000&lt;br /&gt;
C:00000000000000&lt;br /&gt;
D:00000030222202&lt;br /&gt;
E:01801700000000&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Reading the reply:&lt;br /&gt;
* &amp;lt;code&amp;gt;066&amp;lt;/code&amp;gt; is the total length in hex: 0x66 = 102 bytes. The lines &amp;lt;code&amp;gt;0:&amp;lt;/code&amp;gt; to &amp;lt;code&amp;gt;E:&amp;lt;/code&amp;gt; carry those bytes in order.&lt;br /&gt;
* The data starts &amp;lt;code&amp;gt;61 00&amp;lt;/code&amp;gt; (positive reply to &amp;lt;code&amp;gt;21 00&amp;lt;/code&amp;gt;). The next byte, &amp;lt;code&amp;gt;75&amp;lt;/code&amp;gt; = 117, probably tracks system voltage (about 11.7 V, unconfirmed).&lt;br /&gt;
* Each wheel has a 10-byte record. Byte +6 of the record is the pressure; bar = raw x 0.01372.&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! Wheel !! Record (hex) !! Byte +6 !! Raw !! Pressure&lt;br /&gt;
|-&lt;br /&gt;
| Front left || &amp;lt;code&amp;gt;4E AA 09 43 10 39 79 01 49 00&amp;lt;/code&amp;gt; || &amp;lt;code&amp;gt;79&amp;lt;/code&amp;gt; || 121 || 1.66 bar&lt;br /&gt;
|-&lt;br /&gt;
| Rear left || &amp;lt;code&amp;gt;DD 91 B5 25 20 3B 88 01 49 00&amp;lt;/code&amp;gt; || &amp;lt;code&amp;gt;88&amp;lt;/code&amp;gt; || 136 || 1.87 bar&lt;br /&gt;
|-&lt;br /&gt;
| Rear right || &amp;lt;code&amp;gt;4E AA 03 19 18 3C 83 02 49 00&amp;lt;/code&amp;gt; || &amp;lt;code&amp;gt;83&amp;lt;/code&amp;gt; || 131 || 1.80 bar&lt;br /&gt;
|-&lt;br /&gt;
| Front right || &amp;lt;code&amp;gt;4E AA 09 C9 08 3C 83 02 49 00&amp;lt;/code&amp;gt; || &amp;lt;code&amp;gt;83&amp;lt;/code&amp;gt; || 131 || 1.80 bar&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
Notes:&lt;br /&gt;
* The sensor IDs, and the byte values, are from one car. Your IDs will differ, and the values change with pressure and temperature.&lt;br /&gt;
* &amp;lt;code&amp;gt;ATSH&amp;lt;/code&amp;gt; and the &amp;lt;code&amp;gt;ATFC&amp;lt;/code&amp;gt; settings last until the adapter is reset (&amp;lt;code&amp;gt;ATZ&amp;lt;/code&amp;gt;) or loses power, so send them again after either.&lt;br /&gt;
* Without the &amp;lt;code&amp;gt;ATFC&amp;lt;/code&amp;gt; lines, the clone adapter used here returned only the first line (&amp;lt;code&amp;gt;610075010000&amp;lt;/code&amp;gt;).&lt;br /&gt;
* If the terminal prints &amp;lt;code&amp;gt;NO DATA&amp;lt;/code&amp;gt;, check the ignition is on, that no other app is connected to the adapter, and that &amp;lt;code&amp;gt;ATSH798&amp;lt;/code&amp;gt; was sent after the last reset.&lt;br /&gt;
&lt;br /&gt;
== Device table ==&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! Request ID !! Reply ID !! Style !! Module !! Identification reply (first / second) !! How the module was identified&lt;br /&gt;
|-&lt;br /&gt;
| [[#0x7E0 ECM|0x7E0]] || 0x7E8 || KWP || ECM || 33980-78R0 / 33980-78RC* || Standard engine address&lt;br /&gt;
|-&lt;br /&gt;
| [[#0x261 ABS (inferred)|0x261]] || 0x661 || KWP || ABS (inferred) || 56100-77RA / 56100-78RF* || Only brake module left by elimination&lt;br /&gt;
|-&lt;br /&gt;
| [[#0x263 EPS controller|0x263]] || 0x663 || KWP || EPS controller || 38720-77R0 / 38720-77R0* || Parts catalogue (38720-77R01)&lt;br /&gt;
|-&lt;br /&gt;
| [[#0x271 Body control module|0x271]] || 0x671 || KWP || Body control module || 36775-77R0 / 36775-77RC* || Parts catalogue (36775-77RC2 to RC4)&lt;br /&gt;
|-&lt;br /&gt;
| [[#0x274 Instrument cluster|0x274]] || 0x674 || KWP || Instrument cluster || 34100-78R0 / 34110-78RD* || Rev counter sweep test&lt;br /&gt;
|-&lt;br /&gt;
| [[#0x798 TPMS controller|0x798]] || 0x7A8 || KWP || TPMS controller || 37160-61M0 / 37120-78R0* || Label (Model No. P61M0) and parts catalogue&lt;br /&gt;
|-&lt;br /&gt;
| [[#0x79A Combination switch (lighting and turn)|0x79A]] || 0x7AA || KWP || Combination switch (lighting and turn) || 37210-74PA / 37210-74PE* || Parts catalogue (37210-74PE2)&lt;br /&gt;
|-&lt;br /&gt;
| [[#0x778 Dual sensor brake support (inferred)|0x778]] || 0x788 || KWP || Dual sensor brake support (inferred) || 33990-52R0 / 33990-78R8* || By elimination&lt;br /&gt;
|-&lt;br /&gt;
| [[#0x793 Airbag (SRS) controller|0x793]] || 0x7A3 || UDS || Airbag (SRS) controller || 38910-77R0 / 38910-78RC* || Parts catalogue (38910-78RC0)&lt;br /&gt;
|-&lt;br /&gt;
| [[#0x772 4WD shift controller|0x772]] || 0x782 || UDS || 4WD shift controller || 38885-77R0 / 38885-78R0* || Parts catalogue (38885-78R01)&lt;br /&gt;
|-&lt;br /&gt;
| [[#0x799 E-call controller|0x799]] || 0x7A9 || UDS || E-call controller || 38960-78RA / 38960-78RA* || Parts catalogue (38960-78RA0, RA1)&lt;br /&gt;
|-&lt;br /&gt;
| [[#0x751 Central gateway|0x751]] || 0x761 || UDS || Central gateway || 33580-79R0 / 33580-78R0* || Label (33580-79R01) and parts catalogue&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
Two more addresses, [[#Addresses probed with no reply|0x273 and 0x262]], were probed by the scan tool and did not answer.&lt;br /&gt;
&lt;br /&gt;
The names marked &amp;quot;inferred&amp;quot; are guesses from elimination and part-number series, not confirmed by a label or test.&lt;br /&gt;
&lt;br /&gt;
== 0x7E0 ECM ==&lt;br /&gt;
{{Models|JB74 (2018+, tested on 2021)|untested=JB64, JC74, JB43}}&lt;br /&gt;
&lt;br /&gt;
Request &amp;lt;code&amp;gt;0x7E0&amp;lt;/code&amp;gt;, reply &amp;lt;code&amp;gt;0x7E8&amp;lt;/code&amp;gt;. This is the standard OBD engine address, so standard mode 01 PIDs should be available here, but none were captured.&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! Request !! Reply !! Meaning&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;3E&amp;lt;/code&amp;gt; || &amp;lt;code&amp;gt;7E&amp;lt;/code&amp;gt; || Tester present (captured)&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;1A 8E&amp;lt;/code&amp;gt; || &amp;lt;code&amp;gt;5A 8E&amp;lt;/code&amp;gt; + ASCII &amp;lt;code&amp;gt;33980-78R0&amp;lt;/code&amp;gt; || ECU identification (captured)&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;1A 8A&amp;lt;/code&amp;gt; || &amp;lt;code&amp;gt;5A 8A&amp;lt;/code&amp;gt; + ASCII &amp;lt;code&amp;gt;33980-78RC*&amp;lt;/code&amp;gt; || ECU identification (captured)&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;18 00 FF 00&amp;lt;/code&amp;gt; || &amp;lt;code&amp;gt;58 00&amp;lt;/code&amp;gt; || Read DTCs by status: none stored (captured)&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== 0x261 ABS (inferred) ==&lt;br /&gt;
{{Models|JB74 (2018+, tested on 2021)|untested=JB64, JC74, JB43}}&lt;br /&gt;
&lt;br /&gt;
Request &amp;lt;code&amp;gt;0x261&amp;lt;/code&amp;gt;, reply &amp;lt;code&amp;gt;0x661&amp;lt;/code&amp;gt;. 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.&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! Request !! Reply !! Meaning&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;3E&amp;lt;/code&amp;gt; || &amp;lt;code&amp;gt;7E&amp;lt;/code&amp;gt; || Tester present (captured)&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;1A 8E&amp;lt;/code&amp;gt; || &amp;lt;code&amp;gt;5A 8E&amp;lt;/code&amp;gt; + ASCII &amp;lt;code&amp;gt;56100-77RA&amp;lt;/code&amp;gt; || ECU identification (captured)&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;1A 8A&amp;lt;/code&amp;gt; || &amp;lt;code&amp;gt;5A 8A&amp;lt;/code&amp;gt; + ASCII &amp;lt;code&amp;gt;56100-78RF*&amp;lt;/code&amp;gt; || ECU identification (captured)&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;18 00 FF 00&amp;lt;/code&amp;gt; || &amp;lt;code&amp;gt;58 00&amp;lt;/code&amp;gt; || DTCs: none stored (captured)&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== 0x263 EPS controller ==&lt;br /&gt;
{{Models|JB74 (2018+, tested on 2021)|untested=JB64, JC74, JB43}}&lt;br /&gt;
&lt;br /&gt;
Request &amp;lt;code&amp;gt;0x263&amp;lt;/code&amp;gt;, reply &amp;lt;code&amp;gt;0x663&amp;lt;/code&amp;gt;. Matches parts catalogue entry 38720-77R01 (EPS controller).&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! Request !! Reply !! Meaning&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;3E&amp;lt;/code&amp;gt; || &amp;lt;code&amp;gt;7E&amp;lt;/code&amp;gt; || Tester present (captured)&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;1A 8E&amp;lt;/code&amp;gt; || &amp;lt;code&amp;gt;5A 8E&amp;lt;/code&amp;gt; + ASCII &amp;lt;code&amp;gt;38720-77R0&amp;lt;/code&amp;gt; || ECU identification (captured)&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;1A 8A&amp;lt;/code&amp;gt; || &amp;lt;code&amp;gt;5A 8A&amp;lt;/code&amp;gt; + ASCII &amp;lt;code&amp;gt;38720-77R0*&amp;lt;/code&amp;gt; || ECU identification (captured)&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;18 00 FF 00&amp;lt;/code&amp;gt; || &amp;lt;code&amp;gt;58 00&amp;lt;/code&amp;gt; || DTCs: none stored (captured)&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== 0x271 Body control module ==&lt;br /&gt;
{{Models|JB74 (2018+, tested on 2021)|untested=JB64, JC74, JB43}}&lt;br /&gt;
&lt;br /&gt;
Request &amp;lt;code&amp;gt;0x271&amp;lt;/code&amp;gt;, reply &amp;lt;code&amp;gt;0x671&amp;lt;/code&amp;gt;. Matches parts catalogue entries 36775-77RC2 to RC4 (body control module, RHD).&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! Request !! Reply !! Meaning&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;3E&amp;lt;/code&amp;gt; || &amp;lt;code&amp;gt;7E&amp;lt;/code&amp;gt; || Tester present (captured)&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;1A 8E&amp;lt;/code&amp;gt; || &amp;lt;code&amp;gt;5A 8E&amp;lt;/code&amp;gt; + ASCII &amp;lt;code&amp;gt;36775-77R0&amp;lt;/code&amp;gt; || ECU identification (captured)&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;1A 8A&amp;lt;/code&amp;gt; || &amp;lt;code&amp;gt;5A 8A&amp;lt;/code&amp;gt; + ASCII &amp;lt;code&amp;gt;36775-77RC*&amp;lt;/code&amp;gt; || ECU identification (captured)&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;18 00 FF 00&amp;lt;/code&amp;gt; || &amp;lt;code&amp;gt;58 00&amp;lt;/code&amp;gt; || DTCs: none stored (captured)&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== 0x274 Instrument cluster ==&lt;br /&gt;
{{Models|JB74 (2018+, tested on 2021)|untested=JB64, JC74, JB43}}&lt;br /&gt;
&lt;br /&gt;
Request &amp;lt;code&amp;gt;0x274&amp;lt;/code&amp;gt;, reply &amp;lt;code&amp;gt;0x674&amp;lt;/code&amp;gt;. Confirmed by the rev counter sweep test.&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! Request !! Reply !! Meaning&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;3E&amp;lt;/code&amp;gt; or &amp;lt;code&amp;gt;3E 00&amp;lt;/code&amp;gt; || &amp;lt;code&amp;gt;7E&amp;lt;/code&amp;gt; || Tester present, about every 2.15 s during the sweep test (captured)&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;1A 8E&amp;lt;/code&amp;gt; || &amp;lt;code&amp;gt;5A 8E&amp;lt;/code&amp;gt; + ASCII &amp;lt;code&amp;gt;34100-78R0&amp;lt;/code&amp;gt; || ECU identification (captured)&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;1A 8A&amp;lt;/code&amp;gt; || &amp;lt;code&amp;gt;5A 8A&amp;lt;/code&amp;gt; + ASCII &amp;lt;code&amp;gt;34110-78RD*&amp;lt;/code&amp;gt; (last byte of the reply is &amp;lt;code&amp;gt;06&amp;lt;/code&amp;gt;) || ECU identification (captured)&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;18 00 FF 00&amp;lt;/code&amp;gt; || &amp;lt;code&amp;gt;58 00&amp;lt;/code&amp;gt; || DTCs: none stored (captured)&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;30 01 07 80 40 00 00&amp;lt;/code&amp;gt; || &amp;lt;code&amp;gt;70 01 07&amp;lt;/code&amp;gt; || Starts the rev counter sweep (service 0x30, local ID 01, &amp;quot;short-term adjustment&amp;quot;). The cluster then sweeps up and down by itself (captured)&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;30 01 07 80 00 00 00&amp;lt;/code&amp;gt; || &amp;lt;code&amp;gt;7F 30 22&amp;lt;/code&amp;gt; || Refused (&amp;quot;conditions not correct&amp;quot;). Possibly a stop request sent after the sweep had finished (captured)&lt;br /&gt;
|}&lt;br /&gt;
The meaning of the four control bytes (&amp;lt;code&amp;gt;80 40 00 00&amp;lt;/code&amp;gt;) is not known. Other output tests (gauges, warning lights) have not been captured.&lt;br /&gt;
&lt;br /&gt;
== 0x798 TPMS controller ==&lt;br /&gt;
{{Models|JB74 (2018+, tested on 2021)|untested=JB64, JC74, JB43}}&lt;br /&gt;
&lt;br /&gt;
Request &amp;lt;code&amp;gt;0x798&amp;lt;/code&amp;gt;, reply &amp;lt;code&amp;gt;0x7A8&amp;lt;/code&amp;gt;. The label on the module reads 37160-78R00, &amp;quot;BASE ASSY-TPMS&amp;quot;, Model No. P61M0 (Continental A2C13930301, 433.92 MHz). The full data layout, calibration and app setups are on [[OBD2 Diagnostics reading project]].&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! Request !! Reply !! Meaning&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;3E&amp;lt;/code&amp;gt; || &amp;lt;code&amp;gt;7E&amp;lt;/code&amp;gt; || Tester present (captured)&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;1A 8E&amp;lt;/code&amp;gt; || &amp;lt;code&amp;gt;5A 8E&amp;lt;/code&amp;gt; + ASCII &amp;lt;code&amp;gt;37160-61M0&amp;lt;/code&amp;gt; || ECU identification; matches Model No. P61M0 on the label (captured)&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;1A 8A&amp;lt;/code&amp;gt; || &amp;lt;code&amp;gt;5A 8A&amp;lt;/code&amp;gt; + ASCII &amp;lt;code&amp;gt;37120-78R0*&amp;lt;/code&amp;gt; || ECU identification (captured)&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;18 00 FF 00&amp;lt;/code&amp;gt; || &amp;lt;code&amp;gt;58 00&amp;lt;/code&amp;gt; (no codes) or &amp;lt;code&amp;gt;58 01 9A 31 20&amp;lt;/code&amp;gt; (one code) || DTCs by status. The code &amp;lt;code&amp;gt;9A 31&amp;lt;/code&amp;gt; is probably the left front low pressure warning (inferred). The status byte was &amp;lt;code&amp;gt;20&amp;lt;/code&amp;gt; in the full scan and &amp;lt;code&amp;gt;E0&amp;lt;/code&amp;gt; in earlier captures (captured)&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;21 00&amp;lt;/code&amp;gt; || &amp;lt;code&amp;gt;61 00&amp;lt;/code&amp;gt; + 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)&lt;br /&gt;
|}&lt;br /&gt;
ELM327 setup that works for &amp;lt;code&amp;gt;21 00&amp;lt;/code&amp;gt;: &amp;lt;code&amp;gt;ATSH798&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;ATS0&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;ATL0&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;ATFCSH798&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;ATFCSD300000&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;ATFCSM1&amp;lt;/code&amp;gt;, then &amp;lt;code&amp;gt;2100&amp;lt;/code&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
== 0x79A Combination switch (lighting and turn) ==&lt;br /&gt;
{{Models|JB74 (2018+, tested on 2021)|untested=JB64, JC74, JB43}}&lt;br /&gt;
&lt;br /&gt;
Request &amp;lt;code&amp;gt;0x79A&amp;lt;/code&amp;gt;, reply &amp;lt;code&amp;gt;0x7AA&amp;lt;/code&amp;gt;. Matches parts catalogue entry 37210-74PE2 (switch assembly, lighting and turn, RHD).&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! Request !! Reply !! Meaning&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;3E&amp;lt;/code&amp;gt; || &amp;lt;code&amp;gt;7E&amp;lt;/code&amp;gt; || Tester present (captured)&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;1A 8E&amp;lt;/code&amp;gt; || &amp;lt;code&amp;gt;5A 8E&amp;lt;/code&amp;gt; + ASCII &amp;lt;code&amp;gt;37210-74PA&amp;lt;/code&amp;gt; || ECU identification (captured)&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;1A 8A&amp;lt;/code&amp;gt; || &amp;lt;code&amp;gt;5A 8A&amp;lt;/code&amp;gt; + ASCII &amp;lt;code&amp;gt;37210-74PE*&amp;lt;/code&amp;gt; || ECU identification (captured)&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;18 00 FF 00&amp;lt;/code&amp;gt; || &amp;lt;code&amp;gt;58 00&amp;lt;/code&amp;gt; || DTCs: none stored (captured)&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== 0x778 Dual sensor brake support (inferred) ==&lt;br /&gt;
{{Models|JB74 (2018+, tested on 2021)|untested=JB64, JC74, JB43}}&lt;br /&gt;
&lt;br /&gt;
Request &amp;lt;code&amp;gt;0x778&amp;lt;/code&amp;gt;, reply &amp;lt;code&amp;gt;0x788&amp;lt;/code&amp;gt;. The name is inferred by elimination (the scan report&#039;s last unassigned module). Not confirmed.&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! Request !! Reply !! Meaning&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;3E&amp;lt;/code&amp;gt; || &amp;lt;code&amp;gt;7E&amp;lt;/code&amp;gt; || Tester present (captured)&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;1A 8E&amp;lt;/code&amp;gt; || &amp;lt;code&amp;gt;5A 8E&amp;lt;/code&amp;gt; + ASCII &amp;lt;code&amp;gt;33990-52R0&amp;lt;/code&amp;gt; || ECU identification (captured)&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;1A 8A&amp;lt;/code&amp;gt; || &amp;lt;code&amp;gt;5A 8A&amp;lt;/code&amp;gt; + ASCII &amp;lt;code&amp;gt;33990-78R8*&amp;lt;/code&amp;gt; || ECU identification (captured)&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;18 00 FF 00&amp;lt;/code&amp;gt; || &amp;lt;code&amp;gt;58 00&amp;lt;/code&amp;gt; || DTCs: none stored (captured)&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== 0x793 Airbag (SRS) controller ==&lt;br /&gt;
{{Models|JB74 (2018+, tested on 2021)|untested=JB64, JC74, JB43}}&lt;br /&gt;
&lt;br /&gt;
Request &amp;lt;code&amp;gt;0x793&amp;lt;/code&amp;gt;, reply &amp;lt;code&amp;gt;0x7A3&amp;lt;/code&amp;gt;. Matches parts catalogue entry 38910-78RC0 (airbag controller, VAN).&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! Request !! Reply !! Meaning&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;3E 00&amp;lt;/code&amp;gt; || &amp;lt;code&amp;gt;7E 00&amp;lt;/code&amp;gt; || Tester present (captured)&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;22 F1 01&amp;lt;/code&amp;gt; || &amp;lt;code&amp;gt;62 F1 01&amp;lt;/code&amp;gt; + ASCII &amp;lt;code&amp;gt;38910-77R0&amp;lt;/code&amp;gt; || Identification (captured)&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;22 F1 88&amp;lt;/code&amp;gt; || &amp;lt;code&amp;gt;62 F1 88&amp;lt;/code&amp;gt; + ASCII &amp;lt;code&amp;gt;38910-78RC*&amp;lt;/code&amp;gt; || Identification (captured)&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;19 02 FF&amp;lt;/code&amp;gt; || &amp;lt;code&amp;gt;59 02 4B&amp;lt;/code&amp;gt; || DTCs by status mask: none stored (captured)&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== 0x772 4WD shift controller ==&lt;br /&gt;
{{Models|JB74 (2018+, tested on 2021)|untested=JB64, JC74, JB43}}&lt;br /&gt;
&lt;br /&gt;
Request &amp;lt;code&amp;gt;0x772&amp;lt;/code&amp;gt;, reply &amp;lt;code&amp;gt;0x782&amp;lt;/code&amp;gt;. Matches parts catalogue entry 38885-78R01 (4WD shift controller).&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! Request !! Reply !! Meaning&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;3E&amp;lt;/code&amp;gt; || &amp;lt;code&amp;gt;7F 3E 13&amp;lt;/code&amp;gt; || Refused: incorrect message length. Sent four times by the scan tool (captured)&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;3E 01&amp;lt;/code&amp;gt; || &amp;lt;code&amp;gt;7F 3E 12&amp;lt;/code&amp;gt; || Refused: sub-function not supported. Sent four times (captured)&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;3E 00&amp;lt;/code&amp;gt; || &amp;lt;code&amp;gt;7E 00&amp;lt;/code&amp;gt; || Tester present (captured)&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;22 F1 01&amp;lt;/code&amp;gt; || &amp;lt;code&amp;gt;62 F1 01&amp;lt;/code&amp;gt; + ASCII &amp;lt;code&amp;gt;38885-77R0&amp;lt;/code&amp;gt; || Identification (captured)&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;22 F1 88&amp;lt;/code&amp;gt; || &amp;lt;code&amp;gt;62 F1 88&amp;lt;/code&amp;gt; + ASCII &amp;lt;code&amp;gt;38885-78R0*&amp;lt;/code&amp;gt; || Identification (captured)&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;19 02 FF&amp;lt;/code&amp;gt; || &amp;lt;code&amp;gt;59 02 4B&amp;lt;/code&amp;gt; || DTCs by status mask: none stored (captured)&lt;br /&gt;
|}&lt;br /&gt;
The scan tool tried the KWP-style &amp;lt;code&amp;gt;3E&amp;lt;/code&amp;gt; first and fell back to the UDS form &amp;lt;code&amp;gt;3E 00&amp;lt;/code&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
== 0x799 E-call controller ==&lt;br /&gt;
{{Models|JB74 (2018+, tested on 2021)|untested=JB64, JC74, JB43}}&lt;br /&gt;
&lt;br /&gt;
Request &amp;lt;code&amp;gt;0x799&amp;lt;/code&amp;gt;, reply &amp;lt;code&amp;gt;0x7A9&amp;lt;/code&amp;gt;. Matches parts catalogue entries 38960-78RA0 and RA1 (E-call controller).&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! Request !! Reply !! Meaning&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;3E&amp;lt;/code&amp;gt; || &amp;lt;code&amp;gt;7F 3E 13&amp;lt;/code&amp;gt; || Refused: incorrect message length. Sent four times (captured)&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;3E 01&amp;lt;/code&amp;gt; || &amp;lt;code&amp;gt;7F 3E 12&amp;lt;/code&amp;gt; || Refused: sub-function not supported. Sent four times (captured)&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;3E 00&amp;lt;/code&amp;gt; || &amp;lt;code&amp;gt;7E 00&amp;lt;/code&amp;gt; || Tester present (captured)&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;22 F1 01&amp;lt;/code&amp;gt; || &amp;lt;code&amp;gt;62 F1 01&amp;lt;/code&amp;gt; + ASCII &amp;lt;code&amp;gt;38960-78RA&amp;lt;/code&amp;gt; || Identification (captured)&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;22 F1 88&amp;lt;/code&amp;gt; || &amp;lt;code&amp;gt;62 F1 88&amp;lt;/code&amp;gt; + ASCII &amp;lt;code&amp;gt;38960-78RA*&amp;lt;/code&amp;gt; || Identification (captured)&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;19 02 FF&amp;lt;/code&amp;gt; || &amp;lt;code&amp;gt;59 02 4B 92 4E 00 02&amp;lt;/code&amp;gt; || One stored code record: &amp;lt;code&amp;gt;92 4E 00&amp;lt;/code&amp;gt;, status &amp;lt;code&amp;gt;02&amp;lt;/code&amp;gt;. The Launch report does not list it and its meaning is not known (captured)&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== 0x751 Central gateway ==&lt;br /&gt;
{{Models|JB74 (2018+, tested on 2021)|untested=JB64, JC74, JB43}}&lt;br /&gt;
&lt;br /&gt;
Request &amp;lt;code&amp;gt;0x751&amp;lt;/code&amp;gt;, reply &amp;lt;code&amp;gt;0x761&amp;lt;/code&amp;gt;. The label on the module reads 33580-79R01.&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! Request !! Reply !! Meaning&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;3E 00&amp;lt;/code&amp;gt; || &amp;lt;code&amp;gt;7E 00&amp;lt;/code&amp;gt; || Tester present (captured)&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;22 F1 01&amp;lt;/code&amp;gt; || &amp;lt;code&amp;gt;62 F1 01&amp;lt;/code&amp;gt; + ASCII &amp;lt;code&amp;gt;33580-79R0&amp;lt;/code&amp;gt; || Identification (captured)&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;22 F1 88&amp;lt;/code&amp;gt; || &amp;lt;code&amp;gt;62 F1 88&amp;lt;/code&amp;gt; + ASCII &amp;lt;code&amp;gt;33580-78R0*&amp;lt;/code&amp;gt; || Identification (captured)&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;19 02 FF&amp;lt;/code&amp;gt; || &amp;lt;code&amp;gt;59 02 4B&amp;lt;/code&amp;gt; || DTCs by status mask: none stored (captured)&lt;br /&gt;
|}&lt;br /&gt;
The gateway sits between the OBD socket and the vehicle CAN bus. Whether it forwards requests to the other modules unchanged is not confirmed.&lt;br /&gt;
&lt;br /&gt;
== Addresses probed with no reply ==&lt;br /&gt;
The scan tool sent tester-present (&amp;lt;code&amp;gt;3E&amp;lt;/code&amp;gt;) about eight times each to &amp;lt;code&amp;gt;0x273&amp;lt;/code&amp;gt; and &amp;lt;code&amp;gt;0x262&amp;lt;/code&amp;gt; and received nothing from the expected reply IDs (&amp;lt;code&amp;gt;0x673&amp;lt;/code&amp;gt; and &amp;lt;code&amp;gt;0x662&amp;lt;/code&amp;gt;). They are probably modules this car does not have, such as an automatic transmission or auto-levelling controller. This is a guess.&lt;br /&gt;
&lt;br /&gt;
== ELM327 notes ==&lt;br /&gt;
* Only &amp;lt;code&amp;gt;0x798&amp;lt;/code&amp;gt; has been tested with an ELM327. For other modules, set &amp;lt;code&amp;gt;ATSH&amp;lt;/code&amp;gt; to the request ID and &amp;lt;code&amp;gt;ATFCSH&amp;lt;/code&amp;gt; to the same ID, and you may need &amp;lt;code&amp;gt;ATCRA&amp;lt;/code&amp;gt; with the reply ID, because the reply is not always the request ID plus 8. This is untested.&lt;br /&gt;
* 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.&lt;br /&gt;
* Do not send output-control commands (service &amp;lt;code&amp;gt;30&amp;lt;/code&amp;gt; and similar) from a head-unit app while driving.&lt;br /&gt;
&lt;br /&gt;
== Sources ==&lt;br /&gt;
* Owner PCAN-View captures of a Launch X431 CRP919 full health-check scan and rev counter sweep test, October 2026.&lt;br /&gt;
* Suzuki Jimny parts catalogue 9900B-40312-004 (type 1, October 2021), figures 350A, 351A and 351B.&lt;br /&gt;
* Labels on the TPMS controller and central gateway of the test car.&lt;br /&gt;
&lt;br /&gt;
[[Category:Electrical - gen4]]&lt;/div&gt;</summary>
		<author><name>Mlines</name></author>
	</entry>
	<entry>
		<id>https://www.bigjimny.com/mediawiki/index.php?title=ECU_diagnostic_CAN_addresses&amp;diff=10099</id>
		<title>ECU diagnostic CAN addresses</title>
		<link rel="alternate" type="text/html" href="https://www.bigjimny.com/mediawiki/index.php?title=ECU_diagnostic_CAN_addresses&amp;diff=10099"/>
		<updated>2026-11-02T08:52:46Z</updated>

		<summary type="html">&lt;p&gt;Mlines: /* How to read this page */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&amp;lt;div style=&amp;quot;border: 1px solid #c9a227; background-color: #fff8dc; padding: 0.6em 1em; margin: 0 0 1em 0; border-radius: 4px;&amp;quot;&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;Support this project:&#039;&#039;&#039; 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 [https://buymeacoffee.com/bigjimny buymeacoffee.com/bigjimny].&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
= Suzuki Jimny JB74 - CAN bus devices and the commands they answer =&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Status:&#039;&#039;&#039; 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.&lt;br /&gt;
&lt;br /&gt;
== How to read this page ==&lt;br /&gt;
* All IDs are 11-bit CAN IDs on the OBD socket (pins 6 and 14, 500 kbit/s). The &amp;quot;request ID&amp;quot; is the header a tool sends to; the &amp;quot;reply ID&amp;quot; is where the module answers.&lt;br /&gt;
* 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.&lt;br /&gt;
* &#039;&#039;&#039;KWP-style&#039;&#039;&#039; modules use services such as &amp;lt;code&amp;gt;1A&amp;lt;/code&amp;gt; (read ECU identification) and &amp;lt;code&amp;gt;18&amp;lt;/code&amp;gt; (read DTCs by status). &#039;&#039;&#039;UDS-style&#039;&#039;&#039; modules use &amp;lt;code&amp;gt;22&amp;lt;/code&amp;gt; (read data by identifier) and &amp;lt;code&amp;gt;19&amp;lt;/code&amp;gt; (read DTCs).&lt;br /&gt;
* 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.&lt;br /&gt;
* Identification strings are ASCII Suzuki part numbers. The first one in each module (&amp;lt;code&amp;gt;1A 8E&amp;lt;/code&amp;gt; or &amp;lt;code&amp;gt;22 F1 01&amp;lt;/code&amp;gt;) has no trailing character; the second (&amp;lt;code&amp;gt;1A 8A&amp;lt;/code&amp;gt; or &amp;lt;code&amp;gt;22 F1 88&amp;lt;/code&amp;gt;) ends in &amp;lt;code&amp;gt;*&amp;lt;/code&amp;gt;. They do not always equal the number printed on the module&#039;s label.&lt;br /&gt;
* Commands marked &#039;&#039;captured&#039;&#039; were seen in a trace. Nothing here has been sent to a module by us except the TPMS requests.&lt;br /&gt;
=== Example usage ===&lt;br /&gt;
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 &amp;lt;code&amp;gt;OK&amp;lt;/code&amp;gt; after each.&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! Command !! Purpose&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;ATZ&amp;lt;/code&amp;gt; || Reset the adapter (prints the adapter version, not OK)&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;ATSP6&amp;lt;/code&amp;gt; || Use protocol 6: ISO 15765-4, 11-bit CAN, 500 kbit/s&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;ATSH798&amp;lt;/code&amp;gt; || Send requests to the TPMS controller (&#039;&#039;&#039;see device table above&#039;&#039;&#039;)&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;ATS0&amp;lt;/code&amp;gt; || No spaces in the reply (stops one clone adapter overflowing its buffer)&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;ATL0&amp;lt;/code&amp;gt; || No line feeds in the reply&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;ATFCSH798&amp;lt;/code&amp;gt; || Send flow-control frames to 0x798&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;ATFCSD300000&amp;lt;/code&amp;gt; || Flow-control data &amp;lt;code&amp;gt;30 00 00&amp;lt;/code&amp;gt;: continue, send all frames, no delay&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;ATFCSM1&amp;lt;/code&amp;gt; || Use the custom flow-control header and data above&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;2100&amp;lt;/code&amp;gt; || Request the sensor data block (service 0x21, identifier 0x00, &#039;&#039;&#039;see device specific tables below&#039;&#039;&#039;)&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
Example reply (generic ELM327 clone, ignition on, engine off):&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
2100&lt;br /&gt;
066&lt;br /&gt;
0:610075010000&lt;br /&gt;
1:0000000000004E&lt;br /&gt;
2:AA094310397901&lt;br /&gt;
3:4900DD91B52520&lt;br /&gt;
4:3B880149004EAA&lt;br /&gt;
5:0319183C830249&lt;br /&gt;
6:004EAA09C9083C&lt;br /&gt;
7:83024900000000&lt;br /&gt;
8:004EAA09434EAA&lt;br /&gt;
9:09434EAA09434E&lt;br /&gt;
A:AA094373737373&lt;br /&gt;
B:7D7D7D7D000000&lt;br /&gt;
C:00000000000000&lt;br /&gt;
D:00000030222202&lt;br /&gt;
E:01801700000000&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Reading the reply:&lt;br /&gt;
* &amp;lt;code&amp;gt;066&amp;lt;/code&amp;gt; is the total length in hex: 0x66 = 102 bytes. The lines &amp;lt;code&amp;gt;0:&amp;lt;/code&amp;gt; to &amp;lt;code&amp;gt;E:&amp;lt;/code&amp;gt; carry those bytes in order.&lt;br /&gt;
* The data starts &amp;lt;code&amp;gt;61 00&amp;lt;/code&amp;gt; (positive reply to &amp;lt;code&amp;gt;21 00&amp;lt;/code&amp;gt;). The next byte, &amp;lt;code&amp;gt;75&amp;lt;/code&amp;gt; = 117, probably tracks system voltage (about 11.7 V, unconfirmed).&lt;br /&gt;
* Each wheel has a 10-byte record. Byte +6 of the record is the pressure; bar = raw x 0.01372.&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! Wheel !! Record (hex) !! Byte +6 !! Raw !! Pressure&lt;br /&gt;
|-&lt;br /&gt;
| Front left || &amp;lt;code&amp;gt;4E AA 09 43 10 39 79 01 49 00&amp;lt;/code&amp;gt; || &amp;lt;code&amp;gt;79&amp;lt;/code&amp;gt; || 121 || 1.66 bar&lt;br /&gt;
|-&lt;br /&gt;
| Rear left || &amp;lt;code&amp;gt;DD 91 B5 25 20 3B 88 01 49 00&amp;lt;/code&amp;gt; || &amp;lt;code&amp;gt;88&amp;lt;/code&amp;gt; || 136 || 1.87 bar&lt;br /&gt;
|-&lt;br /&gt;
| Rear right || &amp;lt;code&amp;gt;4E AA 03 19 18 3C 83 02 49 00&amp;lt;/code&amp;gt; || &amp;lt;code&amp;gt;83&amp;lt;/code&amp;gt; || 131 || 1.80 bar&lt;br /&gt;
|-&lt;br /&gt;
| Front right || &amp;lt;code&amp;gt;4E AA 09 C9 08 3C 83 02 49 00&amp;lt;/code&amp;gt; || &amp;lt;code&amp;gt;83&amp;lt;/code&amp;gt; || 131 || 1.80 bar&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
Notes:&lt;br /&gt;
* The sensor IDs, and the byte values, are from one car. Your IDs will differ, and the values change with pressure and temperature.&lt;br /&gt;
* &amp;lt;code&amp;gt;ATSH&amp;lt;/code&amp;gt; and the &amp;lt;code&amp;gt;ATFC&amp;lt;/code&amp;gt; settings last until the adapter is reset (&amp;lt;code&amp;gt;ATZ&amp;lt;/code&amp;gt;) or loses power, so send them again after either.&lt;br /&gt;
* Without the &amp;lt;code&amp;gt;ATFC&amp;lt;/code&amp;gt; lines, the clone adapter used here returned only the first line (&amp;lt;code&amp;gt;610075010000&amp;lt;/code&amp;gt;).&lt;br /&gt;
* If the terminal prints &amp;lt;code&amp;gt;NO DATA&amp;lt;/code&amp;gt;, check the ignition is on, that no other app is connected to the adapter, and that &amp;lt;code&amp;gt;ATSH798&amp;lt;/code&amp;gt; was sent after the last reset.&lt;br /&gt;
&lt;br /&gt;
== Device table ==&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! Request ID !! Reply ID !! Style !! Module !! Identification reply (first / second) !! How the module was identified&lt;br /&gt;
|-&lt;br /&gt;
| [[#0x7E0 ECM|0x7E0]] || 0x7E8 || KWP || ECM || 33980-78R0 / 33980-78RC* || Standard engine address&lt;br /&gt;
|-&lt;br /&gt;
| [[#0x261 ABS (inferred)|0x261]] || 0x661 || KWP || ABS (inferred) || 56100-77RA / 56100-78RF* || Only brake module left by elimination&lt;br /&gt;
|-&lt;br /&gt;
| [[#0x263 EPS controller|0x263]] || 0x663 || KWP || EPS controller || 38720-77R0 / 38720-77R0* || Parts catalogue (38720-77R01)&lt;br /&gt;
|-&lt;br /&gt;
| [[#0x271 Body control module|0x271]] || 0x671 || KWP || Body control module || 36775-77R0 / 36775-77RC* || Parts catalogue (36775-77RC2 to RC4)&lt;br /&gt;
|-&lt;br /&gt;
| [[#0x274 Instrument cluster|0x274]] || 0x674 || KWP || Instrument cluster || 34100-78R0 / 34110-78RD* || Rev counter sweep test&lt;br /&gt;
|-&lt;br /&gt;
| [[#0x798 TPMS controller|0x798]] || 0x7A8 || KWP || TPMS controller || 37160-61M0 / 37120-78R0* || Label (Model No. P61M0) and parts catalogue&lt;br /&gt;
|-&lt;br /&gt;
| [[#0x79A Combination switch (lighting and turn)|0x79A]] || 0x7AA || KWP || Combination switch (lighting and turn) || 37210-74PA / 37210-74PE* || Parts catalogue (37210-74PE2)&lt;br /&gt;
|-&lt;br /&gt;
| [[#0x778 Dual sensor brake support (inferred)|0x778]] || 0x788 || KWP || Dual sensor brake support (inferred) || 33990-52R0 / 33990-78R8* || By elimination&lt;br /&gt;
|-&lt;br /&gt;
| [[#0x793 Airbag (SRS) controller|0x793]] || 0x7A3 || UDS || Airbag (SRS) controller || 38910-77R0 / 38910-78RC* || Parts catalogue (38910-78RC0)&lt;br /&gt;
|-&lt;br /&gt;
| [[#0x772 4WD shift controller|0x772]] || 0x782 || UDS || 4WD shift controller || 38885-77R0 / 38885-78R0* || Parts catalogue (38885-78R01)&lt;br /&gt;
|-&lt;br /&gt;
| [[#0x799 E-call controller|0x799]] || 0x7A9 || UDS || E-call controller || 38960-78RA / 38960-78RA* || Parts catalogue (38960-78RA0, RA1)&lt;br /&gt;
|-&lt;br /&gt;
| [[#0x751 Central gateway|0x751]] || 0x761 || UDS || Central gateway || 33580-79R0 / 33580-78R0* || Label (33580-79R01) and parts catalogue&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
Two more addresses, [[#Addresses probed with no reply|0x273 and 0x262]], were probed by the scan tool and did not answer.&lt;br /&gt;
&lt;br /&gt;
The names marked &amp;quot;inferred&amp;quot; are guesses from elimination and part-number series, not confirmed by a label or test.&lt;br /&gt;
&lt;br /&gt;
== 0x7E0 ECM ==&lt;br /&gt;
{{Models|JB74 (2018+, tested on 2021)|untested=JB64, JC74, JB43}}&lt;br /&gt;
&lt;br /&gt;
Request &amp;lt;code&amp;gt;0x7E0&amp;lt;/code&amp;gt;, reply &amp;lt;code&amp;gt;0x7E8&amp;lt;/code&amp;gt;. This is the standard OBD engine address, so standard mode 01 PIDs should be available here, but none were captured.&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! Request !! Reply !! Meaning&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;3E&amp;lt;/code&amp;gt; || &amp;lt;code&amp;gt;7E&amp;lt;/code&amp;gt; || Tester present (captured)&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;1A 8E&amp;lt;/code&amp;gt; || &amp;lt;code&amp;gt;5A 8E&amp;lt;/code&amp;gt; + ASCII &amp;lt;code&amp;gt;33980-78R0&amp;lt;/code&amp;gt; || ECU identification (captured)&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;1A 8A&amp;lt;/code&amp;gt; || &amp;lt;code&amp;gt;5A 8A&amp;lt;/code&amp;gt; + ASCII &amp;lt;code&amp;gt;33980-78RC*&amp;lt;/code&amp;gt; || ECU identification (captured)&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;18 00 FF 00&amp;lt;/code&amp;gt; || &amp;lt;code&amp;gt;58 00&amp;lt;/code&amp;gt; || Read DTCs by status: none stored (captured)&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== 0x261 ABS (inferred) ==&lt;br /&gt;
{{Models|JB74 (2018+, tested on 2021)|untested=JB64, JC74, JB43}}&lt;br /&gt;
&lt;br /&gt;
Request &amp;lt;code&amp;gt;0x261&amp;lt;/code&amp;gt;, reply &amp;lt;code&amp;gt;0x661&amp;lt;/code&amp;gt;. 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.&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! Request !! Reply !! Meaning&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;3E&amp;lt;/code&amp;gt; || &amp;lt;code&amp;gt;7E&amp;lt;/code&amp;gt; || Tester present (captured)&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;1A 8E&amp;lt;/code&amp;gt; || &amp;lt;code&amp;gt;5A 8E&amp;lt;/code&amp;gt; + ASCII &amp;lt;code&amp;gt;56100-77RA&amp;lt;/code&amp;gt; || ECU identification (captured)&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;1A 8A&amp;lt;/code&amp;gt; || &amp;lt;code&amp;gt;5A 8A&amp;lt;/code&amp;gt; + ASCII &amp;lt;code&amp;gt;56100-78RF*&amp;lt;/code&amp;gt; || ECU identification (captured)&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;18 00 FF 00&amp;lt;/code&amp;gt; || &amp;lt;code&amp;gt;58 00&amp;lt;/code&amp;gt; || DTCs: none stored (captured)&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== 0x263 EPS controller ==&lt;br /&gt;
{{Models|JB74 (2018+, tested on 2021)|untested=JB64, JC74, JB43}}&lt;br /&gt;
&lt;br /&gt;
Request &amp;lt;code&amp;gt;0x263&amp;lt;/code&amp;gt;, reply &amp;lt;code&amp;gt;0x663&amp;lt;/code&amp;gt;. Matches parts catalogue entry 38720-77R01 (EPS controller).&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! Request !! Reply !! Meaning&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;3E&amp;lt;/code&amp;gt; || &amp;lt;code&amp;gt;7E&amp;lt;/code&amp;gt; || Tester present (captured)&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;1A 8E&amp;lt;/code&amp;gt; || &amp;lt;code&amp;gt;5A 8E&amp;lt;/code&amp;gt; + ASCII &amp;lt;code&amp;gt;38720-77R0&amp;lt;/code&amp;gt; || ECU identification (captured)&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;1A 8A&amp;lt;/code&amp;gt; || &amp;lt;code&amp;gt;5A 8A&amp;lt;/code&amp;gt; + ASCII &amp;lt;code&amp;gt;38720-77R0*&amp;lt;/code&amp;gt; || ECU identification (captured)&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;18 00 FF 00&amp;lt;/code&amp;gt; || &amp;lt;code&amp;gt;58 00&amp;lt;/code&amp;gt; || DTCs: none stored (captured)&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== 0x271 Body control module ==&lt;br /&gt;
{{Models|JB74 (2018+, tested on 2021)|untested=JB64, JC74, JB43}}&lt;br /&gt;
&lt;br /&gt;
Request &amp;lt;code&amp;gt;0x271&amp;lt;/code&amp;gt;, reply &amp;lt;code&amp;gt;0x671&amp;lt;/code&amp;gt;. Matches parts catalogue entries 36775-77RC2 to RC4 (body control module, RHD).&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! Request !! Reply !! Meaning&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;3E&amp;lt;/code&amp;gt; || &amp;lt;code&amp;gt;7E&amp;lt;/code&amp;gt; || Tester present (captured)&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;1A 8E&amp;lt;/code&amp;gt; || &amp;lt;code&amp;gt;5A 8E&amp;lt;/code&amp;gt; + ASCII &amp;lt;code&amp;gt;36775-77R0&amp;lt;/code&amp;gt; || ECU identification (captured)&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;1A 8A&amp;lt;/code&amp;gt; || &amp;lt;code&amp;gt;5A 8A&amp;lt;/code&amp;gt; + ASCII &amp;lt;code&amp;gt;36775-77RC*&amp;lt;/code&amp;gt; || ECU identification (captured)&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;18 00 FF 00&amp;lt;/code&amp;gt; || &amp;lt;code&amp;gt;58 00&amp;lt;/code&amp;gt; || DTCs: none stored (captured)&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== 0x274 Instrument cluster ==&lt;br /&gt;
{{Models|JB74 (2018+, tested on 2021)|untested=JB64, JC74, JB43}}&lt;br /&gt;
&lt;br /&gt;
Request &amp;lt;code&amp;gt;0x274&amp;lt;/code&amp;gt;, reply &amp;lt;code&amp;gt;0x674&amp;lt;/code&amp;gt;. Confirmed by the rev counter sweep test.&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! Request !! Reply !! Meaning&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;3E&amp;lt;/code&amp;gt; or &amp;lt;code&amp;gt;3E 00&amp;lt;/code&amp;gt; || &amp;lt;code&amp;gt;7E&amp;lt;/code&amp;gt; || Tester present, about every 2.15 s during the sweep test (captured)&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;1A 8E&amp;lt;/code&amp;gt; || &amp;lt;code&amp;gt;5A 8E&amp;lt;/code&amp;gt; + ASCII &amp;lt;code&amp;gt;34100-78R0&amp;lt;/code&amp;gt; || ECU identification (captured)&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;1A 8A&amp;lt;/code&amp;gt; || &amp;lt;code&amp;gt;5A 8A&amp;lt;/code&amp;gt; + ASCII &amp;lt;code&amp;gt;34110-78RD*&amp;lt;/code&amp;gt; (last byte of the reply is &amp;lt;code&amp;gt;06&amp;lt;/code&amp;gt;) || ECU identification (captured)&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;18 00 FF 00&amp;lt;/code&amp;gt; || &amp;lt;code&amp;gt;58 00&amp;lt;/code&amp;gt; || DTCs: none stored (captured)&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;30 01 07 80 40 00 00&amp;lt;/code&amp;gt; || &amp;lt;code&amp;gt;70 01 07&amp;lt;/code&amp;gt; || Starts the rev counter sweep (service 0x30, local ID 01, &amp;quot;short-term adjustment&amp;quot;). The cluster then sweeps up and down by itself (captured)&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;30 01 07 80 00 00 00&amp;lt;/code&amp;gt; || &amp;lt;code&amp;gt;7F 30 22&amp;lt;/code&amp;gt; || Refused (&amp;quot;conditions not correct&amp;quot;). Possibly a stop request sent after the sweep had finished (captured)&lt;br /&gt;
|}&lt;br /&gt;
The meaning of the four control bytes (&amp;lt;code&amp;gt;80 40 00 00&amp;lt;/code&amp;gt;) is not known. Other output tests (gauges, warning lights) have not been captured.&lt;br /&gt;
&lt;br /&gt;
== 0x798 TPMS controller ==&lt;br /&gt;
{{Models|JB74 (2018+, tested on 2021)|untested=JB64, JC74, JB43}}&lt;br /&gt;
&lt;br /&gt;
Request &amp;lt;code&amp;gt;0x798&amp;lt;/code&amp;gt;, reply &amp;lt;code&amp;gt;0x7A8&amp;lt;/code&amp;gt;. The label on the module reads 37160-78R00, &amp;quot;BASE ASSY-TPMS&amp;quot;, Model No. P61M0 (Continental A2C13930301, 433.92 MHz). The full data layout, calibration and app setups are on [[OBD2 Diagnostics reading project]].&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! Request !! Reply !! Meaning&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;3E&amp;lt;/code&amp;gt; || &amp;lt;code&amp;gt;7E&amp;lt;/code&amp;gt; || Tester present (captured)&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;1A 8E&amp;lt;/code&amp;gt; || &amp;lt;code&amp;gt;5A 8E&amp;lt;/code&amp;gt; + ASCII &amp;lt;code&amp;gt;37160-61M0&amp;lt;/code&amp;gt; || ECU identification; matches Model No. P61M0 on the label (captured)&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;1A 8A&amp;lt;/code&amp;gt; || &amp;lt;code&amp;gt;5A 8A&amp;lt;/code&amp;gt; + ASCII &amp;lt;code&amp;gt;37120-78R0*&amp;lt;/code&amp;gt; || ECU identification (captured)&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;18 00 FF 00&amp;lt;/code&amp;gt; || &amp;lt;code&amp;gt;58 00&amp;lt;/code&amp;gt; (no codes) or &amp;lt;code&amp;gt;58 01 9A 31 20&amp;lt;/code&amp;gt; (one code) || DTCs by status. The code &amp;lt;code&amp;gt;9A 31&amp;lt;/code&amp;gt; is probably the left front low pressure warning (inferred). The status byte was &amp;lt;code&amp;gt;20&amp;lt;/code&amp;gt; in the full scan and &amp;lt;code&amp;gt;E0&amp;lt;/code&amp;gt; in earlier captures (captured)&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;21 00&amp;lt;/code&amp;gt; || &amp;lt;code&amp;gt;61 00&amp;lt;/code&amp;gt; + 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)&lt;br /&gt;
|}&lt;br /&gt;
ELM327 setup that works for &amp;lt;code&amp;gt;21 00&amp;lt;/code&amp;gt;: &amp;lt;code&amp;gt;ATSH798&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;ATS0&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;ATL0&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;ATFCSH798&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;ATFCSD300000&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;ATFCSM1&amp;lt;/code&amp;gt;, then &amp;lt;code&amp;gt;2100&amp;lt;/code&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
== 0x79A Combination switch (lighting and turn) ==&lt;br /&gt;
{{Models|JB74 (2018+, tested on 2021)|untested=JB64, JC74, JB43}}&lt;br /&gt;
&lt;br /&gt;
Request &amp;lt;code&amp;gt;0x79A&amp;lt;/code&amp;gt;, reply &amp;lt;code&amp;gt;0x7AA&amp;lt;/code&amp;gt;. Matches parts catalogue entry 37210-74PE2 (switch assembly, lighting and turn, RHD).&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! Request !! Reply !! Meaning&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;3E&amp;lt;/code&amp;gt; || &amp;lt;code&amp;gt;7E&amp;lt;/code&amp;gt; || Tester present (captured)&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;1A 8E&amp;lt;/code&amp;gt; || &amp;lt;code&amp;gt;5A 8E&amp;lt;/code&amp;gt; + ASCII &amp;lt;code&amp;gt;37210-74PA&amp;lt;/code&amp;gt; || ECU identification (captured)&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;1A 8A&amp;lt;/code&amp;gt; || &amp;lt;code&amp;gt;5A 8A&amp;lt;/code&amp;gt; + ASCII &amp;lt;code&amp;gt;37210-74PE*&amp;lt;/code&amp;gt; || ECU identification (captured)&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;18 00 FF 00&amp;lt;/code&amp;gt; || &amp;lt;code&amp;gt;58 00&amp;lt;/code&amp;gt; || DTCs: none stored (captured)&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== 0x778 Dual sensor brake support (inferred) ==&lt;br /&gt;
{{Models|JB74 (2018+, tested on 2021)|untested=JB64, JC74, JB43}}&lt;br /&gt;
&lt;br /&gt;
Request &amp;lt;code&amp;gt;0x778&amp;lt;/code&amp;gt;, reply &amp;lt;code&amp;gt;0x788&amp;lt;/code&amp;gt;. The name is inferred by elimination (the scan report&#039;s last unassigned module). Not confirmed.&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! Request !! Reply !! Meaning&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;3E&amp;lt;/code&amp;gt; || &amp;lt;code&amp;gt;7E&amp;lt;/code&amp;gt; || Tester present (captured)&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;1A 8E&amp;lt;/code&amp;gt; || &amp;lt;code&amp;gt;5A 8E&amp;lt;/code&amp;gt; + ASCII &amp;lt;code&amp;gt;33990-52R0&amp;lt;/code&amp;gt; || ECU identification (captured)&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;1A 8A&amp;lt;/code&amp;gt; || &amp;lt;code&amp;gt;5A 8A&amp;lt;/code&amp;gt; + ASCII &amp;lt;code&amp;gt;33990-78R8*&amp;lt;/code&amp;gt; || ECU identification (captured)&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;18 00 FF 00&amp;lt;/code&amp;gt; || &amp;lt;code&amp;gt;58 00&amp;lt;/code&amp;gt; || DTCs: none stored (captured)&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== 0x793 Airbag (SRS) controller ==&lt;br /&gt;
{{Models|JB74 (2018+, tested on 2021)|untested=JB64, JC74, JB43}}&lt;br /&gt;
&lt;br /&gt;
Request &amp;lt;code&amp;gt;0x793&amp;lt;/code&amp;gt;, reply &amp;lt;code&amp;gt;0x7A3&amp;lt;/code&amp;gt;. Matches parts catalogue entry 38910-78RC0 (airbag controller, VAN).&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! Request !! Reply !! Meaning&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;3E 00&amp;lt;/code&amp;gt; || &amp;lt;code&amp;gt;7E 00&amp;lt;/code&amp;gt; || Tester present (captured)&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;22 F1 01&amp;lt;/code&amp;gt; || &amp;lt;code&amp;gt;62 F1 01&amp;lt;/code&amp;gt; + ASCII &amp;lt;code&amp;gt;38910-77R0&amp;lt;/code&amp;gt; || Identification (captured)&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;22 F1 88&amp;lt;/code&amp;gt; || &amp;lt;code&amp;gt;62 F1 88&amp;lt;/code&amp;gt; + ASCII &amp;lt;code&amp;gt;38910-78RC*&amp;lt;/code&amp;gt; || Identification (captured)&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;19 02 FF&amp;lt;/code&amp;gt; || &amp;lt;code&amp;gt;59 02 4B&amp;lt;/code&amp;gt; || DTCs by status mask: none stored (captured)&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== 0x772 4WD shift controller ==&lt;br /&gt;
{{Models|JB74 (2018+, tested on 2021)|untested=JB64, JC74, JB43}}&lt;br /&gt;
&lt;br /&gt;
Request &amp;lt;code&amp;gt;0x772&amp;lt;/code&amp;gt;, reply &amp;lt;code&amp;gt;0x782&amp;lt;/code&amp;gt;. Matches parts catalogue entry 38885-78R01 (4WD shift controller).&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! Request !! Reply !! Meaning&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;3E&amp;lt;/code&amp;gt; || &amp;lt;code&amp;gt;7F 3E 13&amp;lt;/code&amp;gt; || Refused: incorrect message length. Sent four times by the scan tool (captured)&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;3E 01&amp;lt;/code&amp;gt; || &amp;lt;code&amp;gt;7F 3E 12&amp;lt;/code&amp;gt; || Refused: sub-function not supported. Sent four times (captured)&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;3E 00&amp;lt;/code&amp;gt; || &amp;lt;code&amp;gt;7E 00&amp;lt;/code&amp;gt; || Tester present (captured)&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;22 F1 01&amp;lt;/code&amp;gt; || &amp;lt;code&amp;gt;62 F1 01&amp;lt;/code&amp;gt; + ASCII &amp;lt;code&amp;gt;38885-77R0&amp;lt;/code&amp;gt; || Identification (captured)&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;22 F1 88&amp;lt;/code&amp;gt; || &amp;lt;code&amp;gt;62 F1 88&amp;lt;/code&amp;gt; + ASCII &amp;lt;code&amp;gt;38885-78R0*&amp;lt;/code&amp;gt; || Identification (captured)&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;19 02 FF&amp;lt;/code&amp;gt; || &amp;lt;code&amp;gt;59 02 4B&amp;lt;/code&amp;gt; || DTCs by status mask: none stored (captured)&lt;br /&gt;
|}&lt;br /&gt;
The scan tool tried the KWP-style &amp;lt;code&amp;gt;3E&amp;lt;/code&amp;gt; first and fell back to the UDS form &amp;lt;code&amp;gt;3E 00&amp;lt;/code&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
== 0x799 E-call controller ==&lt;br /&gt;
{{Models|JB74 (2018+, tested on 2021)|untested=JB64, JC74, JB43}}&lt;br /&gt;
&lt;br /&gt;
Request &amp;lt;code&amp;gt;0x799&amp;lt;/code&amp;gt;, reply &amp;lt;code&amp;gt;0x7A9&amp;lt;/code&amp;gt;. Matches parts catalogue entries 38960-78RA0 and RA1 (E-call controller).&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! Request !! Reply !! Meaning&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;3E&amp;lt;/code&amp;gt; || &amp;lt;code&amp;gt;7F 3E 13&amp;lt;/code&amp;gt; || Refused: incorrect message length. Sent four times (captured)&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;3E 01&amp;lt;/code&amp;gt; || &amp;lt;code&amp;gt;7F 3E 12&amp;lt;/code&amp;gt; || Refused: sub-function not supported. Sent four times (captured)&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;3E 00&amp;lt;/code&amp;gt; || &amp;lt;code&amp;gt;7E 00&amp;lt;/code&amp;gt; || Tester present (captured)&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;22 F1 01&amp;lt;/code&amp;gt; || &amp;lt;code&amp;gt;62 F1 01&amp;lt;/code&amp;gt; + ASCII &amp;lt;code&amp;gt;38960-78RA&amp;lt;/code&amp;gt; || Identification (captured)&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;22 F1 88&amp;lt;/code&amp;gt; || &amp;lt;code&amp;gt;62 F1 88&amp;lt;/code&amp;gt; + ASCII &amp;lt;code&amp;gt;38960-78RA*&amp;lt;/code&amp;gt; || Identification (captured)&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;19 02 FF&amp;lt;/code&amp;gt; || &amp;lt;code&amp;gt;59 02 4B 92 4E 00 02&amp;lt;/code&amp;gt; || One stored code record: &amp;lt;code&amp;gt;92 4E 00&amp;lt;/code&amp;gt;, status &amp;lt;code&amp;gt;02&amp;lt;/code&amp;gt;. The Launch report does not list it and its meaning is not known (captured)&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== 0x751 Central gateway ==&lt;br /&gt;
{{Models|JB74 (2018+, tested on 2021)|untested=JB64, JC74, JB43}}&lt;br /&gt;
&lt;br /&gt;
Request &amp;lt;code&amp;gt;0x751&amp;lt;/code&amp;gt;, reply &amp;lt;code&amp;gt;0x761&amp;lt;/code&amp;gt;. The label on the module reads 33580-79R01.&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! Request !! Reply !! Meaning&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;3E 00&amp;lt;/code&amp;gt; || &amp;lt;code&amp;gt;7E 00&amp;lt;/code&amp;gt; || Tester present (captured)&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;22 F1 01&amp;lt;/code&amp;gt; || &amp;lt;code&amp;gt;62 F1 01&amp;lt;/code&amp;gt; + ASCII &amp;lt;code&amp;gt;33580-79R0&amp;lt;/code&amp;gt; || Identification (captured)&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;22 F1 88&amp;lt;/code&amp;gt; || &amp;lt;code&amp;gt;62 F1 88&amp;lt;/code&amp;gt; + ASCII &amp;lt;code&amp;gt;33580-78R0*&amp;lt;/code&amp;gt; || Identification (captured)&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;19 02 FF&amp;lt;/code&amp;gt; || &amp;lt;code&amp;gt;59 02 4B&amp;lt;/code&amp;gt; || DTCs by status mask: none stored (captured)&lt;br /&gt;
|}&lt;br /&gt;
The gateway sits between the OBD socket and the vehicle CAN bus. Whether it forwards requests to the other modules unchanged is not confirmed.&lt;br /&gt;
&lt;br /&gt;
== Addresses probed with no reply ==&lt;br /&gt;
The scan tool sent tester-present (&amp;lt;code&amp;gt;3E&amp;lt;/code&amp;gt;) about eight times each to &amp;lt;code&amp;gt;0x273&amp;lt;/code&amp;gt; and &amp;lt;code&amp;gt;0x262&amp;lt;/code&amp;gt; and received nothing from the expected reply IDs (&amp;lt;code&amp;gt;0x673&amp;lt;/code&amp;gt; and &amp;lt;code&amp;gt;0x662&amp;lt;/code&amp;gt;). They are probably modules this car does not have, such as an automatic transmission or auto-levelling controller. This is a guess.&lt;br /&gt;
&lt;br /&gt;
== ELM327 notes ==&lt;br /&gt;
* Only &amp;lt;code&amp;gt;0x798&amp;lt;/code&amp;gt; has been tested with an ELM327. For other modules, set &amp;lt;code&amp;gt;ATSH&amp;lt;/code&amp;gt; to the request ID and &amp;lt;code&amp;gt;ATFCSH&amp;lt;/code&amp;gt; to the same ID, and you may need &amp;lt;code&amp;gt;ATCRA&amp;lt;/code&amp;gt; with the reply ID, because the reply is not always the request ID plus 8. This is untested.&lt;br /&gt;
* 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.&lt;br /&gt;
* Do not send output-control commands (service &amp;lt;code&amp;gt;30&amp;lt;/code&amp;gt; and similar) from a head-unit app while driving.&lt;br /&gt;
&lt;br /&gt;
== Sources ==&lt;br /&gt;
* Owner PCAN-View captures of a Launch X431 CRP919 full health-check scan and rev counter sweep test, October 2026.&lt;br /&gt;
* Suzuki Jimny parts catalogue 9900B-40312-004 (type 1, October 2021), figures 350A, 351A and 351B.&lt;br /&gt;
* Labels on the TPMS controller and central gateway of the test car.&lt;br /&gt;
&lt;br /&gt;
[[Category:Electrical - gen4]]&lt;/div&gt;</summary>
		<author><name>Mlines</name></author>
	</entry>
	<entry>
		<id>https://www.bigjimny.com/mediawiki/index.php?title=OBD2_Diagnostics_reading_project&amp;diff=10098</id>
		<title>OBD2 Diagnostics reading project</title>
		<link rel="alternate" type="text/html" href="https://www.bigjimny.com/mediawiki/index.php?title=OBD2_Diagnostics_reading_project&amp;diff=10098"/>
		<updated>2026-11-01T11:28:10Z</updated>

		<summary type="html">&lt;p&gt;Mlines: /* Sources */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;= Suzuki Jimny JB74 (2018+) - Reading TPMS data over the diagnostic CAN link =&lt;br /&gt;
&lt;br /&gt;
{{Donate}}&lt;br /&gt;
== Overview ==&lt;br /&gt;
Purpose-built diagnostic tools (Autel, Launch and similar) already support Suzuki comprehensively. There is also a trend towards replacing the factory head unit with an Android media unit that can run apps to read and display information from the car&#039;s electronics. These units are not Suzuki-specific, so this project aims to learn how to read vehicle data (starting with the factory TPMS) and show it on the head unit.&lt;br /&gt;
&lt;br /&gt;
=== Equipment ===&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! Role !! Item&lt;br /&gt;
|-&lt;br /&gt;
| Head unit || XTRONS PX90&lt;br /&gt;
|-&lt;br /&gt;
| OBD-II Bluetooth dongle 1 || Generic ELM-based (Chinese)&lt;br /&gt;
|-&lt;br /&gt;
| OBD-II Bluetooth dongle 2 || Veepeak OBDCheck BLE+ (BLE only; works on a Lenovo tablet, will not connect to the head unit)&lt;br /&gt;
|-&lt;br /&gt;
| CAN bus monitor (Windows) || PCAN-View (PEAK-System)&lt;br /&gt;
|-&lt;br /&gt;
| Diagnostic tool 1 || Launch X431 CRP919&lt;br /&gt;
|-&lt;br /&gt;
| Diagnostic tool 2 || SZ Viewer app&lt;br /&gt;
|-&lt;br /&gt;
| Apps tried || Torque Pro (fails past the first line; tested on a Lenovo tablet), Car Scanner Pro (works), RealDash (TPMS values seen in its debug view; gauges in progress)&lt;br /&gt;
|-&lt;br /&gt;
| Head-unit Bluetooth || xTRONS IP90  - Classic Bluetooth only, no BLE support&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== Method ===&lt;br /&gt;
# The diagnostic tools (Launch X431, SZ Viewer) have comprehensive Suzuki support, so they are used to generate the CAN bus requests.&lt;br /&gt;
# PCAN-View is connected to the OBD socket to capture the requests and the module&#039;s replies, which are then decoded by hand.&lt;br /&gt;
# The decoded requests are recreated in the head-unit apps so the head unit can ask the car for the same data directly.&lt;br /&gt;
&#039;&#039;&#039;Status:&#039;&#039;&#039; work in progress. Based on one RHD UK-market 2021 Jimny with factory TPMS, owner-made PCAN-View captures (including a full Launch scan and an instrument cluster test), the Suzuki wiring diagrams (A-8 CAN communication and A-8 Central Gateway/DLC) and the Suzuki parts catalogue. TPMS readings work in Car Scanner Pro; RealDash works in its debug view with gauges in progress. Items marked &#039;&#039;unconfirmed&#039;&#039; are not yet verified.&lt;br /&gt;
&lt;br /&gt;
* The TPMS control module answers an ordinary diagnostic request on the OBD socket. It does not broadcast tyre data.&lt;br /&gt;
* Request ID &#039;&#039;&#039;0x798&#039;&#039;&#039;, reply ID &#039;&#039;&#039;0x7A8&#039;&#039;&#039; (11-bit CAN, 500 kbit/s, ISO-TP framing) returns the TPMS data, including four sensor IDs and pressure readings. The module&#039;s identification reply (37160-61M0) matches the Model No. (P61M0) on the TPMS controller label. Whether the central gateway forwards or remaps the request is unconfirmed.&lt;br /&gt;
* Service &#039;&#039;&#039;0x21&#039;&#039;&#039; (read data by local identifier), identifier &#039;&#039;&#039;0x00&#039;&#039;&#039;, returns 102 bytes containing all four sensor records.&lt;br /&gt;
* Pressure is byte +6 of each sensor record: bar = raw x 0.01372.&lt;br /&gt;
* The OBD socket is fed by a central gateway, so only diagnostic traffic is visible on it.&lt;br /&gt;
* Working: Car Scanner Pro, and RealDash (values seen in its debug view). Not working: Torque Pro.&lt;br /&gt;
&lt;br /&gt;
== DLC (OBD socket) wiring ==&lt;br /&gt;
The service-manual diagram numbers the DLC terminals differently from SAE J1962. In all five cases on the diagram, manual terminal &#039;&#039;n&#039;&#039; matches standard pin &#039;&#039;17 - n&#039;&#039;.&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! Manual terminal !! Standard pin !! Function !! Wire / source on diagram&lt;br /&gt;
|-&lt;br /&gt;
| 1 || 16 || Battery +12 V || GRY, fuse No.49 &amp;quot;DOME2&amp;quot; (10 A)&lt;br /&gt;
|-&lt;br /&gt;
| 12 || 5 || Signal ground || BLK&lt;br /&gt;
|-&lt;br /&gt;
| 13 || 4 || Chassis ground || BLK&lt;br /&gt;
|-&lt;br /&gt;
| 11 || 6 || CAN-H (from standard assignment) || BLU, gateway pin 8&lt;br /&gt;
|-&lt;br /&gt;
| 3 || 14 || CAN-L (from standard assignment) || WHT, gateway pin 7&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
Use pins &#039;&#039;&#039;6&#039;&#039;&#039; and &#039;&#039;&#039;14&#039;&#039;&#039; for a CAN adapter. The diagram does not label CAN-H and CAN-L itself.&lt;br /&gt;
&lt;br /&gt;
=== Cross-check with other reports ===&lt;br /&gt;
A BigJimny forum thread (&amp;quot;JB74 OBD2 connection&amp;quot;, December 2020) describes a 2020 JB74 whose OBD plug had pins 4, 5, 6, 14, 15 and 16 wired, with pin 7 (K-line) not wired. The poster, quoting an older Suzuki pinout, lists pin 6 as a blue wire (CAN-H) and pin 14 as a white wire (CAN-L). This matches the table above: a blue CAN wire on pin 6 and a white one on pin 14.&lt;br /&gt;
&lt;br /&gt;
* The CAN-H/CAN-L assignment in that thread comes from a pinout reference that the poster says predates the JB74, so it is a report, not a measurement.&lt;br /&gt;
* No wire for standard pin 7 (K-line) appears on the diagram page above, and the forum report also found it unwired. K-line is therefore unlikely to be available on the JB74 socket.&lt;br /&gt;
* On the forum poster&#039;s car, pin 15 was also wired; the diagram page above shows no wire for it. This may be a market or model-year difference.&lt;br /&gt;
&lt;br /&gt;
== Network layout ==&lt;br /&gt;
The DLC is not on the vehicle bus directly. The &#039;&#039;&#039;central gateway control module&#039;&#039;&#039; joins the vehicle CAN bus (its pins 20 and 21, RED/WHT) and provides a separate CAN pair to the DLC (its pins 8 and 7, BLU/WHT).&lt;br /&gt;
&lt;br /&gt;
Modules on the vehicle bus (diagram): ECM, 4WD control module, TCM (A/T models), BCM, ESP control module, headlight auto levelling module (if equipped), dual sensor brake support control module (if equipped), P/S control module, steering angle sensor, TPMS control module / receiver (if equipped), combination meter, SDM, combination switch.&lt;br /&gt;
&lt;br /&gt;
Gateway power: fuse No.60 &amp;quot;IG1 SIG&amp;quot; (10 A) and fuse No.52 &amp;quot;CONT&amp;quot; (5 A). Treat the ignition as needing to be on.&lt;br /&gt;
&lt;br /&gt;
Observation: two captures from the DLC contained only IDs 0x798 and 0x7A8 (plus two error frames). No broadcast traffic from other modules was seen, so passive listening on the DLC will not show TPMS data.&lt;br /&gt;
&lt;br /&gt;
== Diagnostic requests seen ==&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! Request !! Reply !! Meaning&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;3E&amp;lt;/code&amp;gt; || &amp;lt;code&amp;gt;7E&amp;lt;/code&amp;gt; || Tester present&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;1A 8A&amp;lt;/code&amp;gt; || &amp;lt;code&amp;gt;5A 8A&amp;lt;/code&amp;gt; + ASCII &amp;lt;code&amp;gt;37120-78R0*&amp;lt;/code&amp;gt; || ECU identification&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;1A 8E&amp;lt;/code&amp;gt; || &amp;lt;code&amp;gt;5A 8E&amp;lt;/code&amp;gt; + ASCII &amp;lt;code&amp;gt;37160-61M0&amp;lt;/code&amp;gt; || ECU identification: matches the &amp;quot;Model No. P61M0&amp;quot; printed on the TPMS controller label&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;18 00 FF 00&amp;lt;/code&amp;gt; || &amp;lt;code&amp;gt;58 00&amp;lt;/code&amp;gt; or &amp;lt;code&amp;gt;58 01 9A 31 E0&amp;lt;/code&amp;gt; || Read DTCs by status (second form = one code reported; not decoded)&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;21 00&amp;lt;/code&amp;gt; || &amp;lt;code&amp;gt;61 00&amp;lt;/code&amp;gt; + 100 bytes || Sensor data block (repeated about twice a second by the scan tool)&lt;br /&gt;
|}&lt;br /&gt;
Part labels on the test car: TPMS controller 37160-78R00, &amp;quot;BASE ASSY-TPMS&amp;quot;, Model No. P61M0, Continental A2C13930301, 433.92 MHz; central gateway controller 33580-79R01. The &amp;lt;code&amp;gt;1A 8E&amp;lt;/code&amp;gt; reply (37160-61M0) matches the TPMS controller&#039;s base number and model number; the &amp;lt;code&amp;gt;1A 8A&amp;lt;/code&amp;gt; reply (37120-78R0*) shares &amp;quot;78R0&amp;quot; with the full part number, but its meaning is not confirmed.&lt;br /&gt;
&lt;br /&gt;
A Launch full scan reported &amp;quot;Left Front Tire Pressure Low&amp;quot; for the TPMS module, and the module returned one stored code (&amp;lt;code&amp;gt;9A 31&amp;lt;/code&amp;gt;) in the same scan. That code is probably the low-pressure warning (inferred; the report does not show the code itself).&lt;br /&gt;
&lt;br /&gt;
== Reading it with an ELM327 ==&lt;br /&gt;
Terminal commands, one at a time (CR line ending):&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
ATZ&lt;br /&gt;
ATSP6&lt;br /&gt;
ATSH798&lt;br /&gt;
ATS0&lt;br /&gt;
ATL0&lt;br /&gt;
ATFCSH798&lt;br /&gt;
ATFCSD300000&lt;br /&gt;
ATFCSM1&lt;br /&gt;
2100&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
* &amp;lt;code&amp;gt;ATSH798&amp;lt;/code&amp;gt; sets the request address. The reply address (0x7A8) is worked out automatically.&lt;br /&gt;
* &amp;lt;code&amp;gt;ATFCSH798 / ATFCSD300000 / ATFCSM1&amp;lt;/code&amp;gt; make the adapter send the ISO-TP flow-control frame (30 00 00) itself.&lt;br /&gt;
* &amp;lt;code&amp;gt;ATS0&amp;lt;/code&amp;gt; removes the spaces between bytes. Without it, the generic Chinese ELM327-based dongle (dongle 1) reported &amp;lt;code&amp;gt;BUFFER FULL&amp;lt;/code&amp;gt; near byte 81.&lt;br /&gt;
* Expected output: a length line (&amp;lt;code&amp;gt;066&amp;lt;/code&amp;gt; = 102 bytes) and numbered lines &amp;lt;code&amp;gt;0:&amp;lt;/code&amp;gt; to &amp;lt;code&amp;gt;E:&amp;lt;/code&amp;gt;.&lt;br /&gt;
* With default settings dongle 1 returned only the first line (&amp;lt;code&amp;gt;61 00 xx 01 00 00&amp;lt;/code&amp;gt;).&lt;br /&gt;
&lt;br /&gt;
== Reply layout (21 00) ==&lt;br /&gt;
Byte positions count the &amp;lt;code&amp;gt;61&amp;lt;/code&amp;gt; as byte 0.&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! Bytes !! Content&lt;br /&gt;
|-&lt;br /&gt;
| 0-1 || &amp;lt;code&amp;gt;61 00&amp;lt;/code&amp;gt; (positive reply)&lt;br /&gt;
|-&lt;br /&gt;
| 2 || Varies 117-142. Looks like system voltage x 10 (&#039;&#039;unconfirmed&#039;&#039;)&lt;br /&gt;
|-&lt;br /&gt;
| 12-21 || Sensor record 1: front left&lt;br /&gt;
|-&lt;br /&gt;
| 22-31 || Sensor record 2: rear left&lt;br /&gt;
|-&lt;br /&gt;
| 32-41 || Sensor record 3: rear right&lt;br /&gt;
|-&lt;br /&gt;
| 42-51 || Sensor record 4: front right&lt;br /&gt;
|-&lt;br /&gt;
| 56-71 || Four 4-byte sensor-ID entries whose contents change (meaning unknown)&lt;br /&gt;
|-&lt;br /&gt;
| other || Not decoded&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== Sensor record (10 bytes) ===&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! Offset !! Content&lt;br /&gt;
|-&lt;br /&gt;
| +0 to +3 || Sensor ID&lt;br /&gt;
|-&lt;br /&gt;
| +4 || Position flag&lt;br /&gt;
|-&lt;br /&gt;
| +5 || Value 57-74. Behaves like temperature, possibly with an offset of 40 (&#039;&#039;unconfirmed&#039;&#039;)&lt;br /&gt;
|-&lt;br /&gt;
| +6 || Pressure, gauge: bar = raw x 0.01372 (see Calibration)&lt;br /&gt;
|-&lt;br /&gt;
| +7, +8 || Not understood&lt;br /&gt;
|-&lt;br /&gt;
| +9 || Always 0&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! Wheel !! Sensor ID !! Position flag&lt;br /&gt;
|-&lt;br /&gt;
| Front left || 4E AA 09 43 || 0x10&lt;br /&gt;
|-&lt;br /&gt;
| Rear left || DD 91 B5 25 || 0x20&lt;br /&gt;
|-&lt;br /&gt;
| Rear right || 4E AA 03 19 || 0x18&lt;br /&gt;
|-&lt;br /&gt;
| Front right || 4E AA 09 C9 || 0x08&lt;br /&gt;
|}&lt;br /&gt;
Sensor IDs are specific to one car. Yours will differ.&lt;br /&gt;
&lt;br /&gt;
== Calibration ==&lt;br /&gt;
Byte +6 against gauge readings (bar). The five deflation-test counts were reconstructed from the app&#039;s displayed values.&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! Raw !! Gauge (bar) !! Raw x 0.01372&lt;br /&gt;
|-&lt;br /&gt;
| 136 (rear left) || 1.868 || 1.866&lt;br /&gt;
|-&lt;br /&gt;
| 131 (rear right) || 1.795 || 1.797&lt;br /&gt;
|-&lt;br /&gt;
| 131 (front right) || 1.795 || 1.797&lt;br /&gt;
|-&lt;br /&gt;
| 126 || 1.73 || 1.729&lt;br /&gt;
|-&lt;br /&gt;
| 119 || 1.63 || 1.633&lt;br /&gt;
|-&lt;br /&gt;
| 112 || 1.54 || 1.537&lt;br /&gt;
|-&lt;br /&gt;
| 101 || 1.39 || 1.386&lt;br /&gt;
|-&lt;br /&gt;
| 96 || 1.29 || 1.317&lt;br /&gt;
|}&lt;br /&gt;
The last five rows are from one tyre, the front left, during a slow deflation.&lt;br /&gt;
* bar = raw x 0.01372&lt;br /&gt;
* psi = raw x 0.199&lt;br /&gt;
&lt;br /&gt;
No offset is needed, which suggests the byte holds gauge pressure. All points are within 0.004 bar except the lowest (0.027 bar off), which may be sensor update lag or slight non-linearity. More readings at low and high pressure are needed.&lt;br /&gt;
&lt;br /&gt;
== Torque Pro custom PIDs ==&lt;br /&gt;
Common fields for every wheel:&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! Field !! Value&lt;br /&gt;
|-&lt;br /&gt;
| Header || 798&lt;br /&gt;
|-&lt;br /&gt;
| Mode and PID || 2100&lt;br /&gt;
|-&lt;br /&gt;
| Diagnostic start command || &amp;lt;code&amp;gt;ATS0, ATL0, ATFCSH798, ATFCSD300000, ATFCSM1&amp;lt;/code&amp;gt; (comma-separated)&lt;br /&gt;
|-&lt;br /&gt;
| Unit / min / max || bar, 0, 4 (or psi, 0, 60)&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
Equation uses a letter for each data byte. &amp;lt;code&amp;gt;A&amp;lt;/code&amp;gt; is the first byte after &amp;lt;code&amp;gt;61 00&amp;lt;/code&amp;gt; (reply byte 2).&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! Wheel !! Byte +5 (temperature?) !! Byte +6 (pressure candidate)” to “Byte +6 (pressure)”&lt;br /&gt;
|-&lt;br /&gt;
| Front left || P || Q&lt;br /&gt;
|-&lt;br /&gt;
| Front right || AT || AU&lt;br /&gt;
|-&lt;br /&gt;
| Rear left || Z || AA&lt;br /&gt;
|-&lt;br /&gt;
| Rear right || AJ || AK&lt;br /&gt;
|}&lt;br /&gt;
Example: &amp;lt;code&amp;gt;Q*0.01372&amp;lt;/code&amp;gt;. Letters must be upper case. Whether Torque accepts two-letter variables is &#039;&#039;unconfirmed&#039;&#039;.&lt;br /&gt;
&lt;br /&gt;
=== Known problem ===&lt;br /&gt;
Using dongle 1 (generic Chinese ELM327-based) with Torque Pro on a Lenovo tablet, Torque read bytes &amp;lt;code&amp;gt;A&amp;lt;/code&amp;gt; to &amp;lt;code&amp;gt;D&amp;lt;/code&amp;gt; (first line of the reply) correctly, but every byte from &amp;lt;code&amp;gt;E&amp;lt;/code&amp;gt; onward returned -1, even though a terminal received the full 102 bytes with the same commands. The start-command field is applied (adding &amp;lt;code&amp;gt;ATH1&amp;lt;/code&amp;gt; changed the output). Tried without success: turning off &amp;quot;Faster communication&amp;quot; and removing &amp;lt;code&amp;gt;ATS0&amp;lt;/code&amp;gt;. Not tried: &amp;lt;code&amp;gt;ATAT0, ATSTFF&amp;lt;/code&amp;gt; timeout settings.&lt;br /&gt;
&lt;br /&gt;
Dongle 2 (Veepeak OBDCheck BLE+), also on the tablet, gave the same result. Car Scanner Pro reads every byte with both dongles and the same commands, so the limitation is in how Torque Pro handles this multi-line reply, not in the adapter or the Android device. Unresolved; a request has been posted on the Torque forum.&lt;br /&gt;
&lt;br /&gt;
== Car Scanner Pro (working) ==&lt;br /&gt;
Car Scanner Pro reads all the bytes where Torque Pro fails. Custom PID settings used:&lt;br /&gt;
* Header: 798&lt;br /&gt;
* Request: 2100&lt;br /&gt;
* Start command (backslash-separated): &amp;lt;code&amp;gt;ATAT0\ATSTFF\ATS0\ATL0\ATFCSH798\ATFCSD300000\ATFCSM1&amp;lt;/code&amp;gt;&lt;br /&gt;
* Equations use the same letters as the table above, for example &amp;lt;code&amp;gt;Q*0.01372&amp;lt;/code&amp;gt; for front left (bar)&lt;br /&gt;
&lt;br /&gt;
The start command has not yet been shortened. Both dongle 1 (generic ELM327-based) and dongle 2 (Veepeak OBDCheck BLE+) work with Car Scanner Pro on the Lenovo tablet. Dongle 2 will not connect to the XTRONS head unit.&lt;br /&gt;
&lt;br /&gt;
== RealDash ==&lt;br /&gt;
RealDash describes its OBD2 communication in an XML file. With dongle 1, RealDash&#039;s default init plus the lines below works: the TPMS sensors reply, and the values appear in RealDash&#039;s debug view. Dashboard gauges are in progress.&lt;br /&gt;
&lt;br /&gt;
Changes to RealDash&#039;s default file:&lt;br /&gt;
* Add the three flow-control commands to the init section, before the &amp;lt;code&amp;gt;0100&amp;lt;/code&amp;gt; and &amp;lt;code&amp;gt;0120&amp;lt;/code&amp;gt; checks.&lt;br /&gt;
* Every TPMS command sets &amp;lt;code&amp;gt;header=&amp;quot;atsh798&amp;quot;&amp;lt;/code&amp;gt;. The docs say to set the header on every command when the rotation uses more than one. Any standard command in the same rotation then needs &amp;lt;code&amp;gt;header=&amp;quot;atsh7df&amp;quot;&amp;lt;/code&amp;gt;, or it would be sent to 0x798.&lt;br /&gt;
* RealDash requires &amp;lt;code&amp;gt;ATE0&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;ATL0&amp;lt;/code&amp;gt; and &amp;lt;code&amp;gt;ATS0&amp;lt;/code&amp;gt; (already in its default init).&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&amp;lt;init&amp;gt;&lt;br /&gt;
  ... RealDash default init lines ...&lt;br /&gt;
  &amp;lt;command send=&amp;quot;atfcsh798&amp;quot;&amp;gt;&amp;lt;/command&amp;gt;&lt;br /&gt;
  &amp;lt;command send=&amp;quot;atfcsd300000&amp;quot;&amp;gt;&amp;lt;/command&amp;gt;&lt;br /&gt;
  &amp;lt;command send=&amp;quot;atfcsm1&amp;quot;&amp;gt;&amp;lt;/command&amp;gt;&lt;br /&gt;
  &amp;lt;command send=&amp;quot;0100&amp;quot;&amp;gt;&amp;lt;/command&amp;gt;&lt;br /&gt;
  &amp;lt;command send=&amp;quot;0120&amp;quot;&amp;gt;&amp;lt;/command&amp;gt;&lt;br /&gt;
&amp;lt;/init&amp;gt;&lt;br /&gt;
&amp;lt;rotation&amp;gt;&lt;br /&gt;
  &amp;lt;command send=&amp;quot;2100&amp;quot; header=&amp;quot;atsh798&amp;quot; skipCount=&amp;quot;10&amp;quot; keepInRotation=&amp;quot;true&amp;quot; name=&amp;quot;TPMS: front left&amp;quot; units=&amp;quot;bar&amp;quot; conversionABC=&amp;quot;Q*0.01372&amp;quot;&amp;gt;&amp;lt;/command&amp;gt;&lt;br /&gt;
  &amp;lt;command send=&amp;quot;2100&amp;quot; header=&amp;quot;atsh798&amp;quot; skipCount=&amp;quot;11&amp;quot; keepInRotation=&amp;quot;true&amp;quot; name=&amp;quot;TPMS: front right&amp;quot; units=&amp;quot;bar&amp;quot; conversionABC=&amp;quot;AU*0.01372&amp;quot;&amp;gt;&amp;lt;/command&amp;gt;&lt;br /&gt;
  &amp;lt;command send=&amp;quot;2100&amp;quot; header=&amp;quot;atsh798&amp;quot; skipCount=&amp;quot;12&amp;quot; keepInRotation=&amp;quot;true&amp;quot; name=&amp;quot;TPMS: rear left&amp;quot; units=&amp;quot;bar&amp;quot; conversionABC=&amp;quot;AA*0.01372&amp;quot;&amp;gt;&amp;lt;/command&amp;gt;&lt;br /&gt;
  &amp;lt;command send=&amp;quot;2100&amp;quot; header=&amp;quot;atsh798&amp;quot; skipCount=&amp;quot;13&amp;quot; keepInRotation=&amp;quot;true&amp;quot; name=&amp;quot;TPMS: rear right&amp;quot; units=&amp;quot;bar&amp;quot; conversionABC=&amp;quot;AK*0.01372&amp;quot;&amp;gt;&amp;lt;/command&amp;gt;&lt;br /&gt;
&amp;lt;/rotation&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;conversionABC&amp;lt;/code&amp;gt; uses the same letters as Torque and Car Scanner (A is the first byte after 61 00). The TPMS inputs appear in RealDash&#039;s ECU Specific category.&lt;br /&gt;
&lt;br /&gt;
The Veepeak OBDCheck BLE+ (dongle 2) will not connect to the head unit because the head unit does not support BLE, so only dongle 1 was used.&lt;br /&gt;
&lt;br /&gt;
== Other modules found by a full scan ==&lt;br /&gt;
A full health-check scan with a Launch X431 CRP919, captured with PCAN-View on the OBD socket, shows 12 modules answering on the DLC. Every module that replied is listed here. The reply ID is not always the request ID plus 8.&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! Request !! Reply !! Protocol !! Identification replies !! Module !! How identified&lt;br /&gt;
|-&lt;br /&gt;
| 0x7E0 || 0x7E8 || KWP || 33980-78R0, 33980-78RC* || ECM || Standard engine address&lt;br /&gt;
|-&lt;br /&gt;
| 0x261 || 0x661 || KWP || 56100-77RA, 56100-78RF* || ABS (inferred) || Only brake module left by elimination&lt;br /&gt;
|-&lt;br /&gt;
| 0x263 || 0x663 || KWP || 38720-77R0, 38720-77R0* || EPS controller || Parts catalogue&lt;br /&gt;
|-&lt;br /&gt;
| 0x271 || 0x671 || KWP || 36775-77R0, 36775-77RC* || Body control module || Parts catalogue&lt;br /&gt;
|-&lt;br /&gt;
| 0x274 || 0x674 || KWP || 34100-78R0, 34110-78RD* || Instrument cluster || Rev counter sweep test&lt;br /&gt;
|-&lt;br /&gt;
| 0x798 || 0x7A8 || KWP || 37160-61M0, 37120-78R0* || TPMS controller || Label and parts catalogue&lt;br /&gt;
|-&lt;br /&gt;
| 0x79A || 0x7AA || KWP || 37210-74PA, 37210-74PE* || Lighting and turn switch || Parts catalogue&lt;br /&gt;
|-&lt;br /&gt;
| 0x778 || 0x788 || KWP || 33990-52R0, 33990-78R8* || Dual sensor brake support || Parts catalogue&lt;br /&gt;
|-&lt;br /&gt;
| 0x793 || 0x7A3 || UDS || 38910-77R0, 38910-78RC* || Airbag (SRS) controller || Parts catalogue&lt;br /&gt;
|-&lt;br /&gt;
| 0x772 || 0x782 || UDS || 38885-77R0, 38885-78R0* || 4WD shift controller || Parts catalogue&lt;br /&gt;
|-&lt;br /&gt;
| 0x799 || 0x7A9 || UDS || 38960-78RA, 38960-78RA* || E-call controller || Parts catalogue&lt;br /&gt;
|-&lt;br /&gt;
| 0x751 || 0x761 || UDS || 33580-79R0, 33580-78R0* || Central gateway || Label and parts catalogue&lt;br /&gt;
|}&lt;br /&gt;
Reply ID offsets: engine +0x08; 0x261 to 0x274 +0x400; all others +0x10.&lt;br /&gt;
&lt;br /&gt;
* KWP-style modules answer &amp;lt;code&amp;gt;1A 8E&amp;lt;/code&amp;gt; and &amp;lt;code&amp;gt;1A 8A&amp;lt;/code&amp;gt; (identification) and &amp;lt;code&amp;gt;18 00 FF 00&amp;lt;/code&amp;gt; (DTCs). UDS-style modules answer &amp;lt;code&amp;gt;22 F1 01&amp;lt;/code&amp;gt; and &amp;lt;code&amp;gt;22 F1 88&amp;lt;/code&amp;gt; (identification) and &amp;lt;code&amp;gt;19 02 FF&amp;lt;/code&amp;gt; (DTCs).&lt;br /&gt;
* Requests to 0x273 and 0x262 (tester present) got no reply, so those modules are probably not fitted.&lt;br /&gt;
* One name is still inferred and not confirmed by a part label: 0x261 (ABS). All the others come from the parts catalogue, a label, or a test.&lt;br /&gt;
* The E-call controller (0x799) returned a stored code record (&amp;lt;code&amp;gt;92 4E 00&amp;lt;/code&amp;gt;, status 02) that the Launch report does not list. Its meaning is not known.&lt;br /&gt;
&lt;br /&gt;
=== Instrument cluster output test (0x274 / 0x674) ===&lt;br /&gt;
A rev counter sweep commanded by the Launch X431 appears as a single KWP output-control request, after which the cluster sweeps the needle up and down by itself:&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! Request !! Reply !! Notes&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;3E 00&amp;lt;/code&amp;gt; || &amp;lt;code&amp;gt;7E&amp;lt;/code&amp;gt; || Tester present, about every 2.15 s&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;30 01 07 80 40 00 00&amp;lt;/code&amp;gt; || &amp;lt;code&amp;gt;70 01 07&amp;lt;/code&amp;gt; || Starts the sweep (service 0x30, local ID 01, &amp;quot;short-term adjustment&amp;quot;)&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;30 01 07 80 00 00 00&amp;lt;/code&amp;gt; || &amp;lt;code&amp;gt;7F 30 22&amp;lt;/code&amp;gt; || Refused (&amp;quot;conditions not correct&amp;quot;); possibly a stop request sent after the sweep had finished&lt;br /&gt;
|}&lt;br /&gt;
The meaning of the four control bytes (80 40 00 00) is not known.&lt;br /&gt;
&lt;br /&gt;
* Meaning of reply bytes +5, +7, +8 and the unexplained regions.&lt;br /&gt;
* A more reliable pressure scale (more gauge readings at low and high pressure are needed; the lowest calibration point is 0.027 bar off).&lt;br /&gt;
* Whether the central gateway forwards the request to the TPMS controller or remaps the address.&lt;br /&gt;
* Why Torque Pro stops after the first line of the reply (the adapter is ruled out).&lt;br /&gt;
* The meaning of the control bytes (80 40 00 00) in the instrument cluster sweep command.&lt;br /&gt;
* The meaning of the stored code from the E-call controller.&lt;br /&gt;
* Confirming the ABS (0x261) and dual sensor brake support (0x778) names.&lt;br /&gt;
&lt;br /&gt;
== Open Questions ==&lt;br /&gt;
* Meaning of reply bytes +5, +7, +8 and the unexplained regions.&lt;br /&gt;
* A more reliable pressure scale (more gauge readings at low and high pressure are needed; the lowest calibration point is 0.027 bar off).&lt;br /&gt;
* Whether the central gateway forwards the request to the TPMS controller or remaps the address.&lt;br /&gt;
* Why Torque Pro stops after the first line of the reply (the adapter is ruled out).&lt;br /&gt;
* The meaning of the control bytes (80 40 00 00) in the instrument cluster sweep command.&lt;br /&gt;
* The meaning of the stored code from the E-call controller.&lt;br /&gt;
* Confirming the ABS (0x261) name.&lt;br /&gt;
&lt;br /&gt;
== Sources ==&lt;br /&gt;
* Owner PCAN-View captures, October 2026.&lt;br /&gt;
* Suzuki wiring diagrams: A-8 CAN communication system; A-8 Central Gateway Control and DLC System (RHD).&lt;br /&gt;
* Forum thread &amp;quot;Jimny JB74 (2019+) - Torque Pro PID for TPMS&amp;quot;.&lt;br /&gt;
* BigJimny forum thread &amp;quot;JB74 OBD2 connection&amp;quot; (December 2020).&lt;br /&gt;
* Suzuki Jimny parts catalogue 9900B-40312-004 (type 1, October 2021), figures 350A, 351A and 351B.&lt;br /&gt;
* RealDash-extras OBD2 documentation (OBD2 XML description file).&lt;br /&gt;
* Car Scanner ELM OBD2 custom PID documentation.&lt;br /&gt;
&lt;br /&gt;
[[Category:Jimny technical]]&lt;br /&gt;
[[Category:JB74]]&lt;br /&gt;
[[Category:Electrical - gen3]]&lt;br /&gt;
[[Category:FAQ - gen3]]&lt;br /&gt;
[[Category:Howto - gen3]]&lt;br /&gt;
&lt;br /&gt;
[[Category:Electrical - gen4]]&lt;br /&gt;
[[Category:FAQ - gen4]]&lt;br /&gt;
[[Category:Howto - gen4]]&lt;/div&gt;</summary>
		<author><name>Mlines</name></author>
	</entry>
	<entry>
		<id>https://www.bigjimny.com/mediawiki/index.php?title=OBD2_Diagnostics_reading_project&amp;diff=10097</id>
		<title>OBD2 Diagnostics reading project</title>
		<link rel="alternate" type="text/html" href="https://www.bigjimny.com/mediawiki/index.php?title=OBD2_Diagnostics_reading_project&amp;diff=10097"/>
		<updated>2026-11-01T11:24:50Z</updated>

		<summary type="html">&lt;p&gt;Mlines: /* Other modules found by a full scan */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;= Suzuki Jimny JB74 (2018+) - Reading TPMS data over the diagnostic CAN link =&lt;br /&gt;
&lt;br /&gt;
{{Donate}}&lt;br /&gt;
== Overview ==&lt;br /&gt;
Purpose-built diagnostic tools (Autel, Launch and similar) already support Suzuki comprehensively. There is also a trend towards replacing the factory head unit with an Android media unit that can run apps to read and display information from the car&#039;s electronics. These units are not Suzuki-specific, so this project aims to learn how to read vehicle data (starting with the factory TPMS) and show it on the head unit.&lt;br /&gt;
&lt;br /&gt;
=== Equipment ===&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! Role !! Item&lt;br /&gt;
|-&lt;br /&gt;
| Head unit || XTRONS PX90&lt;br /&gt;
|-&lt;br /&gt;
| OBD-II Bluetooth dongle 1 || Generic ELM-based (Chinese)&lt;br /&gt;
|-&lt;br /&gt;
| OBD-II Bluetooth dongle 2 || Veepeak OBDCheck BLE+ (BLE only; works on a Lenovo tablet, will not connect to the head unit)&lt;br /&gt;
|-&lt;br /&gt;
| CAN bus monitor (Windows) || PCAN-View (PEAK-System)&lt;br /&gt;
|-&lt;br /&gt;
| Diagnostic tool 1 || Launch X431 CRP919&lt;br /&gt;
|-&lt;br /&gt;
| Diagnostic tool 2 || SZ Viewer app&lt;br /&gt;
|-&lt;br /&gt;
| Apps tried || Torque Pro (fails past the first line; tested on a Lenovo tablet), Car Scanner Pro (works), RealDash (TPMS values seen in its debug view; gauges in progress)&lt;br /&gt;
|-&lt;br /&gt;
| Head-unit Bluetooth || xTRONS IP90  - Classic Bluetooth only, no BLE support&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== Method ===&lt;br /&gt;
# The diagnostic tools (Launch X431, SZ Viewer) have comprehensive Suzuki support, so they are used to generate the CAN bus requests.&lt;br /&gt;
# PCAN-View is connected to the OBD socket to capture the requests and the module&#039;s replies, which are then decoded by hand.&lt;br /&gt;
# The decoded requests are recreated in the head-unit apps so the head unit can ask the car for the same data directly.&lt;br /&gt;
&#039;&#039;&#039;Status:&#039;&#039;&#039; work in progress. Based on one RHD UK-market 2021 Jimny with factory TPMS, owner-made PCAN-View captures (including a full Launch scan and an instrument cluster test), the Suzuki wiring diagrams (A-8 CAN communication and A-8 Central Gateway/DLC) and the Suzuki parts catalogue. TPMS readings work in Car Scanner Pro; RealDash works in its debug view with gauges in progress. Items marked &#039;&#039;unconfirmed&#039;&#039; are not yet verified.&lt;br /&gt;
&lt;br /&gt;
* The TPMS control module answers an ordinary diagnostic request on the OBD socket. It does not broadcast tyre data.&lt;br /&gt;
* Request ID &#039;&#039;&#039;0x798&#039;&#039;&#039;, reply ID &#039;&#039;&#039;0x7A8&#039;&#039;&#039; (11-bit CAN, 500 kbit/s, ISO-TP framing) returns the TPMS data, including four sensor IDs and pressure readings. The module&#039;s identification reply (37160-61M0) matches the Model No. (P61M0) on the TPMS controller label. Whether the central gateway forwards or remaps the request is unconfirmed.&lt;br /&gt;
* Service &#039;&#039;&#039;0x21&#039;&#039;&#039; (read data by local identifier), identifier &#039;&#039;&#039;0x00&#039;&#039;&#039;, returns 102 bytes containing all four sensor records.&lt;br /&gt;
* Pressure is byte +6 of each sensor record: bar = raw x 0.01372.&lt;br /&gt;
* The OBD socket is fed by a central gateway, so only diagnostic traffic is visible on it.&lt;br /&gt;
* Working: Car Scanner Pro, and RealDash (values seen in its debug view). Not working: Torque Pro.&lt;br /&gt;
&lt;br /&gt;
== DLC (OBD socket) wiring ==&lt;br /&gt;
The service-manual diagram numbers the DLC terminals differently from SAE J1962. In all five cases on the diagram, manual terminal &#039;&#039;n&#039;&#039; matches standard pin &#039;&#039;17 - n&#039;&#039;.&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! Manual terminal !! Standard pin !! Function !! Wire / source on diagram&lt;br /&gt;
|-&lt;br /&gt;
| 1 || 16 || Battery +12 V || GRY, fuse No.49 &amp;quot;DOME2&amp;quot; (10 A)&lt;br /&gt;
|-&lt;br /&gt;
| 12 || 5 || Signal ground || BLK&lt;br /&gt;
|-&lt;br /&gt;
| 13 || 4 || Chassis ground || BLK&lt;br /&gt;
|-&lt;br /&gt;
| 11 || 6 || CAN-H (from standard assignment) || BLU, gateway pin 8&lt;br /&gt;
|-&lt;br /&gt;
| 3 || 14 || CAN-L (from standard assignment) || WHT, gateway pin 7&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
Use pins &#039;&#039;&#039;6&#039;&#039;&#039; and &#039;&#039;&#039;14&#039;&#039;&#039; for a CAN adapter. The diagram does not label CAN-H and CAN-L itself.&lt;br /&gt;
&lt;br /&gt;
=== Cross-check with other reports ===&lt;br /&gt;
A BigJimny forum thread (&amp;quot;JB74 OBD2 connection&amp;quot;, December 2020) describes a 2020 JB74 whose OBD plug had pins 4, 5, 6, 14, 15 and 16 wired, with pin 7 (K-line) not wired. The poster, quoting an older Suzuki pinout, lists pin 6 as a blue wire (CAN-H) and pin 14 as a white wire (CAN-L). This matches the table above: a blue CAN wire on pin 6 and a white one on pin 14.&lt;br /&gt;
&lt;br /&gt;
* The CAN-H/CAN-L assignment in that thread comes from a pinout reference that the poster says predates the JB74, so it is a report, not a measurement.&lt;br /&gt;
* No wire for standard pin 7 (K-line) appears on the diagram page above, and the forum report also found it unwired. K-line is therefore unlikely to be available on the JB74 socket.&lt;br /&gt;
* On the forum poster&#039;s car, pin 15 was also wired; the diagram page above shows no wire for it. This may be a market or model-year difference.&lt;br /&gt;
&lt;br /&gt;
== Network layout ==&lt;br /&gt;
The DLC is not on the vehicle bus directly. The &#039;&#039;&#039;central gateway control module&#039;&#039;&#039; joins the vehicle CAN bus (its pins 20 and 21, RED/WHT) and provides a separate CAN pair to the DLC (its pins 8 and 7, BLU/WHT).&lt;br /&gt;
&lt;br /&gt;
Modules on the vehicle bus (diagram): ECM, 4WD control module, TCM (A/T models), BCM, ESP control module, headlight auto levelling module (if equipped), dual sensor brake support control module (if equipped), P/S control module, steering angle sensor, TPMS control module / receiver (if equipped), combination meter, SDM, combination switch.&lt;br /&gt;
&lt;br /&gt;
Gateway power: fuse No.60 &amp;quot;IG1 SIG&amp;quot; (10 A) and fuse No.52 &amp;quot;CONT&amp;quot; (5 A). Treat the ignition as needing to be on.&lt;br /&gt;
&lt;br /&gt;
Observation: two captures from the DLC contained only IDs 0x798 and 0x7A8 (plus two error frames). No broadcast traffic from other modules was seen, so passive listening on the DLC will not show TPMS data.&lt;br /&gt;
&lt;br /&gt;
== Diagnostic requests seen ==&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! Request !! Reply !! Meaning&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;3E&amp;lt;/code&amp;gt; || &amp;lt;code&amp;gt;7E&amp;lt;/code&amp;gt; || Tester present&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;1A 8A&amp;lt;/code&amp;gt; || &amp;lt;code&amp;gt;5A 8A&amp;lt;/code&amp;gt; + ASCII &amp;lt;code&amp;gt;37120-78R0*&amp;lt;/code&amp;gt; || ECU identification&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;1A 8E&amp;lt;/code&amp;gt; || &amp;lt;code&amp;gt;5A 8E&amp;lt;/code&amp;gt; + ASCII &amp;lt;code&amp;gt;37160-61M0&amp;lt;/code&amp;gt; || ECU identification: matches the &amp;quot;Model No. P61M0&amp;quot; printed on the TPMS controller label&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;18 00 FF 00&amp;lt;/code&amp;gt; || &amp;lt;code&amp;gt;58 00&amp;lt;/code&amp;gt; or &amp;lt;code&amp;gt;58 01 9A 31 E0&amp;lt;/code&amp;gt; || Read DTCs by status (second form = one code reported; not decoded)&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;21 00&amp;lt;/code&amp;gt; || &amp;lt;code&amp;gt;61 00&amp;lt;/code&amp;gt; + 100 bytes || Sensor data block (repeated about twice a second by the scan tool)&lt;br /&gt;
|}&lt;br /&gt;
Part labels on the test car: TPMS controller 37160-78R00, &amp;quot;BASE ASSY-TPMS&amp;quot;, Model No. P61M0, Continental A2C13930301, 433.92 MHz; central gateway controller 33580-79R01. The &amp;lt;code&amp;gt;1A 8E&amp;lt;/code&amp;gt; reply (37160-61M0) matches the TPMS controller&#039;s base number and model number; the &amp;lt;code&amp;gt;1A 8A&amp;lt;/code&amp;gt; reply (37120-78R0*) shares &amp;quot;78R0&amp;quot; with the full part number, but its meaning is not confirmed.&lt;br /&gt;
&lt;br /&gt;
A Launch full scan reported &amp;quot;Left Front Tire Pressure Low&amp;quot; for the TPMS module, and the module returned one stored code (&amp;lt;code&amp;gt;9A 31&amp;lt;/code&amp;gt;) in the same scan. That code is probably the low-pressure warning (inferred; the report does not show the code itself).&lt;br /&gt;
&lt;br /&gt;
== Reading it with an ELM327 ==&lt;br /&gt;
Terminal commands, one at a time (CR line ending):&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
ATZ&lt;br /&gt;
ATSP6&lt;br /&gt;
ATSH798&lt;br /&gt;
ATS0&lt;br /&gt;
ATL0&lt;br /&gt;
ATFCSH798&lt;br /&gt;
ATFCSD300000&lt;br /&gt;
ATFCSM1&lt;br /&gt;
2100&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
* &amp;lt;code&amp;gt;ATSH798&amp;lt;/code&amp;gt; sets the request address. The reply address (0x7A8) is worked out automatically.&lt;br /&gt;
* &amp;lt;code&amp;gt;ATFCSH798 / ATFCSD300000 / ATFCSM1&amp;lt;/code&amp;gt; make the adapter send the ISO-TP flow-control frame (30 00 00) itself.&lt;br /&gt;
* &amp;lt;code&amp;gt;ATS0&amp;lt;/code&amp;gt; removes the spaces between bytes. Without it, the generic Chinese ELM327-based dongle (dongle 1) reported &amp;lt;code&amp;gt;BUFFER FULL&amp;lt;/code&amp;gt; near byte 81.&lt;br /&gt;
* Expected output: a length line (&amp;lt;code&amp;gt;066&amp;lt;/code&amp;gt; = 102 bytes) and numbered lines &amp;lt;code&amp;gt;0:&amp;lt;/code&amp;gt; to &amp;lt;code&amp;gt;E:&amp;lt;/code&amp;gt;.&lt;br /&gt;
* With default settings dongle 1 returned only the first line (&amp;lt;code&amp;gt;61 00 xx 01 00 00&amp;lt;/code&amp;gt;).&lt;br /&gt;
&lt;br /&gt;
== Reply layout (21 00) ==&lt;br /&gt;
Byte positions count the &amp;lt;code&amp;gt;61&amp;lt;/code&amp;gt; as byte 0.&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! Bytes !! Content&lt;br /&gt;
|-&lt;br /&gt;
| 0-1 || &amp;lt;code&amp;gt;61 00&amp;lt;/code&amp;gt; (positive reply)&lt;br /&gt;
|-&lt;br /&gt;
| 2 || Varies 117-142. Looks like system voltage x 10 (&#039;&#039;unconfirmed&#039;&#039;)&lt;br /&gt;
|-&lt;br /&gt;
| 12-21 || Sensor record 1: front left&lt;br /&gt;
|-&lt;br /&gt;
| 22-31 || Sensor record 2: rear left&lt;br /&gt;
|-&lt;br /&gt;
| 32-41 || Sensor record 3: rear right&lt;br /&gt;
|-&lt;br /&gt;
| 42-51 || Sensor record 4: front right&lt;br /&gt;
|-&lt;br /&gt;
| 56-71 || Four 4-byte sensor-ID entries whose contents change (meaning unknown)&lt;br /&gt;
|-&lt;br /&gt;
| other || Not decoded&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== Sensor record (10 bytes) ===&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! Offset !! Content&lt;br /&gt;
|-&lt;br /&gt;
| +0 to +3 || Sensor ID&lt;br /&gt;
|-&lt;br /&gt;
| +4 || Position flag&lt;br /&gt;
|-&lt;br /&gt;
| +5 || Value 57-74. Behaves like temperature, possibly with an offset of 40 (&#039;&#039;unconfirmed&#039;&#039;)&lt;br /&gt;
|-&lt;br /&gt;
| +6 || Pressure, gauge: bar = raw x 0.01372 (see Calibration)&lt;br /&gt;
|-&lt;br /&gt;
| +7, +8 || Not understood&lt;br /&gt;
|-&lt;br /&gt;
| +9 || Always 0&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! Wheel !! Sensor ID !! Position flag&lt;br /&gt;
|-&lt;br /&gt;
| Front left || 4E AA 09 43 || 0x10&lt;br /&gt;
|-&lt;br /&gt;
| Rear left || DD 91 B5 25 || 0x20&lt;br /&gt;
|-&lt;br /&gt;
| Rear right || 4E AA 03 19 || 0x18&lt;br /&gt;
|-&lt;br /&gt;
| Front right || 4E AA 09 C9 || 0x08&lt;br /&gt;
|}&lt;br /&gt;
Sensor IDs are specific to one car. Yours will differ.&lt;br /&gt;
&lt;br /&gt;
== Calibration ==&lt;br /&gt;
Byte +6 against gauge readings (bar). The five deflation-test counts were reconstructed from the app&#039;s displayed values.&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! Raw !! Gauge (bar) !! Raw x 0.01372&lt;br /&gt;
|-&lt;br /&gt;
| 136 (rear left) || 1.868 || 1.866&lt;br /&gt;
|-&lt;br /&gt;
| 131 (rear right) || 1.795 || 1.797&lt;br /&gt;
|-&lt;br /&gt;
| 131 (front right) || 1.795 || 1.797&lt;br /&gt;
|-&lt;br /&gt;
| 126 || 1.73 || 1.729&lt;br /&gt;
|-&lt;br /&gt;
| 119 || 1.63 || 1.633&lt;br /&gt;
|-&lt;br /&gt;
| 112 || 1.54 || 1.537&lt;br /&gt;
|-&lt;br /&gt;
| 101 || 1.39 || 1.386&lt;br /&gt;
|-&lt;br /&gt;
| 96 || 1.29 || 1.317&lt;br /&gt;
|}&lt;br /&gt;
The last five rows are from one tyre, the front left, during a slow deflation.&lt;br /&gt;
* bar = raw x 0.01372&lt;br /&gt;
* psi = raw x 0.199&lt;br /&gt;
&lt;br /&gt;
No offset is needed, which suggests the byte holds gauge pressure. All points are within 0.004 bar except the lowest (0.027 bar off), which may be sensor update lag or slight non-linearity. More readings at low and high pressure are needed.&lt;br /&gt;
&lt;br /&gt;
== Torque Pro custom PIDs ==&lt;br /&gt;
Common fields for every wheel:&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! Field !! Value&lt;br /&gt;
|-&lt;br /&gt;
| Header || 798&lt;br /&gt;
|-&lt;br /&gt;
| Mode and PID || 2100&lt;br /&gt;
|-&lt;br /&gt;
| Diagnostic start command || &amp;lt;code&amp;gt;ATS0, ATL0, ATFCSH798, ATFCSD300000, ATFCSM1&amp;lt;/code&amp;gt; (comma-separated)&lt;br /&gt;
|-&lt;br /&gt;
| Unit / min / max || bar, 0, 4 (or psi, 0, 60)&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
Equation uses a letter for each data byte. &amp;lt;code&amp;gt;A&amp;lt;/code&amp;gt; is the first byte after &amp;lt;code&amp;gt;61 00&amp;lt;/code&amp;gt; (reply byte 2).&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! Wheel !! Byte +5 (temperature?) !! Byte +6 (pressure candidate)” to “Byte +6 (pressure)”&lt;br /&gt;
|-&lt;br /&gt;
| Front left || P || Q&lt;br /&gt;
|-&lt;br /&gt;
| Front right || AT || AU&lt;br /&gt;
|-&lt;br /&gt;
| Rear left || Z || AA&lt;br /&gt;
|-&lt;br /&gt;
| Rear right || AJ || AK&lt;br /&gt;
|}&lt;br /&gt;
Example: &amp;lt;code&amp;gt;Q*0.01372&amp;lt;/code&amp;gt;. Letters must be upper case. Whether Torque accepts two-letter variables is &#039;&#039;unconfirmed&#039;&#039;.&lt;br /&gt;
&lt;br /&gt;
=== Known problem ===&lt;br /&gt;
Using dongle 1 (generic Chinese ELM327-based) with Torque Pro on a Lenovo tablet, Torque read bytes &amp;lt;code&amp;gt;A&amp;lt;/code&amp;gt; to &amp;lt;code&amp;gt;D&amp;lt;/code&amp;gt; (first line of the reply) correctly, but every byte from &amp;lt;code&amp;gt;E&amp;lt;/code&amp;gt; onward returned -1, even though a terminal received the full 102 bytes with the same commands. The start-command field is applied (adding &amp;lt;code&amp;gt;ATH1&amp;lt;/code&amp;gt; changed the output). Tried without success: turning off &amp;quot;Faster communication&amp;quot; and removing &amp;lt;code&amp;gt;ATS0&amp;lt;/code&amp;gt;. Not tried: &amp;lt;code&amp;gt;ATAT0, ATSTFF&amp;lt;/code&amp;gt; timeout settings.&lt;br /&gt;
&lt;br /&gt;
Dongle 2 (Veepeak OBDCheck BLE+), also on the tablet, gave the same result. Car Scanner Pro reads every byte with both dongles and the same commands, so the limitation is in how Torque Pro handles this multi-line reply, not in the adapter or the Android device. Unresolved; a request has been posted on the Torque forum.&lt;br /&gt;
&lt;br /&gt;
== Car Scanner Pro (working) ==&lt;br /&gt;
Car Scanner Pro reads all the bytes where Torque Pro fails. Custom PID settings used:&lt;br /&gt;
* Header: 798&lt;br /&gt;
* Request: 2100&lt;br /&gt;
* Start command (backslash-separated): &amp;lt;code&amp;gt;ATAT0\ATSTFF\ATS0\ATL0\ATFCSH798\ATFCSD300000\ATFCSM1&amp;lt;/code&amp;gt;&lt;br /&gt;
* Equations use the same letters as the table above, for example &amp;lt;code&amp;gt;Q*0.01372&amp;lt;/code&amp;gt; for front left (bar)&lt;br /&gt;
&lt;br /&gt;
The start command has not yet been shortened. Both dongle 1 (generic ELM327-based) and dongle 2 (Veepeak OBDCheck BLE+) work with Car Scanner Pro on the Lenovo tablet. Dongle 2 will not connect to the XTRONS head unit.&lt;br /&gt;
&lt;br /&gt;
== RealDash ==&lt;br /&gt;
RealDash describes its OBD2 communication in an XML file. With dongle 1, RealDash&#039;s default init plus the lines below works: the TPMS sensors reply, and the values appear in RealDash&#039;s debug view. Dashboard gauges are in progress.&lt;br /&gt;
&lt;br /&gt;
Changes to RealDash&#039;s default file:&lt;br /&gt;
* Add the three flow-control commands to the init section, before the &amp;lt;code&amp;gt;0100&amp;lt;/code&amp;gt; and &amp;lt;code&amp;gt;0120&amp;lt;/code&amp;gt; checks.&lt;br /&gt;
* Every TPMS command sets &amp;lt;code&amp;gt;header=&amp;quot;atsh798&amp;quot;&amp;lt;/code&amp;gt;. The docs say to set the header on every command when the rotation uses more than one. Any standard command in the same rotation then needs &amp;lt;code&amp;gt;header=&amp;quot;atsh7df&amp;quot;&amp;lt;/code&amp;gt;, or it would be sent to 0x798.&lt;br /&gt;
* RealDash requires &amp;lt;code&amp;gt;ATE0&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;ATL0&amp;lt;/code&amp;gt; and &amp;lt;code&amp;gt;ATS0&amp;lt;/code&amp;gt; (already in its default init).&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&amp;lt;init&amp;gt;&lt;br /&gt;
  ... RealDash default init lines ...&lt;br /&gt;
  &amp;lt;command send=&amp;quot;atfcsh798&amp;quot;&amp;gt;&amp;lt;/command&amp;gt;&lt;br /&gt;
  &amp;lt;command send=&amp;quot;atfcsd300000&amp;quot;&amp;gt;&amp;lt;/command&amp;gt;&lt;br /&gt;
  &amp;lt;command send=&amp;quot;atfcsm1&amp;quot;&amp;gt;&amp;lt;/command&amp;gt;&lt;br /&gt;
  &amp;lt;command send=&amp;quot;0100&amp;quot;&amp;gt;&amp;lt;/command&amp;gt;&lt;br /&gt;
  &amp;lt;command send=&amp;quot;0120&amp;quot;&amp;gt;&amp;lt;/command&amp;gt;&lt;br /&gt;
&amp;lt;/init&amp;gt;&lt;br /&gt;
&amp;lt;rotation&amp;gt;&lt;br /&gt;
  &amp;lt;command send=&amp;quot;2100&amp;quot; header=&amp;quot;atsh798&amp;quot; skipCount=&amp;quot;10&amp;quot; keepInRotation=&amp;quot;true&amp;quot; name=&amp;quot;TPMS: front left&amp;quot; units=&amp;quot;bar&amp;quot; conversionABC=&amp;quot;Q*0.01372&amp;quot;&amp;gt;&amp;lt;/command&amp;gt;&lt;br /&gt;
  &amp;lt;command send=&amp;quot;2100&amp;quot; header=&amp;quot;atsh798&amp;quot; skipCount=&amp;quot;11&amp;quot; keepInRotation=&amp;quot;true&amp;quot; name=&amp;quot;TPMS: front right&amp;quot; units=&amp;quot;bar&amp;quot; conversionABC=&amp;quot;AU*0.01372&amp;quot;&amp;gt;&amp;lt;/command&amp;gt;&lt;br /&gt;
  &amp;lt;command send=&amp;quot;2100&amp;quot; header=&amp;quot;atsh798&amp;quot; skipCount=&amp;quot;12&amp;quot; keepInRotation=&amp;quot;true&amp;quot; name=&amp;quot;TPMS: rear left&amp;quot; units=&amp;quot;bar&amp;quot; conversionABC=&amp;quot;AA*0.01372&amp;quot;&amp;gt;&amp;lt;/command&amp;gt;&lt;br /&gt;
  &amp;lt;command send=&amp;quot;2100&amp;quot; header=&amp;quot;atsh798&amp;quot; skipCount=&amp;quot;13&amp;quot; keepInRotation=&amp;quot;true&amp;quot; name=&amp;quot;TPMS: rear right&amp;quot; units=&amp;quot;bar&amp;quot; conversionABC=&amp;quot;AK*0.01372&amp;quot;&amp;gt;&amp;lt;/command&amp;gt;&lt;br /&gt;
&amp;lt;/rotation&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;conversionABC&amp;lt;/code&amp;gt; uses the same letters as Torque and Car Scanner (A is the first byte after 61 00). The TPMS inputs appear in RealDash&#039;s ECU Specific category.&lt;br /&gt;
&lt;br /&gt;
The Veepeak OBDCheck BLE+ (dongle 2) will not connect to the head unit because the head unit does not support BLE, so only dongle 1 was used.&lt;br /&gt;
&lt;br /&gt;
== Other modules found by a full scan ==&lt;br /&gt;
A full health-check scan with a Launch X431 CRP919, captured with PCAN-View on the OBD socket, shows 12 modules answering on the DLC. Every module that replied is listed here. The reply ID is not always the request ID plus 8.&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! Request !! Reply !! Protocol !! Identification replies !! Module !! How identified&lt;br /&gt;
|-&lt;br /&gt;
| 0x7E0 || 0x7E8 || KWP || 33980-78R0, 33980-78RC* || ECM || Standard engine address&lt;br /&gt;
|-&lt;br /&gt;
| 0x261 || 0x661 || KWP || 56100-77RA, 56100-78RF* || ABS (inferred) || Only brake module left by elimination&lt;br /&gt;
|-&lt;br /&gt;
| 0x263 || 0x663 || KWP || 38720-77R0, 38720-77R0* || EPS controller || Parts catalogue&lt;br /&gt;
|-&lt;br /&gt;
| 0x271 || 0x671 || KWP || 36775-77R0, 36775-77RC* || Body control module || Parts catalogue&lt;br /&gt;
|-&lt;br /&gt;
| 0x274 || 0x674 || KWP || 34100-78R0, 34110-78RD* || Instrument cluster || Rev counter sweep test&lt;br /&gt;
|-&lt;br /&gt;
| 0x798 || 0x7A8 || KWP || 37160-61M0, 37120-78R0* || TPMS controller || Label and parts catalogue&lt;br /&gt;
|-&lt;br /&gt;
| 0x79A || 0x7AA || KWP || 37210-74PA, 37210-74PE* || Lighting and turn switch || Parts catalogue&lt;br /&gt;
|-&lt;br /&gt;
| 0x778 || 0x788 || KWP || 33990-52R0, 33990-78R8* || Dual sensor brake support || Parts catalogue&lt;br /&gt;
|-&lt;br /&gt;
| 0x793 || 0x7A3 || UDS || 38910-77R0, 38910-78RC* || Airbag (SRS) controller || Parts catalogue&lt;br /&gt;
|-&lt;br /&gt;
| 0x772 || 0x782 || UDS || 38885-77R0, 38885-78R0* || 4WD shift controller || Parts catalogue&lt;br /&gt;
|-&lt;br /&gt;
| 0x799 || 0x7A9 || UDS || 38960-78RA, 38960-78RA* || E-call controller || Parts catalogue&lt;br /&gt;
|-&lt;br /&gt;
| 0x751 || 0x761 || UDS || 33580-79R0, 33580-78R0* || Central gateway || Label and parts catalogue&lt;br /&gt;
|}&lt;br /&gt;
Reply ID offsets: engine +0x08; 0x261 to 0x274 +0x400; all others +0x10.&lt;br /&gt;
&lt;br /&gt;
* KWP-style modules answer &amp;lt;code&amp;gt;1A 8E&amp;lt;/code&amp;gt; and &amp;lt;code&amp;gt;1A 8A&amp;lt;/code&amp;gt; (identification) and &amp;lt;code&amp;gt;18 00 FF 00&amp;lt;/code&amp;gt; (DTCs). UDS-style modules answer &amp;lt;code&amp;gt;22 F1 01&amp;lt;/code&amp;gt; and &amp;lt;code&amp;gt;22 F1 88&amp;lt;/code&amp;gt; (identification) and &amp;lt;code&amp;gt;19 02 FF&amp;lt;/code&amp;gt; (DTCs).&lt;br /&gt;
* Requests to 0x273 and 0x262 (tester present) got no reply, so those modules are probably not fitted.&lt;br /&gt;
* One name is still inferred and not confirmed by a part label: 0x261 (ABS). All the others come from the parts catalogue, a label, or a test.&lt;br /&gt;
* The E-call controller (0x799) returned a stored code record (&amp;lt;code&amp;gt;92 4E 00&amp;lt;/code&amp;gt;, status 02) that the Launch report does not list. Its meaning is not known.&lt;br /&gt;
&lt;br /&gt;
=== Instrument cluster output test (0x274 / 0x674) ===&lt;br /&gt;
A rev counter sweep commanded by the Launch X431 appears as a single KWP output-control request, after which the cluster sweeps the needle up and down by itself:&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! Request !! Reply !! Notes&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;3E 00&amp;lt;/code&amp;gt; || &amp;lt;code&amp;gt;7E&amp;lt;/code&amp;gt; || Tester present, about every 2.15 s&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;30 01 07 80 40 00 00&amp;lt;/code&amp;gt; || &amp;lt;code&amp;gt;70 01 07&amp;lt;/code&amp;gt; || Starts the sweep (service 0x30, local ID 01, &amp;quot;short-term adjustment&amp;quot;)&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;30 01 07 80 00 00 00&amp;lt;/code&amp;gt; || &amp;lt;code&amp;gt;7F 30 22&amp;lt;/code&amp;gt; || Refused (&amp;quot;conditions not correct&amp;quot;); possibly a stop request sent after the sweep had finished&lt;br /&gt;
|}&lt;br /&gt;
The meaning of the four control bytes (80 40 00 00) is not known.&lt;br /&gt;
&lt;br /&gt;
* Meaning of reply bytes +5, +7, +8 and the unexplained regions.&lt;br /&gt;
* A more reliable pressure scale (more gauge readings at low and high pressure are needed; the lowest calibration point is 0.027 bar off).&lt;br /&gt;
* Whether the central gateway forwards the request to the TPMS controller or remaps the address.&lt;br /&gt;
* Why Torque Pro stops after the first line of the reply (the adapter is ruled out).&lt;br /&gt;
* The meaning of the control bytes (80 40 00 00) in the instrument cluster sweep command.&lt;br /&gt;
* The meaning of the stored code from the E-call controller.&lt;br /&gt;
* Confirming the ABS (0x261) and dual sensor brake support (0x778) names.&lt;br /&gt;
&lt;br /&gt;
== Sources ==&lt;br /&gt;
* Owner PCAN-View captures, October 2026.&lt;br /&gt;
* Suzuki wiring diagrams: A-8 CAN communication system; A-8 Central Gateway Control and DLC System (RHD).&lt;br /&gt;
* Forum thread &amp;quot;Jimny JB74 (2019+) - Torque Pro PID for TPMS&amp;quot;.&lt;br /&gt;
* BigJimny forum thread &amp;quot;JB74 OBD2 connection&amp;quot; (December 2020).&lt;br /&gt;
* Suzuki Jimny parts catalogue 9900B-40312-004 (type 1, October 2021), figures 350A, 351A and 351B.&lt;br /&gt;
* RealDash-extras OBD2 documentation (OBD2 XML description file).&lt;br /&gt;
* Car Scanner ELM OBD2 custom PID documentation.&lt;br /&gt;
&lt;br /&gt;
[[Category:Jimny technical]]&lt;br /&gt;
[[Category:JB74]]&lt;br /&gt;
[[Category:Electrical - gen3]]&lt;br /&gt;
[[Category:FAQ - gen3]]&lt;br /&gt;
[[Category:Howto - gen3]]&lt;br /&gt;
&lt;br /&gt;
[[Category:Electrical - gen4]]&lt;br /&gt;
[[Category:FAQ - gen4]]&lt;br /&gt;
[[Category:Howto - gen4]]&lt;/div&gt;</summary>
		<author><name>Mlines</name></author>
	</entry>
	<entry>
		<id>https://www.bigjimny.com/mediawiki/index.php?title=OBD2_Diagnostics_reading_project&amp;diff=10096</id>
		<title>OBD2 Diagnostics reading project</title>
		<link rel="alternate" type="text/html" href="https://www.bigjimny.com/mediawiki/index.php?title=OBD2_Diagnostics_reading_project&amp;diff=10096"/>
		<updated>2026-11-01T10:53:43Z</updated>

		<summary type="html">&lt;p&gt;Mlines: /* Car Scanner Pro (working) */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;= Suzuki Jimny JB74 (2018+) - Reading TPMS data over the diagnostic CAN link =&lt;br /&gt;
&lt;br /&gt;
{{Donate}}&lt;br /&gt;
== Overview ==&lt;br /&gt;
Purpose-built diagnostic tools (Autel, Launch and similar) already support Suzuki comprehensively. There is also a trend towards replacing the factory head unit with an Android media unit that can run apps to read and display information from the car&#039;s electronics. These units are not Suzuki-specific, so this project aims to learn how to read vehicle data (starting with the factory TPMS) and show it on the head unit.&lt;br /&gt;
&lt;br /&gt;
=== Equipment ===&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! Role !! Item&lt;br /&gt;
|-&lt;br /&gt;
| Head unit || XTRONS PX90&lt;br /&gt;
|-&lt;br /&gt;
| OBD-II Bluetooth dongle 1 || Generic ELM-based (Chinese)&lt;br /&gt;
|-&lt;br /&gt;
| OBD-II Bluetooth dongle 2 || Veepeak OBDCheck BLE+ (BLE only; works on a Lenovo tablet, will not connect to the head unit)&lt;br /&gt;
|-&lt;br /&gt;
| CAN bus monitor (Windows) || PCAN-View (PEAK-System)&lt;br /&gt;
|-&lt;br /&gt;
| Diagnostic tool 1 || Launch X431 CRP919&lt;br /&gt;
|-&lt;br /&gt;
| Diagnostic tool 2 || SZ Viewer app&lt;br /&gt;
|-&lt;br /&gt;
| Apps tried || Torque Pro (fails past the first line; tested on a Lenovo tablet), Car Scanner Pro (works), RealDash (TPMS values seen in its debug view; gauges in progress)&lt;br /&gt;
|-&lt;br /&gt;
| Head-unit Bluetooth || xTRONS IP90  - Classic Bluetooth only, no BLE support&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== Method ===&lt;br /&gt;
# The diagnostic tools (Launch X431, SZ Viewer) have comprehensive Suzuki support, so they are used to generate the CAN bus requests.&lt;br /&gt;
# PCAN-View is connected to the OBD socket to capture the requests and the module&#039;s replies, which are then decoded by hand.&lt;br /&gt;
# The decoded requests are recreated in the head-unit apps so the head unit can ask the car for the same data directly.&lt;br /&gt;
&#039;&#039;&#039;Status:&#039;&#039;&#039; work in progress. Based on one RHD UK-market 2021 Jimny with factory TPMS, owner-made PCAN-View captures (including a full Launch scan and an instrument cluster test), the Suzuki wiring diagrams (A-8 CAN communication and A-8 Central Gateway/DLC) and the Suzuki parts catalogue. TPMS readings work in Car Scanner Pro; RealDash works in its debug view with gauges in progress. Items marked &#039;&#039;unconfirmed&#039;&#039; are not yet verified.&lt;br /&gt;
&lt;br /&gt;
* The TPMS control module answers an ordinary diagnostic request on the OBD socket. It does not broadcast tyre data.&lt;br /&gt;
* Request ID &#039;&#039;&#039;0x798&#039;&#039;&#039;, reply ID &#039;&#039;&#039;0x7A8&#039;&#039;&#039; (11-bit CAN, 500 kbit/s, ISO-TP framing) returns the TPMS data, including four sensor IDs and pressure readings. The module&#039;s identification reply (37160-61M0) matches the Model No. (P61M0) on the TPMS controller label. Whether the central gateway forwards or remaps the request is unconfirmed.&lt;br /&gt;
* Service &#039;&#039;&#039;0x21&#039;&#039;&#039; (read data by local identifier), identifier &#039;&#039;&#039;0x00&#039;&#039;&#039;, returns 102 bytes containing all four sensor records.&lt;br /&gt;
* Pressure is byte +6 of each sensor record: bar = raw x 0.01372.&lt;br /&gt;
* The OBD socket is fed by a central gateway, so only diagnostic traffic is visible on it.&lt;br /&gt;
* Working: Car Scanner Pro, and RealDash (values seen in its debug view). Not working: Torque Pro.&lt;br /&gt;
&lt;br /&gt;
== DLC (OBD socket) wiring ==&lt;br /&gt;
The service-manual diagram numbers the DLC terminals differently from SAE J1962. In all five cases on the diagram, manual terminal &#039;&#039;n&#039;&#039; matches standard pin &#039;&#039;17 - n&#039;&#039;.&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! Manual terminal !! Standard pin !! Function !! Wire / source on diagram&lt;br /&gt;
|-&lt;br /&gt;
| 1 || 16 || Battery +12 V || GRY, fuse No.49 &amp;quot;DOME2&amp;quot; (10 A)&lt;br /&gt;
|-&lt;br /&gt;
| 12 || 5 || Signal ground || BLK&lt;br /&gt;
|-&lt;br /&gt;
| 13 || 4 || Chassis ground || BLK&lt;br /&gt;
|-&lt;br /&gt;
| 11 || 6 || CAN-H (from standard assignment) || BLU, gateway pin 8&lt;br /&gt;
|-&lt;br /&gt;
| 3 || 14 || CAN-L (from standard assignment) || WHT, gateway pin 7&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
Use pins &#039;&#039;&#039;6&#039;&#039;&#039; and &#039;&#039;&#039;14&#039;&#039;&#039; for a CAN adapter. The diagram does not label CAN-H and CAN-L itself.&lt;br /&gt;
&lt;br /&gt;
=== Cross-check with other reports ===&lt;br /&gt;
A BigJimny forum thread (&amp;quot;JB74 OBD2 connection&amp;quot;, December 2020) describes a 2020 JB74 whose OBD plug had pins 4, 5, 6, 14, 15 and 16 wired, with pin 7 (K-line) not wired. The poster, quoting an older Suzuki pinout, lists pin 6 as a blue wire (CAN-H) and pin 14 as a white wire (CAN-L). This matches the table above: a blue CAN wire on pin 6 and a white one on pin 14.&lt;br /&gt;
&lt;br /&gt;
* The CAN-H/CAN-L assignment in that thread comes from a pinout reference that the poster says predates the JB74, so it is a report, not a measurement.&lt;br /&gt;
* No wire for standard pin 7 (K-line) appears on the diagram page above, and the forum report also found it unwired. K-line is therefore unlikely to be available on the JB74 socket.&lt;br /&gt;
* On the forum poster&#039;s car, pin 15 was also wired; the diagram page above shows no wire for it. This may be a market or model-year difference.&lt;br /&gt;
&lt;br /&gt;
== Network layout ==&lt;br /&gt;
The DLC is not on the vehicle bus directly. The &#039;&#039;&#039;central gateway control module&#039;&#039;&#039; joins the vehicle CAN bus (its pins 20 and 21, RED/WHT) and provides a separate CAN pair to the DLC (its pins 8 and 7, BLU/WHT).&lt;br /&gt;
&lt;br /&gt;
Modules on the vehicle bus (diagram): ECM, 4WD control module, TCM (A/T models), BCM, ESP control module, headlight auto levelling module (if equipped), dual sensor brake support control module (if equipped), P/S control module, steering angle sensor, TPMS control module / receiver (if equipped), combination meter, SDM, combination switch.&lt;br /&gt;
&lt;br /&gt;
Gateway power: fuse No.60 &amp;quot;IG1 SIG&amp;quot; (10 A) and fuse No.52 &amp;quot;CONT&amp;quot; (5 A). Treat the ignition as needing to be on.&lt;br /&gt;
&lt;br /&gt;
Observation: two captures from the DLC contained only IDs 0x798 and 0x7A8 (plus two error frames). No broadcast traffic from other modules was seen, so passive listening on the DLC will not show TPMS data.&lt;br /&gt;
&lt;br /&gt;
== Diagnostic requests seen ==&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! Request !! Reply !! Meaning&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;3E&amp;lt;/code&amp;gt; || &amp;lt;code&amp;gt;7E&amp;lt;/code&amp;gt; || Tester present&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;1A 8A&amp;lt;/code&amp;gt; || &amp;lt;code&amp;gt;5A 8A&amp;lt;/code&amp;gt; + ASCII &amp;lt;code&amp;gt;37120-78R0*&amp;lt;/code&amp;gt; || ECU identification&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;1A 8E&amp;lt;/code&amp;gt; || &amp;lt;code&amp;gt;5A 8E&amp;lt;/code&amp;gt; + ASCII &amp;lt;code&amp;gt;37160-61M0&amp;lt;/code&amp;gt; || ECU identification: matches the &amp;quot;Model No. P61M0&amp;quot; printed on the TPMS controller label&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;18 00 FF 00&amp;lt;/code&amp;gt; || &amp;lt;code&amp;gt;58 00&amp;lt;/code&amp;gt; or &amp;lt;code&amp;gt;58 01 9A 31 E0&amp;lt;/code&amp;gt; || Read DTCs by status (second form = one code reported; not decoded)&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;21 00&amp;lt;/code&amp;gt; || &amp;lt;code&amp;gt;61 00&amp;lt;/code&amp;gt; + 100 bytes || Sensor data block (repeated about twice a second by the scan tool)&lt;br /&gt;
|}&lt;br /&gt;
Part labels on the test car: TPMS controller 37160-78R00, &amp;quot;BASE ASSY-TPMS&amp;quot;, Model No. P61M0, Continental A2C13930301, 433.92 MHz; central gateway controller 33580-79R01. The &amp;lt;code&amp;gt;1A 8E&amp;lt;/code&amp;gt; reply (37160-61M0) matches the TPMS controller&#039;s base number and model number; the &amp;lt;code&amp;gt;1A 8A&amp;lt;/code&amp;gt; reply (37120-78R0*) shares &amp;quot;78R0&amp;quot; with the full part number, but its meaning is not confirmed.&lt;br /&gt;
&lt;br /&gt;
A Launch full scan reported &amp;quot;Left Front Tire Pressure Low&amp;quot; for the TPMS module, and the module returned one stored code (&amp;lt;code&amp;gt;9A 31&amp;lt;/code&amp;gt;) in the same scan. That code is probably the low-pressure warning (inferred; the report does not show the code itself).&lt;br /&gt;
&lt;br /&gt;
== Reading it with an ELM327 ==&lt;br /&gt;
Terminal commands, one at a time (CR line ending):&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
ATZ&lt;br /&gt;
ATSP6&lt;br /&gt;
ATSH798&lt;br /&gt;
ATS0&lt;br /&gt;
ATL0&lt;br /&gt;
ATFCSH798&lt;br /&gt;
ATFCSD300000&lt;br /&gt;
ATFCSM1&lt;br /&gt;
2100&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
* &amp;lt;code&amp;gt;ATSH798&amp;lt;/code&amp;gt; sets the request address. The reply address (0x7A8) is worked out automatically.&lt;br /&gt;
* &amp;lt;code&amp;gt;ATFCSH798 / ATFCSD300000 / ATFCSM1&amp;lt;/code&amp;gt; make the adapter send the ISO-TP flow-control frame (30 00 00) itself.&lt;br /&gt;
* &amp;lt;code&amp;gt;ATS0&amp;lt;/code&amp;gt; removes the spaces between bytes. Without it, the generic Chinese ELM327-based dongle (dongle 1) reported &amp;lt;code&amp;gt;BUFFER FULL&amp;lt;/code&amp;gt; near byte 81.&lt;br /&gt;
* Expected output: a length line (&amp;lt;code&amp;gt;066&amp;lt;/code&amp;gt; = 102 bytes) and numbered lines &amp;lt;code&amp;gt;0:&amp;lt;/code&amp;gt; to &amp;lt;code&amp;gt;E:&amp;lt;/code&amp;gt;.&lt;br /&gt;
* With default settings dongle 1 returned only the first line (&amp;lt;code&amp;gt;61 00 xx 01 00 00&amp;lt;/code&amp;gt;).&lt;br /&gt;
&lt;br /&gt;
== Reply layout (21 00) ==&lt;br /&gt;
Byte positions count the &amp;lt;code&amp;gt;61&amp;lt;/code&amp;gt; as byte 0.&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! Bytes !! Content&lt;br /&gt;
|-&lt;br /&gt;
| 0-1 || &amp;lt;code&amp;gt;61 00&amp;lt;/code&amp;gt; (positive reply)&lt;br /&gt;
|-&lt;br /&gt;
| 2 || Varies 117-142. Looks like system voltage x 10 (&#039;&#039;unconfirmed&#039;&#039;)&lt;br /&gt;
|-&lt;br /&gt;
| 12-21 || Sensor record 1: front left&lt;br /&gt;
|-&lt;br /&gt;
| 22-31 || Sensor record 2: rear left&lt;br /&gt;
|-&lt;br /&gt;
| 32-41 || Sensor record 3: rear right&lt;br /&gt;
|-&lt;br /&gt;
| 42-51 || Sensor record 4: front right&lt;br /&gt;
|-&lt;br /&gt;
| 56-71 || Four 4-byte sensor-ID entries whose contents change (meaning unknown)&lt;br /&gt;
|-&lt;br /&gt;
| other || Not decoded&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== Sensor record (10 bytes) ===&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! Offset !! Content&lt;br /&gt;
|-&lt;br /&gt;
| +0 to +3 || Sensor ID&lt;br /&gt;
|-&lt;br /&gt;
| +4 || Position flag&lt;br /&gt;
|-&lt;br /&gt;
| +5 || Value 57-74. Behaves like temperature, possibly with an offset of 40 (&#039;&#039;unconfirmed&#039;&#039;)&lt;br /&gt;
|-&lt;br /&gt;
| +6 || Pressure, gauge: bar = raw x 0.01372 (see Calibration)&lt;br /&gt;
|-&lt;br /&gt;
| +7, +8 || Not understood&lt;br /&gt;
|-&lt;br /&gt;
| +9 || Always 0&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! Wheel !! Sensor ID !! Position flag&lt;br /&gt;
|-&lt;br /&gt;
| Front left || 4E AA 09 43 || 0x10&lt;br /&gt;
|-&lt;br /&gt;
| Rear left || DD 91 B5 25 || 0x20&lt;br /&gt;
|-&lt;br /&gt;
| Rear right || 4E AA 03 19 || 0x18&lt;br /&gt;
|-&lt;br /&gt;
| Front right || 4E AA 09 C9 || 0x08&lt;br /&gt;
|}&lt;br /&gt;
Sensor IDs are specific to one car. Yours will differ.&lt;br /&gt;
&lt;br /&gt;
== Calibration ==&lt;br /&gt;
Byte +6 against gauge readings (bar). The five deflation-test counts were reconstructed from the app&#039;s displayed values.&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! Raw !! Gauge (bar) !! Raw x 0.01372&lt;br /&gt;
|-&lt;br /&gt;
| 136 (rear left) || 1.868 || 1.866&lt;br /&gt;
|-&lt;br /&gt;
| 131 (rear right) || 1.795 || 1.797&lt;br /&gt;
|-&lt;br /&gt;
| 131 (front right) || 1.795 || 1.797&lt;br /&gt;
|-&lt;br /&gt;
| 126 || 1.73 || 1.729&lt;br /&gt;
|-&lt;br /&gt;
| 119 || 1.63 || 1.633&lt;br /&gt;
|-&lt;br /&gt;
| 112 || 1.54 || 1.537&lt;br /&gt;
|-&lt;br /&gt;
| 101 || 1.39 || 1.386&lt;br /&gt;
|-&lt;br /&gt;
| 96 || 1.29 || 1.317&lt;br /&gt;
|}&lt;br /&gt;
The last five rows are from one tyre, the front left, during a slow deflation.&lt;br /&gt;
* bar = raw x 0.01372&lt;br /&gt;
* psi = raw x 0.199&lt;br /&gt;
&lt;br /&gt;
No offset is needed, which suggests the byte holds gauge pressure. All points are within 0.004 bar except the lowest (0.027 bar off), which may be sensor update lag or slight non-linearity. More readings at low and high pressure are needed.&lt;br /&gt;
&lt;br /&gt;
== Torque Pro custom PIDs ==&lt;br /&gt;
Common fields for every wheel:&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! Field !! Value&lt;br /&gt;
|-&lt;br /&gt;
| Header || 798&lt;br /&gt;
|-&lt;br /&gt;
| Mode and PID || 2100&lt;br /&gt;
|-&lt;br /&gt;
| Diagnostic start command || &amp;lt;code&amp;gt;ATS0, ATL0, ATFCSH798, ATFCSD300000, ATFCSM1&amp;lt;/code&amp;gt; (comma-separated)&lt;br /&gt;
|-&lt;br /&gt;
| Unit / min / max || bar, 0, 4 (or psi, 0, 60)&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
Equation uses a letter for each data byte. &amp;lt;code&amp;gt;A&amp;lt;/code&amp;gt; is the first byte after &amp;lt;code&amp;gt;61 00&amp;lt;/code&amp;gt; (reply byte 2).&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! Wheel !! Byte +5 (temperature?) !! Byte +6 (pressure candidate)” to “Byte +6 (pressure)”&lt;br /&gt;
|-&lt;br /&gt;
| Front left || P || Q&lt;br /&gt;
|-&lt;br /&gt;
| Front right || AT || AU&lt;br /&gt;
|-&lt;br /&gt;
| Rear left || Z || AA&lt;br /&gt;
|-&lt;br /&gt;
| Rear right || AJ || AK&lt;br /&gt;
|}&lt;br /&gt;
Example: &amp;lt;code&amp;gt;Q*0.01372&amp;lt;/code&amp;gt;. Letters must be upper case. Whether Torque accepts two-letter variables is &#039;&#039;unconfirmed&#039;&#039;.&lt;br /&gt;
&lt;br /&gt;
=== Known problem ===&lt;br /&gt;
Using dongle 1 (generic Chinese ELM327-based) with Torque Pro on a Lenovo tablet, Torque read bytes &amp;lt;code&amp;gt;A&amp;lt;/code&amp;gt; to &amp;lt;code&amp;gt;D&amp;lt;/code&amp;gt; (first line of the reply) correctly, but every byte from &amp;lt;code&amp;gt;E&amp;lt;/code&amp;gt; onward returned -1, even though a terminal received the full 102 bytes with the same commands. The start-command field is applied (adding &amp;lt;code&amp;gt;ATH1&amp;lt;/code&amp;gt; changed the output). Tried without success: turning off &amp;quot;Faster communication&amp;quot; and removing &amp;lt;code&amp;gt;ATS0&amp;lt;/code&amp;gt;. Not tried: &amp;lt;code&amp;gt;ATAT0, ATSTFF&amp;lt;/code&amp;gt; timeout settings.&lt;br /&gt;
&lt;br /&gt;
Dongle 2 (Veepeak OBDCheck BLE+), also on the tablet, gave the same result. Car Scanner Pro reads every byte with both dongles and the same commands, so the limitation is in how Torque Pro handles this multi-line reply, not in the adapter or the Android device. Unresolved; a request has been posted on the Torque forum.&lt;br /&gt;
&lt;br /&gt;
== Car Scanner Pro (working) ==&lt;br /&gt;
Car Scanner Pro reads all the bytes where Torque Pro fails. Custom PID settings used:&lt;br /&gt;
* Header: 798&lt;br /&gt;
* Request: 2100&lt;br /&gt;
* Start command (backslash-separated): &amp;lt;code&amp;gt;ATAT0\ATSTFF\ATS0\ATL0\ATFCSH798\ATFCSD300000\ATFCSM1&amp;lt;/code&amp;gt;&lt;br /&gt;
* Equations use the same letters as the table above, for example &amp;lt;code&amp;gt;Q*0.01372&amp;lt;/code&amp;gt; for front left (bar)&lt;br /&gt;
&lt;br /&gt;
The start command has not yet been shortened. Both dongle 1 (generic ELM327-based) and dongle 2 (Veepeak OBDCheck BLE+) work with Car Scanner Pro on the Lenovo tablet. Dongle 2 will not connect to the XTRONS head unit.&lt;br /&gt;
&lt;br /&gt;
== RealDash ==&lt;br /&gt;
RealDash describes its OBD2 communication in an XML file. With dongle 1, RealDash&#039;s default init plus the lines below works: the TPMS sensors reply, and the values appear in RealDash&#039;s debug view. Dashboard gauges are in progress.&lt;br /&gt;
&lt;br /&gt;
Changes to RealDash&#039;s default file:&lt;br /&gt;
* Add the three flow-control commands to the init section, before the &amp;lt;code&amp;gt;0100&amp;lt;/code&amp;gt; and &amp;lt;code&amp;gt;0120&amp;lt;/code&amp;gt; checks.&lt;br /&gt;
* Every TPMS command sets &amp;lt;code&amp;gt;header=&amp;quot;atsh798&amp;quot;&amp;lt;/code&amp;gt;. The docs say to set the header on every command when the rotation uses more than one. Any standard command in the same rotation then needs &amp;lt;code&amp;gt;header=&amp;quot;atsh7df&amp;quot;&amp;lt;/code&amp;gt;, or it would be sent to 0x798.&lt;br /&gt;
* RealDash requires &amp;lt;code&amp;gt;ATE0&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;ATL0&amp;lt;/code&amp;gt; and &amp;lt;code&amp;gt;ATS0&amp;lt;/code&amp;gt; (already in its default init).&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&amp;lt;init&amp;gt;&lt;br /&gt;
  ... RealDash default init lines ...&lt;br /&gt;
  &amp;lt;command send=&amp;quot;atfcsh798&amp;quot;&amp;gt;&amp;lt;/command&amp;gt;&lt;br /&gt;
  &amp;lt;command send=&amp;quot;atfcsd300000&amp;quot;&amp;gt;&amp;lt;/command&amp;gt;&lt;br /&gt;
  &amp;lt;command send=&amp;quot;atfcsm1&amp;quot;&amp;gt;&amp;lt;/command&amp;gt;&lt;br /&gt;
  &amp;lt;command send=&amp;quot;0100&amp;quot;&amp;gt;&amp;lt;/command&amp;gt;&lt;br /&gt;
  &amp;lt;command send=&amp;quot;0120&amp;quot;&amp;gt;&amp;lt;/command&amp;gt;&lt;br /&gt;
&amp;lt;/init&amp;gt;&lt;br /&gt;
&amp;lt;rotation&amp;gt;&lt;br /&gt;
  &amp;lt;command send=&amp;quot;2100&amp;quot; header=&amp;quot;atsh798&amp;quot; skipCount=&amp;quot;10&amp;quot; keepInRotation=&amp;quot;true&amp;quot; name=&amp;quot;TPMS: front left&amp;quot; units=&amp;quot;bar&amp;quot; conversionABC=&amp;quot;Q*0.01372&amp;quot;&amp;gt;&amp;lt;/command&amp;gt;&lt;br /&gt;
  &amp;lt;command send=&amp;quot;2100&amp;quot; header=&amp;quot;atsh798&amp;quot; skipCount=&amp;quot;11&amp;quot; keepInRotation=&amp;quot;true&amp;quot; name=&amp;quot;TPMS: front right&amp;quot; units=&amp;quot;bar&amp;quot; conversionABC=&amp;quot;AU*0.01372&amp;quot;&amp;gt;&amp;lt;/command&amp;gt;&lt;br /&gt;
  &amp;lt;command send=&amp;quot;2100&amp;quot; header=&amp;quot;atsh798&amp;quot; skipCount=&amp;quot;12&amp;quot; keepInRotation=&amp;quot;true&amp;quot; name=&amp;quot;TPMS: rear left&amp;quot; units=&amp;quot;bar&amp;quot; conversionABC=&amp;quot;AA*0.01372&amp;quot;&amp;gt;&amp;lt;/command&amp;gt;&lt;br /&gt;
  &amp;lt;command send=&amp;quot;2100&amp;quot; header=&amp;quot;atsh798&amp;quot; skipCount=&amp;quot;13&amp;quot; keepInRotation=&amp;quot;true&amp;quot; name=&amp;quot;TPMS: rear right&amp;quot; units=&amp;quot;bar&amp;quot; conversionABC=&amp;quot;AK*0.01372&amp;quot;&amp;gt;&amp;lt;/command&amp;gt;&lt;br /&gt;
&amp;lt;/rotation&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;conversionABC&amp;lt;/code&amp;gt; uses the same letters as Torque and Car Scanner (A is the first byte after 61 00). The TPMS inputs appear in RealDash&#039;s ECU Specific category.&lt;br /&gt;
&lt;br /&gt;
The Veepeak OBDCheck BLE+ (dongle 2) will not connect to the head unit because the head unit does not support BLE, so only dongle 1 was used.&lt;br /&gt;
&lt;br /&gt;
== Other modules found by a full scan ==&lt;br /&gt;
A full health-check scan with a Launch X431 CRP919, captured with PCAN-View on the OBD socket, shows 12 modules answering on the DLC. Every module that replied is listed here. The reply ID is not always the request ID plus 8.&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! Request !! Reply !! Protocol !! Identification replies !! Module !! How identified&lt;br /&gt;
|-&lt;br /&gt;
| 0x7E0 || 0x7E8 || KWP || 33980-78R0, 33980-78RC* || ECM || Standard engine address&lt;br /&gt;
|-&lt;br /&gt;
| 0x261 || 0x661 || KWP || 56100-77RA, 56100-78RF* || ABS (inferred) || Only brake module left by elimination&lt;br /&gt;
|-&lt;br /&gt;
| 0x263 || 0x663 || KWP || 38720-77R0, 38720-77R0* || EPS controller || Parts catalogue&lt;br /&gt;
|-&lt;br /&gt;
| 0x271 || 0x671 || KWP || 36775-77R0, 36775-77RC* || Body control module || Parts catalogue&lt;br /&gt;
|-&lt;br /&gt;
| 0x274 || 0x674 || KWP || 34100-78R0, 34110-78RD* || Instrument cluster || Rev counter sweep test&lt;br /&gt;
|-&lt;br /&gt;
| 0x798 || 0x7A8 || KWP || 37160-61M0, 37120-78R0* || TPMS controller || Label and parts catalogue&lt;br /&gt;
|-&lt;br /&gt;
| 0x79A || 0x7AA || KWP || 37210-74PA, 37210-74PE* || Lighting and turn switch || Parts catalogue&lt;br /&gt;
|-&lt;br /&gt;
| 0x778 || 0x788 || KWP || 33990-52R0, 33990-78R8* || Dual sensor brake support || Parts catalogue&lt;br /&gt;
|-&lt;br /&gt;
| 0x793 || 0x7A3 || UDS || 38910-77R0, 38910-78RC* || Airbag (SRS) controller || Parts catalogue&lt;br /&gt;
|-&lt;br /&gt;
| 0x772 || 0x782 || UDS || 38885-77R0, 38885-78R0* || 4WD shift controller || Parts catalogue&lt;br /&gt;
|-&lt;br /&gt;
| 0x799 || 0x7A9 || UDS || 38960-78RA, 38960-78RA* || E-call controller || Parts catalogue&lt;br /&gt;
|-&lt;br /&gt;
| 0x751 || 0x761 || UDS || 33580-79R0, 33580-78R0* || Central gateway || Label and parts catalogue&lt;br /&gt;
|}&lt;br /&gt;
Reply ID offsets: engine +0x08; 0x261 to 0x274 +0x400; all others +0x10.&lt;br /&gt;
&lt;br /&gt;
* KWP-style modules answer &amp;lt;code&amp;gt;1A 8E&amp;lt;/code&amp;gt; and &amp;lt;code&amp;gt;1A 8A&amp;lt;/code&amp;gt; (identification) and &amp;lt;code&amp;gt;18 00 FF 00&amp;lt;/code&amp;gt; (DTCs). UDS-style modules answer &amp;lt;code&amp;gt;22 F1 01&amp;lt;/code&amp;gt; and &amp;lt;code&amp;gt;22 F1 88&amp;lt;/code&amp;gt; (identification) and &amp;lt;code&amp;gt;19 02 FF&amp;lt;/code&amp;gt; (DTCs).&lt;br /&gt;
* Requests to 0x273 and 0x262 (tester present) got no reply, so those modules are probably not fitted.&lt;br /&gt;
* Two names are inferred and not confirmed by a part label: 0x261 (ABS) and 0x778 (dual sensor brake support). All the others come from the parts catalogue, a label, or a test.&lt;br /&gt;
* The E-call controller (0x799) returned a stored code record (&amp;lt;code&amp;gt;92 4E 00&amp;lt;/code&amp;gt;, status 02) that the Launch report does not list. Its meaning is not known.&lt;br /&gt;
&lt;br /&gt;
=== Instrument cluster output test (0x274 / 0x674) ===&lt;br /&gt;
A rev counter sweep commanded by the Launch X431 appears as a single KWP output-control request, after which the cluster sweeps the needle up and down by itself:&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! Request !! Reply !! Notes&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;3E 00&amp;lt;/code&amp;gt; || &amp;lt;code&amp;gt;7E&amp;lt;/code&amp;gt; || Tester present, about every 2.15 s&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;30 01 07 80 40 00 00&amp;lt;/code&amp;gt; || &amp;lt;code&amp;gt;70 01 07&amp;lt;/code&amp;gt; || Starts the sweep (service 0x30, local ID 01, &amp;quot;short-term adjustment&amp;quot;)&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;30 01 07 80 00 00 00&amp;lt;/code&amp;gt; || &amp;lt;code&amp;gt;7F 30 22&amp;lt;/code&amp;gt; || Refused (&amp;quot;conditions not correct&amp;quot;); possibly a stop request sent after the sweep had finished&lt;br /&gt;
|}&lt;br /&gt;
The meaning of the four control bytes (80 40 00 00) is not known.&lt;br /&gt;
&lt;br /&gt;
* Meaning of reply bytes +5, +7, +8 and the unexplained regions.&lt;br /&gt;
* A more reliable pressure scale (more gauge readings at low and high pressure are needed; the lowest calibration point is 0.027 bar off).&lt;br /&gt;
* Whether the central gateway forwards the request to the TPMS controller or remaps the address.&lt;br /&gt;
* Why Torque Pro stops after the first line of the reply (the adapter is ruled out).&lt;br /&gt;
* The meaning of the control bytes (80 40 00 00) in the instrument cluster sweep command.&lt;br /&gt;
* The meaning of the stored code from the E-call controller.&lt;br /&gt;
* Confirming the ABS (0x261) and dual sensor brake support (0x778) names.&lt;br /&gt;
&lt;br /&gt;
== Sources ==&lt;br /&gt;
* Owner PCAN-View captures, October 2026.&lt;br /&gt;
* Suzuki wiring diagrams: A-8 CAN communication system; A-8 Central Gateway Control and DLC System (RHD).&lt;br /&gt;
* Forum thread &amp;quot;Jimny JB74 (2019+) - Torque Pro PID for TPMS&amp;quot;.&lt;br /&gt;
* BigJimny forum thread &amp;quot;JB74 OBD2 connection&amp;quot; (December 2020).&lt;br /&gt;
* Suzuki Jimny parts catalogue 9900B-40312-004 (type 1, October 2021), figures 350A, 351A and 351B.&lt;br /&gt;
* RealDash-extras OBD2 documentation (OBD2 XML description file).&lt;br /&gt;
* Car Scanner ELM OBD2 custom PID documentation.&lt;br /&gt;
&lt;br /&gt;
[[Category:Jimny technical]]&lt;br /&gt;
[[Category:JB74]]&lt;br /&gt;
[[Category:Electrical - gen3]]&lt;br /&gt;
[[Category:FAQ - gen3]]&lt;br /&gt;
[[Category:Howto - gen3]]&lt;br /&gt;
&lt;br /&gt;
[[Category:Electrical - gen4]]&lt;br /&gt;
[[Category:FAQ - gen4]]&lt;br /&gt;
[[Category:Howto - gen4]]&lt;/div&gt;</summary>
		<author><name>Mlines</name></author>
	</entry>
	<entry>
		<id>https://www.bigjimny.com/mediawiki/index.php?title=OBD2_Diagnostics_reading_project&amp;diff=10095</id>
		<title>OBD2 Diagnostics reading project</title>
		<link rel="alternate" type="text/html" href="https://www.bigjimny.com/mediawiki/index.php?title=OBD2_Diagnostics_reading_project&amp;diff=10095"/>
		<updated>2026-11-01T10:53:08Z</updated>

		<summary type="html">&lt;p&gt;Mlines: /* Equipment */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;= Suzuki Jimny JB74 (2018+) - Reading TPMS data over the diagnostic CAN link =&lt;br /&gt;
&lt;br /&gt;
{{Donate}}&lt;br /&gt;
== Overview ==&lt;br /&gt;
Purpose-built diagnostic tools (Autel, Launch and similar) already support Suzuki comprehensively. There is also a trend towards replacing the factory head unit with an Android media unit that can run apps to read and display information from the car&#039;s electronics. These units are not Suzuki-specific, so this project aims to learn how to read vehicle data (starting with the factory TPMS) and show it on the head unit.&lt;br /&gt;
&lt;br /&gt;
=== Equipment ===&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! Role !! Item&lt;br /&gt;
|-&lt;br /&gt;
| Head unit || XTRONS PX90&lt;br /&gt;
|-&lt;br /&gt;
| OBD-II Bluetooth dongle 1 || Generic ELM-based (Chinese)&lt;br /&gt;
|-&lt;br /&gt;
| OBD-II Bluetooth dongle 2 || Veepeak OBDCheck BLE+ (BLE only; works on a Lenovo tablet, will not connect to the head unit)&lt;br /&gt;
|-&lt;br /&gt;
| CAN bus monitor (Windows) || PCAN-View (PEAK-System)&lt;br /&gt;
|-&lt;br /&gt;
| Diagnostic tool 1 || Launch X431 CRP919&lt;br /&gt;
|-&lt;br /&gt;
| Diagnostic tool 2 || SZ Viewer app&lt;br /&gt;
|-&lt;br /&gt;
| Apps tried || Torque Pro (fails past the first line; tested on a Lenovo tablet), Car Scanner Pro (works), RealDash (TPMS values seen in its debug view; gauges in progress)&lt;br /&gt;
|-&lt;br /&gt;
| Head-unit Bluetooth || xTRONS IP90  - Classic Bluetooth only, no BLE support&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== Method ===&lt;br /&gt;
# The diagnostic tools (Launch X431, SZ Viewer) have comprehensive Suzuki support, so they are used to generate the CAN bus requests.&lt;br /&gt;
# PCAN-View is connected to the OBD socket to capture the requests and the module&#039;s replies, which are then decoded by hand.&lt;br /&gt;
# The decoded requests are recreated in the head-unit apps so the head unit can ask the car for the same data directly.&lt;br /&gt;
&#039;&#039;&#039;Status:&#039;&#039;&#039; work in progress. Based on one RHD UK-market 2021 Jimny with factory TPMS, owner-made PCAN-View captures (including a full Launch scan and an instrument cluster test), the Suzuki wiring diagrams (A-8 CAN communication and A-8 Central Gateway/DLC) and the Suzuki parts catalogue. TPMS readings work in Car Scanner Pro; RealDash works in its debug view with gauges in progress. Items marked &#039;&#039;unconfirmed&#039;&#039; are not yet verified.&lt;br /&gt;
&lt;br /&gt;
* The TPMS control module answers an ordinary diagnostic request on the OBD socket. It does not broadcast tyre data.&lt;br /&gt;
* Request ID &#039;&#039;&#039;0x798&#039;&#039;&#039;, reply ID &#039;&#039;&#039;0x7A8&#039;&#039;&#039; (11-bit CAN, 500 kbit/s, ISO-TP framing) returns the TPMS data, including four sensor IDs and pressure readings. The module&#039;s identification reply (37160-61M0) matches the Model No. (P61M0) on the TPMS controller label. Whether the central gateway forwards or remaps the request is unconfirmed.&lt;br /&gt;
* Service &#039;&#039;&#039;0x21&#039;&#039;&#039; (read data by local identifier), identifier &#039;&#039;&#039;0x00&#039;&#039;&#039;, returns 102 bytes containing all four sensor records.&lt;br /&gt;
* Pressure is byte +6 of each sensor record: bar = raw x 0.01372.&lt;br /&gt;
* The OBD socket is fed by a central gateway, so only diagnostic traffic is visible on it.&lt;br /&gt;
* Working: Car Scanner Pro, and RealDash (values seen in its debug view). Not working: Torque Pro.&lt;br /&gt;
&lt;br /&gt;
== DLC (OBD socket) wiring ==&lt;br /&gt;
The service-manual diagram numbers the DLC terminals differently from SAE J1962. In all five cases on the diagram, manual terminal &#039;&#039;n&#039;&#039; matches standard pin &#039;&#039;17 - n&#039;&#039;.&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! Manual terminal !! Standard pin !! Function !! Wire / source on diagram&lt;br /&gt;
|-&lt;br /&gt;
| 1 || 16 || Battery +12 V || GRY, fuse No.49 &amp;quot;DOME2&amp;quot; (10 A)&lt;br /&gt;
|-&lt;br /&gt;
| 12 || 5 || Signal ground || BLK&lt;br /&gt;
|-&lt;br /&gt;
| 13 || 4 || Chassis ground || BLK&lt;br /&gt;
|-&lt;br /&gt;
| 11 || 6 || CAN-H (from standard assignment) || BLU, gateway pin 8&lt;br /&gt;
|-&lt;br /&gt;
| 3 || 14 || CAN-L (from standard assignment) || WHT, gateway pin 7&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
Use pins &#039;&#039;&#039;6&#039;&#039;&#039; and &#039;&#039;&#039;14&#039;&#039;&#039; for a CAN adapter. The diagram does not label CAN-H and CAN-L itself.&lt;br /&gt;
&lt;br /&gt;
=== Cross-check with other reports ===&lt;br /&gt;
A BigJimny forum thread (&amp;quot;JB74 OBD2 connection&amp;quot;, December 2020) describes a 2020 JB74 whose OBD plug had pins 4, 5, 6, 14, 15 and 16 wired, with pin 7 (K-line) not wired. The poster, quoting an older Suzuki pinout, lists pin 6 as a blue wire (CAN-H) and pin 14 as a white wire (CAN-L). This matches the table above: a blue CAN wire on pin 6 and a white one on pin 14.&lt;br /&gt;
&lt;br /&gt;
* The CAN-H/CAN-L assignment in that thread comes from a pinout reference that the poster says predates the JB74, so it is a report, not a measurement.&lt;br /&gt;
* No wire for standard pin 7 (K-line) appears on the diagram page above, and the forum report also found it unwired. K-line is therefore unlikely to be available on the JB74 socket.&lt;br /&gt;
* On the forum poster&#039;s car, pin 15 was also wired; the diagram page above shows no wire for it. This may be a market or model-year difference.&lt;br /&gt;
&lt;br /&gt;
== Network layout ==&lt;br /&gt;
The DLC is not on the vehicle bus directly. The &#039;&#039;&#039;central gateway control module&#039;&#039;&#039; joins the vehicle CAN bus (its pins 20 and 21, RED/WHT) and provides a separate CAN pair to the DLC (its pins 8 and 7, BLU/WHT).&lt;br /&gt;
&lt;br /&gt;
Modules on the vehicle bus (diagram): ECM, 4WD control module, TCM (A/T models), BCM, ESP control module, headlight auto levelling module (if equipped), dual sensor brake support control module (if equipped), P/S control module, steering angle sensor, TPMS control module / receiver (if equipped), combination meter, SDM, combination switch.&lt;br /&gt;
&lt;br /&gt;
Gateway power: fuse No.60 &amp;quot;IG1 SIG&amp;quot; (10 A) and fuse No.52 &amp;quot;CONT&amp;quot; (5 A). Treat the ignition as needing to be on.&lt;br /&gt;
&lt;br /&gt;
Observation: two captures from the DLC contained only IDs 0x798 and 0x7A8 (plus two error frames). No broadcast traffic from other modules was seen, so passive listening on the DLC will not show TPMS data.&lt;br /&gt;
&lt;br /&gt;
== Diagnostic requests seen ==&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! Request !! Reply !! Meaning&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;3E&amp;lt;/code&amp;gt; || &amp;lt;code&amp;gt;7E&amp;lt;/code&amp;gt; || Tester present&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;1A 8A&amp;lt;/code&amp;gt; || &amp;lt;code&amp;gt;5A 8A&amp;lt;/code&amp;gt; + ASCII &amp;lt;code&amp;gt;37120-78R0*&amp;lt;/code&amp;gt; || ECU identification&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;1A 8E&amp;lt;/code&amp;gt; || &amp;lt;code&amp;gt;5A 8E&amp;lt;/code&amp;gt; + ASCII &amp;lt;code&amp;gt;37160-61M0&amp;lt;/code&amp;gt; || ECU identification: matches the &amp;quot;Model No. P61M0&amp;quot; printed on the TPMS controller label&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;18 00 FF 00&amp;lt;/code&amp;gt; || &amp;lt;code&amp;gt;58 00&amp;lt;/code&amp;gt; or &amp;lt;code&amp;gt;58 01 9A 31 E0&amp;lt;/code&amp;gt; || Read DTCs by status (second form = one code reported; not decoded)&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;21 00&amp;lt;/code&amp;gt; || &amp;lt;code&amp;gt;61 00&amp;lt;/code&amp;gt; + 100 bytes || Sensor data block (repeated about twice a second by the scan tool)&lt;br /&gt;
|}&lt;br /&gt;
Part labels on the test car: TPMS controller 37160-78R00, &amp;quot;BASE ASSY-TPMS&amp;quot;, Model No. P61M0, Continental A2C13930301, 433.92 MHz; central gateway controller 33580-79R01. The &amp;lt;code&amp;gt;1A 8E&amp;lt;/code&amp;gt; reply (37160-61M0) matches the TPMS controller&#039;s base number and model number; the &amp;lt;code&amp;gt;1A 8A&amp;lt;/code&amp;gt; reply (37120-78R0*) shares &amp;quot;78R0&amp;quot; with the full part number, but its meaning is not confirmed.&lt;br /&gt;
&lt;br /&gt;
A Launch full scan reported &amp;quot;Left Front Tire Pressure Low&amp;quot; for the TPMS module, and the module returned one stored code (&amp;lt;code&amp;gt;9A 31&amp;lt;/code&amp;gt;) in the same scan. That code is probably the low-pressure warning (inferred; the report does not show the code itself).&lt;br /&gt;
&lt;br /&gt;
== Reading it with an ELM327 ==&lt;br /&gt;
Terminal commands, one at a time (CR line ending):&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
ATZ&lt;br /&gt;
ATSP6&lt;br /&gt;
ATSH798&lt;br /&gt;
ATS0&lt;br /&gt;
ATL0&lt;br /&gt;
ATFCSH798&lt;br /&gt;
ATFCSD300000&lt;br /&gt;
ATFCSM1&lt;br /&gt;
2100&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
* &amp;lt;code&amp;gt;ATSH798&amp;lt;/code&amp;gt; sets the request address. The reply address (0x7A8) is worked out automatically.&lt;br /&gt;
* &amp;lt;code&amp;gt;ATFCSH798 / ATFCSD300000 / ATFCSM1&amp;lt;/code&amp;gt; make the adapter send the ISO-TP flow-control frame (30 00 00) itself.&lt;br /&gt;
* &amp;lt;code&amp;gt;ATS0&amp;lt;/code&amp;gt; removes the spaces between bytes. Without it, the generic Chinese ELM327-based dongle (dongle 1) reported &amp;lt;code&amp;gt;BUFFER FULL&amp;lt;/code&amp;gt; near byte 81.&lt;br /&gt;
* Expected output: a length line (&amp;lt;code&amp;gt;066&amp;lt;/code&amp;gt; = 102 bytes) and numbered lines &amp;lt;code&amp;gt;0:&amp;lt;/code&amp;gt; to &amp;lt;code&amp;gt;E:&amp;lt;/code&amp;gt;.&lt;br /&gt;
* With default settings dongle 1 returned only the first line (&amp;lt;code&amp;gt;61 00 xx 01 00 00&amp;lt;/code&amp;gt;).&lt;br /&gt;
&lt;br /&gt;
== Reply layout (21 00) ==&lt;br /&gt;
Byte positions count the &amp;lt;code&amp;gt;61&amp;lt;/code&amp;gt; as byte 0.&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! Bytes !! Content&lt;br /&gt;
|-&lt;br /&gt;
| 0-1 || &amp;lt;code&amp;gt;61 00&amp;lt;/code&amp;gt; (positive reply)&lt;br /&gt;
|-&lt;br /&gt;
| 2 || Varies 117-142. Looks like system voltage x 10 (&#039;&#039;unconfirmed&#039;&#039;)&lt;br /&gt;
|-&lt;br /&gt;
| 12-21 || Sensor record 1: front left&lt;br /&gt;
|-&lt;br /&gt;
| 22-31 || Sensor record 2: rear left&lt;br /&gt;
|-&lt;br /&gt;
| 32-41 || Sensor record 3: rear right&lt;br /&gt;
|-&lt;br /&gt;
| 42-51 || Sensor record 4: front right&lt;br /&gt;
|-&lt;br /&gt;
| 56-71 || Four 4-byte sensor-ID entries whose contents change (meaning unknown)&lt;br /&gt;
|-&lt;br /&gt;
| other || Not decoded&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== Sensor record (10 bytes) ===&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! Offset !! Content&lt;br /&gt;
|-&lt;br /&gt;
| +0 to +3 || Sensor ID&lt;br /&gt;
|-&lt;br /&gt;
| +4 || Position flag&lt;br /&gt;
|-&lt;br /&gt;
| +5 || Value 57-74. Behaves like temperature, possibly with an offset of 40 (&#039;&#039;unconfirmed&#039;&#039;)&lt;br /&gt;
|-&lt;br /&gt;
| +6 || Pressure, gauge: bar = raw x 0.01372 (see Calibration)&lt;br /&gt;
|-&lt;br /&gt;
| +7, +8 || Not understood&lt;br /&gt;
|-&lt;br /&gt;
| +9 || Always 0&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! Wheel !! Sensor ID !! Position flag&lt;br /&gt;
|-&lt;br /&gt;
| Front left || 4E AA 09 43 || 0x10&lt;br /&gt;
|-&lt;br /&gt;
| Rear left || DD 91 B5 25 || 0x20&lt;br /&gt;
|-&lt;br /&gt;
| Rear right || 4E AA 03 19 || 0x18&lt;br /&gt;
|-&lt;br /&gt;
| Front right || 4E AA 09 C9 || 0x08&lt;br /&gt;
|}&lt;br /&gt;
Sensor IDs are specific to one car. Yours will differ.&lt;br /&gt;
&lt;br /&gt;
== Calibration ==&lt;br /&gt;
Byte +6 against gauge readings (bar). The five deflation-test counts were reconstructed from the app&#039;s displayed values.&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! Raw !! Gauge (bar) !! Raw x 0.01372&lt;br /&gt;
|-&lt;br /&gt;
| 136 (rear left) || 1.868 || 1.866&lt;br /&gt;
|-&lt;br /&gt;
| 131 (rear right) || 1.795 || 1.797&lt;br /&gt;
|-&lt;br /&gt;
| 131 (front right) || 1.795 || 1.797&lt;br /&gt;
|-&lt;br /&gt;
| 126 || 1.73 || 1.729&lt;br /&gt;
|-&lt;br /&gt;
| 119 || 1.63 || 1.633&lt;br /&gt;
|-&lt;br /&gt;
| 112 || 1.54 || 1.537&lt;br /&gt;
|-&lt;br /&gt;
| 101 || 1.39 || 1.386&lt;br /&gt;
|-&lt;br /&gt;
| 96 || 1.29 || 1.317&lt;br /&gt;
|}&lt;br /&gt;
The last five rows are from one tyre, the front left, during a slow deflation.&lt;br /&gt;
* bar = raw x 0.01372&lt;br /&gt;
* psi = raw x 0.199&lt;br /&gt;
&lt;br /&gt;
No offset is needed, which suggests the byte holds gauge pressure. All points are within 0.004 bar except the lowest (0.027 bar off), which may be sensor update lag or slight non-linearity. More readings at low and high pressure are needed.&lt;br /&gt;
&lt;br /&gt;
== Torque Pro custom PIDs ==&lt;br /&gt;
Common fields for every wheel:&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! Field !! Value&lt;br /&gt;
|-&lt;br /&gt;
| Header || 798&lt;br /&gt;
|-&lt;br /&gt;
| Mode and PID || 2100&lt;br /&gt;
|-&lt;br /&gt;
| Diagnostic start command || &amp;lt;code&amp;gt;ATS0, ATL0, ATFCSH798, ATFCSD300000, ATFCSM1&amp;lt;/code&amp;gt; (comma-separated)&lt;br /&gt;
|-&lt;br /&gt;
| Unit / min / max || bar, 0, 4 (or psi, 0, 60)&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
Equation uses a letter for each data byte. &amp;lt;code&amp;gt;A&amp;lt;/code&amp;gt; is the first byte after &amp;lt;code&amp;gt;61 00&amp;lt;/code&amp;gt; (reply byte 2).&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! Wheel !! Byte +5 (temperature?) !! Byte +6 (pressure candidate)” to “Byte +6 (pressure)”&lt;br /&gt;
|-&lt;br /&gt;
| Front left || P || Q&lt;br /&gt;
|-&lt;br /&gt;
| Front right || AT || AU&lt;br /&gt;
|-&lt;br /&gt;
| Rear left || Z || AA&lt;br /&gt;
|-&lt;br /&gt;
| Rear right || AJ || AK&lt;br /&gt;
|}&lt;br /&gt;
Example: &amp;lt;code&amp;gt;Q*0.01372&amp;lt;/code&amp;gt;. Letters must be upper case. Whether Torque accepts two-letter variables is &#039;&#039;unconfirmed&#039;&#039;.&lt;br /&gt;
&lt;br /&gt;
=== Known problem ===&lt;br /&gt;
Using dongle 1 (generic Chinese ELM327-based) with Torque Pro on a Lenovo tablet, Torque read bytes &amp;lt;code&amp;gt;A&amp;lt;/code&amp;gt; to &amp;lt;code&amp;gt;D&amp;lt;/code&amp;gt; (first line of the reply) correctly, but every byte from &amp;lt;code&amp;gt;E&amp;lt;/code&amp;gt; onward returned -1, even though a terminal received the full 102 bytes with the same commands. The start-command field is applied (adding &amp;lt;code&amp;gt;ATH1&amp;lt;/code&amp;gt; changed the output). Tried without success: turning off &amp;quot;Faster communication&amp;quot; and removing &amp;lt;code&amp;gt;ATS0&amp;lt;/code&amp;gt;. Not tried: &amp;lt;code&amp;gt;ATAT0, ATSTFF&amp;lt;/code&amp;gt; timeout settings.&lt;br /&gt;
&lt;br /&gt;
Dongle 2 (Veepeak OBDCheck BLE+), also on the tablet, gave the same result. Car Scanner Pro reads every byte with both dongles and the same commands, so the limitation is in how Torque Pro handles this multi-line reply, not in the adapter or the Android device. Unresolved; a request has been posted on the Torque forum.&lt;br /&gt;
&lt;br /&gt;
== Car Scanner Pro (working) ==&lt;br /&gt;
Car Scanner Pro reads all the bytes where Torque Pro fails. Custom PID settings used:&lt;br /&gt;
* Header: 798&lt;br /&gt;
* Request: 2100&lt;br /&gt;
* Start command (backslash-separated): &amp;lt;code&amp;gt;ATAT0\ATSTFF\ATS0\ATL0\ATFCSH798\ATFCSD300000\ATFCSM1&amp;lt;/code&amp;gt;&lt;br /&gt;
* Equations use the same letters as the table above, for example &amp;lt;code&amp;gt;Q*0.01372&amp;lt;/code&amp;gt; for front left (bar)&lt;br /&gt;
&lt;br /&gt;
The start command has not yet been shortened. Tested with dongle 1 (generic ELM327-based) on the XTRONS PX90.&lt;br /&gt;
&lt;br /&gt;
== RealDash ==&lt;br /&gt;
RealDash describes its OBD2 communication in an XML file. With dongle 1, RealDash&#039;s default init plus the lines below works: the TPMS sensors reply, and the values appear in RealDash&#039;s debug view. Dashboard gauges are in progress.&lt;br /&gt;
&lt;br /&gt;
Changes to RealDash&#039;s default file:&lt;br /&gt;
* Add the three flow-control commands to the init section, before the &amp;lt;code&amp;gt;0100&amp;lt;/code&amp;gt; and &amp;lt;code&amp;gt;0120&amp;lt;/code&amp;gt; checks.&lt;br /&gt;
* Every TPMS command sets &amp;lt;code&amp;gt;header=&amp;quot;atsh798&amp;quot;&amp;lt;/code&amp;gt;. The docs say to set the header on every command when the rotation uses more than one. Any standard command in the same rotation then needs &amp;lt;code&amp;gt;header=&amp;quot;atsh7df&amp;quot;&amp;lt;/code&amp;gt;, or it would be sent to 0x798.&lt;br /&gt;
* RealDash requires &amp;lt;code&amp;gt;ATE0&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;ATL0&amp;lt;/code&amp;gt; and &amp;lt;code&amp;gt;ATS0&amp;lt;/code&amp;gt; (already in its default init).&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&amp;lt;init&amp;gt;&lt;br /&gt;
  ... RealDash default init lines ...&lt;br /&gt;
  &amp;lt;command send=&amp;quot;atfcsh798&amp;quot;&amp;gt;&amp;lt;/command&amp;gt;&lt;br /&gt;
  &amp;lt;command send=&amp;quot;atfcsd300000&amp;quot;&amp;gt;&amp;lt;/command&amp;gt;&lt;br /&gt;
  &amp;lt;command send=&amp;quot;atfcsm1&amp;quot;&amp;gt;&amp;lt;/command&amp;gt;&lt;br /&gt;
  &amp;lt;command send=&amp;quot;0100&amp;quot;&amp;gt;&amp;lt;/command&amp;gt;&lt;br /&gt;
  &amp;lt;command send=&amp;quot;0120&amp;quot;&amp;gt;&amp;lt;/command&amp;gt;&lt;br /&gt;
&amp;lt;/init&amp;gt;&lt;br /&gt;
&amp;lt;rotation&amp;gt;&lt;br /&gt;
  &amp;lt;command send=&amp;quot;2100&amp;quot; header=&amp;quot;atsh798&amp;quot; skipCount=&amp;quot;10&amp;quot; keepInRotation=&amp;quot;true&amp;quot; name=&amp;quot;TPMS: front left&amp;quot; units=&amp;quot;bar&amp;quot; conversionABC=&amp;quot;Q*0.01372&amp;quot;&amp;gt;&amp;lt;/command&amp;gt;&lt;br /&gt;
  &amp;lt;command send=&amp;quot;2100&amp;quot; header=&amp;quot;atsh798&amp;quot; skipCount=&amp;quot;11&amp;quot; keepInRotation=&amp;quot;true&amp;quot; name=&amp;quot;TPMS: front right&amp;quot; units=&amp;quot;bar&amp;quot; conversionABC=&amp;quot;AU*0.01372&amp;quot;&amp;gt;&amp;lt;/command&amp;gt;&lt;br /&gt;
  &amp;lt;command send=&amp;quot;2100&amp;quot; header=&amp;quot;atsh798&amp;quot; skipCount=&amp;quot;12&amp;quot; keepInRotation=&amp;quot;true&amp;quot; name=&amp;quot;TPMS: rear left&amp;quot; units=&amp;quot;bar&amp;quot; conversionABC=&amp;quot;AA*0.01372&amp;quot;&amp;gt;&amp;lt;/command&amp;gt;&lt;br /&gt;
  &amp;lt;command send=&amp;quot;2100&amp;quot; header=&amp;quot;atsh798&amp;quot; skipCount=&amp;quot;13&amp;quot; keepInRotation=&amp;quot;true&amp;quot; name=&amp;quot;TPMS: rear right&amp;quot; units=&amp;quot;bar&amp;quot; conversionABC=&amp;quot;AK*0.01372&amp;quot;&amp;gt;&amp;lt;/command&amp;gt;&lt;br /&gt;
&amp;lt;/rotation&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;conversionABC&amp;lt;/code&amp;gt; uses the same letters as Torque and Car Scanner (A is the first byte after 61 00). The TPMS inputs appear in RealDash&#039;s ECU Specific category.&lt;br /&gt;
&lt;br /&gt;
The Veepeak OBDCheck BLE+ (dongle 2) will not connect to the head unit because the head unit does not support BLE, so only dongle 1 was used.&lt;br /&gt;
&lt;br /&gt;
== Other modules found by a full scan ==&lt;br /&gt;
A full health-check scan with a Launch X431 CRP919, captured with PCAN-View on the OBD socket, shows 12 modules answering on the DLC. Every module that replied is listed here. The reply ID is not always the request ID plus 8.&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! Request !! Reply !! Protocol !! Identification replies !! Module !! How identified&lt;br /&gt;
|-&lt;br /&gt;
| 0x7E0 || 0x7E8 || KWP || 33980-78R0, 33980-78RC* || ECM || Standard engine address&lt;br /&gt;
|-&lt;br /&gt;
| 0x261 || 0x661 || KWP || 56100-77RA, 56100-78RF* || ABS (inferred) || Only brake module left by elimination&lt;br /&gt;
|-&lt;br /&gt;
| 0x263 || 0x663 || KWP || 38720-77R0, 38720-77R0* || EPS controller || Parts catalogue&lt;br /&gt;
|-&lt;br /&gt;
| 0x271 || 0x671 || KWP || 36775-77R0, 36775-77RC* || Body control module || Parts catalogue&lt;br /&gt;
|-&lt;br /&gt;
| 0x274 || 0x674 || KWP || 34100-78R0, 34110-78RD* || Instrument cluster || Rev counter sweep test&lt;br /&gt;
|-&lt;br /&gt;
| 0x798 || 0x7A8 || KWP || 37160-61M0, 37120-78R0* || TPMS controller || Label and parts catalogue&lt;br /&gt;
|-&lt;br /&gt;
| 0x79A || 0x7AA || KWP || 37210-74PA, 37210-74PE* || Lighting and turn switch || Parts catalogue&lt;br /&gt;
|-&lt;br /&gt;
| 0x778 || 0x788 || KWP || 33990-52R0, 33990-78R8* || Dual sensor brake support || Parts catalogue&lt;br /&gt;
|-&lt;br /&gt;
| 0x793 || 0x7A3 || UDS || 38910-77R0, 38910-78RC* || Airbag (SRS) controller || Parts catalogue&lt;br /&gt;
|-&lt;br /&gt;
| 0x772 || 0x782 || UDS || 38885-77R0, 38885-78R0* || 4WD shift controller || Parts catalogue&lt;br /&gt;
|-&lt;br /&gt;
| 0x799 || 0x7A9 || UDS || 38960-78RA, 38960-78RA* || E-call controller || Parts catalogue&lt;br /&gt;
|-&lt;br /&gt;
| 0x751 || 0x761 || UDS || 33580-79R0, 33580-78R0* || Central gateway || Label and parts catalogue&lt;br /&gt;
|}&lt;br /&gt;
Reply ID offsets: engine +0x08; 0x261 to 0x274 +0x400; all others +0x10.&lt;br /&gt;
&lt;br /&gt;
* KWP-style modules answer &amp;lt;code&amp;gt;1A 8E&amp;lt;/code&amp;gt; and &amp;lt;code&amp;gt;1A 8A&amp;lt;/code&amp;gt; (identification) and &amp;lt;code&amp;gt;18 00 FF 00&amp;lt;/code&amp;gt; (DTCs). UDS-style modules answer &amp;lt;code&amp;gt;22 F1 01&amp;lt;/code&amp;gt; and &amp;lt;code&amp;gt;22 F1 88&amp;lt;/code&amp;gt; (identification) and &amp;lt;code&amp;gt;19 02 FF&amp;lt;/code&amp;gt; (DTCs).&lt;br /&gt;
* Requests to 0x273 and 0x262 (tester present) got no reply, so those modules are probably not fitted.&lt;br /&gt;
* Two names are inferred and not confirmed by a part label: 0x261 (ABS) and 0x778 (dual sensor brake support). All the others come from the parts catalogue, a label, or a test.&lt;br /&gt;
* The E-call controller (0x799) returned a stored code record (&amp;lt;code&amp;gt;92 4E 00&amp;lt;/code&amp;gt;, status 02) that the Launch report does not list. Its meaning is not known.&lt;br /&gt;
&lt;br /&gt;
=== Instrument cluster output test (0x274 / 0x674) ===&lt;br /&gt;
A rev counter sweep commanded by the Launch X431 appears as a single KWP output-control request, after which the cluster sweeps the needle up and down by itself:&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! Request !! Reply !! Notes&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;3E 00&amp;lt;/code&amp;gt; || &amp;lt;code&amp;gt;7E&amp;lt;/code&amp;gt; || Tester present, about every 2.15 s&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;30 01 07 80 40 00 00&amp;lt;/code&amp;gt; || &amp;lt;code&amp;gt;70 01 07&amp;lt;/code&amp;gt; || Starts the sweep (service 0x30, local ID 01, &amp;quot;short-term adjustment&amp;quot;)&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;30 01 07 80 00 00 00&amp;lt;/code&amp;gt; || &amp;lt;code&amp;gt;7F 30 22&amp;lt;/code&amp;gt; || Refused (&amp;quot;conditions not correct&amp;quot;); possibly a stop request sent after the sweep had finished&lt;br /&gt;
|}&lt;br /&gt;
The meaning of the four control bytes (80 40 00 00) is not known.&lt;br /&gt;
&lt;br /&gt;
* Meaning of reply bytes +5, +7, +8 and the unexplained regions.&lt;br /&gt;
* A more reliable pressure scale (more gauge readings at low and high pressure are needed; the lowest calibration point is 0.027 bar off).&lt;br /&gt;
* Whether the central gateway forwards the request to the TPMS controller or remaps the address.&lt;br /&gt;
* Why Torque Pro stops after the first line of the reply (the adapter is ruled out).&lt;br /&gt;
* The meaning of the control bytes (80 40 00 00) in the instrument cluster sweep command.&lt;br /&gt;
* The meaning of the stored code from the E-call controller.&lt;br /&gt;
* Confirming the ABS (0x261) and dual sensor brake support (0x778) names.&lt;br /&gt;
&lt;br /&gt;
== Sources ==&lt;br /&gt;
* Owner PCAN-View captures, October 2026.&lt;br /&gt;
* Suzuki wiring diagrams: A-8 CAN communication system; A-8 Central Gateway Control and DLC System (RHD).&lt;br /&gt;
* Forum thread &amp;quot;Jimny JB74 (2019+) - Torque Pro PID for TPMS&amp;quot;.&lt;br /&gt;
* BigJimny forum thread &amp;quot;JB74 OBD2 connection&amp;quot; (December 2020).&lt;br /&gt;
* Suzuki Jimny parts catalogue 9900B-40312-004 (type 1, October 2021), figures 350A, 351A and 351B.&lt;br /&gt;
* RealDash-extras OBD2 documentation (OBD2 XML description file).&lt;br /&gt;
* Car Scanner ELM OBD2 custom PID documentation.&lt;br /&gt;
&lt;br /&gt;
[[Category:Jimny technical]]&lt;br /&gt;
[[Category:JB74]]&lt;br /&gt;
[[Category:Electrical - gen3]]&lt;br /&gt;
[[Category:FAQ - gen3]]&lt;br /&gt;
[[Category:Howto - gen3]]&lt;br /&gt;
&lt;br /&gt;
[[Category:Electrical - gen4]]&lt;br /&gt;
[[Category:FAQ - gen4]]&lt;br /&gt;
[[Category:Howto - gen4]]&lt;/div&gt;</summary>
		<author><name>Mlines</name></author>
	</entry>
	<entry>
		<id>https://www.bigjimny.com/mediawiki/index.php?title=OBD2_Diagnostics_reading_project&amp;diff=10094</id>
		<title>OBD2 Diagnostics reading project</title>
		<link rel="alternate" type="text/html" href="https://www.bigjimny.com/mediawiki/index.php?title=OBD2_Diagnostics_reading_project&amp;diff=10094"/>
		<updated>2026-11-01T10:52:38Z</updated>

		<summary type="html">&lt;p&gt;Mlines: /* Known problem */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;= Suzuki Jimny JB74 (2018+) - Reading TPMS data over the diagnostic CAN link =&lt;br /&gt;
&lt;br /&gt;
{{Donate}}&lt;br /&gt;
== Overview ==&lt;br /&gt;
Purpose-built diagnostic tools (Autel, Launch and similar) already support Suzuki comprehensively. There is also a trend towards replacing the factory head unit with an Android media unit that can run apps to read and display information from the car&#039;s electronics. These units are not Suzuki-specific, so this project aims to learn how to read vehicle data (starting with the factory TPMS) and show it on the head unit.&lt;br /&gt;
&lt;br /&gt;
=== Equipment ===&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! Role !! Item&lt;br /&gt;
|-&lt;br /&gt;
| Head unit || XTRONS PX90&lt;br /&gt;
|-&lt;br /&gt;
| OBD-II Bluetooth dongle 1 || Generic ELM-based (Chinese)&lt;br /&gt;
|-&lt;br /&gt;
| OBD-II Bluetooth dongle 2 || Veepeak OBDCheck BLE+ (BLE only; works on a Lenovo tablet, will not connect to the head unit)&lt;br /&gt;
|-&lt;br /&gt;
| CAN bus monitor (Windows) || PCAN-View (PEAK-System)&lt;br /&gt;
|-&lt;br /&gt;
| Diagnostic tool 1 || Launch X431 CRP919&lt;br /&gt;
|-&lt;br /&gt;
| Diagnostic tool 2 || SZ Viewer app&lt;br /&gt;
|-&lt;br /&gt;
| Head-unit apps tried || Torque Pro (fails past the first line), RealDash (TPMS values seen in its debug view; gauges in progress), Car Scanner Pro (works)&lt;br /&gt;
|-&lt;br /&gt;
| Head-unit Bluetooth || xTRONS IP90  - Classic Bluetooth only, no BLE support&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== Method ===&lt;br /&gt;
# The diagnostic tools (Launch X431, SZ Viewer) have comprehensive Suzuki support, so they are used to generate the CAN bus requests.&lt;br /&gt;
# PCAN-View is connected to the OBD socket to capture the requests and the module&#039;s replies, which are then decoded by hand.&lt;br /&gt;
# The decoded requests are recreated in the head-unit apps so the head unit can ask the car for the same data directly.&lt;br /&gt;
&#039;&#039;&#039;Status:&#039;&#039;&#039; work in progress. Based on one RHD UK-market 2021 Jimny with factory TPMS, owner-made PCAN-View captures (including a full Launch scan and an instrument cluster test), the Suzuki wiring diagrams (A-8 CAN communication and A-8 Central Gateway/DLC) and the Suzuki parts catalogue. TPMS readings work in Car Scanner Pro; RealDash works in its debug view with gauges in progress. Items marked &#039;&#039;unconfirmed&#039;&#039; are not yet verified.&lt;br /&gt;
&lt;br /&gt;
* The TPMS control module answers an ordinary diagnostic request on the OBD socket. It does not broadcast tyre data.&lt;br /&gt;
* Request ID &#039;&#039;&#039;0x798&#039;&#039;&#039;, reply ID &#039;&#039;&#039;0x7A8&#039;&#039;&#039; (11-bit CAN, 500 kbit/s, ISO-TP framing) returns the TPMS data, including four sensor IDs and pressure readings. The module&#039;s identification reply (37160-61M0) matches the Model No. (P61M0) on the TPMS controller label. Whether the central gateway forwards or remaps the request is unconfirmed.&lt;br /&gt;
* Service &#039;&#039;&#039;0x21&#039;&#039;&#039; (read data by local identifier), identifier &#039;&#039;&#039;0x00&#039;&#039;&#039;, returns 102 bytes containing all four sensor records.&lt;br /&gt;
* Pressure is byte +6 of each sensor record: bar = raw x 0.01372.&lt;br /&gt;
* The OBD socket is fed by a central gateway, so only diagnostic traffic is visible on it.&lt;br /&gt;
* Working: Car Scanner Pro, and RealDash (values seen in its debug view). Not working: Torque Pro.&lt;br /&gt;
&lt;br /&gt;
== DLC (OBD socket) wiring ==&lt;br /&gt;
The service-manual diagram numbers the DLC terminals differently from SAE J1962. In all five cases on the diagram, manual terminal &#039;&#039;n&#039;&#039; matches standard pin &#039;&#039;17 - n&#039;&#039;.&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! Manual terminal !! Standard pin !! Function !! Wire / source on diagram&lt;br /&gt;
|-&lt;br /&gt;
| 1 || 16 || Battery +12 V || GRY, fuse No.49 &amp;quot;DOME2&amp;quot; (10 A)&lt;br /&gt;
|-&lt;br /&gt;
| 12 || 5 || Signal ground || BLK&lt;br /&gt;
|-&lt;br /&gt;
| 13 || 4 || Chassis ground || BLK&lt;br /&gt;
|-&lt;br /&gt;
| 11 || 6 || CAN-H (from standard assignment) || BLU, gateway pin 8&lt;br /&gt;
|-&lt;br /&gt;
| 3 || 14 || CAN-L (from standard assignment) || WHT, gateway pin 7&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
Use pins &#039;&#039;&#039;6&#039;&#039;&#039; and &#039;&#039;&#039;14&#039;&#039;&#039; for a CAN adapter. The diagram does not label CAN-H and CAN-L itself.&lt;br /&gt;
&lt;br /&gt;
=== Cross-check with other reports ===&lt;br /&gt;
A BigJimny forum thread (&amp;quot;JB74 OBD2 connection&amp;quot;, December 2020) describes a 2020 JB74 whose OBD plug had pins 4, 5, 6, 14, 15 and 16 wired, with pin 7 (K-line) not wired. The poster, quoting an older Suzuki pinout, lists pin 6 as a blue wire (CAN-H) and pin 14 as a white wire (CAN-L). This matches the table above: a blue CAN wire on pin 6 and a white one on pin 14.&lt;br /&gt;
&lt;br /&gt;
* The CAN-H/CAN-L assignment in that thread comes from a pinout reference that the poster says predates the JB74, so it is a report, not a measurement.&lt;br /&gt;
* No wire for standard pin 7 (K-line) appears on the diagram page above, and the forum report also found it unwired. K-line is therefore unlikely to be available on the JB74 socket.&lt;br /&gt;
* On the forum poster&#039;s car, pin 15 was also wired; the diagram page above shows no wire for it. This may be a market or model-year difference.&lt;br /&gt;
&lt;br /&gt;
== Network layout ==&lt;br /&gt;
The DLC is not on the vehicle bus directly. The &#039;&#039;&#039;central gateway control module&#039;&#039;&#039; joins the vehicle CAN bus (its pins 20 and 21, RED/WHT) and provides a separate CAN pair to the DLC (its pins 8 and 7, BLU/WHT).&lt;br /&gt;
&lt;br /&gt;
Modules on the vehicle bus (diagram): ECM, 4WD control module, TCM (A/T models), BCM, ESP control module, headlight auto levelling module (if equipped), dual sensor brake support control module (if equipped), P/S control module, steering angle sensor, TPMS control module / receiver (if equipped), combination meter, SDM, combination switch.&lt;br /&gt;
&lt;br /&gt;
Gateway power: fuse No.60 &amp;quot;IG1 SIG&amp;quot; (10 A) and fuse No.52 &amp;quot;CONT&amp;quot; (5 A). Treat the ignition as needing to be on.&lt;br /&gt;
&lt;br /&gt;
Observation: two captures from the DLC contained only IDs 0x798 and 0x7A8 (plus two error frames). No broadcast traffic from other modules was seen, so passive listening on the DLC will not show TPMS data.&lt;br /&gt;
&lt;br /&gt;
== Diagnostic requests seen ==&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! Request !! Reply !! Meaning&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;3E&amp;lt;/code&amp;gt; || &amp;lt;code&amp;gt;7E&amp;lt;/code&amp;gt; || Tester present&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;1A 8A&amp;lt;/code&amp;gt; || &amp;lt;code&amp;gt;5A 8A&amp;lt;/code&amp;gt; + ASCII &amp;lt;code&amp;gt;37120-78R0*&amp;lt;/code&amp;gt; || ECU identification&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;1A 8E&amp;lt;/code&amp;gt; || &amp;lt;code&amp;gt;5A 8E&amp;lt;/code&amp;gt; + ASCII &amp;lt;code&amp;gt;37160-61M0&amp;lt;/code&amp;gt; || ECU identification: matches the &amp;quot;Model No. P61M0&amp;quot; printed on the TPMS controller label&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;18 00 FF 00&amp;lt;/code&amp;gt; || &amp;lt;code&amp;gt;58 00&amp;lt;/code&amp;gt; or &amp;lt;code&amp;gt;58 01 9A 31 E0&amp;lt;/code&amp;gt; || Read DTCs by status (second form = one code reported; not decoded)&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;21 00&amp;lt;/code&amp;gt; || &amp;lt;code&amp;gt;61 00&amp;lt;/code&amp;gt; + 100 bytes || Sensor data block (repeated about twice a second by the scan tool)&lt;br /&gt;
|}&lt;br /&gt;
Part labels on the test car: TPMS controller 37160-78R00, &amp;quot;BASE ASSY-TPMS&amp;quot;, Model No. P61M0, Continental A2C13930301, 433.92 MHz; central gateway controller 33580-79R01. The &amp;lt;code&amp;gt;1A 8E&amp;lt;/code&amp;gt; reply (37160-61M0) matches the TPMS controller&#039;s base number and model number; the &amp;lt;code&amp;gt;1A 8A&amp;lt;/code&amp;gt; reply (37120-78R0*) shares &amp;quot;78R0&amp;quot; with the full part number, but its meaning is not confirmed.&lt;br /&gt;
&lt;br /&gt;
A Launch full scan reported &amp;quot;Left Front Tire Pressure Low&amp;quot; for the TPMS module, and the module returned one stored code (&amp;lt;code&amp;gt;9A 31&amp;lt;/code&amp;gt;) in the same scan. That code is probably the low-pressure warning (inferred; the report does not show the code itself).&lt;br /&gt;
&lt;br /&gt;
== Reading it with an ELM327 ==&lt;br /&gt;
Terminal commands, one at a time (CR line ending):&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
ATZ&lt;br /&gt;
ATSP6&lt;br /&gt;
ATSH798&lt;br /&gt;
ATS0&lt;br /&gt;
ATL0&lt;br /&gt;
ATFCSH798&lt;br /&gt;
ATFCSD300000&lt;br /&gt;
ATFCSM1&lt;br /&gt;
2100&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
* &amp;lt;code&amp;gt;ATSH798&amp;lt;/code&amp;gt; sets the request address. The reply address (0x7A8) is worked out automatically.&lt;br /&gt;
* &amp;lt;code&amp;gt;ATFCSH798 / ATFCSD300000 / ATFCSM1&amp;lt;/code&amp;gt; make the adapter send the ISO-TP flow-control frame (30 00 00) itself.&lt;br /&gt;
* &amp;lt;code&amp;gt;ATS0&amp;lt;/code&amp;gt; removes the spaces between bytes. Without it, the generic Chinese ELM327-based dongle (dongle 1) reported &amp;lt;code&amp;gt;BUFFER FULL&amp;lt;/code&amp;gt; near byte 81.&lt;br /&gt;
* Expected output: a length line (&amp;lt;code&amp;gt;066&amp;lt;/code&amp;gt; = 102 bytes) and numbered lines &amp;lt;code&amp;gt;0:&amp;lt;/code&amp;gt; to &amp;lt;code&amp;gt;E:&amp;lt;/code&amp;gt;.&lt;br /&gt;
* With default settings dongle 1 returned only the first line (&amp;lt;code&amp;gt;61 00 xx 01 00 00&amp;lt;/code&amp;gt;).&lt;br /&gt;
&lt;br /&gt;
== Reply layout (21 00) ==&lt;br /&gt;
Byte positions count the &amp;lt;code&amp;gt;61&amp;lt;/code&amp;gt; as byte 0.&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! Bytes !! Content&lt;br /&gt;
|-&lt;br /&gt;
| 0-1 || &amp;lt;code&amp;gt;61 00&amp;lt;/code&amp;gt; (positive reply)&lt;br /&gt;
|-&lt;br /&gt;
| 2 || Varies 117-142. Looks like system voltage x 10 (&#039;&#039;unconfirmed&#039;&#039;)&lt;br /&gt;
|-&lt;br /&gt;
| 12-21 || Sensor record 1: front left&lt;br /&gt;
|-&lt;br /&gt;
| 22-31 || Sensor record 2: rear left&lt;br /&gt;
|-&lt;br /&gt;
| 32-41 || Sensor record 3: rear right&lt;br /&gt;
|-&lt;br /&gt;
| 42-51 || Sensor record 4: front right&lt;br /&gt;
|-&lt;br /&gt;
| 56-71 || Four 4-byte sensor-ID entries whose contents change (meaning unknown)&lt;br /&gt;
|-&lt;br /&gt;
| other || Not decoded&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== Sensor record (10 bytes) ===&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! Offset !! Content&lt;br /&gt;
|-&lt;br /&gt;
| +0 to +3 || Sensor ID&lt;br /&gt;
|-&lt;br /&gt;
| +4 || Position flag&lt;br /&gt;
|-&lt;br /&gt;
| +5 || Value 57-74. Behaves like temperature, possibly with an offset of 40 (&#039;&#039;unconfirmed&#039;&#039;)&lt;br /&gt;
|-&lt;br /&gt;
| +6 || Pressure, gauge: bar = raw x 0.01372 (see Calibration)&lt;br /&gt;
|-&lt;br /&gt;
| +7, +8 || Not understood&lt;br /&gt;
|-&lt;br /&gt;
| +9 || Always 0&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! Wheel !! Sensor ID !! Position flag&lt;br /&gt;
|-&lt;br /&gt;
| Front left || 4E AA 09 43 || 0x10&lt;br /&gt;
|-&lt;br /&gt;
| Rear left || DD 91 B5 25 || 0x20&lt;br /&gt;
|-&lt;br /&gt;
| Rear right || 4E AA 03 19 || 0x18&lt;br /&gt;
|-&lt;br /&gt;
| Front right || 4E AA 09 C9 || 0x08&lt;br /&gt;
|}&lt;br /&gt;
Sensor IDs are specific to one car. Yours will differ.&lt;br /&gt;
&lt;br /&gt;
== Calibration ==&lt;br /&gt;
Byte +6 against gauge readings (bar). The five deflation-test counts were reconstructed from the app&#039;s displayed values.&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! Raw !! Gauge (bar) !! Raw x 0.01372&lt;br /&gt;
|-&lt;br /&gt;
| 136 (rear left) || 1.868 || 1.866&lt;br /&gt;
|-&lt;br /&gt;
| 131 (rear right) || 1.795 || 1.797&lt;br /&gt;
|-&lt;br /&gt;
| 131 (front right) || 1.795 || 1.797&lt;br /&gt;
|-&lt;br /&gt;
| 126 || 1.73 || 1.729&lt;br /&gt;
|-&lt;br /&gt;
| 119 || 1.63 || 1.633&lt;br /&gt;
|-&lt;br /&gt;
| 112 || 1.54 || 1.537&lt;br /&gt;
|-&lt;br /&gt;
| 101 || 1.39 || 1.386&lt;br /&gt;
|-&lt;br /&gt;
| 96 || 1.29 || 1.317&lt;br /&gt;
|}&lt;br /&gt;
The last five rows are from one tyre, the front left, during a slow deflation.&lt;br /&gt;
* bar = raw x 0.01372&lt;br /&gt;
* psi = raw x 0.199&lt;br /&gt;
&lt;br /&gt;
No offset is needed, which suggests the byte holds gauge pressure. All points are within 0.004 bar except the lowest (0.027 bar off), which may be sensor update lag or slight non-linearity. More readings at low and high pressure are needed.&lt;br /&gt;
&lt;br /&gt;
== Torque Pro custom PIDs ==&lt;br /&gt;
Common fields for every wheel:&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! Field !! Value&lt;br /&gt;
|-&lt;br /&gt;
| Header || 798&lt;br /&gt;
|-&lt;br /&gt;
| Mode and PID || 2100&lt;br /&gt;
|-&lt;br /&gt;
| Diagnostic start command || &amp;lt;code&amp;gt;ATS0, ATL0, ATFCSH798, ATFCSD300000, ATFCSM1&amp;lt;/code&amp;gt; (comma-separated)&lt;br /&gt;
|-&lt;br /&gt;
| Unit / min / max || bar, 0, 4 (or psi, 0, 60)&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
Equation uses a letter for each data byte. &amp;lt;code&amp;gt;A&amp;lt;/code&amp;gt; is the first byte after &amp;lt;code&amp;gt;61 00&amp;lt;/code&amp;gt; (reply byte 2).&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! Wheel !! Byte +5 (temperature?) !! Byte +6 (pressure candidate)” to “Byte +6 (pressure)”&lt;br /&gt;
|-&lt;br /&gt;
| Front left || P || Q&lt;br /&gt;
|-&lt;br /&gt;
| Front right || AT || AU&lt;br /&gt;
|-&lt;br /&gt;
| Rear left || Z || AA&lt;br /&gt;
|-&lt;br /&gt;
| Rear right || AJ || AK&lt;br /&gt;
|}&lt;br /&gt;
Example: &amp;lt;code&amp;gt;Q*0.01372&amp;lt;/code&amp;gt;. Letters must be upper case. Whether Torque accepts two-letter variables is &#039;&#039;unconfirmed&#039;&#039;.&lt;br /&gt;
&lt;br /&gt;
=== Known problem ===&lt;br /&gt;
Using dongle 1 (generic Chinese ELM327-based) with Torque Pro on a Lenovo tablet, Torque read bytes &amp;lt;code&amp;gt;A&amp;lt;/code&amp;gt; to &amp;lt;code&amp;gt;D&amp;lt;/code&amp;gt; (first line of the reply) correctly, but every byte from &amp;lt;code&amp;gt;E&amp;lt;/code&amp;gt; onward returned -1, even though a terminal received the full 102 bytes with the same commands. The start-command field is applied (adding &amp;lt;code&amp;gt;ATH1&amp;lt;/code&amp;gt; changed the output). Tried without success: turning off &amp;quot;Faster communication&amp;quot; and removing &amp;lt;code&amp;gt;ATS0&amp;lt;/code&amp;gt;. Not tried: &amp;lt;code&amp;gt;ATAT0, ATSTFF&amp;lt;/code&amp;gt; timeout settings.&lt;br /&gt;
&lt;br /&gt;
Dongle 2 (Veepeak OBDCheck BLE+), also on the tablet, gave the same result. Car Scanner Pro reads every byte with both dongles and the same commands, so the limitation is in how Torque Pro handles this multi-line reply, not in the adapter or the Android device. Unresolved; a request has been posted on the Torque forum.&lt;br /&gt;
&lt;br /&gt;
== Car Scanner Pro (working) ==&lt;br /&gt;
Car Scanner Pro reads all the bytes where Torque Pro fails. Custom PID settings used:&lt;br /&gt;
* Header: 798&lt;br /&gt;
* Request: 2100&lt;br /&gt;
* Start command (backslash-separated): &amp;lt;code&amp;gt;ATAT0\ATSTFF\ATS0\ATL0\ATFCSH798\ATFCSD300000\ATFCSM1&amp;lt;/code&amp;gt;&lt;br /&gt;
* Equations use the same letters as the table above, for example &amp;lt;code&amp;gt;Q*0.01372&amp;lt;/code&amp;gt; for front left (bar)&lt;br /&gt;
&lt;br /&gt;
The start command has not yet been shortened. Tested with dongle 1 (generic ELM327-based) on the XTRONS PX90.&lt;br /&gt;
&lt;br /&gt;
== RealDash ==&lt;br /&gt;
RealDash describes its OBD2 communication in an XML file. With dongle 1, RealDash&#039;s default init plus the lines below works: the TPMS sensors reply, and the values appear in RealDash&#039;s debug view. Dashboard gauges are in progress.&lt;br /&gt;
&lt;br /&gt;
Changes to RealDash&#039;s default file:&lt;br /&gt;
* Add the three flow-control commands to the init section, before the &amp;lt;code&amp;gt;0100&amp;lt;/code&amp;gt; and &amp;lt;code&amp;gt;0120&amp;lt;/code&amp;gt; checks.&lt;br /&gt;
* Every TPMS command sets &amp;lt;code&amp;gt;header=&amp;quot;atsh798&amp;quot;&amp;lt;/code&amp;gt;. The docs say to set the header on every command when the rotation uses more than one. Any standard command in the same rotation then needs &amp;lt;code&amp;gt;header=&amp;quot;atsh7df&amp;quot;&amp;lt;/code&amp;gt;, or it would be sent to 0x798.&lt;br /&gt;
* RealDash requires &amp;lt;code&amp;gt;ATE0&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;ATL0&amp;lt;/code&amp;gt; and &amp;lt;code&amp;gt;ATS0&amp;lt;/code&amp;gt; (already in its default init).&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&amp;lt;init&amp;gt;&lt;br /&gt;
  ... RealDash default init lines ...&lt;br /&gt;
  &amp;lt;command send=&amp;quot;atfcsh798&amp;quot;&amp;gt;&amp;lt;/command&amp;gt;&lt;br /&gt;
  &amp;lt;command send=&amp;quot;atfcsd300000&amp;quot;&amp;gt;&amp;lt;/command&amp;gt;&lt;br /&gt;
  &amp;lt;command send=&amp;quot;atfcsm1&amp;quot;&amp;gt;&amp;lt;/command&amp;gt;&lt;br /&gt;
  &amp;lt;command send=&amp;quot;0100&amp;quot;&amp;gt;&amp;lt;/command&amp;gt;&lt;br /&gt;
  &amp;lt;command send=&amp;quot;0120&amp;quot;&amp;gt;&amp;lt;/command&amp;gt;&lt;br /&gt;
&amp;lt;/init&amp;gt;&lt;br /&gt;
&amp;lt;rotation&amp;gt;&lt;br /&gt;
  &amp;lt;command send=&amp;quot;2100&amp;quot; header=&amp;quot;atsh798&amp;quot; skipCount=&amp;quot;10&amp;quot; keepInRotation=&amp;quot;true&amp;quot; name=&amp;quot;TPMS: front left&amp;quot; units=&amp;quot;bar&amp;quot; conversionABC=&amp;quot;Q*0.01372&amp;quot;&amp;gt;&amp;lt;/command&amp;gt;&lt;br /&gt;
  &amp;lt;command send=&amp;quot;2100&amp;quot; header=&amp;quot;atsh798&amp;quot; skipCount=&amp;quot;11&amp;quot; keepInRotation=&amp;quot;true&amp;quot; name=&amp;quot;TPMS: front right&amp;quot; units=&amp;quot;bar&amp;quot; conversionABC=&amp;quot;AU*0.01372&amp;quot;&amp;gt;&amp;lt;/command&amp;gt;&lt;br /&gt;
  &amp;lt;command send=&amp;quot;2100&amp;quot; header=&amp;quot;atsh798&amp;quot; skipCount=&amp;quot;12&amp;quot; keepInRotation=&amp;quot;true&amp;quot; name=&amp;quot;TPMS: rear left&amp;quot; units=&amp;quot;bar&amp;quot; conversionABC=&amp;quot;AA*0.01372&amp;quot;&amp;gt;&amp;lt;/command&amp;gt;&lt;br /&gt;
  &amp;lt;command send=&amp;quot;2100&amp;quot; header=&amp;quot;atsh798&amp;quot; skipCount=&amp;quot;13&amp;quot; keepInRotation=&amp;quot;true&amp;quot; name=&amp;quot;TPMS: rear right&amp;quot; units=&amp;quot;bar&amp;quot; conversionABC=&amp;quot;AK*0.01372&amp;quot;&amp;gt;&amp;lt;/command&amp;gt;&lt;br /&gt;
&amp;lt;/rotation&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;conversionABC&amp;lt;/code&amp;gt; uses the same letters as Torque and Car Scanner (A is the first byte after 61 00). The TPMS inputs appear in RealDash&#039;s ECU Specific category.&lt;br /&gt;
&lt;br /&gt;
The Veepeak OBDCheck BLE+ (dongle 2) will not connect to the head unit because the head unit does not support BLE, so only dongle 1 was used.&lt;br /&gt;
&lt;br /&gt;
== Other modules found by a full scan ==&lt;br /&gt;
A full health-check scan with a Launch X431 CRP919, captured with PCAN-View on the OBD socket, shows 12 modules answering on the DLC. Every module that replied is listed here. The reply ID is not always the request ID plus 8.&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! Request !! Reply !! Protocol !! Identification replies !! Module !! How identified&lt;br /&gt;
|-&lt;br /&gt;
| 0x7E0 || 0x7E8 || KWP || 33980-78R0, 33980-78RC* || ECM || Standard engine address&lt;br /&gt;
|-&lt;br /&gt;
| 0x261 || 0x661 || KWP || 56100-77RA, 56100-78RF* || ABS (inferred) || Only brake module left by elimination&lt;br /&gt;
|-&lt;br /&gt;
| 0x263 || 0x663 || KWP || 38720-77R0, 38720-77R0* || EPS controller || Parts catalogue&lt;br /&gt;
|-&lt;br /&gt;
| 0x271 || 0x671 || KWP || 36775-77R0, 36775-77RC* || Body control module || Parts catalogue&lt;br /&gt;
|-&lt;br /&gt;
| 0x274 || 0x674 || KWP || 34100-78R0, 34110-78RD* || Instrument cluster || Rev counter sweep test&lt;br /&gt;
|-&lt;br /&gt;
| 0x798 || 0x7A8 || KWP || 37160-61M0, 37120-78R0* || TPMS controller || Label and parts catalogue&lt;br /&gt;
|-&lt;br /&gt;
| 0x79A || 0x7AA || KWP || 37210-74PA, 37210-74PE* || Lighting and turn switch || Parts catalogue&lt;br /&gt;
|-&lt;br /&gt;
| 0x778 || 0x788 || KWP || 33990-52R0, 33990-78R8* || Dual sensor brake support || Parts catalogue&lt;br /&gt;
|-&lt;br /&gt;
| 0x793 || 0x7A3 || UDS || 38910-77R0, 38910-78RC* || Airbag (SRS) controller || Parts catalogue&lt;br /&gt;
|-&lt;br /&gt;
| 0x772 || 0x782 || UDS || 38885-77R0, 38885-78R0* || 4WD shift controller || Parts catalogue&lt;br /&gt;
|-&lt;br /&gt;
| 0x799 || 0x7A9 || UDS || 38960-78RA, 38960-78RA* || E-call controller || Parts catalogue&lt;br /&gt;
|-&lt;br /&gt;
| 0x751 || 0x761 || UDS || 33580-79R0, 33580-78R0* || Central gateway || Label and parts catalogue&lt;br /&gt;
|}&lt;br /&gt;
Reply ID offsets: engine +0x08; 0x261 to 0x274 +0x400; all others +0x10.&lt;br /&gt;
&lt;br /&gt;
* KWP-style modules answer &amp;lt;code&amp;gt;1A 8E&amp;lt;/code&amp;gt; and &amp;lt;code&amp;gt;1A 8A&amp;lt;/code&amp;gt; (identification) and &amp;lt;code&amp;gt;18 00 FF 00&amp;lt;/code&amp;gt; (DTCs). UDS-style modules answer &amp;lt;code&amp;gt;22 F1 01&amp;lt;/code&amp;gt; and &amp;lt;code&amp;gt;22 F1 88&amp;lt;/code&amp;gt; (identification) and &amp;lt;code&amp;gt;19 02 FF&amp;lt;/code&amp;gt; (DTCs).&lt;br /&gt;
* Requests to 0x273 and 0x262 (tester present) got no reply, so those modules are probably not fitted.&lt;br /&gt;
* Two names are inferred and not confirmed by a part label: 0x261 (ABS) and 0x778 (dual sensor brake support). All the others come from the parts catalogue, a label, or a test.&lt;br /&gt;
* The E-call controller (0x799) returned a stored code record (&amp;lt;code&amp;gt;92 4E 00&amp;lt;/code&amp;gt;, status 02) that the Launch report does not list. Its meaning is not known.&lt;br /&gt;
&lt;br /&gt;
=== Instrument cluster output test (0x274 / 0x674) ===&lt;br /&gt;
A rev counter sweep commanded by the Launch X431 appears as a single KWP output-control request, after which the cluster sweeps the needle up and down by itself:&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! Request !! Reply !! Notes&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;3E 00&amp;lt;/code&amp;gt; || &amp;lt;code&amp;gt;7E&amp;lt;/code&amp;gt; || Tester present, about every 2.15 s&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;30 01 07 80 40 00 00&amp;lt;/code&amp;gt; || &amp;lt;code&amp;gt;70 01 07&amp;lt;/code&amp;gt; || Starts the sweep (service 0x30, local ID 01, &amp;quot;short-term adjustment&amp;quot;)&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;30 01 07 80 00 00 00&amp;lt;/code&amp;gt; || &amp;lt;code&amp;gt;7F 30 22&amp;lt;/code&amp;gt; || Refused (&amp;quot;conditions not correct&amp;quot;); possibly a stop request sent after the sweep had finished&lt;br /&gt;
|}&lt;br /&gt;
The meaning of the four control bytes (80 40 00 00) is not known.&lt;br /&gt;
&lt;br /&gt;
* Meaning of reply bytes +5, +7, +8 and the unexplained regions.&lt;br /&gt;
* A more reliable pressure scale (more gauge readings at low and high pressure are needed; the lowest calibration point is 0.027 bar off).&lt;br /&gt;
* Whether the central gateway forwards the request to the TPMS controller or remaps the address.&lt;br /&gt;
* Why Torque Pro stops after the first line of the reply (the adapter is ruled out).&lt;br /&gt;
* The meaning of the control bytes (80 40 00 00) in the instrument cluster sweep command.&lt;br /&gt;
* The meaning of the stored code from the E-call controller.&lt;br /&gt;
* Confirming the ABS (0x261) and dual sensor brake support (0x778) names.&lt;br /&gt;
&lt;br /&gt;
== Sources ==&lt;br /&gt;
* Owner PCAN-View captures, October 2026.&lt;br /&gt;
* Suzuki wiring diagrams: A-8 CAN communication system; A-8 Central Gateway Control and DLC System (RHD).&lt;br /&gt;
* Forum thread &amp;quot;Jimny JB74 (2019+) - Torque Pro PID for TPMS&amp;quot;.&lt;br /&gt;
* BigJimny forum thread &amp;quot;JB74 OBD2 connection&amp;quot; (December 2020).&lt;br /&gt;
* Suzuki Jimny parts catalogue 9900B-40312-004 (type 1, October 2021), figures 350A, 351A and 351B.&lt;br /&gt;
* RealDash-extras OBD2 documentation (OBD2 XML description file).&lt;br /&gt;
* Car Scanner ELM OBD2 custom PID documentation.&lt;br /&gt;
&lt;br /&gt;
[[Category:Jimny technical]]&lt;br /&gt;
[[Category:JB74]]&lt;br /&gt;
[[Category:Electrical - gen3]]&lt;br /&gt;
[[Category:FAQ - gen3]]&lt;br /&gt;
[[Category:Howto - gen3]]&lt;br /&gt;
&lt;br /&gt;
[[Category:Electrical - gen4]]&lt;br /&gt;
[[Category:FAQ - gen4]]&lt;br /&gt;
[[Category:Howto - gen4]]&lt;/div&gt;</summary>
		<author><name>Mlines</name></author>
	</entry>
	<entry>
		<id>https://www.bigjimny.com/mediawiki/index.php?title=OBD2_Diagnostics_reading_project&amp;diff=10093</id>
		<title>OBD2 Diagnostics reading project</title>
		<link rel="alternate" type="text/html" href="https://www.bigjimny.com/mediawiki/index.php?title=OBD2_Diagnostics_reading_project&amp;diff=10093"/>
		<updated>2026-11-01T10:51:10Z</updated>

		<summary type="html">&lt;p&gt;Mlines: /* RealDash */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;= Suzuki Jimny JB74 (2018+) - Reading TPMS data over the diagnostic CAN link =&lt;br /&gt;
&lt;br /&gt;
{{Donate}}&lt;br /&gt;
== Overview ==&lt;br /&gt;
Purpose-built diagnostic tools (Autel, Launch and similar) already support Suzuki comprehensively. There is also a trend towards replacing the factory head unit with an Android media unit that can run apps to read and display information from the car&#039;s electronics. These units are not Suzuki-specific, so this project aims to learn how to read vehicle data (starting with the factory TPMS) and show it on the head unit.&lt;br /&gt;
&lt;br /&gt;
=== Equipment ===&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! Role !! Item&lt;br /&gt;
|-&lt;br /&gt;
| Head unit || XTRONS PX90&lt;br /&gt;
|-&lt;br /&gt;
| OBD-II Bluetooth dongle 1 || Generic ELM-based (Chinese)&lt;br /&gt;
|-&lt;br /&gt;
| OBD-II Bluetooth dongle 2 || Veepeak OBDCheck BLE+ (BLE only; works on a Lenovo tablet, will not connect to the head unit)&lt;br /&gt;
|-&lt;br /&gt;
| CAN bus monitor (Windows) || PCAN-View (PEAK-System)&lt;br /&gt;
|-&lt;br /&gt;
| Diagnostic tool 1 || Launch X431 CRP919&lt;br /&gt;
|-&lt;br /&gt;
| Diagnostic tool 2 || SZ Viewer app&lt;br /&gt;
|-&lt;br /&gt;
| Head-unit apps tried || Torque Pro (fails past the first line), RealDash (TPMS values seen in its debug view; gauges in progress), Car Scanner Pro (works)&lt;br /&gt;
|-&lt;br /&gt;
| Head-unit Bluetooth || xTRONS IP90  - Classic Bluetooth only, no BLE support&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== Method ===&lt;br /&gt;
# The diagnostic tools (Launch X431, SZ Viewer) have comprehensive Suzuki support, so they are used to generate the CAN bus requests.&lt;br /&gt;
# PCAN-View is connected to the OBD socket to capture the requests and the module&#039;s replies, which are then decoded by hand.&lt;br /&gt;
# The decoded requests are recreated in the head-unit apps so the head unit can ask the car for the same data directly.&lt;br /&gt;
&#039;&#039;&#039;Status:&#039;&#039;&#039; work in progress. Based on one RHD UK-market 2021 Jimny with factory TPMS, owner-made PCAN-View captures (including a full Launch scan and an instrument cluster test), the Suzuki wiring diagrams (A-8 CAN communication and A-8 Central Gateway/DLC) and the Suzuki parts catalogue. TPMS readings work in Car Scanner Pro; RealDash works in its debug view with gauges in progress. Items marked &#039;&#039;unconfirmed&#039;&#039; are not yet verified.&lt;br /&gt;
&lt;br /&gt;
* The TPMS control module answers an ordinary diagnostic request on the OBD socket. It does not broadcast tyre data.&lt;br /&gt;
* Request ID &#039;&#039;&#039;0x798&#039;&#039;&#039;, reply ID &#039;&#039;&#039;0x7A8&#039;&#039;&#039; (11-bit CAN, 500 kbit/s, ISO-TP framing) returns the TPMS data, including four sensor IDs and pressure readings. The module&#039;s identification reply (37160-61M0) matches the Model No. (P61M0) on the TPMS controller label. Whether the central gateway forwards or remaps the request is unconfirmed.&lt;br /&gt;
* Service &#039;&#039;&#039;0x21&#039;&#039;&#039; (read data by local identifier), identifier &#039;&#039;&#039;0x00&#039;&#039;&#039;, returns 102 bytes containing all four sensor records.&lt;br /&gt;
* Pressure is byte +6 of each sensor record: bar = raw x 0.01372.&lt;br /&gt;
* The OBD socket is fed by a central gateway, so only diagnostic traffic is visible on it.&lt;br /&gt;
* Working: Car Scanner Pro, and RealDash (values seen in its debug view). Not working: Torque Pro.&lt;br /&gt;
&lt;br /&gt;
== DLC (OBD socket) wiring ==&lt;br /&gt;
The service-manual diagram numbers the DLC terminals differently from SAE J1962. In all five cases on the diagram, manual terminal &#039;&#039;n&#039;&#039; matches standard pin &#039;&#039;17 - n&#039;&#039;.&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! Manual terminal !! Standard pin !! Function !! Wire / source on diagram&lt;br /&gt;
|-&lt;br /&gt;
| 1 || 16 || Battery +12 V || GRY, fuse No.49 &amp;quot;DOME2&amp;quot; (10 A)&lt;br /&gt;
|-&lt;br /&gt;
| 12 || 5 || Signal ground || BLK&lt;br /&gt;
|-&lt;br /&gt;
| 13 || 4 || Chassis ground || BLK&lt;br /&gt;
|-&lt;br /&gt;
| 11 || 6 || CAN-H (from standard assignment) || BLU, gateway pin 8&lt;br /&gt;
|-&lt;br /&gt;
| 3 || 14 || CAN-L (from standard assignment) || WHT, gateway pin 7&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
Use pins &#039;&#039;&#039;6&#039;&#039;&#039; and &#039;&#039;&#039;14&#039;&#039;&#039; for a CAN adapter. The diagram does not label CAN-H and CAN-L itself.&lt;br /&gt;
&lt;br /&gt;
=== Cross-check with other reports ===&lt;br /&gt;
A BigJimny forum thread (&amp;quot;JB74 OBD2 connection&amp;quot;, December 2020) describes a 2020 JB74 whose OBD plug had pins 4, 5, 6, 14, 15 and 16 wired, with pin 7 (K-line) not wired. The poster, quoting an older Suzuki pinout, lists pin 6 as a blue wire (CAN-H) and pin 14 as a white wire (CAN-L). This matches the table above: a blue CAN wire on pin 6 and a white one on pin 14.&lt;br /&gt;
&lt;br /&gt;
* The CAN-H/CAN-L assignment in that thread comes from a pinout reference that the poster says predates the JB74, so it is a report, not a measurement.&lt;br /&gt;
* No wire for standard pin 7 (K-line) appears on the diagram page above, and the forum report also found it unwired. K-line is therefore unlikely to be available on the JB74 socket.&lt;br /&gt;
* On the forum poster&#039;s car, pin 15 was also wired; the diagram page above shows no wire for it. This may be a market or model-year difference.&lt;br /&gt;
&lt;br /&gt;
== Network layout ==&lt;br /&gt;
The DLC is not on the vehicle bus directly. The &#039;&#039;&#039;central gateway control module&#039;&#039;&#039; joins the vehicle CAN bus (its pins 20 and 21, RED/WHT) and provides a separate CAN pair to the DLC (its pins 8 and 7, BLU/WHT).&lt;br /&gt;
&lt;br /&gt;
Modules on the vehicle bus (diagram): ECM, 4WD control module, TCM (A/T models), BCM, ESP control module, headlight auto levelling module (if equipped), dual sensor brake support control module (if equipped), P/S control module, steering angle sensor, TPMS control module / receiver (if equipped), combination meter, SDM, combination switch.&lt;br /&gt;
&lt;br /&gt;
Gateway power: fuse No.60 &amp;quot;IG1 SIG&amp;quot; (10 A) and fuse No.52 &amp;quot;CONT&amp;quot; (5 A). Treat the ignition as needing to be on.&lt;br /&gt;
&lt;br /&gt;
Observation: two captures from the DLC contained only IDs 0x798 and 0x7A8 (plus two error frames). No broadcast traffic from other modules was seen, so passive listening on the DLC will not show TPMS data.&lt;br /&gt;
&lt;br /&gt;
== Diagnostic requests seen ==&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! Request !! Reply !! Meaning&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;3E&amp;lt;/code&amp;gt; || &amp;lt;code&amp;gt;7E&amp;lt;/code&amp;gt; || Tester present&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;1A 8A&amp;lt;/code&amp;gt; || &amp;lt;code&amp;gt;5A 8A&amp;lt;/code&amp;gt; + ASCII &amp;lt;code&amp;gt;37120-78R0*&amp;lt;/code&amp;gt; || ECU identification&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;1A 8E&amp;lt;/code&amp;gt; || &amp;lt;code&amp;gt;5A 8E&amp;lt;/code&amp;gt; + ASCII &amp;lt;code&amp;gt;37160-61M0&amp;lt;/code&amp;gt; || ECU identification: matches the &amp;quot;Model No. P61M0&amp;quot; printed on the TPMS controller label&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;18 00 FF 00&amp;lt;/code&amp;gt; || &amp;lt;code&amp;gt;58 00&amp;lt;/code&amp;gt; or &amp;lt;code&amp;gt;58 01 9A 31 E0&amp;lt;/code&amp;gt; || Read DTCs by status (second form = one code reported; not decoded)&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;21 00&amp;lt;/code&amp;gt; || &amp;lt;code&amp;gt;61 00&amp;lt;/code&amp;gt; + 100 bytes || Sensor data block (repeated about twice a second by the scan tool)&lt;br /&gt;
|}&lt;br /&gt;
Part labels on the test car: TPMS controller 37160-78R00, &amp;quot;BASE ASSY-TPMS&amp;quot;, Model No. P61M0, Continental A2C13930301, 433.92 MHz; central gateway controller 33580-79R01. The &amp;lt;code&amp;gt;1A 8E&amp;lt;/code&amp;gt; reply (37160-61M0) matches the TPMS controller&#039;s base number and model number; the &amp;lt;code&amp;gt;1A 8A&amp;lt;/code&amp;gt; reply (37120-78R0*) shares &amp;quot;78R0&amp;quot; with the full part number, but its meaning is not confirmed.&lt;br /&gt;
&lt;br /&gt;
A Launch full scan reported &amp;quot;Left Front Tire Pressure Low&amp;quot; for the TPMS module, and the module returned one stored code (&amp;lt;code&amp;gt;9A 31&amp;lt;/code&amp;gt;) in the same scan. That code is probably the low-pressure warning (inferred; the report does not show the code itself).&lt;br /&gt;
&lt;br /&gt;
== Reading it with an ELM327 ==&lt;br /&gt;
Terminal commands, one at a time (CR line ending):&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
ATZ&lt;br /&gt;
ATSP6&lt;br /&gt;
ATSH798&lt;br /&gt;
ATS0&lt;br /&gt;
ATL0&lt;br /&gt;
ATFCSH798&lt;br /&gt;
ATFCSD300000&lt;br /&gt;
ATFCSM1&lt;br /&gt;
2100&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
* &amp;lt;code&amp;gt;ATSH798&amp;lt;/code&amp;gt; sets the request address. The reply address (0x7A8) is worked out automatically.&lt;br /&gt;
* &amp;lt;code&amp;gt;ATFCSH798 / ATFCSD300000 / ATFCSM1&amp;lt;/code&amp;gt; make the adapter send the ISO-TP flow-control frame (30 00 00) itself.&lt;br /&gt;
* &amp;lt;code&amp;gt;ATS0&amp;lt;/code&amp;gt; removes the spaces between bytes. Without it, the generic Chinese ELM327-based dongle (dongle 1) reported &amp;lt;code&amp;gt;BUFFER FULL&amp;lt;/code&amp;gt; near byte 81.&lt;br /&gt;
* Expected output: a length line (&amp;lt;code&amp;gt;066&amp;lt;/code&amp;gt; = 102 bytes) and numbered lines &amp;lt;code&amp;gt;0:&amp;lt;/code&amp;gt; to &amp;lt;code&amp;gt;E:&amp;lt;/code&amp;gt;.&lt;br /&gt;
* With default settings dongle 1 returned only the first line (&amp;lt;code&amp;gt;61 00 xx 01 00 00&amp;lt;/code&amp;gt;).&lt;br /&gt;
&lt;br /&gt;
== Reply layout (21 00) ==&lt;br /&gt;
Byte positions count the &amp;lt;code&amp;gt;61&amp;lt;/code&amp;gt; as byte 0.&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! Bytes !! Content&lt;br /&gt;
|-&lt;br /&gt;
| 0-1 || &amp;lt;code&amp;gt;61 00&amp;lt;/code&amp;gt; (positive reply)&lt;br /&gt;
|-&lt;br /&gt;
| 2 || Varies 117-142. Looks like system voltage x 10 (&#039;&#039;unconfirmed&#039;&#039;)&lt;br /&gt;
|-&lt;br /&gt;
| 12-21 || Sensor record 1: front left&lt;br /&gt;
|-&lt;br /&gt;
| 22-31 || Sensor record 2: rear left&lt;br /&gt;
|-&lt;br /&gt;
| 32-41 || Sensor record 3: rear right&lt;br /&gt;
|-&lt;br /&gt;
| 42-51 || Sensor record 4: front right&lt;br /&gt;
|-&lt;br /&gt;
| 56-71 || Four 4-byte sensor-ID entries whose contents change (meaning unknown)&lt;br /&gt;
|-&lt;br /&gt;
| other || Not decoded&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== Sensor record (10 bytes) ===&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! Offset !! Content&lt;br /&gt;
|-&lt;br /&gt;
| +0 to +3 || Sensor ID&lt;br /&gt;
|-&lt;br /&gt;
| +4 || Position flag&lt;br /&gt;
|-&lt;br /&gt;
| +5 || Value 57-74. Behaves like temperature, possibly with an offset of 40 (&#039;&#039;unconfirmed&#039;&#039;)&lt;br /&gt;
|-&lt;br /&gt;
| +6 || Pressure, gauge: bar = raw x 0.01372 (see Calibration)&lt;br /&gt;
|-&lt;br /&gt;
| +7, +8 || Not understood&lt;br /&gt;
|-&lt;br /&gt;
| +9 || Always 0&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! Wheel !! Sensor ID !! Position flag&lt;br /&gt;
|-&lt;br /&gt;
| Front left || 4E AA 09 43 || 0x10&lt;br /&gt;
|-&lt;br /&gt;
| Rear left || DD 91 B5 25 || 0x20&lt;br /&gt;
|-&lt;br /&gt;
| Rear right || 4E AA 03 19 || 0x18&lt;br /&gt;
|-&lt;br /&gt;
| Front right || 4E AA 09 C9 || 0x08&lt;br /&gt;
|}&lt;br /&gt;
Sensor IDs are specific to one car. Yours will differ.&lt;br /&gt;
&lt;br /&gt;
== Calibration ==&lt;br /&gt;
Byte +6 against gauge readings (bar). The five deflation-test counts were reconstructed from the app&#039;s displayed values.&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! Raw !! Gauge (bar) !! Raw x 0.01372&lt;br /&gt;
|-&lt;br /&gt;
| 136 (rear left) || 1.868 || 1.866&lt;br /&gt;
|-&lt;br /&gt;
| 131 (rear right) || 1.795 || 1.797&lt;br /&gt;
|-&lt;br /&gt;
| 131 (front right) || 1.795 || 1.797&lt;br /&gt;
|-&lt;br /&gt;
| 126 || 1.73 || 1.729&lt;br /&gt;
|-&lt;br /&gt;
| 119 || 1.63 || 1.633&lt;br /&gt;
|-&lt;br /&gt;
| 112 || 1.54 || 1.537&lt;br /&gt;
|-&lt;br /&gt;
| 101 || 1.39 || 1.386&lt;br /&gt;
|-&lt;br /&gt;
| 96 || 1.29 || 1.317&lt;br /&gt;
|}&lt;br /&gt;
The last five rows are from one tyre, the front left, during a slow deflation.&lt;br /&gt;
* bar = raw x 0.01372&lt;br /&gt;
* psi = raw x 0.199&lt;br /&gt;
&lt;br /&gt;
No offset is needed, which suggests the byte holds gauge pressure. All points are within 0.004 bar except the lowest (0.027 bar off), which may be sensor update lag or slight non-linearity. More readings at low and high pressure are needed.&lt;br /&gt;
&lt;br /&gt;
== Torque Pro custom PIDs ==&lt;br /&gt;
Common fields for every wheel:&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! Field !! Value&lt;br /&gt;
|-&lt;br /&gt;
| Header || 798&lt;br /&gt;
|-&lt;br /&gt;
| Mode and PID || 2100&lt;br /&gt;
|-&lt;br /&gt;
| Diagnostic start command || &amp;lt;code&amp;gt;ATS0, ATL0, ATFCSH798, ATFCSD300000, ATFCSM1&amp;lt;/code&amp;gt; (comma-separated)&lt;br /&gt;
|-&lt;br /&gt;
| Unit / min / max || bar, 0, 4 (or psi, 0, 60)&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
Equation uses a letter for each data byte. &amp;lt;code&amp;gt;A&amp;lt;/code&amp;gt; is the first byte after &amp;lt;code&amp;gt;61 00&amp;lt;/code&amp;gt; (reply byte 2).&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! Wheel !! Byte +5 (temperature?) !! Byte +6 (pressure candidate)” to “Byte +6 (pressure)”&lt;br /&gt;
|-&lt;br /&gt;
| Front left || P || Q&lt;br /&gt;
|-&lt;br /&gt;
| Front right || AT || AU&lt;br /&gt;
|-&lt;br /&gt;
| Rear left || Z || AA&lt;br /&gt;
|-&lt;br /&gt;
| Rear right || AJ || AK&lt;br /&gt;
|}&lt;br /&gt;
Example: &amp;lt;code&amp;gt;Q*0.01372&amp;lt;/code&amp;gt;. Letters must be upper case. Whether Torque accepts two-letter variables is &#039;&#039;unconfirmed&#039;&#039;.&lt;br /&gt;
&lt;br /&gt;
=== Known problem ===&lt;br /&gt;
Using dongle 1 (generic Chinese ELM327-based) with Torque Pro on the XTRONS PX90, Torque read bytes &amp;lt;code&amp;gt;A&amp;lt;/code&amp;gt; to &amp;lt;code&amp;gt;D&amp;lt;/code&amp;gt; (first line of the reply) correctly, but every byte from &amp;lt;code&amp;gt;E&amp;lt;/code&amp;gt; onward returned -1, even though a terminal received the full 102 bytes with the same commands. The start-command field is applied (adding &amp;lt;code&amp;gt;ATH1&amp;lt;/code&amp;gt; changed the output). Tried without success: turning off &amp;quot;Faster communication&amp;quot; and removing &amp;lt;code&amp;gt;ATS0&amp;lt;/code&amp;gt;. Not tried: &amp;lt;code&amp;gt;ATAT0, ATSTFF&amp;lt;/code&amp;gt; timeout settings.&lt;br /&gt;
&lt;br /&gt;
Dongle 2 (Veepeak OBDCheck BLE+) gave the same result, but the head unit does not support BLE, so that test is not reliable. Car Scanner Pro reads every byte with dongle 1 and the same commands, so the limitation appears to be in how Torque Pro handles this multi-line reply, not in the adapter. Unresolved; a request has been posted on the Torque forum.&lt;br /&gt;
&lt;br /&gt;
== Car Scanner Pro (working) ==&lt;br /&gt;
Car Scanner Pro reads all the bytes where Torque Pro fails. Custom PID settings used:&lt;br /&gt;
* Header: 798&lt;br /&gt;
* Request: 2100&lt;br /&gt;
* Start command (backslash-separated): &amp;lt;code&amp;gt;ATAT0\ATSTFF\ATS0\ATL0\ATFCSH798\ATFCSD300000\ATFCSM1&amp;lt;/code&amp;gt;&lt;br /&gt;
* Equations use the same letters as the table above, for example &amp;lt;code&amp;gt;Q*0.01372&amp;lt;/code&amp;gt; for front left (bar)&lt;br /&gt;
&lt;br /&gt;
The start command has not yet been shortened. Tested with dongle 1 (generic ELM327-based) on the XTRONS PX90.&lt;br /&gt;
&lt;br /&gt;
== RealDash ==&lt;br /&gt;
RealDash describes its OBD2 communication in an XML file. With dongle 1, RealDash&#039;s default init plus the lines below works: the TPMS sensors reply, and the values appear in RealDash&#039;s debug view. Dashboard gauges are in progress.&lt;br /&gt;
&lt;br /&gt;
Changes to RealDash&#039;s default file:&lt;br /&gt;
* Add the three flow-control commands to the init section, before the &amp;lt;code&amp;gt;0100&amp;lt;/code&amp;gt; and &amp;lt;code&amp;gt;0120&amp;lt;/code&amp;gt; checks.&lt;br /&gt;
* Every TPMS command sets &amp;lt;code&amp;gt;header=&amp;quot;atsh798&amp;quot;&amp;lt;/code&amp;gt;. The docs say to set the header on every command when the rotation uses more than one. Any standard command in the same rotation then needs &amp;lt;code&amp;gt;header=&amp;quot;atsh7df&amp;quot;&amp;lt;/code&amp;gt;, or it would be sent to 0x798.&lt;br /&gt;
* RealDash requires &amp;lt;code&amp;gt;ATE0&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;ATL0&amp;lt;/code&amp;gt; and &amp;lt;code&amp;gt;ATS0&amp;lt;/code&amp;gt; (already in its default init).&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&amp;lt;init&amp;gt;&lt;br /&gt;
  ... RealDash default init lines ...&lt;br /&gt;
  &amp;lt;command send=&amp;quot;atfcsh798&amp;quot;&amp;gt;&amp;lt;/command&amp;gt;&lt;br /&gt;
  &amp;lt;command send=&amp;quot;atfcsd300000&amp;quot;&amp;gt;&amp;lt;/command&amp;gt;&lt;br /&gt;
  &amp;lt;command send=&amp;quot;atfcsm1&amp;quot;&amp;gt;&amp;lt;/command&amp;gt;&lt;br /&gt;
  &amp;lt;command send=&amp;quot;0100&amp;quot;&amp;gt;&amp;lt;/command&amp;gt;&lt;br /&gt;
  &amp;lt;command send=&amp;quot;0120&amp;quot;&amp;gt;&amp;lt;/command&amp;gt;&lt;br /&gt;
&amp;lt;/init&amp;gt;&lt;br /&gt;
&amp;lt;rotation&amp;gt;&lt;br /&gt;
  &amp;lt;command send=&amp;quot;2100&amp;quot; header=&amp;quot;atsh798&amp;quot; skipCount=&amp;quot;10&amp;quot; keepInRotation=&amp;quot;true&amp;quot; name=&amp;quot;TPMS: front left&amp;quot; units=&amp;quot;bar&amp;quot; conversionABC=&amp;quot;Q*0.01372&amp;quot;&amp;gt;&amp;lt;/command&amp;gt;&lt;br /&gt;
  &amp;lt;command send=&amp;quot;2100&amp;quot; header=&amp;quot;atsh798&amp;quot; skipCount=&amp;quot;11&amp;quot; keepInRotation=&amp;quot;true&amp;quot; name=&amp;quot;TPMS: front right&amp;quot; units=&amp;quot;bar&amp;quot; conversionABC=&amp;quot;AU*0.01372&amp;quot;&amp;gt;&amp;lt;/command&amp;gt;&lt;br /&gt;
  &amp;lt;command send=&amp;quot;2100&amp;quot; header=&amp;quot;atsh798&amp;quot; skipCount=&amp;quot;12&amp;quot; keepInRotation=&amp;quot;true&amp;quot; name=&amp;quot;TPMS: rear left&amp;quot; units=&amp;quot;bar&amp;quot; conversionABC=&amp;quot;AA*0.01372&amp;quot;&amp;gt;&amp;lt;/command&amp;gt;&lt;br /&gt;
  &amp;lt;command send=&amp;quot;2100&amp;quot; header=&amp;quot;atsh798&amp;quot; skipCount=&amp;quot;13&amp;quot; keepInRotation=&amp;quot;true&amp;quot; name=&amp;quot;TPMS: rear right&amp;quot; units=&amp;quot;bar&amp;quot; conversionABC=&amp;quot;AK*0.01372&amp;quot;&amp;gt;&amp;lt;/command&amp;gt;&lt;br /&gt;
&amp;lt;/rotation&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;conversionABC&amp;lt;/code&amp;gt; uses the same letters as Torque and Car Scanner (A is the first byte after 61 00). The TPMS inputs appear in RealDash&#039;s ECU Specific category.&lt;br /&gt;
&lt;br /&gt;
The Veepeak OBDCheck BLE+ (dongle 2) will not connect to the head unit because the head unit does not support BLE, so only dongle 1 was used.&lt;br /&gt;
&lt;br /&gt;
== Other modules found by a full scan ==&lt;br /&gt;
A full health-check scan with a Launch X431 CRP919, captured with PCAN-View on the OBD socket, shows 12 modules answering on the DLC. Every module that replied is listed here. The reply ID is not always the request ID plus 8.&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! Request !! Reply !! Protocol !! Identification replies !! Module !! How identified&lt;br /&gt;
|-&lt;br /&gt;
| 0x7E0 || 0x7E8 || KWP || 33980-78R0, 33980-78RC* || ECM || Standard engine address&lt;br /&gt;
|-&lt;br /&gt;
| 0x261 || 0x661 || KWP || 56100-77RA, 56100-78RF* || ABS (inferred) || Only brake module left by elimination&lt;br /&gt;
|-&lt;br /&gt;
| 0x263 || 0x663 || KWP || 38720-77R0, 38720-77R0* || EPS controller || Parts catalogue&lt;br /&gt;
|-&lt;br /&gt;
| 0x271 || 0x671 || KWP || 36775-77R0, 36775-77RC* || Body control module || Parts catalogue&lt;br /&gt;
|-&lt;br /&gt;
| 0x274 || 0x674 || KWP || 34100-78R0, 34110-78RD* || Instrument cluster || Rev counter sweep test&lt;br /&gt;
|-&lt;br /&gt;
| 0x798 || 0x7A8 || KWP || 37160-61M0, 37120-78R0* || TPMS controller || Label and parts catalogue&lt;br /&gt;
|-&lt;br /&gt;
| 0x79A || 0x7AA || KWP || 37210-74PA, 37210-74PE* || Lighting and turn switch || Parts catalogue&lt;br /&gt;
|-&lt;br /&gt;
| 0x778 || 0x788 || KWP || 33990-52R0, 33990-78R8* || Dual sensor brake support || Parts catalogue&lt;br /&gt;
|-&lt;br /&gt;
| 0x793 || 0x7A3 || UDS || 38910-77R0, 38910-78RC* || Airbag (SRS) controller || Parts catalogue&lt;br /&gt;
|-&lt;br /&gt;
| 0x772 || 0x782 || UDS || 38885-77R0, 38885-78R0* || 4WD shift controller || Parts catalogue&lt;br /&gt;
|-&lt;br /&gt;
| 0x799 || 0x7A9 || UDS || 38960-78RA, 38960-78RA* || E-call controller || Parts catalogue&lt;br /&gt;
|-&lt;br /&gt;
| 0x751 || 0x761 || UDS || 33580-79R0, 33580-78R0* || Central gateway || Label and parts catalogue&lt;br /&gt;
|}&lt;br /&gt;
Reply ID offsets: engine +0x08; 0x261 to 0x274 +0x400; all others +0x10.&lt;br /&gt;
&lt;br /&gt;
* KWP-style modules answer &amp;lt;code&amp;gt;1A 8E&amp;lt;/code&amp;gt; and &amp;lt;code&amp;gt;1A 8A&amp;lt;/code&amp;gt; (identification) and &amp;lt;code&amp;gt;18 00 FF 00&amp;lt;/code&amp;gt; (DTCs). UDS-style modules answer &amp;lt;code&amp;gt;22 F1 01&amp;lt;/code&amp;gt; and &amp;lt;code&amp;gt;22 F1 88&amp;lt;/code&amp;gt; (identification) and &amp;lt;code&amp;gt;19 02 FF&amp;lt;/code&amp;gt; (DTCs).&lt;br /&gt;
* Requests to 0x273 and 0x262 (tester present) got no reply, so those modules are probably not fitted.&lt;br /&gt;
* Two names are inferred and not confirmed by a part label: 0x261 (ABS) and 0x778 (dual sensor brake support). All the others come from the parts catalogue, a label, or a test.&lt;br /&gt;
* The E-call controller (0x799) returned a stored code record (&amp;lt;code&amp;gt;92 4E 00&amp;lt;/code&amp;gt;, status 02) that the Launch report does not list. Its meaning is not known.&lt;br /&gt;
&lt;br /&gt;
=== Instrument cluster output test (0x274 / 0x674) ===&lt;br /&gt;
A rev counter sweep commanded by the Launch X431 appears as a single KWP output-control request, after which the cluster sweeps the needle up and down by itself:&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! Request !! Reply !! Notes&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;3E 00&amp;lt;/code&amp;gt; || &amp;lt;code&amp;gt;7E&amp;lt;/code&amp;gt; || Tester present, about every 2.15 s&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;30 01 07 80 40 00 00&amp;lt;/code&amp;gt; || &amp;lt;code&amp;gt;70 01 07&amp;lt;/code&amp;gt; || Starts the sweep (service 0x30, local ID 01, &amp;quot;short-term adjustment&amp;quot;)&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;30 01 07 80 00 00 00&amp;lt;/code&amp;gt; || &amp;lt;code&amp;gt;7F 30 22&amp;lt;/code&amp;gt; || Refused (&amp;quot;conditions not correct&amp;quot;); possibly a stop request sent after the sweep had finished&lt;br /&gt;
|}&lt;br /&gt;
The meaning of the four control bytes (80 40 00 00) is not known.&lt;br /&gt;
&lt;br /&gt;
* Meaning of reply bytes +5, +7, +8 and the unexplained regions.&lt;br /&gt;
* A more reliable pressure scale (more gauge readings at low and high pressure are needed; the lowest calibration point is 0.027 bar off).&lt;br /&gt;
* Whether the central gateway forwards the request to the TPMS controller or remaps the address.&lt;br /&gt;
* Why Torque Pro stops after the first line of the reply (the adapter is ruled out).&lt;br /&gt;
* The meaning of the control bytes (80 40 00 00) in the instrument cluster sweep command.&lt;br /&gt;
* The meaning of the stored code from the E-call controller.&lt;br /&gt;
* Confirming the ABS (0x261) and dual sensor brake support (0x778) names.&lt;br /&gt;
&lt;br /&gt;
== Sources ==&lt;br /&gt;
* Owner PCAN-View captures, October 2026.&lt;br /&gt;
* Suzuki wiring diagrams: A-8 CAN communication system; A-8 Central Gateway Control and DLC System (RHD).&lt;br /&gt;
* Forum thread &amp;quot;Jimny JB74 (2019+) - Torque Pro PID for TPMS&amp;quot;.&lt;br /&gt;
* BigJimny forum thread &amp;quot;JB74 OBD2 connection&amp;quot; (December 2020).&lt;br /&gt;
* Suzuki Jimny parts catalogue 9900B-40312-004 (type 1, October 2021), figures 350A, 351A and 351B.&lt;br /&gt;
* RealDash-extras OBD2 documentation (OBD2 XML description file).&lt;br /&gt;
* Car Scanner ELM OBD2 custom PID documentation.&lt;br /&gt;
&lt;br /&gt;
[[Category:Jimny technical]]&lt;br /&gt;
[[Category:JB74]]&lt;br /&gt;
[[Category:Electrical - gen3]]&lt;br /&gt;
[[Category:FAQ - gen3]]&lt;br /&gt;
[[Category:Howto - gen3]]&lt;br /&gt;
&lt;br /&gt;
[[Category:Electrical - gen4]]&lt;br /&gt;
[[Category:FAQ - gen4]]&lt;br /&gt;
[[Category:Howto - gen4]]&lt;/div&gt;</summary>
		<author><name>Mlines</name></author>
	</entry>
	<entry>
		<id>https://www.bigjimny.com/mediawiki/index.php?title=OBD2_Diagnostics_reading_project&amp;diff=10092</id>
		<title>OBD2 Diagnostics reading project</title>
		<link rel="alternate" type="text/html" href="https://www.bigjimny.com/mediawiki/index.php?title=OBD2_Diagnostics_reading_project&amp;diff=10092"/>
		<updated>2026-11-01T10:50:09Z</updated>

		<summary type="html">&lt;p&gt;Mlines: /* Equipment */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;= Suzuki Jimny JB74 (2018+) - Reading TPMS data over the diagnostic CAN link =&lt;br /&gt;
&lt;br /&gt;
{{Donate}}&lt;br /&gt;
== Overview ==&lt;br /&gt;
Purpose-built diagnostic tools (Autel, Launch and similar) already support Suzuki comprehensively. There is also a trend towards replacing the factory head unit with an Android media unit that can run apps to read and display information from the car&#039;s electronics. These units are not Suzuki-specific, so this project aims to learn how to read vehicle data (starting with the factory TPMS) and show it on the head unit.&lt;br /&gt;
&lt;br /&gt;
=== Equipment ===&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! Role !! Item&lt;br /&gt;
|-&lt;br /&gt;
| Head unit || XTRONS PX90&lt;br /&gt;
|-&lt;br /&gt;
| OBD-II Bluetooth dongle 1 || Generic ELM-based (Chinese)&lt;br /&gt;
|-&lt;br /&gt;
| OBD-II Bluetooth dongle 2 || Veepeak OBDCheck BLE+ (BLE only; works on a Lenovo tablet, will not connect to the head unit)&lt;br /&gt;
|-&lt;br /&gt;
| CAN bus monitor (Windows) || PCAN-View (PEAK-System)&lt;br /&gt;
|-&lt;br /&gt;
| Diagnostic tool 1 || Launch X431 CRP919&lt;br /&gt;
|-&lt;br /&gt;
| Diagnostic tool 2 || SZ Viewer app&lt;br /&gt;
|-&lt;br /&gt;
| Head-unit apps tried || Torque Pro (fails past the first line), RealDash (TPMS values seen in its debug view; gauges in progress), Car Scanner Pro (works)&lt;br /&gt;
|-&lt;br /&gt;
| Head-unit Bluetooth || xTRONS IP90  - Classic Bluetooth only, no BLE support&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== Method ===&lt;br /&gt;
# The diagnostic tools (Launch X431, SZ Viewer) have comprehensive Suzuki support, so they are used to generate the CAN bus requests.&lt;br /&gt;
# PCAN-View is connected to the OBD socket to capture the requests and the module&#039;s replies, which are then decoded by hand.&lt;br /&gt;
# The decoded requests are recreated in the head-unit apps so the head unit can ask the car for the same data directly.&lt;br /&gt;
&#039;&#039;&#039;Status:&#039;&#039;&#039; work in progress. Based on one RHD UK-market 2021 Jimny with factory TPMS, owner-made PCAN-View captures (including a full Launch scan and an instrument cluster test), the Suzuki wiring diagrams (A-8 CAN communication and A-8 Central Gateway/DLC) and the Suzuki parts catalogue. TPMS readings work in Car Scanner Pro; RealDash works in its debug view with gauges in progress. Items marked &#039;&#039;unconfirmed&#039;&#039; are not yet verified.&lt;br /&gt;
&lt;br /&gt;
* The TPMS control module answers an ordinary diagnostic request on the OBD socket. It does not broadcast tyre data.&lt;br /&gt;
* Request ID &#039;&#039;&#039;0x798&#039;&#039;&#039;, reply ID &#039;&#039;&#039;0x7A8&#039;&#039;&#039; (11-bit CAN, 500 kbit/s, ISO-TP framing) returns the TPMS data, including four sensor IDs and pressure readings. The module&#039;s identification reply (37160-61M0) matches the Model No. (P61M0) on the TPMS controller label. Whether the central gateway forwards or remaps the request is unconfirmed.&lt;br /&gt;
* Service &#039;&#039;&#039;0x21&#039;&#039;&#039; (read data by local identifier), identifier &#039;&#039;&#039;0x00&#039;&#039;&#039;, returns 102 bytes containing all four sensor records.&lt;br /&gt;
* Pressure is byte +6 of each sensor record: bar = raw x 0.01372.&lt;br /&gt;
* The OBD socket is fed by a central gateway, so only diagnostic traffic is visible on it.&lt;br /&gt;
* Working: Car Scanner Pro, and RealDash (values seen in its debug view). Not working: Torque Pro.&lt;br /&gt;
&lt;br /&gt;
== DLC (OBD socket) wiring ==&lt;br /&gt;
The service-manual diagram numbers the DLC terminals differently from SAE J1962. In all five cases on the diagram, manual terminal &#039;&#039;n&#039;&#039; matches standard pin &#039;&#039;17 - n&#039;&#039;.&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! Manual terminal !! Standard pin !! Function !! Wire / source on diagram&lt;br /&gt;
|-&lt;br /&gt;
| 1 || 16 || Battery +12 V || GRY, fuse No.49 &amp;quot;DOME2&amp;quot; (10 A)&lt;br /&gt;
|-&lt;br /&gt;
| 12 || 5 || Signal ground || BLK&lt;br /&gt;
|-&lt;br /&gt;
| 13 || 4 || Chassis ground || BLK&lt;br /&gt;
|-&lt;br /&gt;
| 11 || 6 || CAN-H (from standard assignment) || BLU, gateway pin 8&lt;br /&gt;
|-&lt;br /&gt;
| 3 || 14 || CAN-L (from standard assignment) || WHT, gateway pin 7&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
Use pins &#039;&#039;&#039;6&#039;&#039;&#039; and &#039;&#039;&#039;14&#039;&#039;&#039; for a CAN adapter. The diagram does not label CAN-H and CAN-L itself.&lt;br /&gt;
&lt;br /&gt;
=== Cross-check with other reports ===&lt;br /&gt;
A BigJimny forum thread (&amp;quot;JB74 OBD2 connection&amp;quot;, December 2020) describes a 2020 JB74 whose OBD plug had pins 4, 5, 6, 14, 15 and 16 wired, with pin 7 (K-line) not wired. The poster, quoting an older Suzuki pinout, lists pin 6 as a blue wire (CAN-H) and pin 14 as a white wire (CAN-L). This matches the table above: a blue CAN wire on pin 6 and a white one on pin 14.&lt;br /&gt;
&lt;br /&gt;
* The CAN-H/CAN-L assignment in that thread comes from a pinout reference that the poster says predates the JB74, so it is a report, not a measurement.&lt;br /&gt;
* No wire for standard pin 7 (K-line) appears on the diagram page above, and the forum report also found it unwired. K-line is therefore unlikely to be available on the JB74 socket.&lt;br /&gt;
* On the forum poster&#039;s car, pin 15 was also wired; the diagram page above shows no wire for it. This may be a market or model-year difference.&lt;br /&gt;
&lt;br /&gt;
== Network layout ==&lt;br /&gt;
The DLC is not on the vehicle bus directly. The &#039;&#039;&#039;central gateway control module&#039;&#039;&#039; joins the vehicle CAN bus (its pins 20 and 21, RED/WHT) and provides a separate CAN pair to the DLC (its pins 8 and 7, BLU/WHT).&lt;br /&gt;
&lt;br /&gt;
Modules on the vehicle bus (diagram): ECM, 4WD control module, TCM (A/T models), BCM, ESP control module, headlight auto levelling module (if equipped), dual sensor brake support control module (if equipped), P/S control module, steering angle sensor, TPMS control module / receiver (if equipped), combination meter, SDM, combination switch.&lt;br /&gt;
&lt;br /&gt;
Gateway power: fuse No.60 &amp;quot;IG1 SIG&amp;quot; (10 A) and fuse No.52 &amp;quot;CONT&amp;quot; (5 A). Treat the ignition as needing to be on.&lt;br /&gt;
&lt;br /&gt;
Observation: two captures from the DLC contained only IDs 0x798 and 0x7A8 (plus two error frames). No broadcast traffic from other modules was seen, so passive listening on the DLC will not show TPMS data.&lt;br /&gt;
&lt;br /&gt;
== Diagnostic requests seen ==&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! Request !! Reply !! Meaning&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;3E&amp;lt;/code&amp;gt; || &amp;lt;code&amp;gt;7E&amp;lt;/code&amp;gt; || Tester present&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;1A 8A&amp;lt;/code&amp;gt; || &amp;lt;code&amp;gt;5A 8A&amp;lt;/code&amp;gt; + ASCII &amp;lt;code&amp;gt;37120-78R0*&amp;lt;/code&amp;gt; || ECU identification&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;1A 8E&amp;lt;/code&amp;gt; || &amp;lt;code&amp;gt;5A 8E&amp;lt;/code&amp;gt; + ASCII &amp;lt;code&amp;gt;37160-61M0&amp;lt;/code&amp;gt; || ECU identification: matches the &amp;quot;Model No. P61M0&amp;quot; printed on the TPMS controller label&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;18 00 FF 00&amp;lt;/code&amp;gt; || &amp;lt;code&amp;gt;58 00&amp;lt;/code&amp;gt; or &amp;lt;code&amp;gt;58 01 9A 31 E0&amp;lt;/code&amp;gt; || Read DTCs by status (second form = one code reported; not decoded)&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;21 00&amp;lt;/code&amp;gt; || &amp;lt;code&amp;gt;61 00&amp;lt;/code&amp;gt; + 100 bytes || Sensor data block (repeated about twice a second by the scan tool)&lt;br /&gt;
|}&lt;br /&gt;
Part labels on the test car: TPMS controller 37160-78R00, &amp;quot;BASE ASSY-TPMS&amp;quot;, Model No. P61M0, Continental A2C13930301, 433.92 MHz; central gateway controller 33580-79R01. The &amp;lt;code&amp;gt;1A 8E&amp;lt;/code&amp;gt; reply (37160-61M0) matches the TPMS controller&#039;s base number and model number; the &amp;lt;code&amp;gt;1A 8A&amp;lt;/code&amp;gt; reply (37120-78R0*) shares &amp;quot;78R0&amp;quot; with the full part number, but its meaning is not confirmed.&lt;br /&gt;
&lt;br /&gt;
A Launch full scan reported &amp;quot;Left Front Tire Pressure Low&amp;quot; for the TPMS module, and the module returned one stored code (&amp;lt;code&amp;gt;9A 31&amp;lt;/code&amp;gt;) in the same scan. That code is probably the low-pressure warning (inferred; the report does not show the code itself).&lt;br /&gt;
&lt;br /&gt;
== Reading it with an ELM327 ==&lt;br /&gt;
Terminal commands, one at a time (CR line ending):&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
ATZ&lt;br /&gt;
ATSP6&lt;br /&gt;
ATSH798&lt;br /&gt;
ATS0&lt;br /&gt;
ATL0&lt;br /&gt;
ATFCSH798&lt;br /&gt;
ATFCSD300000&lt;br /&gt;
ATFCSM1&lt;br /&gt;
2100&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
* &amp;lt;code&amp;gt;ATSH798&amp;lt;/code&amp;gt; sets the request address. The reply address (0x7A8) is worked out automatically.&lt;br /&gt;
* &amp;lt;code&amp;gt;ATFCSH798 / ATFCSD300000 / ATFCSM1&amp;lt;/code&amp;gt; make the adapter send the ISO-TP flow-control frame (30 00 00) itself.&lt;br /&gt;
* &amp;lt;code&amp;gt;ATS0&amp;lt;/code&amp;gt; removes the spaces between bytes. Without it, the generic Chinese ELM327-based dongle (dongle 1) reported &amp;lt;code&amp;gt;BUFFER FULL&amp;lt;/code&amp;gt; near byte 81.&lt;br /&gt;
* Expected output: a length line (&amp;lt;code&amp;gt;066&amp;lt;/code&amp;gt; = 102 bytes) and numbered lines &amp;lt;code&amp;gt;0:&amp;lt;/code&amp;gt; to &amp;lt;code&amp;gt;E:&amp;lt;/code&amp;gt;.&lt;br /&gt;
* With default settings dongle 1 returned only the first line (&amp;lt;code&amp;gt;61 00 xx 01 00 00&amp;lt;/code&amp;gt;).&lt;br /&gt;
&lt;br /&gt;
== Reply layout (21 00) ==&lt;br /&gt;
Byte positions count the &amp;lt;code&amp;gt;61&amp;lt;/code&amp;gt; as byte 0.&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! Bytes !! Content&lt;br /&gt;
|-&lt;br /&gt;
| 0-1 || &amp;lt;code&amp;gt;61 00&amp;lt;/code&amp;gt; (positive reply)&lt;br /&gt;
|-&lt;br /&gt;
| 2 || Varies 117-142. Looks like system voltage x 10 (&#039;&#039;unconfirmed&#039;&#039;)&lt;br /&gt;
|-&lt;br /&gt;
| 12-21 || Sensor record 1: front left&lt;br /&gt;
|-&lt;br /&gt;
| 22-31 || Sensor record 2: rear left&lt;br /&gt;
|-&lt;br /&gt;
| 32-41 || Sensor record 3: rear right&lt;br /&gt;
|-&lt;br /&gt;
| 42-51 || Sensor record 4: front right&lt;br /&gt;
|-&lt;br /&gt;
| 56-71 || Four 4-byte sensor-ID entries whose contents change (meaning unknown)&lt;br /&gt;
|-&lt;br /&gt;
| other || Not decoded&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== Sensor record (10 bytes) ===&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! Offset !! Content&lt;br /&gt;
|-&lt;br /&gt;
| +0 to +3 || Sensor ID&lt;br /&gt;
|-&lt;br /&gt;
| +4 || Position flag&lt;br /&gt;
|-&lt;br /&gt;
| +5 || Value 57-74. Behaves like temperature, possibly with an offset of 40 (&#039;&#039;unconfirmed&#039;&#039;)&lt;br /&gt;
|-&lt;br /&gt;
| +6 || Pressure, gauge: bar = raw x 0.01372 (see Calibration)&lt;br /&gt;
|-&lt;br /&gt;
| +7, +8 || Not understood&lt;br /&gt;
|-&lt;br /&gt;
| +9 || Always 0&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! Wheel !! Sensor ID !! Position flag&lt;br /&gt;
|-&lt;br /&gt;
| Front left || 4E AA 09 43 || 0x10&lt;br /&gt;
|-&lt;br /&gt;
| Rear left || DD 91 B5 25 || 0x20&lt;br /&gt;
|-&lt;br /&gt;
| Rear right || 4E AA 03 19 || 0x18&lt;br /&gt;
|-&lt;br /&gt;
| Front right || 4E AA 09 C9 || 0x08&lt;br /&gt;
|}&lt;br /&gt;
Sensor IDs are specific to one car. Yours will differ.&lt;br /&gt;
&lt;br /&gt;
== Calibration ==&lt;br /&gt;
Byte +6 against gauge readings (bar). The five deflation-test counts were reconstructed from the app&#039;s displayed values.&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! Raw !! Gauge (bar) !! Raw x 0.01372&lt;br /&gt;
|-&lt;br /&gt;
| 136 (rear left) || 1.868 || 1.866&lt;br /&gt;
|-&lt;br /&gt;
| 131 (rear right) || 1.795 || 1.797&lt;br /&gt;
|-&lt;br /&gt;
| 131 (front right) || 1.795 || 1.797&lt;br /&gt;
|-&lt;br /&gt;
| 126 || 1.73 || 1.729&lt;br /&gt;
|-&lt;br /&gt;
| 119 || 1.63 || 1.633&lt;br /&gt;
|-&lt;br /&gt;
| 112 || 1.54 || 1.537&lt;br /&gt;
|-&lt;br /&gt;
| 101 || 1.39 || 1.386&lt;br /&gt;
|-&lt;br /&gt;
| 96 || 1.29 || 1.317&lt;br /&gt;
|}&lt;br /&gt;
The last five rows are from one tyre, the front left, during a slow deflation.&lt;br /&gt;
* bar = raw x 0.01372&lt;br /&gt;
* psi = raw x 0.199&lt;br /&gt;
&lt;br /&gt;
No offset is needed, which suggests the byte holds gauge pressure. All points are within 0.004 bar except the lowest (0.027 bar off), which may be sensor update lag or slight non-linearity. More readings at low and high pressure are needed.&lt;br /&gt;
&lt;br /&gt;
== Torque Pro custom PIDs ==&lt;br /&gt;
Common fields for every wheel:&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! Field !! Value&lt;br /&gt;
|-&lt;br /&gt;
| Header || 798&lt;br /&gt;
|-&lt;br /&gt;
| Mode and PID || 2100&lt;br /&gt;
|-&lt;br /&gt;
| Diagnostic start command || &amp;lt;code&amp;gt;ATS0, ATL0, ATFCSH798, ATFCSD300000, ATFCSM1&amp;lt;/code&amp;gt; (comma-separated)&lt;br /&gt;
|-&lt;br /&gt;
| Unit / min / max || bar, 0, 4 (or psi, 0, 60)&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
Equation uses a letter for each data byte. &amp;lt;code&amp;gt;A&amp;lt;/code&amp;gt; is the first byte after &amp;lt;code&amp;gt;61 00&amp;lt;/code&amp;gt; (reply byte 2).&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! Wheel !! Byte +5 (temperature?) !! Byte +6 (pressure candidate)” to “Byte +6 (pressure)”&lt;br /&gt;
|-&lt;br /&gt;
| Front left || P || Q&lt;br /&gt;
|-&lt;br /&gt;
| Front right || AT || AU&lt;br /&gt;
|-&lt;br /&gt;
| Rear left || Z || AA&lt;br /&gt;
|-&lt;br /&gt;
| Rear right || AJ || AK&lt;br /&gt;
|}&lt;br /&gt;
Example: &amp;lt;code&amp;gt;Q*0.01372&amp;lt;/code&amp;gt;. Letters must be upper case. Whether Torque accepts two-letter variables is &#039;&#039;unconfirmed&#039;&#039;.&lt;br /&gt;
&lt;br /&gt;
=== Known problem ===&lt;br /&gt;
Using dongle 1 (generic Chinese ELM327-based) with Torque Pro on the XTRONS PX90, Torque read bytes &amp;lt;code&amp;gt;A&amp;lt;/code&amp;gt; to &amp;lt;code&amp;gt;D&amp;lt;/code&amp;gt; (first line of the reply) correctly, but every byte from &amp;lt;code&amp;gt;E&amp;lt;/code&amp;gt; onward returned -1, even though a terminal received the full 102 bytes with the same commands. The start-command field is applied (adding &amp;lt;code&amp;gt;ATH1&amp;lt;/code&amp;gt; changed the output). Tried without success: turning off &amp;quot;Faster communication&amp;quot; and removing &amp;lt;code&amp;gt;ATS0&amp;lt;/code&amp;gt;. Not tried: &amp;lt;code&amp;gt;ATAT0, ATSTFF&amp;lt;/code&amp;gt; timeout settings.&lt;br /&gt;
&lt;br /&gt;
Dongle 2 (Veepeak OBDCheck BLE+) gave the same result, but the head unit does not support BLE, so that test is not reliable. Car Scanner Pro reads every byte with dongle 1 and the same commands, so the limitation appears to be in how Torque Pro handles this multi-line reply, not in the adapter. Unresolved; a request has been posted on the Torque forum.&lt;br /&gt;
&lt;br /&gt;
== Car Scanner Pro (working) ==&lt;br /&gt;
Car Scanner Pro reads all the bytes where Torque Pro fails. Custom PID settings used:&lt;br /&gt;
* Header: 798&lt;br /&gt;
* Request: 2100&lt;br /&gt;
* Start command (backslash-separated): &amp;lt;code&amp;gt;ATAT0\ATSTFF\ATS0\ATL0\ATFCSH798\ATFCSD300000\ATFCSM1&amp;lt;/code&amp;gt;&lt;br /&gt;
* Equations use the same letters as the table above, for example &amp;lt;code&amp;gt;Q*0.01372&amp;lt;/code&amp;gt; for front left (bar)&lt;br /&gt;
&lt;br /&gt;
The start command has not yet been shortened. Tested with dongle 1 (generic ELM327-based) on the XTRONS PX90.&lt;br /&gt;
&lt;br /&gt;
== RealDash ==&lt;br /&gt;
RealDash describes its OBD2 communication in an XML file. With dongle 1, RealDash&#039;s default init plus the lines below works: the TPMS sensors reply, and the values appear in RealDash&#039;s debug view. Dashboard gauges are in progress.&lt;br /&gt;
&lt;br /&gt;
Changes to RealDash&#039;s default file:&lt;br /&gt;
* Add the three flow-control commands to the init section, before the &amp;lt;code&amp;gt;0100&amp;lt;/code&amp;gt; and &amp;lt;code&amp;gt;0120&amp;lt;/code&amp;gt; checks.&lt;br /&gt;
* Every TPMS command sets &amp;lt;code&amp;gt;header=&amp;quot;atsh798&amp;quot;&amp;lt;/code&amp;gt;. The docs say to set the header on every command when the rotation uses more than one. Any standard command in the same rotation then needs &amp;lt;code&amp;gt;header=&amp;quot;atsh7df&amp;quot;&amp;lt;/code&amp;gt;, or it would be sent to 0x798.&lt;br /&gt;
* RealDash requires &amp;lt;code&amp;gt;ATE0&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;ATL0&amp;lt;/code&amp;gt; and &amp;lt;code&amp;gt;ATS0&amp;lt;/code&amp;gt; (already in its default init).&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&amp;lt;init&amp;gt;&lt;br /&gt;
  ... RealDash default init lines ...&lt;br /&gt;
  &amp;lt;command send=&amp;quot;atfcsh798&amp;quot;&amp;gt;&amp;lt;/command&amp;gt;&lt;br /&gt;
  &amp;lt;command send=&amp;quot;atfcsd300000&amp;quot;&amp;gt;&amp;lt;/command&amp;gt;&lt;br /&gt;
  &amp;lt;command send=&amp;quot;atfcsm1&amp;quot;&amp;gt;&amp;lt;/command&amp;gt;&lt;br /&gt;
  &amp;lt;command send=&amp;quot;0100&amp;quot;&amp;gt;&amp;lt;/command&amp;gt;&lt;br /&gt;
  &amp;lt;command send=&amp;quot;0120&amp;quot;&amp;gt;&amp;lt;/command&amp;gt;&lt;br /&gt;
&amp;lt;/init&amp;gt;&lt;br /&gt;
&amp;lt;rotation&amp;gt;&lt;br /&gt;
  &amp;lt;command send=&amp;quot;2100&amp;quot; header=&amp;quot;atsh798&amp;quot; skipCount=&amp;quot;10&amp;quot; keepInRotation=&amp;quot;true&amp;quot; name=&amp;quot;TPMS: front left&amp;quot; units=&amp;quot;bar&amp;quot; conversionABC=&amp;quot;Q*0.01372&amp;quot;&amp;gt;&amp;lt;/command&amp;gt;&lt;br /&gt;
  &amp;lt;command send=&amp;quot;2100&amp;quot; header=&amp;quot;atsh798&amp;quot; skipCount=&amp;quot;11&amp;quot; keepInRotation=&amp;quot;true&amp;quot; name=&amp;quot;TPMS: front right&amp;quot; units=&amp;quot;bar&amp;quot; conversionABC=&amp;quot;AU*0.01372&amp;quot;&amp;gt;&amp;lt;/command&amp;gt;&lt;br /&gt;
  &amp;lt;command send=&amp;quot;2100&amp;quot; header=&amp;quot;atsh798&amp;quot; skipCount=&amp;quot;12&amp;quot; keepInRotation=&amp;quot;true&amp;quot; name=&amp;quot;TPMS: rear left&amp;quot; units=&amp;quot;bar&amp;quot; conversionABC=&amp;quot;AA*0.01372&amp;quot;&amp;gt;&amp;lt;/command&amp;gt;&lt;br /&gt;
  &amp;lt;command send=&amp;quot;2100&amp;quot; header=&amp;quot;atsh798&amp;quot; skipCount=&amp;quot;13&amp;quot; keepInRotation=&amp;quot;true&amp;quot; name=&amp;quot;TPMS: rear right&amp;quot; units=&amp;quot;bar&amp;quot; conversionABC=&amp;quot;AK*0.01372&amp;quot;&amp;gt;&amp;lt;/command&amp;gt;&lt;br /&gt;
&amp;lt;/rotation&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;conversionABC&amp;lt;/code&amp;gt; uses the same letters as Torque and Car Scanner (A is the first byte after 61 00). The TPMS inputs appear in RealDash&#039;s ECU Specific category.&lt;br /&gt;
&lt;br /&gt;
The Veepeak OBDCheck BLE+ (dongle 2) was intermittent with RealDash because the head unit does not support BLE. An earlier init that replaced RealDash&#039;s timing defaults with &amp;lt;code&amp;gt;ATAT0&amp;lt;/code&amp;gt; and &amp;lt;code&amp;gt;ATSTFF&amp;lt;/code&amp;gt; showed BUS ERROR and STOPPED messages; the dongle used was not recorded.&lt;br /&gt;
&lt;br /&gt;
== Other modules found by a full scan ==&lt;br /&gt;
A full health-check scan with a Launch X431 CRP919, captured with PCAN-View on the OBD socket, shows 12 modules answering on the DLC. Every module that replied is listed here. The reply ID is not always the request ID plus 8.&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! Request !! Reply !! Protocol !! Identification replies !! Module !! How identified&lt;br /&gt;
|-&lt;br /&gt;
| 0x7E0 || 0x7E8 || KWP || 33980-78R0, 33980-78RC* || ECM || Standard engine address&lt;br /&gt;
|-&lt;br /&gt;
| 0x261 || 0x661 || KWP || 56100-77RA, 56100-78RF* || ABS (inferred) || Only brake module left by elimination&lt;br /&gt;
|-&lt;br /&gt;
| 0x263 || 0x663 || KWP || 38720-77R0, 38720-77R0* || EPS controller || Parts catalogue&lt;br /&gt;
|-&lt;br /&gt;
| 0x271 || 0x671 || KWP || 36775-77R0, 36775-77RC* || Body control module || Parts catalogue&lt;br /&gt;
|-&lt;br /&gt;
| 0x274 || 0x674 || KWP || 34100-78R0, 34110-78RD* || Instrument cluster || Rev counter sweep test&lt;br /&gt;
|-&lt;br /&gt;
| 0x798 || 0x7A8 || KWP || 37160-61M0, 37120-78R0* || TPMS controller || Label and parts catalogue&lt;br /&gt;
|-&lt;br /&gt;
| 0x79A || 0x7AA || KWP || 37210-74PA, 37210-74PE* || Lighting and turn switch || Parts catalogue&lt;br /&gt;
|-&lt;br /&gt;
| 0x778 || 0x788 || KWP || 33990-52R0, 33990-78R8* || Dual sensor brake support || Parts catalogue&lt;br /&gt;
|-&lt;br /&gt;
| 0x793 || 0x7A3 || UDS || 38910-77R0, 38910-78RC* || Airbag (SRS) controller || Parts catalogue&lt;br /&gt;
|-&lt;br /&gt;
| 0x772 || 0x782 || UDS || 38885-77R0, 38885-78R0* || 4WD shift controller || Parts catalogue&lt;br /&gt;
|-&lt;br /&gt;
| 0x799 || 0x7A9 || UDS || 38960-78RA, 38960-78RA* || E-call controller || Parts catalogue&lt;br /&gt;
|-&lt;br /&gt;
| 0x751 || 0x761 || UDS || 33580-79R0, 33580-78R0* || Central gateway || Label and parts catalogue&lt;br /&gt;
|}&lt;br /&gt;
Reply ID offsets: engine +0x08; 0x261 to 0x274 +0x400; all others +0x10.&lt;br /&gt;
&lt;br /&gt;
* KWP-style modules answer &amp;lt;code&amp;gt;1A 8E&amp;lt;/code&amp;gt; and &amp;lt;code&amp;gt;1A 8A&amp;lt;/code&amp;gt; (identification) and &amp;lt;code&amp;gt;18 00 FF 00&amp;lt;/code&amp;gt; (DTCs). UDS-style modules answer &amp;lt;code&amp;gt;22 F1 01&amp;lt;/code&amp;gt; and &amp;lt;code&amp;gt;22 F1 88&amp;lt;/code&amp;gt; (identification) and &amp;lt;code&amp;gt;19 02 FF&amp;lt;/code&amp;gt; (DTCs).&lt;br /&gt;
* Requests to 0x273 and 0x262 (tester present) got no reply, so those modules are probably not fitted.&lt;br /&gt;
* Two names are inferred and not confirmed by a part label: 0x261 (ABS) and 0x778 (dual sensor brake support). All the others come from the parts catalogue, a label, or a test.&lt;br /&gt;
* The E-call controller (0x799) returned a stored code record (&amp;lt;code&amp;gt;92 4E 00&amp;lt;/code&amp;gt;, status 02) that the Launch report does not list. Its meaning is not known.&lt;br /&gt;
&lt;br /&gt;
=== Instrument cluster output test (0x274 / 0x674) ===&lt;br /&gt;
A rev counter sweep commanded by the Launch X431 appears as a single KWP output-control request, after which the cluster sweeps the needle up and down by itself:&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! Request !! Reply !! Notes&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;3E 00&amp;lt;/code&amp;gt; || &amp;lt;code&amp;gt;7E&amp;lt;/code&amp;gt; || Tester present, about every 2.15 s&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;30 01 07 80 40 00 00&amp;lt;/code&amp;gt; || &amp;lt;code&amp;gt;70 01 07&amp;lt;/code&amp;gt; || Starts the sweep (service 0x30, local ID 01, &amp;quot;short-term adjustment&amp;quot;)&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;30 01 07 80 00 00 00&amp;lt;/code&amp;gt; || &amp;lt;code&amp;gt;7F 30 22&amp;lt;/code&amp;gt; || Refused (&amp;quot;conditions not correct&amp;quot;); possibly a stop request sent after the sweep had finished&lt;br /&gt;
|}&lt;br /&gt;
The meaning of the four control bytes (80 40 00 00) is not known.&lt;br /&gt;
&lt;br /&gt;
* Meaning of reply bytes +5, +7, +8 and the unexplained regions.&lt;br /&gt;
* A more reliable pressure scale (more gauge readings at low and high pressure are needed; the lowest calibration point is 0.027 bar off).&lt;br /&gt;
* Whether the central gateway forwards the request to the TPMS controller or remaps the address.&lt;br /&gt;
* Why Torque Pro stops after the first line of the reply (the adapter is ruled out).&lt;br /&gt;
* The meaning of the control bytes (80 40 00 00) in the instrument cluster sweep command.&lt;br /&gt;
* The meaning of the stored code from the E-call controller.&lt;br /&gt;
* Confirming the ABS (0x261) and dual sensor brake support (0x778) names.&lt;br /&gt;
&lt;br /&gt;
== Sources ==&lt;br /&gt;
* Owner PCAN-View captures, October 2026.&lt;br /&gt;
* Suzuki wiring diagrams: A-8 CAN communication system; A-8 Central Gateway Control and DLC System (RHD).&lt;br /&gt;
* Forum thread &amp;quot;Jimny JB74 (2019+) - Torque Pro PID for TPMS&amp;quot;.&lt;br /&gt;
* BigJimny forum thread &amp;quot;JB74 OBD2 connection&amp;quot; (December 2020).&lt;br /&gt;
* Suzuki Jimny parts catalogue 9900B-40312-004 (type 1, October 2021), figures 350A, 351A and 351B.&lt;br /&gt;
* RealDash-extras OBD2 documentation (OBD2 XML description file).&lt;br /&gt;
* Car Scanner ELM OBD2 custom PID documentation.&lt;br /&gt;
&lt;br /&gt;
[[Category:Jimny technical]]&lt;br /&gt;
[[Category:JB74]]&lt;br /&gt;
[[Category:Electrical - gen3]]&lt;br /&gt;
[[Category:FAQ - gen3]]&lt;br /&gt;
[[Category:Howto - gen3]]&lt;br /&gt;
&lt;br /&gt;
[[Category:Electrical - gen4]]&lt;br /&gt;
[[Category:FAQ - gen4]]&lt;br /&gt;
[[Category:Howto - gen4]]&lt;/div&gt;</summary>
		<author><name>Mlines</name></author>
	</entry>
	<entry>
		<id>https://www.bigjimny.com/mediawiki/index.php?title=OBD2_Diagnostics_reading_project&amp;diff=10091</id>
		<title>OBD2 Diagnostics reading project</title>
		<link rel="alternate" type="text/html" href="https://www.bigjimny.com/mediawiki/index.php?title=OBD2_Diagnostics_reading_project&amp;diff=10091"/>
		<updated>2026-11-01T10:48:34Z</updated>

		<summary type="html">&lt;p&gt;Mlines: /* Calibration */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;= Suzuki Jimny JB74 (2018+) - Reading TPMS data over the diagnostic CAN link =&lt;br /&gt;
&lt;br /&gt;
{{Donate}}&lt;br /&gt;
== Overview ==&lt;br /&gt;
Purpose-built diagnostic tools (Autel, Launch and similar) already support Suzuki comprehensively. There is also a trend towards replacing the factory head unit with an Android media unit that can run apps to read and display information from the car&#039;s electronics. These units are not Suzuki-specific, so this project aims to learn how to read vehicle data (starting with the factory TPMS) and show it on the head unit.&lt;br /&gt;
&lt;br /&gt;
=== Equipment ===&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! Role !! Item&lt;br /&gt;
|-&lt;br /&gt;
| Head unit || XTRONS PX90&lt;br /&gt;
|-&lt;br /&gt;
| OBD-II Bluetooth dongle 1 || Generic ELM-based (Chinese)&lt;br /&gt;
|-&lt;br /&gt;
| OBD-II Bluetooth dongle 2 || Veepeak OBDCheck BLE+ (BLE only; unreliable on this head unit)&lt;br /&gt;
|-&lt;br /&gt;
| CAN bus monitor (Windows) || PCAN-View (PEAK-System)&lt;br /&gt;
|-&lt;br /&gt;
| Diagnostic tool 1 || Launch X431 CRP919&lt;br /&gt;
|-&lt;br /&gt;
| Diagnostic tool 2 || SZ Viewer app&lt;br /&gt;
|-&lt;br /&gt;
| Head-unit apps tried || Torque Pro (fails past the first line), RealDash (TPMS values seen in its debug view; gauges in progress), Car Scanner Pro (works)&lt;br /&gt;
|-&lt;br /&gt;
| Head-unit Bluetooth || xTRONS IP90  - Classic Bluetooth only, no BLE support&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== Method ===&lt;br /&gt;
# The diagnostic tools (Launch X431, SZ Viewer) have comprehensive Suzuki support, so they are used to generate the CAN bus requests.&lt;br /&gt;
# PCAN-View is connected to the OBD socket to capture the requests and the module&#039;s replies, which are then decoded by hand.&lt;br /&gt;
# The decoded requests are recreated in the head-unit apps so the head unit can ask the car for the same data directly.&lt;br /&gt;
&#039;&#039;&#039;Status:&#039;&#039;&#039; work in progress. Based on one RHD UK-market 2021 Jimny with factory TPMS, owner-made PCAN-View captures (including a full Launch scan and an instrument cluster test), the Suzuki wiring diagrams (A-8 CAN communication and A-8 Central Gateway/DLC) and the Suzuki parts catalogue. TPMS readings work in Car Scanner Pro; RealDash works in its debug view with gauges in progress. Items marked &#039;&#039;unconfirmed&#039;&#039; are not yet verified.&lt;br /&gt;
&lt;br /&gt;
* The TPMS control module answers an ordinary diagnostic request on the OBD socket. It does not broadcast tyre data.&lt;br /&gt;
* Request ID &#039;&#039;&#039;0x798&#039;&#039;&#039;, reply ID &#039;&#039;&#039;0x7A8&#039;&#039;&#039; (11-bit CAN, 500 kbit/s, ISO-TP framing) returns the TPMS data, including four sensor IDs and pressure readings. The module&#039;s identification reply (37160-61M0) matches the Model No. (P61M0) on the TPMS controller label. Whether the central gateway forwards or remaps the request is unconfirmed.&lt;br /&gt;
* Service &#039;&#039;&#039;0x21&#039;&#039;&#039; (read data by local identifier), identifier &#039;&#039;&#039;0x00&#039;&#039;&#039;, returns 102 bytes containing all four sensor records.&lt;br /&gt;
* Pressure is byte +6 of each sensor record: bar = raw x 0.01372.&lt;br /&gt;
* The OBD socket is fed by a central gateway, so only diagnostic traffic is visible on it.&lt;br /&gt;
* Working: Car Scanner Pro, and RealDash (values seen in its debug view). Not working: Torque Pro.&lt;br /&gt;
&lt;br /&gt;
== DLC (OBD socket) wiring ==&lt;br /&gt;
The service-manual diagram numbers the DLC terminals differently from SAE J1962. In all five cases on the diagram, manual terminal &#039;&#039;n&#039;&#039; matches standard pin &#039;&#039;17 - n&#039;&#039;.&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! Manual terminal !! Standard pin !! Function !! Wire / source on diagram&lt;br /&gt;
|-&lt;br /&gt;
| 1 || 16 || Battery +12 V || GRY, fuse No.49 &amp;quot;DOME2&amp;quot; (10 A)&lt;br /&gt;
|-&lt;br /&gt;
| 12 || 5 || Signal ground || BLK&lt;br /&gt;
|-&lt;br /&gt;
| 13 || 4 || Chassis ground || BLK&lt;br /&gt;
|-&lt;br /&gt;
| 11 || 6 || CAN-H (from standard assignment) || BLU, gateway pin 8&lt;br /&gt;
|-&lt;br /&gt;
| 3 || 14 || CAN-L (from standard assignment) || WHT, gateway pin 7&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
Use pins &#039;&#039;&#039;6&#039;&#039;&#039; and &#039;&#039;&#039;14&#039;&#039;&#039; for a CAN adapter. The diagram does not label CAN-H and CAN-L itself.&lt;br /&gt;
&lt;br /&gt;
=== Cross-check with other reports ===&lt;br /&gt;
A BigJimny forum thread (&amp;quot;JB74 OBD2 connection&amp;quot;, December 2020) describes a 2020 JB74 whose OBD plug had pins 4, 5, 6, 14, 15 and 16 wired, with pin 7 (K-line) not wired. The poster, quoting an older Suzuki pinout, lists pin 6 as a blue wire (CAN-H) and pin 14 as a white wire (CAN-L). This matches the table above: a blue CAN wire on pin 6 and a white one on pin 14.&lt;br /&gt;
&lt;br /&gt;
* The CAN-H/CAN-L assignment in that thread comes from a pinout reference that the poster says predates the JB74, so it is a report, not a measurement.&lt;br /&gt;
* No wire for standard pin 7 (K-line) appears on the diagram page above, and the forum report also found it unwired. K-line is therefore unlikely to be available on the JB74 socket.&lt;br /&gt;
* On the forum poster&#039;s car, pin 15 was also wired; the diagram page above shows no wire for it. This may be a market or model-year difference.&lt;br /&gt;
&lt;br /&gt;
== Network layout ==&lt;br /&gt;
The DLC is not on the vehicle bus directly. The &#039;&#039;&#039;central gateway control module&#039;&#039;&#039; joins the vehicle CAN bus (its pins 20 and 21, RED/WHT) and provides a separate CAN pair to the DLC (its pins 8 and 7, BLU/WHT).&lt;br /&gt;
&lt;br /&gt;
Modules on the vehicle bus (diagram): ECM, 4WD control module, TCM (A/T models), BCM, ESP control module, headlight auto levelling module (if equipped), dual sensor brake support control module (if equipped), P/S control module, steering angle sensor, TPMS control module / receiver (if equipped), combination meter, SDM, combination switch.&lt;br /&gt;
&lt;br /&gt;
Gateway power: fuse No.60 &amp;quot;IG1 SIG&amp;quot; (10 A) and fuse No.52 &amp;quot;CONT&amp;quot; (5 A). Treat the ignition as needing to be on.&lt;br /&gt;
&lt;br /&gt;
Observation: two captures from the DLC contained only IDs 0x798 and 0x7A8 (plus two error frames). No broadcast traffic from other modules was seen, so passive listening on the DLC will not show TPMS data.&lt;br /&gt;
&lt;br /&gt;
== Diagnostic requests seen ==&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! Request !! Reply !! Meaning&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;3E&amp;lt;/code&amp;gt; || &amp;lt;code&amp;gt;7E&amp;lt;/code&amp;gt; || Tester present&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;1A 8A&amp;lt;/code&amp;gt; || &amp;lt;code&amp;gt;5A 8A&amp;lt;/code&amp;gt; + ASCII &amp;lt;code&amp;gt;37120-78R0*&amp;lt;/code&amp;gt; || ECU identification&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;1A 8E&amp;lt;/code&amp;gt; || &amp;lt;code&amp;gt;5A 8E&amp;lt;/code&amp;gt; + ASCII &amp;lt;code&amp;gt;37160-61M0&amp;lt;/code&amp;gt; || ECU identification: matches the &amp;quot;Model No. P61M0&amp;quot; printed on the TPMS controller label&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;18 00 FF 00&amp;lt;/code&amp;gt; || &amp;lt;code&amp;gt;58 00&amp;lt;/code&amp;gt; or &amp;lt;code&amp;gt;58 01 9A 31 E0&amp;lt;/code&amp;gt; || Read DTCs by status (second form = one code reported; not decoded)&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;21 00&amp;lt;/code&amp;gt; || &amp;lt;code&amp;gt;61 00&amp;lt;/code&amp;gt; + 100 bytes || Sensor data block (repeated about twice a second by the scan tool)&lt;br /&gt;
|}&lt;br /&gt;
Part labels on the test car: TPMS controller 37160-78R00, &amp;quot;BASE ASSY-TPMS&amp;quot;, Model No. P61M0, Continental A2C13930301, 433.92 MHz; central gateway controller 33580-79R01. The &amp;lt;code&amp;gt;1A 8E&amp;lt;/code&amp;gt; reply (37160-61M0) matches the TPMS controller&#039;s base number and model number; the &amp;lt;code&amp;gt;1A 8A&amp;lt;/code&amp;gt; reply (37120-78R0*) shares &amp;quot;78R0&amp;quot; with the full part number, but its meaning is not confirmed.&lt;br /&gt;
&lt;br /&gt;
A Launch full scan reported &amp;quot;Left Front Tire Pressure Low&amp;quot; for the TPMS module, and the module returned one stored code (&amp;lt;code&amp;gt;9A 31&amp;lt;/code&amp;gt;) in the same scan. That code is probably the low-pressure warning (inferred; the report does not show the code itself).&lt;br /&gt;
&lt;br /&gt;
== Reading it with an ELM327 ==&lt;br /&gt;
Terminal commands, one at a time (CR line ending):&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
ATZ&lt;br /&gt;
ATSP6&lt;br /&gt;
ATSH798&lt;br /&gt;
ATS0&lt;br /&gt;
ATL0&lt;br /&gt;
ATFCSH798&lt;br /&gt;
ATFCSD300000&lt;br /&gt;
ATFCSM1&lt;br /&gt;
2100&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
* &amp;lt;code&amp;gt;ATSH798&amp;lt;/code&amp;gt; sets the request address. The reply address (0x7A8) is worked out automatically.&lt;br /&gt;
* &amp;lt;code&amp;gt;ATFCSH798 / ATFCSD300000 / ATFCSM1&amp;lt;/code&amp;gt; make the adapter send the ISO-TP flow-control frame (30 00 00) itself.&lt;br /&gt;
* &amp;lt;code&amp;gt;ATS0&amp;lt;/code&amp;gt; removes the spaces between bytes. Without it, the generic Chinese ELM327-based dongle (dongle 1) reported &amp;lt;code&amp;gt;BUFFER FULL&amp;lt;/code&amp;gt; near byte 81.&lt;br /&gt;
* Expected output: a length line (&amp;lt;code&amp;gt;066&amp;lt;/code&amp;gt; = 102 bytes) and numbered lines &amp;lt;code&amp;gt;0:&amp;lt;/code&amp;gt; to &amp;lt;code&amp;gt;E:&amp;lt;/code&amp;gt;.&lt;br /&gt;
* With default settings dongle 1 returned only the first line (&amp;lt;code&amp;gt;61 00 xx 01 00 00&amp;lt;/code&amp;gt;).&lt;br /&gt;
&lt;br /&gt;
== Reply layout (21 00) ==&lt;br /&gt;
Byte positions count the &amp;lt;code&amp;gt;61&amp;lt;/code&amp;gt; as byte 0.&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! Bytes !! Content&lt;br /&gt;
|-&lt;br /&gt;
| 0-1 || &amp;lt;code&amp;gt;61 00&amp;lt;/code&amp;gt; (positive reply)&lt;br /&gt;
|-&lt;br /&gt;
| 2 || Varies 117-142. Looks like system voltage x 10 (&#039;&#039;unconfirmed&#039;&#039;)&lt;br /&gt;
|-&lt;br /&gt;
| 12-21 || Sensor record 1: front left&lt;br /&gt;
|-&lt;br /&gt;
| 22-31 || Sensor record 2: rear left&lt;br /&gt;
|-&lt;br /&gt;
| 32-41 || Sensor record 3: rear right&lt;br /&gt;
|-&lt;br /&gt;
| 42-51 || Sensor record 4: front right&lt;br /&gt;
|-&lt;br /&gt;
| 56-71 || Four 4-byte sensor-ID entries whose contents change (meaning unknown)&lt;br /&gt;
|-&lt;br /&gt;
| other || Not decoded&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== Sensor record (10 bytes) ===&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! Offset !! Content&lt;br /&gt;
|-&lt;br /&gt;
| +0 to +3 || Sensor ID&lt;br /&gt;
|-&lt;br /&gt;
| +4 || Position flag&lt;br /&gt;
|-&lt;br /&gt;
| +5 || Value 57-74. Behaves like temperature, possibly with an offset of 40 (&#039;&#039;unconfirmed&#039;&#039;)&lt;br /&gt;
|-&lt;br /&gt;
| +6 || Pressure, gauge: bar = raw x 0.01372 (see Calibration)&lt;br /&gt;
|-&lt;br /&gt;
| +7, +8 || Not understood&lt;br /&gt;
|-&lt;br /&gt;
| +9 || Always 0&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! Wheel !! Sensor ID !! Position flag&lt;br /&gt;
|-&lt;br /&gt;
| Front left || 4E AA 09 43 || 0x10&lt;br /&gt;
|-&lt;br /&gt;
| Rear left || DD 91 B5 25 || 0x20&lt;br /&gt;
|-&lt;br /&gt;
| Rear right || 4E AA 03 19 || 0x18&lt;br /&gt;
|-&lt;br /&gt;
| Front right || 4E AA 09 C9 || 0x08&lt;br /&gt;
|}&lt;br /&gt;
Sensor IDs are specific to one car. Yours will differ.&lt;br /&gt;
&lt;br /&gt;
== Calibration ==&lt;br /&gt;
Byte +6 against gauge readings (bar). The five deflation-test counts were reconstructed from the app&#039;s displayed values.&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! Raw !! Gauge (bar) !! Raw x 0.01372&lt;br /&gt;
|-&lt;br /&gt;
| 136 (rear left) || 1.868 || 1.866&lt;br /&gt;
|-&lt;br /&gt;
| 131 (rear right) || 1.795 || 1.797&lt;br /&gt;
|-&lt;br /&gt;
| 131 (front right) || 1.795 || 1.797&lt;br /&gt;
|-&lt;br /&gt;
| 126 || 1.73 || 1.729&lt;br /&gt;
|-&lt;br /&gt;
| 119 || 1.63 || 1.633&lt;br /&gt;
|-&lt;br /&gt;
| 112 || 1.54 || 1.537&lt;br /&gt;
|-&lt;br /&gt;
| 101 || 1.39 || 1.386&lt;br /&gt;
|-&lt;br /&gt;
| 96 || 1.29 || 1.317&lt;br /&gt;
|}&lt;br /&gt;
The last five rows are from one tyre, the front left, during a slow deflation.&lt;br /&gt;
* bar = raw x 0.01372&lt;br /&gt;
* psi = raw x 0.199&lt;br /&gt;
&lt;br /&gt;
No offset is needed, which suggests the byte holds gauge pressure. All points are within 0.004 bar except the lowest (0.027 bar off), which may be sensor update lag or slight non-linearity. More readings at low and high pressure are needed.&lt;br /&gt;
&lt;br /&gt;
== Torque Pro custom PIDs ==&lt;br /&gt;
Common fields for every wheel:&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! Field !! Value&lt;br /&gt;
|-&lt;br /&gt;
| Header || 798&lt;br /&gt;
|-&lt;br /&gt;
| Mode and PID || 2100&lt;br /&gt;
|-&lt;br /&gt;
| Diagnostic start command || &amp;lt;code&amp;gt;ATS0, ATL0, ATFCSH798, ATFCSD300000, ATFCSM1&amp;lt;/code&amp;gt; (comma-separated)&lt;br /&gt;
|-&lt;br /&gt;
| Unit / min / max || bar, 0, 4 (or psi, 0, 60)&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
Equation uses a letter for each data byte. &amp;lt;code&amp;gt;A&amp;lt;/code&amp;gt; is the first byte after &amp;lt;code&amp;gt;61 00&amp;lt;/code&amp;gt; (reply byte 2).&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! Wheel !! Byte +5 (temperature?) !! Byte +6 (pressure candidate)” to “Byte +6 (pressure)”&lt;br /&gt;
|-&lt;br /&gt;
| Front left || P || Q&lt;br /&gt;
|-&lt;br /&gt;
| Front right || AT || AU&lt;br /&gt;
|-&lt;br /&gt;
| Rear left || Z || AA&lt;br /&gt;
|-&lt;br /&gt;
| Rear right || AJ || AK&lt;br /&gt;
|}&lt;br /&gt;
Example: &amp;lt;code&amp;gt;Q*0.01372&amp;lt;/code&amp;gt;. Letters must be upper case. Whether Torque accepts two-letter variables is &#039;&#039;unconfirmed&#039;&#039;.&lt;br /&gt;
&lt;br /&gt;
=== Known problem ===&lt;br /&gt;
Using dongle 1 (generic Chinese ELM327-based) with Torque Pro on the XTRONS PX90, Torque read bytes &amp;lt;code&amp;gt;A&amp;lt;/code&amp;gt; to &amp;lt;code&amp;gt;D&amp;lt;/code&amp;gt; (first line of the reply) correctly, but every byte from &amp;lt;code&amp;gt;E&amp;lt;/code&amp;gt; onward returned -1, even though a terminal received the full 102 bytes with the same commands. The start-command field is applied (adding &amp;lt;code&amp;gt;ATH1&amp;lt;/code&amp;gt; changed the output). Tried without success: turning off &amp;quot;Faster communication&amp;quot; and removing &amp;lt;code&amp;gt;ATS0&amp;lt;/code&amp;gt;. Not tried: &amp;lt;code&amp;gt;ATAT0, ATSTFF&amp;lt;/code&amp;gt; timeout settings.&lt;br /&gt;
&lt;br /&gt;
Dongle 2 (Veepeak OBDCheck BLE+) gave the same result, but the head unit does not support BLE, so that test is not reliable. Car Scanner Pro reads every byte with dongle 1 and the same commands, so the limitation appears to be in how Torque Pro handles this multi-line reply, not in the adapter. Unresolved; a request has been posted on the Torque forum.&lt;br /&gt;
&lt;br /&gt;
== Car Scanner Pro (working) ==&lt;br /&gt;
Car Scanner Pro reads all the bytes where Torque Pro fails. Custom PID settings used:&lt;br /&gt;
* Header: 798&lt;br /&gt;
* Request: 2100&lt;br /&gt;
* Start command (backslash-separated): &amp;lt;code&amp;gt;ATAT0\ATSTFF\ATS0\ATL0\ATFCSH798\ATFCSD300000\ATFCSM1&amp;lt;/code&amp;gt;&lt;br /&gt;
* Equations use the same letters as the table above, for example &amp;lt;code&amp;gt;Q*0.01372&amp;lt;/code&amp;gt; for front left (bar)&lt;br /&gt;
&lt;br /&gt;
The start command has not yet been shortened. Tested with dongle 1 (generic ELM327-based) on the XTRONS PX90.&lt;br /&gt;
&lt;br /&gt;
== RealDash ==&lt;br /&gt;
RealDash describes its OBD2 communication in an XML file. With dongle 1, RealDash&#039;s default init plus the lines below works: the TPMS sensors reply, and the values appear in RealDash&#039;s debug view. Dashboard gauges are in progress.&lt;br /&gt;
&lt;br /&gt;
Changes to RealDash&#039;s default file:&lt;br /&gt;
* Add the three flow-control commands to the init section, before the &amp;lt;code&amp;gt;0100&amp;lt;/code&amp;gt; and &amp;lt;code&amp;gt;0120&amp;lt;/code&amp;gt; checks.&lt;br /&gt;
* Every TPMS command sets &amp;lt;code&amp;gt;header=&amp;quot;atsh798&amp;quot;&amp;lt;/code&amp;gt;. The docs say to set the header on every command when the rotation uses more than one. Any standard command in the same rotation then needs &amp;lt;code&amp;gt;header=&amp;quot;atsh7df&amp;quot;&amp;lt;/code&amp;gt;, or it would be sent to 0x798.&lt;br /&gt;
* RealDash requires &amp;lt;code&amp;gt;ATE0&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;ATL0&amp;lt;/code&amp;gt; and &amp;lt;code&amp;gt;ATS0&amp;lt;/code&amp;gt; (already in its default init).&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&amp;lt;init&amp;gt;&lt;br /&gt;
  ... RealDash default init lines ...&lt;br /&gt;
  &amp;lt;command send=&amp;quot;atfcsh798&amp;quot;&amp;gt;&amp;lt;/command&amp;gt;&lt;br /&gt;
  &amp;lt;command send=&amp;quot;atfcsd300000&amp;quot;&amp;gt;&amp;lt;/command&amp;gt;&lt;br /&gt;
  &amp;lt;command send=&amp;quot;atfcsm1&amp;quot;&amp;gt;&amp;lt;/command&amp;gt;&lt;br /&gt;
  &amp;lt;command send=&amp;quot;0100&amp;quot;&amp;gt;&amp;lt;/command&amp;gt;&lt;br /&gt;
  &amp;lt;command send=&amp;quot;0120&amp;quot;&amp;gt;&amp;lt;/command&amp;gt;&lt;br /&gt;
&amp;lt;/init&amp;gt;&lt;br /&gt;
&amp;lt;rotation&amp;gt;&lt;br /&gt;
  &amp;lt;command send=&amp;quot;2100&amp;quot; header=&amp;quot;atsh798&amp;quot; skipCount=&amp;quot;10&amp;quot; keepInRotation=&amp;quot;true&amp;quot; name=&amp;quot;TPMS: front left&amp;quot; units=&amp;quot;bar&amp;quot; conversionABC=&amp;quot;Q*0.01372&amp;quot;&amp;gt;&amp;lt;/command&amp;gt;&lt;br /&gt;
  &amp;lt;command send=&amp;quot;2100&amp;quot; header=&amp;quot;atsh798&amp;quot; skipCount=&amp;quot;11&amp;quot; keepInRotation=&amp;quot;true&amp;quot; name=&amp;quot;TPMS: front right&amp;quot; units=&amp;quot;bar&amp;quot; conversionABC=&amp;quot;AU*0.01372&amp;quot;&amp;gt;&amp;lt;/command&amp;gt;&lt;br /&gt;
  &amp;lt;command send=&amp;quot;2100&amp;quot; header=&amp;quot;atsh798&amp;quot; skipCount=&amp;quot;12&amp;quot; keepInRotation=&amp;quot;true&amp;quot; name=&amp;quot;TPMS: rear left&amp;quot; units=&amp;quot;bar&amp;quot; conversionABC=&amp;quot;AA*0.01372&amp;quot;&amp;gt;&amp;lt;/command&amp;gt;&lt;br /&gt;
  &amp;lt;command send=&amp;quot;2100&amp;quot; header=&amp;quot;atsh798&amp;quot; skipCount=&amp;quot;13&amp;quot; keepInRotation=&amp;quot;true&amp;quot; name=&amp;quot;TPMS: rear right&amp;quot; units=&amp;quot;bar&amp;quot; conversionABC=&amp;quot;AK*0.01372&amp;quot;&amp;gt;&amp;lt;/command&amp;gt;&lt;br /&gt;
&amp;lt;/rotation&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;conversionABC&amp;lt;/code&amp;gt; uses the same letters as Torque and Car Scanner (A is the first byte after 61 00). The TPMS inputs appear in RealDash&#039;s ECU Specific category.&lt;br /&gt;
&lt;br /&gt;
The Veepeak OBDCheck BLE+ (dongle 2) was intermittent with RealDash because the head unit does not support BLE. An earlier init that replaced RealDash&#039;s timing defaults with &amp;lt;code&amp;gt;ATAT0&amp;lt;/code&amp;gt; and &amp;lt;code&amp;gt;ATSTFF&amp;lt;/code&amp;gt; showed BUS ERROR and STOPPED messages; the dongle used was not recorded.&lt;br /&gt;
&lt;br /&gt;
== Other modules found by a full scan ==&lt;br /&gt;
A full health-check scan with a Launch X431 CRP919, captured with PCAN-View on the OBD socket, shows 12 modules answering on the DLC. Every module that replied is listed here. The reply ID is not always the request ID plus 8.&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! Request !! Reply !! Protocol !! Identification replies !! Module !! How identified&lt;br /&gt;
|-&lt;br /&gt;
| 0x7E0 || 0x7E8 || KWP || 33980-78R0, 33980-78RC* || ECM || Standard engine address&lt;br /&gt;
|-&lt;br /&gt;
| 0x261 || 0x661 || KWP || 56100-77RA, 56100-78RF* || ABS (inferred) || Only brake module left by elimination&lt;br /&gt;
|-&lt;br /&gt;
| 0x263 || 0x663 || KWP || 38720-77R0, 38720-77R0* || EPS controller || Parts catalogue&lt;br /&gt;
|-&lt;br /&gt;
| 0x271 || 0x671 || KWP || 36775-77R0, 36775-77RC* || Body control module || Parts catalogue&lt;br /&gt;
|-&lt;br /&gt;
| 0x274 || 0x674 || KWP || 34100-78R0, 34110-78RD* || Instrument cluster || Rev counter sweep test&lt;br /&gt;
|-&lt;br /&gt;
| 0x798 || 0x7A8 || KWP || 37160-61M0, 37120-78R0* || TPMS controller || Label and parts catalogue&lt;br /&gt;
|-&lt;br /&gt;
| 0x79A || 0x7AA || KWP || 37210-74PA, 37210-74PE* || Lighting and turn switch || Parts catalogue&lt;br /&gt;
|-&lt;br /&gt;
| 0x778 || 0x788 || KWP || 33990-52R0, 33990-78R8* || Dual sensor brake support || Parts catalogue&lt;br /&gt;
|-&lt;br /&gt;
| 0x793 || 0x7A3 || UDS || 38910-77R0, 38910-78RC* || Airbag (SRS) controller || Parts catalogue&lt;br /&gt;
|-&lt;br /&gt;
| 0x772 || 0x782 || UDS || 38885-77R0, 38885-78R0* || 4WD shift controller || Parts catalogue&lt;br /&gt;
|-&lt;br /&gt;
| 0x799 || 0x7A9 || UDS || 38960-78RA, 38960-78RA* || E-call controller || Parts catalogue&lt;br /&gt;
|-&lt;br /&gt;
| 0x751 || 0x761 || UDS || 33580-79R0, 33580-78R0* || Central gateway || Label and parts catalogue&lt;br /&gt;
|}&lt;br /&gt;
Reply ID offsets: engine +0x08; 0x261 to 0x274 +0x400; all others +0x10.&lt;br /&gt;
&lt;br /&gt;
* KWP-style modules answer &amp;lt;code&amp;gt;1A 8E&amp;lt;/code&amp;gt; and &amp;lt;code&amp;gt;1A 8A&amp;lt;/code&amp;gt; (identification) and &amp;lt;code&amp;gt;18 00 FF 00&amp;lt;/code&amp;gt; (DTCs). UDS-style modules answer &amp;lt;code&amp;gt;22 F1 01&amp;lt;/code&amp;gt; and &amp;lt;code&amp;gt;22 F1 88&amp;lt;/code&amp;gt; (identification) and &amp;lt;code&amp;gt;19 02 FF&amp;lt;/code&amp;gt; (DTCs).&lt;br /&gt;
* Requests to 0x273 and 0x262 (tester present) got no reply, so those modules are probably not fitted.&lt;br /&gt;
* Two names are inferred and not confirmed by a part label: 0x261 (ABS) and 0x778 (dual sensor brake support). All the others come from the parts catalogue, a label, or a test.&lt;br /&gt;
* The E-call controller (0x799) returned a stored code record (&amp;lt;code&amp;gt;92 4E 00&amp;lt;/code&amp;gt;, status 02) that the Launch report does not list. Its meaning is not known.&lt;br /&gt;
&lt;br /&gt;
=== Instrument cluster output test (0x274 / 0x674) ===&lt;br /&gt;
A rev counter sweep commanded by the Launch X431 appears as a single KWP output-control request, after which the cluster sweeps the needle up and down by itself:&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! Request !! Reply !! Notes&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;3E 00&amp;lt;/code&amp;gt; || &amp;lt;code&amp;gt;7E&amp;lt;/code&amp;gt; || Tester present, about every 2.15 s&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;30 01 07 80 40 00 00&amp;lt;/code&amp;gt; || &amp;lt;code&amp;gt;70 01 07&amp;lt;/code&amp;gt; || Starts the sweep (service 0x30, local ID 01, &amp;quot;short-term adjustment&amp;quot;)&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;30 01 07 80 00 00 00&amp;lt;/code&amp;gt; || &amp;lt;code&amp;gt;7F 30 22&amp;lt;/code&amp;gt; || Refused (&amp;quot;conditions not correct&amp;quot;); possibly a stop request sent after the sweep had finished&lt;br /&gt;
|}&lt;br /&gt;
The meaning of the four control bytes (80 40 00 00) is not known.&lt;br /&gt;
&lt;br /&gt;
* Meaning of reply bytes +5, +7, +8 and the unexplained regions.&lt;br /&gt;
* A more reliable pressure scale (more gauge readings at low and high pressure are needed; the lowest calibration point is 0.027 bar off).&lt;br /&gt;
* Whether the central gateway forwards the request to the TPMS controller or remaps the address.&lt;br /&gt;
* Why Torque Pro stops after the first line of the reply (the adapter is ruled out).&lt;br /&gt;
* The meaning of the control bytes (80 40 00 00) in the instrument cluster sweep command.&lt;br /&gt;
* The meaning of the stored code from the E-call controller.&lt;br /&gt;
* Confirming the ABS (0x261) and dual sensor brake support (0x778) names.&lt;br /&gt;
&lt;br /&gt;
== Sources ==&lt;br /&gt;
* Owner PCAN-View captures, October 2026.&lt;br /&gt;
* Suzuki wiring diagrams: A-8 CAN communication system; A-8 Central Gateway Control and DLC System (RHD).&lt;br /&gt;
* Forum thread &amp;quot;Jimny JB74 (2019+) - Torque Pro PID for TPMS&amp;quot;.&lt;br /&gt;
* BigJimny forum thread &amp;quot;JB74 OBD2 connection&amp;quot; (December 2020).&lt;br /&gt;
* Suzuki Jimny parts catalogue 9900B-40312-004 (type 1, October 2021), figures 350A, 351A and 351B.&lt;br /&gt;
* RealDash-extras OBD2 documentation (OBD2 XML description file).&lt;br /&gt;
* Car Scanner ELM OBD2 custom PID documentation.&lt;br /&gt;
&lt;br /&gt;
[[Category:Jimny technical]]&lt;br /&gt;
[[Category:JB74]]&lt;br /&gt;
[[Category:Electrical - gen3]]&lt;br /&gt;
[[Category:FAQ - gen3]]&lt;br /&gt;
[[Category:Howto - gen3]]&lt;br /&gt;
&lt;br /&gt;
[[Category:Electrical - gen4]]&lt;br /&gt;
[[Category:FAQ - gen4]]&lt;br /&gt;
[[Category:Howto - gen4]]&lt;/div&gt;</summary>
		<author><name>Mlines</name></author>
	</entry>
	<entry>
		<id>https://www.bigjimny.com/mediawiki/index.php?title=OBD2_Diagnostics_reading_project&amp;diff=10090</id>
		<title>OBD2 Diagnostics reading project</title>
		<link rel="alternate" type="text/html" href="https://www.bigjimny.com/mediawiki/index.php?title=OBD2_Diagnostics_reading_project&amp;diff=10090"/>
		<updated>2026-11-01T10:45:07Z</updated>

		<summary type="html">&lt;p&gt;Mlines: /* Sources */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;= Suzuki Jimny JB74 (2018+) - Reading TPMS data over the diagnostic CAN link =&lt;br /&gt;
&lt;br /&gt;
{{Donate}}&lt;br /&gt;
== Overview ==&lt;br /&gt;
Purpose-built diagnostic tools (Autel, Launch and similar) already support Suzuki comprehensively. There is also a trend towards replacing the factory head unit with an Android media unit that can run apps to read and display information from the car&#039;s electronics. These units are not Suzuki-specific, so this project aims to learn how to read vehicle data (starting with the factory TPMS) and show it on the head unit.&lt;br /&gt;
&lt;br /&gt;
=== Equipment ===&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! Role !! Item&lt;br /&gt;
|-&lt;br /&gt;
| Head unit || XTRONS PX90&lt;br /&gt;
|-&lt;br /&gt;
| OBD-II Bluetooth dongle 1 || Generic ELM-based (Chinese)&lt;br /&gt;
|-&lt;br /&gt;
| OBD-II Bluetooth dongle 2 || Veepeak OBDCheck BLE+ (BLE only; unreliable on this head unit)&lt;br /&gt;
|-&lt;br /&gt;
| CAN bus monitor (Windows) || PCAN-View (PEAK-System)&lt;br /&gt;
|-&lt;br /&gt;
| Diagnostic tool 1 || Launch X431 CRP919&lt;br /&gt;
|-&lt;br /&gt;
| Diagnostic tool 2 || SZ Viewer app&lt;br /&gt;
|-&lt;br /&gt;
| Head-unit apps tried || Torque Pro (fails past the first line), RealDash (TPMS values seen in its debug view; gauges in progress), Car Scanner Pro (works)&lt;br /&gt;
|-&lt;br /&gt;
| Head-unit Bluetooth || xTRONS IP90  - Classic Bluetooth only, no BLE support&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== Method ===&lt;br /&gt;
# The diagnostic tools (Launch X431, SZ Viewer) have comprehensive Suzuki support, so they are used to generate the CAN bus requests.&lt;br /&gt;
# PCAN-View is connected to the OBD socket to capture the requests and the module&#039;s replies, which are then decoded by hand.&lt;br /&gt;
# The decoded requests are recreated in the head-unit apps so the head unit can ask the car for the same data directly.&lt;br /&gt;
&#039;&#039;&#039;Status:&#039;&#039;&#039; work in progress. Based on one RHD UK-market 2021 Jimny with factory TPMS, owner-made PCAN-View captures (including a full Launch scan and an instrument cluster test), the Suzuki wiring diagrams (A-8 CAN communication and A-8 Central Gateway/DLC) and the Suzuki parts catalogue. TPMS readings work in Car Scanner Pro; RealDash works in its debug view with gauges in progress. Items marked &#039;&#039;unconfirmed&#039;&#039; are not yet verified.&lt;br /&gt;
&lt;br /&gt;
* The TPMS control module answers an ordinary diagnostic request on the OBD socket. It does not broadcast tyre data.&lt;br /&gt;
* Request ID &#039;&#039;&#039;0x798&#039;&#039;&#039;, reply ID &#039;&#039;&#039;0x7A8&#039;&#039;&#039; (11-bit CAN, 500 kbit/s, ISO-TP framing) returns the TPMS data, including four sensor IDs and pressure readings. The module&#039;s identification reply (37160-61M0) matches the Model No. (P61M0) on the TPMS controller label. Whether the central gateway forwards or remaps the request is unconfirmed.&lt;br /&gt;
* Service &#039;&#039;&#039;0x21&#039;&#039;&#039; (read data by local identifier), identifier &#039;&#039;&#039;0x00&#039;&#039;&#039;, returns 102 bytes containing all four sensor records.&lt;br /&gt;
* Pressure is byte +6 of each sensor record: bar = raw x 0.01372.&lt;br /&gt;
* The OBD socket is fed by a central gateway, so only diagnostic traffic is visible on it.&lt;br /&gt;
* Working: Car Scanner Pro, and RealDash (values seen in its debug view). Not working: Torque Pro.&lt;br /&gt;
&lt;br /&gt;
== DLC (OBD socket) wiring ==&lt;br /&gt;
The service-manual diagram numbers the DLC terminals differently from SAE J1962. In all five cases on the diagram, manual terminal &#039;&#039;n&#039;&#039; matches standard pin &#039;&#039;17 - n&#039;&#039;.&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! Manual terminal !! Standard pin !! Function !! Wire / source on diagram&lt;br /&gt;
|-&lt;br /&gt;
| 1 || 16 || Battery +12 V || GRY, fuse No.49 &amp;quot;DOME2&amp;quot; (10 A)&lt;br /&gt;
|-&lt;br /&gt;
| 12 || 5 || Signal ground || BLK&lt;br /&gt;
|-&lt;br /&gt;
| 13 || 4 || Chassis ground || BLK&lt;br /&gt;
|-&lt;br /&gt;
| 11 || 6 || CAN-H (from standard assignment) || BLU, gateway pin 8&lt;br /&gt;
|-&lt;br /&gt;
| 3 || 14 || CAN-L (from standard assignment) || WHT, gateway pin 7&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
Use pins &#039;&#039;&#039;6&#039;&#039;&#039; and &#039;&#039;&#039;14&#039;&#039;&#039; for a CAN adapter. The diagram does not label CAN-H and CAN-L itself.&lt;br /&gt;
&lt;br /&gt;
=== Cross-check with other reports ===&lt;br /&gt;
A BigJimny forum thread (&amp;quot;JB74 OBD2 connection&amp;quot;, December 2020) describes a 2020 JB74 whose OBD plug had pins 4, 5, 6, 14, 15 and 16 wired, with pin 7 (K-line) not wired. The poster, quoting an older Suzuki pinout, lists pin 6 as a blue wire (CAN-H) and pin 14 as a white wire (CAN-L). This matches the table above: a blue CAN wire on pin 6 and a white one on pin 14.&lt;br /&gt;
&lt;br /&gt;
* The CAN-H/CAN-L assignment in that thread comes from a pinout reference that the poster says predates the JB74, so it is a report, not a measurement.&lt;br /&gt;
* No wire for standard pin 7 (K-line) appears on the diagram page above, and the forum report also found it unwired. K-line is therefore unlikely to be available on the JB74 socket.&lt;br /&gt;
* On the forum poster&#039;s car, pin 15 was also wired; the diagram page above shows no wire for it. This may be a market or model-year difference.&lt;br /&gt;
&lt;br /&gt;
== Network layout ==&lt;br /&gt;
The DLC is not on the vehicle bus directly. The &#039;&#039;&#039;central gateway control module&#039;&#039;&#039; joins the vehicle CAN bus (its pins 20 and 21, RED/WHT) and provides a separate CAN pair to the DLC (its pins 8 and 7, BLU/WHT).&lt;br /&gt;
&lt;br /&gt;
Modules on the vehicle bus (diagram): ECM, 4WD control module, TCM (A/T models), BCM, ESP control module, headlight auto levelling module (if equipped), dual sensor brake support control module (if equipped), P/S control module, steering angle sensor, TPMS control module / receiver (if equipped), combination meter, SDM, combination switch.&lt;br /&gt;
&lt;br /&gt;
Gateway power: fuse No.60 &amp;quot;IG1 SIG&amp;quot; (10 A) and fuse No.52 &amp;quot;CONT&amp;quot; (5 A). Treat the ignition as needing to be on.&lt;br /&gt;
&lt;br /&gt;
Observation: two captures from the DLC contained only IDs 0x798 and 0x7A8 (plus two error frames). No broadcast traffic from other modules was seen, so passive listening on the DLC will not show TPMS data.&lt;br /&gt;
&lt;br /&gt;
== Diagnostic requests seen ==&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! Request !! Reply !! Meaning&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;3E&amp;lt;/code&amp;gt; || &amp;lt;code&amp;gt;7E&amp;lt;/code&amp;gt; || Tester present&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;1A 8A&amp;lt;/code&amp;gt; || &amp;lt;code&amp;gt;5A 8A&amp;lt;/code&amp;gt; + ASCII &amp;lt;code&amp;gt;37120-78R0*&amp;lt;/code&amp;gt; || ECU identification&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;1A 8E&amp;lt;/code&amp;gt; || &amp;lt;code&amp;gt;5A 8E&amp;lt;/code&amp;gt; + ASCII &amp;lt;code&amp;gt;37160-61M0&amp;lt;/code&amp;gt; || ECU identification: matches the &amp;quot;Model No. P61M0&amp;quot; printed on the TPMS controller label&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;18 00 FF 00&amp;lt;/code&amp;gt; || &amp;lt;code&amp;gt;58 00&amp;lt;/code&amp;gt; or &amp;lt;code&amp;gt;58 01 9A 31 E0&amp;lt;/code&amp;gt; || Read DTCs by status (second form = one code reported; not decoded)&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;21 00&amp;lt;/code&amp;gt; || &amp;lt;code&amp;gt;61 00&amp;lt;/code&amp;gt; + 100 bytes || Sensor data block (repeated about twice a second by the scan tool)&lt;br /&gt;
|}&lt;br /&gt;
Part labels on the test car: TPMS controller 37160-78R00, &amp;quot;BASE ASSY-TPMS&amp;quot;, Model No. P61M0, Continental A2C13930301, 433.92 MHz; central gateway controller 33580-79R01. The &amp;lt;code&amp;gt;1A 8E&amp;lt;/code&amp;gt; reply (37160-61M0) matches the TPMS controller&#039;s base number and model number; the &amp;lt;code&amp;gt;1A 8A&amp;lt;/code&amp;gt; reply (37120-78R0*) shares &amp;quot;78R0&amp;quot; with the full part number, but its meaning is not confirmed.&lt;br /&gt;
&lt;br /&gt;
A Launch full scan reported &amp;quot;Left Front Tire Pressure Low&amp;quot; for the TPMS module, and the module returned one stored code (&amp;lt;code&amp;gt;9A 31&amp;lt;/code&amp;gt;) in the same scan. That code is probably the low-pressure warning (inferred; the report does not show the code itself).&lt;br /&gt;
&lt;br /&gt;
== Reading it with an ELM327 ==&lt;br /&gt;
Terminal commands, one at a time (CR line ending):&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
ATZ&lt;br /&gt;
ATSP6&lt;br /&gt;
ATSH798&lt;br /&gt;
ATS0&lt;br /&gt;
ATL0&lt;br /&gt;
ATFCSH798&lt;br /&gt;
ATFCSD300000&lt;br /&gt;
ATFCSM1&lt;br /&gt;
2100&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
* &amp;lt;code&amp;gt;ATSH798&amp;lt;/code&amp;gt; sets the request address. The reply address (0x7A8) is worked out automatically.&lt;br /&gt;
* &amp;lt;code&amp;gt;ATFCSH798 / ATFCSD300000 / ATFCSM1&amp;lt;/code&amp;gt; make the adapter send the ISO-TP flow-control frame (30 00 00) itself.&lt;br /&gt;
* &amp;lt;code&amp;gt;ATS0&amp;lt;/code&amp;gt; removes the spaces between bytes. Without it, the generic Chinese ELM327-based dongle (dongle 1) reported &amp;lt;code&amp;gt;BUFFER FULL&amp;lt;/code&amp;gt; near byte 81.&lt;br /&gt;
* Expected output: a length line (&amp;lt;code&amp;gt;066&amp;lt;/code&amp;gt; = 102 bytes) and numbered lines &amp;lt;code&amp;gt;0:&amp;lt;/code&amp;gt; to &amp;lt;code&amp;gt;E:&amp;lt;/code&amp;gt;.&lt;br /&gt;
* With default settings dongle 1 returned only the first line (&amp;lt;code&amp;gt;61 00 xx 01 00 00&amp;lt;/code&amp;gt;).&lt;br /&gt;
&lt;br /&gt;
== Reply layout (21 00) ==&lt;br /&gt;
Byte positions count the &amp;lt;code&amp;gt;61&amp;lt;/code&amp;gt; as byte 0.&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! Bytes !! Content&lt;br /&gt;
|-&lt;br /&gt;
| 0-1 || &amp;lt;code&amp;gt;61 00&amp;lt;/code&amp;gt; (positive reply)&lt;br /&gt;
|-&lt;br /&gt;
| 2 || Varies 117-142. Looks like system voltage x 10 (&#039;&#039;unconfirmed&#039;&#039;)&lt;br /&gt;
|-&lt;br /&gt;
| 12-21 || Sensor record 1: front left&lt;br /&gt;
|-&lt;br /&gt;
| 22-31 || Sensor record 2: rear left&lt;br /&gt;
|-&lt;br /&gt;
| 32-41 || Sensor record 3: rear right&lt;br /&gt;
|-&lt;br /&gt;
| 42-51 || Sensor record 4: front right&lt;br /&gt;
|-&lt;br /&gt;
| 56-71 || Four 4-byte sensor-ID entries whose contents change (meaning unknown)&lt;br /&gt;
|-&lt;br /&gt;
| other || Not decoded&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== Sensor record (10 bytes) ===&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! Offset !! Content&lt;br /&gt;
|-&lt;br /&gt;
| +0 to +3 || Sensor ID&lt;br /&gt;
|-&lt;br /&gt;
| +4 || Position flag&lt;br /&gt;
|-&lt;br /&gt;
| +5 || Value 57-74. Behaves like temperature, possibly with an offset of 40 (&#039;&#039;unconfirmed&#039;&#039;)&lt;br /&gt;
|-&lt;br /&gt;
| +6 || Pressure, gauge: bar = raw x 0.01372 (see Calibration)&lt;br /&gt;
|-&lt;br /&gt;
| +7, +8 || Not understood&lt;br /&gt;
|-&lt;br /&gt;
| +9 || Always 0&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! Wheel !! Sensor ID !! Position flag&lt;br /&gt;
|-&lt;br /&gt;
| Front left || 4E AA 09 43 || 0x10&lt;br /&gt;
|-&lt;br /&gt;
| Rear left || DD 91 B5 25 || 0x20&lt;br /&gt;
|-&lt;br /&gt;
| Rear right || 4E AA 03 19 || 0x18&lt;br /&gt;
|-&lt;br /&gt;
| Front right || 4E AA 09 C9 || 0x08&lt;br /&gt;
|}&lt;br /&gt;
Sensor IDs are specific to one car. Yours will differ.&lt;br /&gt;
&lt;br /&gt;
== Calibration ==&lt;br /&gt;
Byte +6 against gauge readings (bar). The five deflation-test counts were reconstructed from the app&#039;s displayed values.&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! Raw !! Gauge (bar) !! Raw x 0.01372&lt;br /&gt;
|-&lt;br /&gt;
| 136 (rear left) || 1.868 || 1.866&lt;br /&gt;
|-&lt;br /&gt;
| 131 (rear right) || 1.795 || 1.797&lt;br /&gt;
|-&lt;br /&gt;
| 131 (front right) || 1.795 || 1.797&lt;br /&gt;
|-&lt;br /&gt;
| 126 || 1.73 || 1.729&lt;br /&gt;
|-&lt;br /&gt;
| 119 || 1.63 || 1.633&lt;br /&gt;
|-&lt;br /&gt;
| 112 || 1.54 || 1.537&lt;br /&gt;
|-&lt;br /&gt;
| 101 || 1.39 || 1.386&lt;br /&gt;
|-&lt;br /&gt;
| 96 || 1.29 || 1.317&lt;br /&gt;
|}&lt;br /&gt;
The last five rows are from one tyre during a slow deflation (assumed front left).&lt;br /&gt;
* bar = raw x 0.01372&lt;br /&gt;
* psi = raw x 0.199&lt;br /&gt;
&lt;br /&gt;
No offset is needed, which suggests the byte holds gauge pressure. All points are within 0.004 bar except the lowest (0.027 bar off), which may be sensor update lag or slight non-linearity. More readings at low and high pressure are needed.&lt;br /&gt;
&lt;br /&gt;
== Torque Pro custom PIDs ==&lt;br /&gt;
Common fields for every wheel:&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! Field !! Value&lt;br /&gt;
|-&lt;br /&gt;
| Header || 798&lt;br /&gt;
|-&lt;br /&gt;
| Mode and PID || 2100&lt;br /&gt;
|-&lt;br /&gt;
| Diagnostic start command || &amp;lt;code&amp;gt;ATS0, ATL0, ATFCSH798, ATFCSD300000, ATFCSM1&amp;lt;/code&amp;gt; (comma-separated)&lt;br /&gt;
|-&lt;br /&gt;
| Unit / min / max || bar, 0, 4 (or psi, 0, 60)&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
Equation uses a letter for each data byte. &amp;lt;code&amp;gt;A&amp;lt;/code&amp;gt; is the first byte after &amp;lt;code&amp;gt;61 00&amp;lt;/code&amp;gt; (reply byte 2).&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! Wheel !! Byte +5 (temperature?) !! Byte +6 (pressure candidate)” to “Byte +6 (pressure)”&lt;br /&gt;
|-&lt;br /&gt;
| Front left || P || Q&lt;br /&gt;
|-&lt;br /&gt;
| Front right || AT || AU&lt;br /&gt;
|-&lt;br /&gt;
| Rear left || Z || AA&lt;br /&gt;
|-&lt;br /&gt;
| Rear right || AJ || AK&lt;br /&gt;
|}&lt;br /&gt;
Example: &amp;lt;code&amp;gt;Q*0.01372&amp;lt;/code&amp;gt;. Letters must be upper case. Whether Torque accepts two-letter variables is &#039;&#039;unconfirmed&#039;&#039;.&lt;br /&gt;
&lt;br /&gt;
=== Known problem ===&lt;br /&gt;
Using dongle 1 (generic Chinese ELM327-based) with Torque Pro on the XTRONS PX90, Torque read bytes &amp;lt;code&amp;gt;A&amp;lt;/code&amp;gt; to &amp;lt;code&amp;gt;D&amp;lt;/code&amp;gt; (first line of the reply) correctly, but every byte from &amp;lt;code&amp;gt;E&amp;lt;/code&amp;gt; onward returned -1, even though a terminal received the full 102 bytes with the same commands. The start-command field is applied (adding &amp;lt;code&amp;gt;ATH1&amp;lt;/code&amp;gt; changed the output). Tried without success: turning off &amp;quot;Faster communication&amp;quot; and removing &amp;lt;code&amp;gt;ATS0&amp;lt;/code&amp;gt;. Not tried: &amp;lt;code&amp;gt;ATAT0, ATSTFF&amp;lt;/code&amp;gt; timeout settings.&lt;br /&gt;
&lt;br /&gt;
Dongle 2 (Veepeak OBDCheck BLE+) gave the same result, but the head unit does not support BLE, so that test is not reliable. Car Scanner Pro reads every byte with dongle 1 and the same commands, so the limitation appears to be in how Torque Pro handles this multi-line reply, not in the adapter. Unresolved; a request has been posted on the Torque forum.&lt;br /&gt;
&lt;br /&gt;
== Car Scanner Pro (working) ==&lt;br /&gt;
Car Scanner Pro reads all the bytes where Torque Pro fails. Custom PID settings used:&lt;br /&gt;
* Header: 798&lt;br /&gt;
* Request: 2100&lt;br /&gt;
* Start command (backslash-separated): &amp;lt;code&amp;gt;ATAT0\ATSTFF\ATS0\ATL0\ATFCSH798\ATFCSD300000\ATFCSM1&amp;lt;/code&amp;gt;&lt;br /&gt;
* Equations use the same letters as the table above, for example &amp;lt;code&amp;gt;Q*0.01372&amp;lt;/code&amp;gt; for front left (bar)&lt;br /&gt;
&lt;br /&gt;
The start command has not yet been shortened. Tested with dongle 1 (generic ELM327-based) on the XTRONS PX90.&lt;br /&gt;
&lt;br /&gt;
== RealDash ==&lt;br /&gt;
RealDash describes its OBD2 communication in an XML file. With dongle 1, RealDash&#039;s default init plus the lines below works: the TPMS sensors reply, and the values appear in RealDash&#039;s debug view. Dashboard gauges are in progress.&lt;br /&gt;
&lt;br /&gt;
Changes to RealDash&#039;s default file:&lt;br /&gt;
* Add the three flow-control commands to the init section, before the &amp;lt;code&amp;gt;0100&amp;lt;/code&amp;gt; and &amp;lt;code&amp;gt;0120&amp;lt;/code&amp;gt; checks.&lt;br /&gt;
* Every TPMS command sets &amp;lt;code&amp;gt;header=&amp;quot;atsh798&amp;quot;&amp;lt;/code&amp;gt;. The docs say to set the header on every command when the rotation uses more than one. Any standard command in the same rotation then needs &amp;lt;code&amp;gt;header=&amp;quot;atsh7df&amp;quot;&amp;lt;/code&amp;gt;, or it would be sent to 0x798.&lt;br /&gt;
* RealDash requires &amp;lt;code&amp;gt;ATE0&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;ATL0&amp;lt;/code&amp;gt; and &amp;lt;code&amp;gt;ATS0&amp;lt;/code&amp;gt; (already in its default init).&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&amp;lt;init&amp;gt;&lt;br /&gt;
  ... RealDash default init lines ...&lt;br /&gt;
  &amp;lt;command send=&amp;quot;atfcsh798&amp;quot;&amp;gt;&amp;lt;/command&amp;gt;&lt;br /&gt;
  &amp;lt;command send=&amp;quot;atfcsd300000&amp;quot;&amp;gt;&amp;lt;/command&amp;gt;&lt;br /&gt;
  &amp;lt;command send=&amp;quot;atfcsm1&amp;quot;&amp;gt;&amp;lt;/command&amp;gt;&lt;br /&gt;
  &amp;lt;command send=&amp;quot;0100&amp;quot;&amp;gt;&amp;lt;/command&amp;gt;&lt;br /&gt;
  &amp;lt;command send=&amp;quot;0120&amp;quot;&amp;gt;&amp;lt;/command&amp;gt;&lt;br /&gt;
&amp;lt;/init&amp;gt;&lt;br /&gt;
&amp;lt;rotation&amp;gt;&lt;br /&gt;
  &amp;lt;command send=&amp;quot;2100&amp;quot; header=&amp;quot;atsh798&amp;quot; skipCount=&amp;quot;10&amp;quot; keepInRotation=&amp;quot;true&amp;quot; name=&amp;quot;TPMS: front left&amp;quot; units=&amp;quot;bar&amp;quot; conversionABC=&amp;quot;Q*0.01372&amp;quot;&amp;gt;&amp;lt;/command&amp;gt;&lt;br /&gt;
  &amp;lt;command send=&amp;quot;2100&amp;quot; header=&amp;quot;atsh798&amp;quot; skipCount=&amp;quot;11&amp;quot; keepInRotation=&amp;quot;true&amp;quot; name=&amp;quot;TPMS: front right&amp;quot; units=&amp;quot;bar&amp;quot; conversionABC=&amp;quot;AU*0.01372&amp;quot;&amp;gt;&amp;lt;/command&amp;gt;&lt;br /&gt;
  &amp;lt;command send=&amp;quot;2100&amp;quot; header=&amp;quot;atsh798&amp;quot; skipCount=&amp;quot;12&amp;quot; keepInRotation=&amp;quot;true&amp;quot; name=&amp;quot;TPMS: rear left&amp;quot; units=&amp;quot;bar&amp;quot; conversionABC=&amp;quot;AA*0.01372&amp;quot;&amp;gt;&amp;lt;/command&amp;gt;&lt;br /&gt;
  &amp;lt;command send=&amp;quot;2100&amp;quot; header=&amp;quot;atsh798&amp;quot; skipCount=&amp;quot;13&amp;quot; keepInRotation=&amp;quot;true&amp;quot; name=&amp;quot;TPMS: rear right&amp;quot; units=&amp;quot;bar&amp;quot; conversionABC=&amp;quot;AK*0.01372&amp;quot;&amp;gt;&amp;lt;/command&amp;gt;&lt;br /&gt;
&amp;lt;/rotation&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;conversionABC&amp;lt;/code&amp;gt; uses the same letters as Torque and Car Scanner (A is the first byte after 61 00). The TPMS inputs appear in RealDash&#039;s ECU Specific category.&lt;br /&gt;
&lt;br /&gt;
The Veepeak OBDCheck BLE+ (dongle 2) was intermittent with RealDash because the head unit does not support BLE. An earlier init that replaced RealDash&#039;s timing defaults with &amp;lt;code&amp;gt;ATAT0&amp;lt;/code&amp;gt; and &amp;lt;code&amp;gt;ATSTFF&amp;lt;/code&amp;gt; showed BUS ERROR and STOPPED messages; the dongle used was not recorded.&lt;br /&gt;
&lt;br /&gt;
== Other modules found by a full scan ==&lt;br /&gt;
A full health-check scan with a Launch X431 CRP919, captured with PCAN-View on the OBD socket, shows 12 modules answering on the DLC. Every module that replied is listed here. The reply ID is not always the request ID plus 8.&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! Request !! Reply !! Protocol !! Identification replies !! Module !! How identified&lt;br /&gt;
|-&lt;br /&gt;
| 0x7E0 || 0x7E8 || KWP || 33980-78R0, 33980-78RC* || ECM || Standard engine address&lt;br /&gt;
|-&lt;br /&gt;
| 0x261 || 0x661 || KWP || 56100-77RA, 56100-78RF* || ABS (inferred) || Only brake module left by elimination&lt;br /&gt;
|-&lt;br /&gt;
| 0x263 || 0x663 || KWP || 38720-77R0, 38720-77R0* || EPS controller || Parts catalogue&lt;br /&gt;
|-&lt;br /&gt;
| 0x271 || 0x671 || KWP || 36775-77R0, 36775-77RC* || Body control module || Parts catalogue&lt;br /&gt;
|-&lt;br /&gt;
| 0x274 || 0x674 || KWP || 34100-78R0, 34110-78RD* || Instrument cluster || Rev counter sweep test&lt;br /&gt;
|-&lt;br /&gt;
| 0x798 || 0x7A8 || KWP || 37160-61M0, 37120-78R0* || TPMS controller || Label and parts catalogue&lt;br /&gt;
|-&lt;br /&gt;
| 0x79A || 0x7AA || KWP || 37210-74PA, 37210-74PE* || Lighting and turn switch || Parts catalogue&lt;br /&gt;
|-&lt;br /&gt;
| 0x778 || 0x788 || KWP || 33990-52R0, 33990-78R8* || Dual sensor brake support || Parts catalogue&lt;br /&gt;
|-&lt;br /&gt;
| 0x793 || 0x7A3 || UDS || 38910-77R0, 38910-78RC* || Airbag (SRS) controller || Parts catalogue&lt;br /&gt;
|-&lt;br /&gt;
| 0x772 || 0x782 || UDS || 38885-77R0, 38885-78R0* || 4WD shift controller || Parts catalogue&lt;br /&gt;
|-&lt;br /&gt;
| 0x799 || 0x7A9 || UDS || 38960-78RA, 38960-78RA* || E-call controller || Parts catalogue&lt;br /&gt;
|-&lt;br /&gt;
| 0x751 || 0x761 || UDS || 33580-79R0, 33580-78R0* || Central gateway || Label and parts catalogue&lt;br /&gt;
|}&lt;br /&gt;
Reply ID offsets: engine +0x08; 0x261 to 0x274 +0x400; all others +0x10.&lt;br /&gt;
&lt;br /&gt;
* KWP-style modules answer &amp;lt;code&amp;gt;1A 8E&amp;lt;/code&amp;gt; and &amp;lt;code&amp;gt;1A 8A&amp;lt;/code&amp;gt; (identification) and &amp;lt;code&amp;gt;18 00 FF 00&amp;lt;/code&amp;gt; (DTCs). UDS-style modules answer &amp;lt;code&amp;gt;22 F1 01&amp;lt;/code&amp;gt; and &amp;lt;code&amp;gt;22 F1 88&amp;lt;/code&amp;gt; (identification) and &amp;lt;code&amp;gt;19 02 FF&amp;lt;/code&amp;gt; (DTCs).&lt;br /&gt;
* Requests to 0x273 and 0x262 (tester present) got no reply, so those modules are probably not fitted.&lt;br /&gt;
* Two names are inferred and not confirmed by a part label: 0x261 (ABS) and 0x778 (dual sensor brake support). All the others come from the parts catalogue, a label, or a test.&lt;br /&gt;
* The E-call controller (0x799) returned a stored code record (&amp;lt;code&amp;gt;92 4E 00&amp;lt;/code&amp;gt;, status 02) that the Launch report does not list. Its meaning is not known.&lt;br /&gt;
&lt;br /&gt;
=== Instrument cluster output test (0x274 / 0x674) ===&lt;br /&gt;
A rev counter sweep commanded by the Launch X431 appears as a single KWP output-control request, after which the cluster sweeps the needle up and down by itself:&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! Request !! Reply !! Notes&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;3E 00&amp;lt;/code&amp;gt; || &amp;lt;code&amp;gt;7E&amp;lt;/code&amp;gt; || Tester present, about every 2.15 s&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;30 01 07 80 40 00 00&amp;lt;/code&amp;gt; || &amp;lt;code&amp;gt;70 01 07&amp;lt;/code&amp;gt; || Starts the sweep (service 0x30, local ID 01, &amp;quot;short-term adjustment&amp;quot;)&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;30 01 07 80 00 00 00&amp;lt;/code&amp;gt; || &amp;lt;code&amp;gt;7F 30 22&amp;lt;/code&amp;gt; || Refused (&amp;quot;conditions not correct&amp;quot;); possibly a stop request sent after the sweep had finished&lt;br /&gt;
|}&lt;br /&gt;
The meaning of the four control bytes (80 40 00 00) is not known.&lt;br /&gt;
&lt;br /&gt;
* Meaning of reply bytes +5, +7, +8 and the unexplained regions.&lt;br /&gt;
* A more reliable pressure scale (more gauge readings at low and high pressure are needed; the lowest calibration point is 0.027 bar off).&lt;br /&gt;
* Whether the central gateway forwards the request to the TPMS controller or remaps the address.&lt;br /&gt;
* Why Torque Pro stops after the first line of the reply (the adapter is ruled out).&lt;br /&gt;
* The meaning of the control bytes (80 40 00 00) in the instrument cluster sweep command.&lt;br /&gt;
* The meaning of the stored code from the E-call controller.&lt;br /&gt;
* Confirming the ABS (0x261) and dual sensor brake support (0x778) names.&lt;br /&gt;
&lt;br /&gt;
== Sources ==&lt;br /&gt;
* Owner PCAN-View captures, October 2026.&lt;br /&gt;
* Suzuki wiring diagrams: A-8 CAN communication system; A-8 Central Gateway Control and DLC System (RHD).&lt;br /&gt;
* Forum thread &amp;quot;Jimny JB74 (2019+) - Torque Pro PID for TPMS&amp;quot;.&lt;br /&gt;
* BigJimny forum thread &amp;quot;JB74 OBD2 connection&amp;quot; (December 2020).&lt;br /&gt;
* Suzuki Jimny parts catalogue 9900B-40312-004 (type 1, October 2021), figures 350A, 351A and 351B.&lt;br /&gt;
* RealDash-extras OBD2 documentation (OBD2 XML description file).&lt;br /&gt;
* Car Scanner ELM OBD2 custom PID documentation.&lt;br /&gt;
&lt;br /&gt;
[[Category:Jimny technical]]&lt;br /&gt;
[[Category:JB74]]&lt;br /&gt;
[[Category:Electrical - gen3]]&lt;br /&gt;
[[Category:FAQ - gen3]]&lt;br /&gt;
[[Category:Howto - gen3]]&lt;br /&gt;
&lt;br /&gt;
[[Category:Electrical - gen4]]&lt;br /&gt;
[[Category:FAQ - gen4]]&lt;br /&gt;
[[Category:Howto - gen4]]&lt;/div&gt;</summary>
		<author><name>Mlines</name></author>
	</entry>
	<entry>
		<id>https://www.bigjimny.com/mediawiki/index.php?title=OBD2_Diagnostics_reading_project&amp;diff=10089</id>
		<title>OBD2 Diagnostics reading project</title>
		<link rel="alternate" type="text/html" href="https://www.bigjimny.com/mediawiki/index.php?title=OBD2_Diagnostics_reading_project&amp;diff=10089"/>
		<updated>2026-11-01T10:44:11Z</updated>

		<summary type="html">&lt;p&gt;Mlines: /* Open questions */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;= Suzuki Jimny JB74 (2018+) - Reading TPMS data over the diagnostic CAN link =&lt;br /&gt;
&lt;br /&gt;
{{Donate}}&lt;br /&gt;
== Overview ==&lt;br /&gt;
Purpose-built diagnostic tools (Autel, Launch and similar) already support Suzuki comprehensively. There is also a trend towards replacing the factory head unit with an Android media unit that can run apps to read and display information from the car&#039;s electronics. These units are not Suzuki-specific, so this project aims to learn how to read vehicle data (starting with the factory TPMS) and show it on the head unit.&lt;br /&gt;
&lt;br /&gt;
=== Equipment ===&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! Role !! Item&lt;br /&gt;
|-&lt;br /&gt;
| Head unit || XTRONS PX90&lt;br /&gt;
|-&lt;br /&gt;
| OBD-II Bluetooth dongle 1 || Generic ELM-based (Chinese)&lt;br /&gt;
|-&lt;br /&gt;
| OBD-II Bluetooth dongle 2 || Veepeak OBDCheck BLE+ (BLE only; unreliable on this head unit)&lt;br /&gt;
|-&lt;br /&gt;
| CAN bus monitor (Windows) || PCAN-View (PEAK-System)&lt;br /&gt;
|-&lt;br /&gt;
| Diagnostic tool 1 || Launch X431 CRP919&lt;br /&gt;
|-&lt;br /&gt;
| Diagnostic tool 2 || SZ Viewer app&lt;br /&gt;
|-&lt;br /&gt;
| Head-unit apps tried || Torque Pro (fails past the first line), RealDash (TPMS values seen in its debug view; gauges in progress), Car Scanner Pro (works)&lt;br /&gt;
|-&lt;br /&gt;
| Head-unit Bluetooth || xTRONS IP90  - Classic Bluetooth only, no BLE support&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== Method ===&lt;br /&gt;
# The diagnostic tools (Launch X431, SZ Viewer) have comprehensive Suzuki support, so they are used to generate the CAN bus requests.&lt;br /&gt;
# PCAN-View is connected to the OBD socket to capture the requests and the module&#039;s replies, which are then decoded by hand.&lt;br /&gt;
# The decoded requests are recreated in the head-unit apps so the head unit can ask the car for the same data directly.&lt;br /&gt;
&#039;&#039;&#039;Status:&#039;&#039;&#039; work in progress. Based on one RHD UK-market 2021 Jimny with factory TPMS, owner-made PCAN-View captures (including a full Launch scan and an instrument cluster test), the Suzuki wiring diagrams (A-8 CAN communication and A-8 Central Gateway/DLC) and the Suzuki parts catalogue. TPMS readings work in Car Scanner Pro; RealDash works in its debug view with gauges in progress. Items marked &#039;&#039;unconfirmed&#039;&#039; are not yet verified.&lt;br /&gt;
&lt;br /&gt;
* The TPMS control module answers an ordinary diagnostic request on the OBD socket. It does not broadcast tyre data.&lt;br /&gt;
* Request ID &#039;&#039;&#039;0x798&#039;&#039;&#039;, reply ID &#039;&#039;&#039;0x7A8&#039;&#039;&#039; (11-bit CAN, 500 kbit/s, ISO-TP framing) returns the TPMS data, including four sensor IDs and pressure readings. The module&#039;s identification reply (37160-61M0) matches the Model No. (P61M0) on the TPMS controller label. Whether the central gateway forwards or remaps the request is unconfirmed.&lt;br /&gt;
* Service &#039;&#039;&#039;0x21&#039;&#039;&#039; (read data by local identifier), identifier &#039;&#039;&#039;0x00&#039;&#039;&#039;, returns 102 bytes containing all four sensor records.&lt;br /&gt;
* Pressure is byte +6 of each sensor record: bar = raw x 0.01372.&lt;br /&gt;
* The OBD socket is fed by a central gateway, so only diagnostic traffic is visible on it.&lt;br /&gt;
* Working: Car Scanner Pro, and RealDash (values seen in its debug view). Not working: Torque Pro.&lt;br /&gt;
&lt;br /&gt;
== DLC (OBD socket) wiring ==&lt;br /&gt;
The service-manual diagram numbers the DLC terminals differently from SAE J1962. In all five cases on the diagram, manual terminal &#039;&#039;n&#039;&#039; matches standard pin &#039;&#039;17 - n&#039;&#039;.&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! Manual terminal !! Standard pin !! Function !! Wire / source on diagram&lt;br /&gt;
|-&lt;br /&gt;
| 1 || 16 || Battery +12 V || GRY, fuse No.49 &amp;quot;DOME2&amp;quot; (10 A)&lt;br /&gt;
|-&lt;br /&gt;
| 12 || 5 || Signal ground || BLK&lt;br /&gt;
|-&lt;br /&gt;
| 13 || 4 || Chassis ground || BLK&lt;br /&gt;
|-&lt;br /&gt;
| 11 || 6 || CAN-H (from standard assignment) || BLU, gateway pin 8&lt;br /&gt;
|-&lt;br /&gt;
| 3 || 14 || CAN-L (from standard assignment) || WHT, gateway pin 7&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
Use pins &#039;&#039;&#039;6&#039;&#039;&#039; and &#039;&#039;&#039;14&#039;&#039;&#039; for a CAN adapter. The diagram does not label CAN-H and CAN-L itself.&lt;br /&gt;
&lt;br /&gt;
=== Cross-check with other reports ===&lt;br /&gt;
A BigJimny forum thread (&amp;quot;JB74 OBD2 connection&amp;quot;, December 2020) describes a 2020 JB74 whose OBD plug had pins 4, 5, 6, 14, 15 and 16 wired, with pin 7 (K-line) not wired. The poster, quoting an older Suzuki pinout, lists pin 6 as a blue wire (CAN-H) and pin 14 as a white wire (CAN-L). This matches the table above: a blue CAN wire on pin 6 and a white one on pin 14.&lt;br /&gt;
&lt;br /&gt;
* The CAN-H/CAN-L assignment in that thread comes from a pinout reference that the poster says predates the JB74, so it is a report, not a measurement.&lt;br /&gt;
* No wire for standard pin 7 (K-line) appears on the diagram page above, and the forum report also found it unwired. K-line is therefore unlikely to be available on the JB74 socket.&lt;br /&gt;
* On the forum poster&#039;s car, pin 15 was also wired; the diagram page above shows no wire for it. This may be a market or model-year difference.&lt;br /&gt;
&lt;br /&gt;
== Network layout ==&lt;br /&gt;
The DLC is not on the vehicle bus directly. The &#039;&#039;&#039;central gateway control module&#039;&#039;&#039; joins the vehicle CAN bus (its pins 20 and 21, RED/WHT) and provides a separate CAN pair to the DLC (its pins 8 and 7, BLU/WHT).&lt;br /&gt;
&lt;br /&gt;
Modules on the vehicle bus (diagram): ECM, 4WD control module, TCM (A/T models), BCM, ESP control module, headlight auto levelling module (if equipped), dual sensor brake support control module (if equipped), P/S control module, steering angle sensor, TPMS control module / receiver (if equipped), combination meter, SDM, combination switch.&lt;br /&gt;
&lt;br /&gt;
Gateway power: fuse No.60 &amp;quot;IG1 SIG&amp;quot; (10 A) and fuse No.52 &amp;quot;CONT&amp;quot; (5 A). Treat the ignition as needing to be on.&lt;br /&gt;
&lt;br /&gt;
Observation: two captures from the DLC contained only IDs 0x798 and 0x7A8 (plus two error frames). No broadcast traffic from other modules was seen, so passive listening on the DLC will not show TPMS data.&lt;br /&gt;
&lt;br /&gt;
== Diagnostic requests seen ==&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! Request !! Reply !! Meaning&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;3E&amp;lt;/code&amp;gt; || &amp;lt;code&amp;gt;7E&amp;lt;/code&amp;gt; || Tester present&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;1A 8A&amp;lt;/code&amp;gt; || &amp;lt;code&amp;gt;5A 8A&amp;lt;/code&amp;gt; + ASCII &amp;lt;code&amp;gt;37120-78R0*&amp;lt;/code&amp;gt; || ECU identification&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;1A 8E&amp;lt;/code&amp;gt; || &amp;lt;code&amp;gt;5A 8E&amp;lt;/code&amp;gt; + ASCII &amp;lt;code&amp;gt;37160-61M0&amp;lt;/code&amp;gt; || ECU identification: matches the &amp;quot;Model No. P61M0&amp;quot; printed on the TPMS controller label&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;18 00 FF 00&amp;lt;/code&amp;gt; || &amp;lt;code&amp;gt;58 00&amp;lt;/code&amp;gt; or &amp;lt;code&amp;gt;58 01 9A 31 E0&amp;lt;/code&amp;gt; || Read DTCs by status (second form = one code reported; not decoded)&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;21 00&amp;lt;/code&amp;gt; || &amp;lt;code&amp;gt;61 00&amp;lt;/code&amp;gt; + 100 bytes || Sensor data block (repeated about twice a second by the scan tool)&lt;br /&gt;
|}&lt;br /&gt;
Part labels on the test car: TPMS controller 37160-78R00, &amp;quot;BASE ASSY-TPMS&amp;quot;, Model No. P61M0, Continental A2C13930301, 433.92 MHz; central gateway controller 33580-79R01. The &amp;lt;code&amp;gt;1A 8E&amp;lt;/code&amp;gt; reply (37160-61M0) matches the TPMS controller&#039;s base number and model number; the &amp;lt;code&amp;gt;1A 8A&amp;lt;/code&amp;gt; reply (37120-78R0*) shares &amp;quot;78R0&amp;quot; with the full part number, but its meaning is not confirmed.&lt;br /&gt;
&lt;br /&gt;
A Launch full scan reported &amp;quot;Left Front Tire Pressure Low&amp;quot; for the TPMS module, and the module returned one stored code (&amp;lt;code&amp;gt;9A 31&amp;lt;/code&amp;gt;) in the same scan. That code is probably the low-pressure warning (inferred; the report does not show the code itself).&lt;br /&gt;
&lt;br /&gt;
== Reading it with an ELM327 ==&lt;br /&gt;
Terminal commands, one at a time (CR line ending):&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
ATZ&lt;br /&gt;
ATSP6&lt;br /&gt;
ATSH798&lt;br /&gt;
ATS0&lt;br /&gt;
ATL0&lt;br /&gt;
ATFCSH798&lt;br /&gt;
ATFCSD300000&lt;br /&gt;
ATFCSM1&lt;br /&gt;
2100&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
* &amp;lt;code&amp;gt;ATSH798&amp;lt;/code&amp;gt; sets the request address. The reply address (0x7A8) is worked out automatically.&lt;br /&gt;
* &amp;lt;code&amp;gt;ATFCSH798 / ATFCSD300000 / ATFCSM1&amp;lt;/code&amp;gt; make the adapter send the ISO-TP flow-control frame (30 00 00) itself.&lt;br /&gt;
* &amp;lt;code&amp;gt;ATS0&amp;lt;/code&amp;gt; removes the spaces between bytes. Without it, the generic Chinese ELM327-based dongle (dongle 1) reported &amp;lt;code&amp;gt;BUFFER FULL&amp;lt;/code&amp;gt; near byte 81.&lt;br /&gt;
* Expected output: a length line (&amp;lt;code&amp;gt;066&amp;lt;/code&amp;gt; = 102 bytes) and numbered lines &amp;lt;code&amp;gt;0:&amp;lt;/code&amp;gt; to &amp;lt;code&amp;gt;E:&amp;lt;/code&amp;gt;.&lt;br /&gt;
* With default settings dongle 1 returned only the first line (&amp;lt;code&amp;gt;61 00 xx 01 00 00&amp;lt;/code&amp;gt;).&lt;br /&gt;
&lt;br /&gt;
== Reply layout (21 00) ==&lt;br /&gt;
Byte positions count the &amp;lt;code&amp;gt;61&amp;lt;/code&amp;gt; as byte 0.&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! Bytes !! Content&lt;br /&gt;
|-&lt;br /&gt;
| 0-1 || &amp;lt;code&amp;gt;61 00&amp;lt;/code&amp;gt; (positive reply)&lt;br /&gt;
|-&lt;br /&gt;
| 2 || Varies 117-142. Looks like system voltage x 10 (&#039;&#039;unconfirmed&#039;&#039;)&lt;br /&gt;
|-&lt;br /&gt;
| 12-21 || Sensor record 1: front left&lt;br /&gt;
|-&lt;br /&gt;
| 22-31 || Sensor record 2: rear left&lt;br /&gt;
|-&lt;br /&gt;
| 32-41 || Sensor record 3: rear right&lt;br /&gt;
|-&lt;br /&gt;
| 42-51 || Sensor record 4: front right&lt;br /&gt;
|-&lt;br /&gt;
| 56-71 || Four 4-byte sensor-ID entries whose contents change (meaning unknown)&lt;br /&gt;
|-&lt;br /&gt;
| other || Not decoded&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== Sensor record (10 bytes) ===&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! Offset !! Content&lt;br /&gt;
|-&lt;br /&gt;
| +0 to +3 || Sensor ID&lt;br /&gt;
|-&lt;br /&gt;
| +4 || Position flag&lt;br /&gt;
|-&lt;br /&gt;
| +5 || Value 57-74. Behaves like temperature, possibly with an offset of 40 (&#039;&#039;unconfirmed&#039;&#039;)&lt;br /&gt;
|-&lt;br /&gt;
| +6 || Pressure, gauge: bar = raw x 0.01372 (see Calibration)&lt;br /&gt;
|-&lt;br /&gt;
| +7, +8 || Not understood&lt;br /&gt;
|-&lt;br /&gt;
| +9 || Always 0&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! Wheel !! Sensor ID !! Position flag&lt;br /&gt;
|-&lt;br /&gt;
| Front left || 4E AA 09 43 || 0x10&lt;br /&gt;
|-&lt;br /&gt;
| Rear left || DD 91 B5 25 || 0x20&lt;br /&gt;
|-&lt;br /&gt;
| Rear right || 4E AA 03 19 || 0x18&lt;br /&gt;
|-&lt;br /&gt;
| Front right || 4E AA 09 C9 || 0x08&lt;br /&gt;
|}&lt;br /&gt;
Sensor IDs are specific to one car. Yours will differ.&lt;br /&gt;
&lt;br /&gt;
== Calibration ==&lt;br /&gt;
Byte +6 against gauge readings (bar). The five deflation-test counts were reconstructed from the app&#039;s displayed values.&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! Raw !! Gauge (bar) !! Raw x 0.01372&lt;br /&gt;
|-&lt;br /&gt;
| 136 (rear left) || 1.868 || 1.866&lt;br /&gt;
|-&lt;br /&gt;
| 131 (rear right) || 1.795 || 1.797&lt;br /&gt;
|-&lt;br /&gt;
| 131 (front right) || 1.795 || 1.797&lt;br /&gt;
|-&lt;br /&gt;
| 126 || 1.73 || 1.729&lt;br /&gt;
|-&lt;br /&gt;
| 119 || 1.63 || 1.633&lt;br /&gt;
|-&lt;br /&gt;
| 112 || 1.54 || 1.537&lt;br /&gt;
|-&lt;br /&gt;
| 101 || 1.39 || 1.386&lt;br /&gt;
|-&lt;br /&gt;
| 96 || 1.29 || 1.317&lt;br /&gt;
|}&lt;br /&gt;
The last five rows are from one tyre during a slow deflation (assumed front left).&lt;br /&gt;
* bar = raw x 0.01372&lt;br /&gt;
* psi = raw x 0.199&lt;br /&gt;
&lt;br /&gt;
No offset is needed, which suggests the byte holds gauge pressure. All points are within 0.004 bar except the lowest (0.027 bar off), which may be sensor update lag or slight non-linearity. More readings at low and high pressure are needed.&lt;br /&gt;
&lt;br /&gt;
== Torque Pro custom PIDs ==&lt;br /&gt;
Common fields for every wheel:&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! Field !! Value&lt;br /&gt;
|-&lt;br /&gt;
| Header || 798&lt;br /&gt;
|-&lt;br /&gt;
| Mode and PID || 2100&lt;br /&gt;
|-&lt;br /&gt;
| Diagnostic start command || &amp;lt;code&amp;gt;ATS0, ATL0, ATFCSH798, ATFCSD300000, ATFCSM1&amp;lt;/code&amp;gt; (comma-separated)&lt;br /&gt;
|-&lt;br /&gt;
| Unit / min / max || bar, 0, 4 (or psi, 0, 60)&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
Equation uses a letter for each data byte. &amp;lt;code&amp;gt;A&amp;lt;/code&amp;gt; is the first byte after &amp;lt;code&amp;gt;61 00&amp;lt;/code&amp;gt; (reply byte 2).&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! Wheel !! Byte +5 (temperature?) !! Byte +6 (pressure candidate)” to “Byte +6 (pressure)”&lt;br /&gt;
|-&lt;br /&gt;
| Front left || P || Q&lt;br /&gt;
|-&lt;br /&gt;
| Front right || AT || AU&lt;br /&gt;
|-&lt;br /&gt;
| Rear left || Z || AA&lt;br /&gt;
|-&lt;br /&gt;
| Rear right || AJ || AK&lt;br /&gt;
|}&lt;br /&gt;
Example: &amp;lt;code&amp;gt;Q*0.01372&amp;lt;/code&amp;gt;. Letters must be upper case. Whether Torque accepts two-letter variables is &#039;&#039;unconfirmed&#039;&#039;.&lt;br /&gt;
&lt;br /&gt;
=== Known problem ===&lt;br /&gt;
Using dongle 1 (generic Chinese ELM327-based) with Torque Pro on the XTRONS PX90, Torque read bytes &amp;lt;code&amp;gt;A&amp;lt;/code&amp;gt; to &amp;lt;code&amp;gt;D&amp;lt;/code&amp;gt; (first line of the reply) correctly, but every byte from &amp;lt;code&amp;gt;E&amp;lt;/code&amp;gt; onward returned -1, even though a terminal received the full 102 bytes with the same commands. The start-command field is applied (adding &amp;lt;code&amp;gt;ATH1&amp;lt;/code&amp;gt; changed the output). Tried without success: turning off &amp;quot;Faster communication&amp;quot; and removing &amp;lt;code&amp;gt;ATS0&amp;lt;/code&amp;gt;. Not tried: &amp;lt;code&amp;gt;ATAT0, ATSTFF&amp;lt;/code&amp;gt; timeout settings.&lt;br /&gt;
&lt;br /&gt;
Dongle 2 (Veepeak OBDCheck BLE+) gave the same result, but the head unit does not support BLE, so that test is not reliable. Car Scanner Pro reads every byte with dongle 1 and the same commands, so the limitation appears to be in how Torque Pro handles this multi-line reply, not in the adapter. Unresolved; a request has been posted on the Torque forum.&lt;br /&gt;
&lt;br /&gt;
== Car Scanner Pro (working) ==&lt;br /&gt;
Car Scanner Pro reads all the bytes where Torque Pro fails. Custom PID settings used:&lt;br /&gt;
* Header: 798&lt;br /&gt;
* Request: 2100&lt;br /&gt;
* Start command (backslash-separated): &amp;lt;code&amp;gt;ATAT0\ATSTFF\ATS0\ATL0\ATFCSH798\ATFCSD300000\ATFCSM1&amp;lt;/code&amp;gt;&lt;br /&gt;
* Equations use the same letters as the table above, for example &amp;lt;code&amp;gt;Q*0.01372&amp;lt;/code&amp;gt; for front left (bar)&lt;br /&gt;
&lt;br /&gt;
The start command has not yet been shortened. Tested with dongle 1 (generic ELM327-based) on the XTRONS PX90.&lt;br /&gt;
&lt;br /&gt;
== RealDash ==&lt;br /&gt;
RealDash describes its OBD2 communication in an XML file. With dongle 1, RealDash&#039;s default init plus the lines below works: the TPMS sensors reply, and the values appear in RealDash&#039;s debug view. Dashboard gauges are in progress.&lt;br /&gt;
&lt;br /&gt;
Changes to RealDash&#039;s default file:&lt;br /&gt;
* Add the three flow-control commands to the init section, before the &amp;lt;code&amp;gt;0100&amp;lt;/code&amp;gt; and &amp;lt;code&amp;gt;0120&amp;lt;/code&amp;gt; checks.&lt;br /&gt;
* Every TPMS command sets &amp;lt;code&amp;gt;header=&amp;quot;atsh798&amp;quot;&amp;lt;/code&amp;gt;. The docs say to set the header on every command when the rotation uses more than one. Any standard command in the same rotation then needs &amp;lt;code&amp;gt;header=&amp;quot;atsh7df&amp;quot;&amp;lt;/code&amp;gt;, or it would be sent to 0x798.&lt;br /&gt;
* RealDash requires &amp;lt;code&amp;gt;ATE0&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;ATL0&amp;lt;/code&amp;gt; and &amp;lt;code&amp;gt;ATS0&amp;lt;/code&amp;gt; (already in its default init).&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&amp;lt;init&amp;gt;&lt;br /&gt;
  ... RealDash default init lines ...&lt;br /&gt;
  &amp;lt;command send=&amp;quot;atfcsh798&amp;quot;&amp;gt;&amp;lt;/command&amp;gt;&lt;br /&gt;
  &amp;lt;command send=&amp;quot;atfcsd300000&amp;quot;&amp;gt;&amp;lt;/command&amp;gt;&lt;br /&gt;
  &amp;lt;command send=&amp;quot;atfcsm1&amp;quot;&amp;gt;&amp;lt;/command&amp;gt;&lt;br /&gt;
  &amp;lt;command send=&amp;quot;0100&amp;quot;&amp;gt;&amp;lt;/command&amp;gt;&lt;br /&gt;
  &amp;lt;command send=&amp;quot;0120&amp;quot;&amp;gt;&amp;lt;/command&amp;gt;&lt;br /&gt;
&amp;lt;/init&amp;gt;&lt;br /&gt;
&amp;lt;rotation&amp;gt;&lt;br /&gt;
  &amp;lt;command send=&amp;quot;2100&amp;quot; header=&amp;quot;atsh798&amp;quot; skipCount=&amp;quot;10&amp;quot; keepInRotation=&amp;quot;true&amp;quot; name=&amp;quot;TPMS: front left&amp;quot; units=&amp;quot;bar&amp;quot; conversionABC=&amp;quot;Q*0.01372&amp;quot;&amp;gt;&amp;lt;/command&amp;gt;&lt;br /&gt;
  &amp;lt;command send=&amp;quot;2100&amp;quot; header=&amp;quot;atsh798&amp;quot; skipCount=&amp;quot;11&amp;quot; keepInRotation=&amp;quot;true&amp;quot; name=&amp;quot;TPMS: front right&amp;quot; units=&amp;quot;bar&amp;quot; conversionABC=&amp;quot;AU*0.01372&amp;quot;&amp;gt;&amp;lt;/command&amp;gt;&lt;br /&gt;
  &amp;lt;command send=&amp;quot;2100&amp;quot; header=&amp;quot;atsh798&amp;quot; skipCount=&amp;quot;12&amp;quot; keepInRotation=&amp;quot;true&amp;quot; name=&amp;quot;TPMS: rear left&amp;quot; units=&amp;quot;bar&amp;quot; conversionABC=&amp;quot;AA*0.01372&amp;quot;&amp;gt;&amp;lt;/command&amp;gt;&lt;br /&gt;
  &amp;lt;command send=&amp;quot;2100&amp;quot; header=&amp;quot;atsh798&amp;quot; skipCount=&amp;quot;13&amp;quot; keepInRotation=&amp;quot;true&amp;quot; name=&amp;quot;TPMS: rear right&amp;quot; units=&amp;quot;bar&amp;quot; conversionABC=&amp;quot;AK*0.01372&amp;quot;&amp;gt;&amp;lt;/command&amp;gt;&lt;br /&gt;
&amp;lt;/rotation&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;conversionABC&amp;lt;/code&amp;gt; uses the same letters as Torque and Car Scanner (A is the first byte after 61 00). The TPMS inputs appear in RealDash&#039;s ECU Specific category.&lt;br /&gt;
&lt;br /&gt;
The Veepeak OBDCheck BLE+ (dongle 2) was intermittent with RealDash because the head unit does not support BLE. An earlier init that replaced RealDash&#039;s timing defaults with &amp;lt;code&amp;gt;ATAT0&amp;lt;/code&amp;gt; and &amp;lt;code&amp;gt;ATSTFF&amp;lt;/code&amp;gt; showed BUS ERROR and STOPPED messages; the dongle used was not recorded.&lt;br /&gt;
&lt;br /&gt;
== Other modules found by a full scan ==&lt;br /&gt;
A full health-check scan with a Launch X431 CRP919, captured with PCAN-View on the OBD socket, shows 12 modules answering on the DLC. Every module that replied is listed here. The reply ID is not always the request ID plus 8.&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! Request !! Reply !! Protocol !! Identification replies !! Module !! How identified&lt;br /&gt;
|-&lt;br /&gt;
| 0x7E0 || 0x7E8 || KWP || 33980-78R0, 33980-78RC* || ECM || Standard engine address&lt;br /&gt;
|-&lt;br /&gt;
| 0x261 || 0x661 || KWP || 56100-77RA, 56100-78RF* || ABS (inferred) || Only brake module left by elimination&lt;br /&gt;
|-&lt;br /&gt;
| 0x263 || 0x663 || KWP || 38720-77R0, 38720-77R0* || EPS controller || Parts catalogue&lt;br /&gt;
|-&lt;br /&gt;
| 0x271 || 0x671 || KWP || 36775-77R0, 36775-77RC* || Body control module || Parts catalogue&lt;br /&gt;
|-&lt;br /&gt;
| 0x274 || 0x674 || KWP || 34100-78R0, 34110-78RD* || Instrument cluster || Rev counter sweep test&lt;br /&gt;
|-&lt;br /&gt;
| 0x798 || 0x7A8 || KWP || 37160-61M0, 37120-78R0* || TPMS controller || Label and parts catalogue&lt;br /&gt;
|-&lt;br /&gt;
| 0x79A || 0x7AA || KWP || 37210-74PA, 37210-74PE* || Lighting and turn switch || Parts catalogue&lt;br /&gt;
|-&lt;br /&gt;
| 0x778 || 0x788 || KWP || 33990-52R0, 33990-78R8* || Dual sensor brake support || Parts catalogue&lt;br /&gt;
|-&lt;br /&gt;
| 0x793 || 0x7A3 || UDS || 38910-77R0, 38910-78RC* || Airbag (SRS) controller || Parts catalogue&lt;br /&gt;
|-&lt;br /&gt;
| 0x772 || 0x782 || UDS || 38885-77R0, 38885-78R0* || 4WD shift controller || Parts catalogue&lt;br /&gt;
|-&lt;br /&gt;
| 0x799 || 0x7A9 || UDS || 38960-78RA, 38960-78RA* || E-call controller || Parts catalogue&lt;br /&gt;
|-&lt;br /&gt;
| 0x751 || 0x761 || UDS || 33580-79R0, 33580-78R0* || Central gateway || Label and parts catalogue&lt;br /&gt;
|}&lt;br /&gt;
Reply ID offsets: engine +0x08; 0x261 to 0x274 +0x400; all others +0x10.&lt;br /&gt;
&lt;br /&gt;
* KWP-style modules answer &amp;lt;code&amp;gt;1A 8E&amp;lt;/code&amp;gt; and &amp;lt;code&amp;gt;1A 8A&amp;lt;/code&amp;gt; (identification) and &amp;lt;code&amp;gt;18 00 FF 00&amp;lt;/code&amp;gt; (DTCs). UDS-style modules answer &amp;lt;code&amp;gt;22 F1 01&amp;lt;/code&amp;gt; and &amp;lt;code&amp;gt;22 F1 88&amp;lt;/code&amp;gt; (identification) and &amp;lt;code&amp;gt;19 02 FF&amp;lt;/code&amp;gt; (DTCs).&lt;br /&gt;
* Requests to 0x273 and 0x262 (tester present) got no reply, so those modules are probably not fitted.&lt;br /&gt;
* Two names are inferred and not confirmed by a part label: 0x261 (ABS) and 0x778 (dual sensor brake support). All the others come from the parts catalogue, a label, or a test.&lt;br /&gt;
* The E-call controller (0x799) returned a stored code record (&amp;lt;code&amp;gt;92 4E 00&amp;lt;/code&amp;gt;, status 02) that the Launch report does not list. Its meaning is not known.&lt;br /&gt;
&lt;br /&gt;
=== Instrument cluster output test (0x274 / 0x674) ===&lt;br /&gt;
A rev counter sweep commanded by the Launch X431 appears as a single KWP output-control request, after which the cluster sweeps the needle up and down by itself:&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! Request !! Reply !! Notes&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;3E 00&amp;lt;/code&amp;gt; || &amp;lt;code&amp;gt;7E&amp;lt;/code&amp;gt; || Tester present, about every 2.15 s&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;30 01 07 80 40 00 00&amp;lt;/code&amp;gt; || &amp;lt;code&amp;gt;70 01 07&amp;lt;/code&amp;gt; || Starts the sweep (service 0x30, local ID 01, &amp;quot;short-term adjustment&amp;quot;)&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;30 01 07 80 00 00 00&amp;lt;/code&amp;gt; || &amp;lt;code&amp;gt;7F 30 22&amp;lt;/code&amp;gt; || Refused (&amp;quot;conditions not correct&amp;quot;); possibly a stop request sent after the sweep had finished&lt;br /&gt;
|}&lt;br /&gt;
The meaning of the four control bytes (80 40 00 00) is not known.&lt;br /&gt;
&lt;br /&gt;
* Meaning of reply bytes +5, +7, +8 and the unexplained regions.&lt;br /&gt;
* A more reliable pressure scale (more gauge readings at low and high pressure are needed; the lowest calibration point is 0.027 bar off).&lt;br /&gt;
* Whether the central gateway forwards the request to the TPMS controller or remaps the address.&lt;br /&gt;
* Why Torque Pro stops after the first line of the reply (the adapter is ruled out).&lt;br /&gt;
* The meaning of the control bytes (80 40 00 00) in the instrument cluster sweep command.&lt;br /&gt;
* The meaning of the stored code from the E-call controller.&lt;br /&gt;
* Confirming the ABS (0x261) and dual sensor brake support (0x778) names.&lt;br /&gt;
&lt;br /&gt;
== Sources ==&lt;br /&gt;
* Owner PCAN-View captures, October 2026.&lt;br /&gt;
* Suzuki wiring diagrams: A-8 CAN communication system; A-8 Central Gateway Control and DLC System (RHD).&lt;br /&gt;
* Forum thread &amp;quot;Jimny JB74 (2019+) - Torque Pro PID for TPMS&amp;quot;.&lt;br /&gt;
* BigJimny forum thread &amp;quot;JB74 OBD2 connection&amp;quot; (December 2020).&lt;br /&gt;
&lt;br /&gt;
[[Category:Jimny technical]]&lt;br /&gt;
[[Category:JB74]]&lt;br /&gt;
[[Category:Electrical - gen3]]&lt;br /&gt;
[[Category:FAQ - gen3]]&lt;br /&gt;
[[Category:Howto - gen3]]&lt;br /&gt;
&lt;br /&gt;
[[Category:Electrical - gen4]]&lt;br /&gt;
[[Category:FAQ - gen4]]&lt;br /&gt;
[[Category:Howto - gen4]]&lt;/div&gt;</summary>
		<author><name>Mlines</name></author>
	</entry>
	<entry>
		<id>https://www.bigjimny.com/mediawiki/index.php?title=OBD2_Diagnostics_reading_project&amp;diff=10088</id>
		<title>OBD2 Diagnostics reading project</title>
		<link rel="alternate" type="text/html" href="https://www.bigjimny.com/mediawiki/index.php?title=OBD2_Diagnostics_reading_project&amp;diff=10088"/>
		<updated>2026-11-01T10:43:51Z</updated>

		<summary type="html">&lt;p&gt;Mlines: /* Other modules found by a full scan */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;= Suzuki Jimny JB74 (2018+) - Reading TPMS data over the diagnostic CAN link =&lt;br /&gt;
&lt;br /&gt;
{{Donate}}&lt;br /&gt;
== Overview ==&lt;br /&gt;
Purpose-built diagnostic tools (Autel, Launch and similar) already support Suzuki comprehensively. There is also a trend towards replacing the factory head unit with an Android media unit that can run apps to read and display information from the car&#039;s electronics. These units are not Suzuki-specific, so this project aims to learn how to read vehicle data (starting with the factory TPMS) and show it on the head unit.&lt;br /&gt;
&lt;br /&gt;
=== Equipment ===&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! Role !! Item&lt;br /&gt;
|-&lt;br /&gt;
| Head unit || XTRONS PX90&lt;br /&gt;
|-&lt;br /&gt;
| OBD-II Bluetooth dongle 1 || Generic ELM-based (Chinese)&lt;br /&gt;
|-&lt;br /&gt;
| OBD-II Bluetooth dongle 2 || Veepeak OBDCheck BLE+ (BLE only; unreliable on this head unit)&lt;br /&gt;
|-&lt;br /&gt;
| CAN bus monitor (Windows) || PCAN-View (PEAK-System)&lt;br /&gt;
|-&lt;br /&gt;
| Diagnostic tool 1 || Launch X431 CRP919&lt;br /&gt;
|-&lt;br /&gt;
| Diagnostic tool 2 || SZ Viewer app&lt;br /&gt;
|-&lt;br /&gt;
| Head-unit apps tried || Torque Pro (fails past the first line), RealDash (TPMS values seen in its debug view; gauges in progress), Car Scanner Pro (works)&lt;br /&gt;
|-&lt;br /&gt;
| Head-unit Bluetooth || xTRONS IP90  - Classic Bluetooth only, no BLE support&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== Method ===&lt;br /&gt;
# The diagnostic tools (Launch X431, SZ Viewer) have comprehensive Suzuki support, so they are used to generate the CAN bus requests.&lt;br /&gt;
# PCAN-View is connected to the OBD socket to capture the requests and the module&#039;s replies, which are then decoded by hand.&lt;br /&gt;
# The decoded requests are recreated in the head-unit apps so the head unit can ask the car for the same data directly.&lt;br /&gt;
&#039;&#039;&#039;Status:&#039;&#039;&#039; work in progress. Based on one RHD UK-market 2021 Jimny with factory TPMS, owner-made PCAN-View captures (including a full Launch scan and an instrument cluster test), the Suzuki wiring diagrams (A-8 CAN communication and A-8 Central Gateway/DLC) and the Suzuki parts catalogue. TPMS readings work in Car Scanner Pro; RealDash works in its debug view with gauges in progress. Items marked &#039;&#039;unconfirmed&#039;&#039; are not yet verified.&lt;br /&gt;
&lt;br /&gt;
* The TPMS control module answers an ordinary diagnostic request on the OBD socket. It does not broadcast tyre data.&lt;br /&gt;
* Request ID &#039;&#039;&#039;0x798&#039;&#039;&#039;, reply ID &#039;&#039;&#039;0x7A8&#039;&#039;&#039; (11-bit CAN, 500 kbit/s, ISO-TP framing) returns the TPMS data, including four sensor IDs and pressure readings. The module&#039;s identification reply (37160-61M0) matches the Model No. (P61M0) on the TPMS controller label. Whether the central gateway forwards or remaps the request is unconfirmed.&lt;br /&gt;
* Service &#039;&#039;&#039;0x21&#039;&#039;&#039; (read data by local identifier), identifier &#039;&#039;&#039;0x00&#039;&#039;&#039;, returns 102 bytes containing all four sensor records.&lt;br /&gt;
* Pressure is byte +6 of each sensor record: bar = raw x 0.01372.&lt;br /&gt;
* The OBD socket is fed by a central gateway, so only diagnostic traffic is visible on it.&lt;br /&gt;
* Working: Car Scanner Pro, and RealDash (values seen in its debug view). Not working: Torque Pro.&lt;br /&gt;
&lt;br /&gt;
== DLC (OBD socket) wiring ==&lt;br /&gt;
The service-manual diagram numbers the DLC terminals differently from SAE J1962. In all five cases on the diagram, manual terminal &#039;&#039;n&#039;&#039; matches standard pin &#039;&#039;17 - n&#039;&#039;.&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! Manual terminal !! Standard pin !! Function !! Wire / source on diagram&lt;br /&gt;
|-&lt;br /&gt;
| 1 || 16 || Battery +12 V || GRY, fuse No.49 &amp;quot;DOME2&amp;quot; (10 A)&lt;br /&gt;
|-&lt;br /&gt;
| 12 || 5 || Signal ground || BLK&lt;br /&gt;
|-&lt;br /&gt;
| 13 || 4 || Chassis ground || BLK&lt;br /&gt;
|-&lt;br /&gt;
| 11 || 6 || CAN-H (from standard assignment) || BLU, gateway pin 8&lt;br /&gt;
|-&lt;br /&gt;
| 3 || 14 || CAN-L (from standard assignment) || WHT, gateway pin 7&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
Use pins &#039;&#039;&#039;6&#039;&#039;&#039; and &#039;&#039;&#039;14&#039;&#039;&#039; for a CAN adapter. The diagram does not label CAN-H and CAN-L itself.&lt;br /&gt;
&lt;br /&gt;
=== Cross-check with other reports ===&lt;br /&gt;
A BigJimny forum thread (&amp;quot;JB74 OBD2 connection&amp;quot;, December 2020) describes a 2020 JB74 whose OBD plug had pins 4, 5, 6, 14, 15 and 16 wired, with pin 7 (K-line) not wired. The poster, quoting an older Suzuki pinout, lists pin 6 as a blue wire (CAN-H) and pin 14 as a white wire (CAN-L). This matches the table above: a blue CAN wire on pin 6 and a white one on pin 14.&lt;br /&gt;
&lt;br /&gt;
* The CAN-H/CAN-L assignment in that thread comes from a pinout reference that the poster says predates the JB74, so it is a report, not a measurement.&lt;br /&gt;
* No wire for standard pin 7 (K-line) appears on the diagram page above, and the forum report also found it unwired. K-line is therefore unlikely to be available on the JB74 socket.&lt;br /&gt;
* On the forum poster&#039;s car, pin 15 was also wired; the diagram page above shows no wire for it. This may be a market or model-year difference.&lt;br /&gt;
&lt;br /&gt;
== Network layout ==&lt;br /&gt;
The DLC is not on the vehicle bus directly. The &#039;&#039;&#039;central gateway control module&#039;&#039;&#039; joins the vehicle CAN bus (its pins 20 and 21, RED/WHT) and provides a separate CAN pair to the DLC (its pins 8 and 7, BLU/WHT).&lt;br /&gt;
&lt;br /&gt;
Modules on the vehicle bus (diagram): ECM, 4WD control module, TCM (A/T models), BCM, ESP control module, headlight auto levelling module (if equipped), dual sensor brake support control module (if equipped), P/S control module, steering angle sensor, TPMS control module / receiver (if equipped), combination meter, SDM, combination switch.&lt;br /&gt;
&lt;br /&gt;
Gateway power: fuse No.60 &amp;quot;IG1 SIG&amp;quot; (10 A) and fuse No.52 &amp;quot;CONT&amp;quot; (5 A). Treat the ignition as needing to be on.&lt;br /&gt;
&lt;br /&gt;
Observation: two captures from the DLC contained only IDs 0x798 and 0x7A8 (plus two error frames). No broadcast traffic from other modules was seen, so passive listening on the DLC will not show TPMS data.&lt;br /&gt;
&lt;br /&gt;
== Diagnostic requests seen ==&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! Request !! Reply !! Meaning&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;3E&amp;lt;/code&amp;gt; || &amp;lt;code&amp;gt;7E&amp;lt;/code&amp;gt; || Tester present&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;1A 8A&amp;lt;/code&amp;gt; || &amp;lt;code&amp;gt;5A 8A&amp;lt;/code&amp;gt; + ASCII &amp;lt;code&amp;gt;37120-78R0*&amp;lt;/code&amp;gt; || ECU identification&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;1A 8E&amp;lt;/code&amp;gt; || &amp;lt;code&amp;gt;5A 8E&amp;lt;/code&amp;gt; + ASCII &amp;lt;code&amp;gt;37160-61M0&amp;lt;/code&amp;gt; || ECU identification: matches the &amp;quot;Model No. P61M0&amp;quot; printed on the TPMS controller label&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;18 00 FF 00&amp;lt;/code&amp;gt; || &amp;lt;code&amp;gt;58 00&amp;lt;/code&amp;gt; or &amp;lt;code&amp;gt;58 01 9A 31 E0&amp;lt;/code&amp;gt; || Read DTCs by status (second form = one code reported; not decoded)&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;21 00&amp;lt;/code&amp;gt; || &amp;lt;code&amp;gt;61 00&amp;lt;/code&amp;gt; + 100 bytes || Sensor data block (repeated about twice a second by the scan tool)&lt;br /&gt;
|}&lt;br /&gt;
Part labels on the test car: TPMS controller 37160-78R00, &amp;quot;BASE ASSY-TPMS&amp;quot;, Model No. P61M0, Continental A2C13930301, 433.92 MHz; central gateway controller 33580-79R01. The &amp;lt;code&amp;gt;1A 8E&amp;lt;/code&amp;gt; reply (37160-61M0) matches the TPMS controller&#039;s base number and model number; the &amp;lt;code&amp;gt;1A 8A&amp;lt;/code&amp;gt; reply (37120-78R0*) shares &amp;quot;78R0&amp;quot; with the full part number, but its meaning is not confirmed.&lt;br /&gt;
&lt;br /&gt;
A Launch full scan reported &amp;quot;Left Front Tire Pressure Low&amp;quot; for the TPMS module, and the module returned one stored code (&amp;lt;code&amp;gt;9A 31&amp;lt;/code&amp;gt;) in the same scan. That code is probably the low-pressure warning (inferred; the report does not show the code itself).&lt;br /&gt;
&lt;br /&gt;
== Reading it with an ELM327 ==&lt;br /&gt;
Terminal commands, one at a time (CR line ending):&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
ATZ&lt;br /&gt;
ATSP6&lt;br /&gt;
ATSH798&lt;br /&gt;
ATS0&lt;br /&gt;
ATL0&lt;br /&gt;
ATFCSH798&lt;br /&gt;
ATFCSD300000&lt;br /&gt;
ATFCSM1&lt;br /&gt;
2100&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
* &amp;lt;code&amp;gt;ATSH798&amp;lt;/code&amp;gt; sets the request address. The reply address (0x7A8) is worked out automatically.&lt;br /&gt;
* &amp;lt;code&amp;gt;ATFCSH798 / ATFCSD300000 / ATFCSM1&amp;lt;/code&amp;gt; make the adapter send the ISO-TP flow-control frame (30 00 00) itself.&lt;br /&gt;
* &amp;lt;code&amp;gt;ATS0&amp;lt;/code&amp;gt; removes the spaces between bytes. Without it, the generic Chinese ELM327-based dongle (dongle 1) reported &amp;lt;code&amp;gt;BUFFER FULL&amp;lt;/code&amp;gt; near byte 81.&lt;br /&gt;
* Expected output: a length line (&amp;lt;code&amp;gt;066&amp;lt;/code&amp;gt; = 102 bytes) and numbered lines &amp;lt;code&amp;gt;0:&amp;lt;/code&amp;gt; to &amp;lt;code&amp;gt;E:&amp;lt;/code&amp;gt;.&lt;br /&gt;
* With default settings dongle 1 returned only the first line (&amp;lt;code&amp;gt;61 00 xx 01 00 00&amp;lt;/code&amp;gt;).&lt;br /&gt;
&lt;br /&gt;
== Reply layout (21 00) ==&lt;br /&gt;
Byte positions count the &amp;lt;code&amp;gt;61&amp;lt;/code&amp;gt; as byte 0.&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! Bytes !! Content&lt;br /&gt;
|-&lt;br /&gt;
| 0-1 || &amp;lt;code&amp;gt;61 00&amp;lt;/code&amp;gt; (positive reply)&lt;br /&gt;
|-&lt;br /&gt;
| 2 || Varies 117-142. Looks like system voltage x 10 (&#039;&#039;unconfirmed&#039;&#039;)&lt;br /&gt;
|-&lt;br /&gt;
| 12-21 || Sensor record 1: front left&lt;br /&gt;
|-&lt;br /&gt;
| 22-31 || Sensor record 2: rear left&lt;br /&gt;
|-&lt;br /&gt;
| 32-41 || Sensor record 3: rear right&lt;br /&gt;
|-&lt;br /&gt;
| 42-51 || Sensor record 4: front right&lt;br /&gt;
|-&lt;br /&gt;
| 56-71 || Four 4-byte sensor-ID entries whose contents change (meaning unknown)&lt;br /&gt;
|-&lt;br /&gt;
| other || Not decoded&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== Sensor record (10 bytes) ===&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! Offset !! Content&lt;br /&gt;
|-&lt;br /&gt;
| +0 to +3 || Sensor ID&lt;br /&gt;
|-&lt;br /&gt;
| +4 || Position flag&lt;br /&gt;
|-&lt;br /&gt;
| +5 || Value 57-74. Behaves like temperature, possibly with an offset of 40 (&#039;&#039;unconfirmed&#039;&#039;)&lt;br /&gt;
|-&lt;br /&gt;
| +6 || Pressure, gauge: bar = raw x 0.01372 (see Calibration)&lt;br /&gt;
|-&lt;br /&gt;
| +7, +8 || Not understood&lt;br /&gt;
|-&lt;br /&gt;
| +9 || Always 0&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! Wheel !! Sensor ID !! Position flag&lt;br /&gt;
|-&lt;br /&gt;
| Front left || 4E AA 09 43 || 0x10&lt;br /&gt;
|-&lt;br /&gt;
| Rear left || DD 91 B5 25 || 0x20&lt;br /&gt;
|-&lt;br /&gt;
| Rear right || 4E AA 03 19 || 0x18&lt;br /&gt;
|-&lt;br /&gt;
| Front right || 4E AA 09 C9 || 0x08&lt;br /&gt;
|}&lt;br /&gt;
Sensor IDs are specific to one car. Yours will differ.&lt;br /&gt;
&lt;br /&gt;
== Calibration ==&lt;br /&gt;
Byte +6 against gauge readings (bar). The five deflation-test counts were reconstructed from the app&#039;s displayed values.&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! Raw !! Gauge (bar) !! Raw x 0.01372&lt;br /&gt;
|-&lt;br /&gt;
| 136 (rear left) || 1.868 || 1.866&lt;br /&gt;
|-&lt;br /&gt;
| 131 (rear right) || 1.795 || 1.797&lt;br /&gt;
|-&lt;br /&gt;
| 131 (front right) || 1.795 || 1.797&lt;br /&gt;
|-&lt;br /&gt;
| 126 || 1.73 || 1.729&lt;br /&gt;
|-&lt;br /&gt;
| 119 || 1.63 || 1.633&lt;br /&gt;
|-&lt;br /&gt;
| 112 || 1.54 || 1.537&lt;br /&gt;
|-&lt;br /&gt;
| 101 || 1.39 || 1.386&lt;br /&gt;
|-&lt;br /&gt;
| 96 || 1.29 || 1.317&lt;br /&gt;
|}&lt;br /&gt;
The last five rows are from one tyre during a slow deflation (assumed front left).&lt;br /&gt;
* bar = raw x 0.01372&lt;br /&gt;
* psi = raw x 0.199&lt;br /&gt;
&lt;br /&gt;
No offset is needed, which suggests the byte holds gauge pressure. All points are within 0.004 bar except the lowest (0.027 bar off), which may be sensor update lag or slight non-linearity. More readings at low and high pressure are needed.&lt;br /&gt;
&lt;br /&gt;
== Torque Pro custom PIDs ==&lt;br /&gt;
Common fields for every wheel:&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! Field !! Value&lt;br /&gt;
|-&lt;br /&gt;
| Header || 798&lt;br /&gt;
|-&lt;br /&gt;
| Mode and PID || 2100&lt;br /&gt;
|-&lt;br /&gt;
| Diagnostic start command || &amp;lt;code&amp;gt;ATS0, ATL0, ATFCSH798, ATFCSD300000, ATFCSM1&amp;lt;/code&amp;gt; (comma-separated)&lt;br /&gt;
|-&lt;br /&gt;
| Unit / min / max || bar, 0, 4 (or psi, 0, 60)&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
Equation uses a letter for each data byte. &amp;lt;code&amp;gt;A&amp;lt;/code&amp;gt; is the first byte after &amp;lt;code&amp;gt;61 00&amp;lt;/code&amp;gt; (reply byte 2).&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! Wheel !! Byte +5 (temperature?) !! Byte +6 (pressure candidate)” to “Byte +6 (pressure)”&lt;br /&gt;
|-&lt;br /&gt;
| Front left || P || Q&lt;br /&gt;
|-&lt;br /&gt;
| Front right || AT || AU&lt;br /&gt;
|-&lt;br /&gt;
| Rear left || Z || AA&lt;br /&gt;
|-&lt;br /&gt;
| Rear right || AJ || AK&lt;br /&gt;
|}&lt;br /&gt;
Example: &amp;lt;code&amp;gt;Q*0.01372&amp;lt;/code&amp;gt;. Letters must be upper case. Whether Torque accepts two-letter variables is &#039;&#039;unconfirmed&#039;&#039;.&lt;br /&gt;
&lt;br /&gt;
=== Known problem ===&lt;br /&gt;
Using dongle 1 (generic Chinese ELM327-based) with Torque Pro on the XTRONS PX90, Torque read bytes &amp;lt;code&amp;gt;A&amp;lt;/code&amp;gt; to &amp;lt;code&amp;gt;D&amp;lt;/code&amp;gt; (first line of the reply) correctly, but every byte from &amp;lt;code&amp;gt;E&amp;lt;/code&amp;gt; onward returned -1, even though a terminal received the full 102 bytes with the same commands. The start-command field is applied (adding &amp;lt;code&amp;gt;ATH1&amp;lt;/code&amp;gt; changed the output). Tried without success: turning off &amp;quot;Faster communication&amp;quot; and removing &amp;lt;code&amp;gt;ATS0&amp;lt;/code&amp;gt;. Not tried: &amp;lt;code&amp;gt;ATAT0, ATSTFF&amp;lt;/code&amp;gt; timeout settings.&lt;br /&gt;
&lt;br /&gt;
Dongle 2 (Veepeak OBDCheck BLE+) gave the same result, but the head unit does not support BLE, so that test is not reliable. Car Scanner Pro reads every byte with dongle 1 and the same commands, so the limitation appears to be in how Torque Pro handles this multi-line reply, not in the adapter. Unresolved; a request has been posted on the Torque forum.&lt;br /&gt;
&lt;br /&gt;
== Car Scanner Pro (working) ==&lt;br /&gt;
Car Scanner Pro reads all the bytes where Torque Pro fails. Custom PID settings used:&lt;br /&gt;
* Header: 798&lt;br /&gt;
* Request: 2100&lt;br /&gt;
* Start command (backslash-separated): &amp;lt;code&amp;gt;ATAT0\ATSTFF\ATS0\ATL0\ATFCSH798\ATFCSD300000\ATFCSM1&amp;lt;/code&amp;gt;&lt;br /&gt;
* Equations use the same letters as the table above, for example &amp;lt;code&amp;gt;Q*0.01372&amp;lt;/code&amp;gt; for front left (bar)&lt;br /&gt;
&lt;br /&gt;
The start command has not yet been shortened. Tested with dongle 1 (generic ELM327-based) on the XTRONS PX90.&lt;br /&gt;
&lt;br /&gt;
== RealDash ==&lt;br /&gt;
RealDash describes its OBD2 communication in an XML file. With dongle 1, RealDash&#039;s default init plus the lines below works: the TPMS sensors reply, and the values appear in RealDash&#039;s debug view. Dashboard gauges are in progress.&lt;br /&gt;
&lt;br /&gt;
Changes to RealDash&#039;s default file:&lt;br /&gt;
* Add the three flow-control commands to the init section, before the &amp;lt;code&amp;gt;0100&amp;lt;/code&amp;gt; and &amp;lt;code&amp;gt;0120&amp;lt;/code&amp;gt; checks.&lt;br /&gt;
* Every TPMS command sets &amp;lt;code&amp;gt;header=&amp;quot;atsh798&amp;quot;&amp;lt;/code&amp;gt;. The docs say to set the header on every command when the rotation uses more than one. Any standard command in the same rotation then needs &amp;lt;code&amp;gt;header=&amp;quot;atsh7df&amp;quot;&amp;lt;/code&amp;gt;, or it would be sent to 0x798.&lt;br /&gt;
* RealDash requires &amp;lt;code&amp;gt;ATE0&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;ATL0&amp;lt;/code&amp;gt; and &amp;lt;code&amp;gt;ATS0&amp;lt;/code&amp;gt; (already in its default init).&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&amp;lt;init&amp;gt;&lt;br /&gt;
  ... RealDash default init lines ...&lt;br /&gt;
  &amp;lt;command send=&amp;quot;atfcsh798&amp;quot;&amp;gt;&amp;lt;/command&amp;gt;&lt;br /&gt;
  &amp;lt;command send=&amp;quot;atfcsd300000&amp;quot;&amp;gt;&amp;lt;/command&amp;gt;&lt;br /&gt;
  &amp;lt;command send=&amp;quot;atfcsm1&amp;quot;&amp;gt;&amp;lt;/command&amp;gt;&lt;br /&gt;
  &amp;lt;command send=&amp;quot;0100&amp;quot;&amp;gt;&amp;lt;/command&amp;gt;&lt;br /&gt;
  &amp;lt;command send=&amp;quot;0120&amp;quot;&amp;gt;&amp;lt;/command&amp;gt;&lt;br /&gt;
&amp;lt;/init&amp;gt;&lt;br /&gt;
&amp;lt;rotation&amp;gt;&lt;br /&gt;
  &amp;lt;command send=&amp;quot;2100&amp;quot; header=&amp;quot;atsh798&amp;quot; skipCount=&amp;quot;10&amp;quot; keepInRotation=&amp;quot;true&amp;quot; name=&amp;quot;TPMS: front left&amp;quot; units=&amp;quot;bar&amp;quot; conversionABC=&amp;quot;Q*0.01372&amp;quot;&amp;gt;&amp;lt;/command&amp;gt;&lt;br /&gt;
  &amp;lt;command send=&amp;quot;2100&amp;quot; header=&amp;quot;atsh798&amp;quot; skipCount=&amp;quot;11&amp;quot; keepInRotation=&amp;quot;true&amp;quot; name=&amp;quot;TPMS: front right&amp;quot; units=&amp;quot;bar&amp;quot; conversionABC=&amp;quot;AU*0.01372&amp;quot;&amp;gt;&amp;lt;/command&amp;gt;&lt;br /&gt;
  &amp;lt;command send=&amp;quot;2100&amp;quot; header=&amp;quot;atsh798&amp;quot; skipCount=&amp;quot;12&amp;quot; keepInRotation=&amp;quot;true&amp;quot; name=&amp;quot;TPMS: rear left&amp;quot; units=&amp;quot;bar&amp;quot; conversionABC=&amp;quot;AA*0.01372&amp;quot;&amp;gt;&amp;lt;/command&amp;gt;&lt;br /&gt;
  &amp;lt;command send=&amp;quot;2100&amp;quot; header=&amp;quot;atsh798&amp;quot; skipCount=&amp;quot;13&amp;quot; keepInRotation=&amp;quot;true&amp;quot; name=&amp;quot;TPMS: rear right&amp;quot; units=&amp;quot;bar&amp;quot; conversionABC=&amp;quot;AK*0.01372&amp;quot;&amp;gt;&amp;lt;/command&amp;gt;&lt;br /&gt;
&amp;lt;/rotation&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;conversionABC&amp;lt;/code&amp;gt; uses the same letters as Torque and Car Scanner (A is the first byte after 61 00). The TPMS inputs appear in RealDash&#039;s ECU Specific category.&lt;br /&gt;
&lt;br /&gt;
The Veepeak OBDCheck BLE+ (dongle 2) was intermittent with RealDash because the head unit does not support BLE. An earlier init that replaced RealDash&#039;s timing defaults with &amp;lt;code&amp;gt;ATAT0&amp;lt;/code&amp;gt; and &amp;lt;code&amp;gt;ATSTFF&amp;lt;/code&amp;gt; showed BUS ERROR and STOPPED messages; the dongle used was not recorded.&lt;br /&gt;
&lt;br /&gt;
== Other modules found by a full scan ==&lt;br /&gt;
A full health-check scan with a Launch X431 CRP919, captured with PCAN-View on the OBD socket, shows 12 modules answering on the DLC. Every module that replied is listed here. The reply ID is not always the request ID plus 8.&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! Request !! Reply !! Protocol !! Identification replies !! Module !! How identified&lt;br /&gt;
|-&lt;br /&gt;
| 0x7E0 || 0x7E8 || KWP || 33980-78R0, 33980-78RC* || ECM || Standard engine address&lt;br /&gt;
|-&lt;br /&gt;
| 0x261 || 0x661 || KWP || 56100-77RA, 56100-78RF* || ABS (inferred) || Only brake module left by elimination&lt;br /&gt;
|-&lt;br /&gt;
| 0x263 || 0x663 || KWP || 38720-77R0, 38720-77R0* || EPS controller || Parts catalogue&lt;br /&gt;
|-&lt;br /&gt;
| 0x271 || 0x671 || KWP || 36775-77R0, 36775-77RC* || Body control module || Parts catalogue&lt;br /&gt;
|-&lt;br /&gt;
| 0x274 || 0x674 || KWP || 34100-78R0, 34110-78RD* || Instrument cluster || Rev counter sweep test&lt;br /&gt;
|-&lt;br /&gt;
| 0x798 || 0x7A8 || KWP || 37160-61M0, 37120-78R0* || TPMS controller || Label and parts catalogue&lt;br /&gt;
|-&lt;br /&gt;
| 0x79A || 0x7AA || KWP || 37210-74PA, 37210-74PE* || Lighting and turn switch || Parts catalogue&lt;br /&gt;
|-&lt;br /&gt;
| 0x778 || 0x788 || KWP || 33990-52R0, 33990-78R8* || Dual sensor brake support || Parts catalogue&lt;br /&gt;
|-&lt;br /&gt;
| 0x793 || 0x7A3 || UDS || 38910-77R0, 38910-78RC* || Airbag (SRS) controller || Parts catalogue&lt;br /&gt;
|-&lt;br /&gt;
| 0x772 || 0x782 || UDS || 38885-77R0, 38885-78R0* || 4WD shift controller || Parts catalogue&lt;br /&gt;
|-&lt;br /&gt;
| 0x799 || 0x7A9 || UDS || 38960-78RA, 38960-78RA* || E-call controller || Parts catalogue&lt;br /&gt;
|-&lt;br /&gt;
| 0x751 || 0x761 || UDS || 33580-79R0, 33580-78R0* || Central gateway || Label and parts catalogue&lt;br /&gt;
|}&lt;br /&gt;
Reply ID offsets: engine +0x08; 0x261 to 0x274 +0x400; all others +0x10.&lt;br /&gt;
&lt;br /&gt;
* KWP-style modules answer &amp;lt;code&amp;gt;1A 8E&amp;lt;/code&amp;gt; and &amp;lt;code&amp;gt;1A 8A&amp;lt;/code&amp;gt; (identification) and &amp;lt;code&amp;gt;18 00 FF 00&amp;lt;/code&amp;gt; (DTCs). UDS-style modules answer &amp;lt;code&amp;gt;22 F1 01&amp;lt;/code&amp;gt; and &amp;lt;code&amp;gt;22 F1 88&amp;lt;/code&amp;gt; (identification) and &amp;lt;code&amp;gt;19 02 FF&amp;lt;/code&amp;gt; (DTCs).&lt;br /&gt;
* Requests to 0x273 and 0x262 (tester present) got no reply, so those modules are probably not fitted.&lt;br /&gt;
* Two names are inferred and not confirmed by a part label: 0x261 (ABS) and 0x778 (dual sensor brake support). All the others come from the parts catalogue, a label, or a test.&lt;br /&gt;
* The E-call controller (0x799) returned a stored code record (&amp;lt;code&amp;gt;92 4E 00&amp;lt;/code&amp;gt;, status 02) that the Launch report does not list. Its meaning is not known.&lt;br /&gt;
&lt;br /&gt;
=== Instrument cluster output test (0x274 / 0x674) ===&lt;br /&gt;
A rev counter sweep commanded by the Launch X431 appears as a single KWP output-control request, after which the cluster sweeps the needle up and down by itself:&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! Request !! Reply !! Notes&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;3E 00&amp;lt;/code&amp;gt; || &amp;lt;code&amp;gt;7E&amp;lt;/code&amp;gt; || Tester present, about every 2.15 s&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;30 01 07 80 40 00 00&amp;lt;/code&amp;gt; || &amp;lt;code&amp;gt;70 01 07&amp;lt;/code&amp;gt; || Starts the sweep (service 0x30, local ID 01, &amp;quot;short-term adjustment&amp;quot;)&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;30 01 07 80 00 00 00&amp;lt;/code&amp;gt; || &amp;lt;code&amp;gt;7F 30 22&amp;lt;/code&amp;gt; || Refused (&amp;quot;conditions not correct&amp;quot;); possibly a stop request sent after the sweep had finished&lt;br /&gt;
|}&lt;br /&gt;
The meaning of the four control bytes (80 40 00 00) is not known.&lt;br /&gt;
&lt;br /&gt;
== Open questions ==&lt;br /&gt;
* Meaning of reply bytes +5, +7, +8 and the unexplained regions.&lt;br /&gt;
* A reliable pressure scale and offset (more gauge readings needed).&lt;br /&gt;
* Whether other Suzuki modules use addresses near 0x798 (not checked).&lt;br /&gt;
* Why Torque stops after the first line.&lt;br /&gt;
&lt;br /&gt;
== Sources ==&lt;br /&gt;
* Owner PCAN-View captures, October 2026.&lt;br /&gt;
* Suzuki wiring diagrams: A-8 CAN communication system; A-8 Central Gateway Control and DLC System (RHD).&lt;br /&gt;
* Forum thread &amp;quot;Jimny JB74 (2019+) - Torque Pro PID for TPMS&amp;quot;.&lt;br /&gt;
* BigJimny forum thread &amp;quot;JB74 OBD2 connection&amp;quot; (December 2020).&lt;br /&gt;
&lt;br /&gt;
[[Category:Jimny technical]]&lt;br /&gt;
[[Category:JB74]]&lt;br /&gt;
[[Category:Electrical - gen3]]&lt;br /&gt;
[[Category:FAQ - gen3]]&lt;br /&gt;
[[Category:Howto - gen3]]&lt;br /&gt;
&lt;br /&gt;
[[Category:Electrical - gen4]]&lt;br /&gt;
[[Category:FAQ - gen4]]&lt;br /&gt;
[[Category:Howto - gen4]]&lt;/div&gt;</summary>
		<author><name>Mlines</name></author>
	</entry>
	<entry>
		<id>https://www.bigjimny.com/mediawiki/index.php?title=OBD2_Diagnostics_reading_project&amp;diff=10087</id>
		<title>OBD2 Diagnostics reading project</title>
		<link rel="alternate" type="text/html" href="https://www.bigjimny.com/mediawiki/index.php?title=OBD2_Diagnostics_reading_project&amp;diff=10087"/>
		<updated>2026-11-01T10:42:26Z</updated>

		<summary type="html">&lt;p&gt;Mlines: /* Car Scanner Pro (working) */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;= Suzuki Jimny JB74 (2018+) - Reading TPMS data over the diagnostic CAN link =&lt;br /&gt;
&lt;br /&gt;
{{Donate}}&lt;br /&gt;
== Overview ==&lt;br /&gt;
Purpose-built diagnostic tools (Autel, Launch and similar) already support Suzuki comprehensively. There is also a trend towards replacing the factory head unit with an Android media unit that can run apps to read and display information from the car&#039;s electronics. These units are not Suzuki-specific, so this project aims to learn how to read vehicle data (starting with the factory TPMS) and show it on the head unit.&lt;br /&gt;
&lt;br /&gt;
=== Equipment ===&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! Role !! Item&lt;br /&gt;
|-&lt;br /&gt;
| Head unit || XTRONS PX90&lt;br /&gt;
|-&lt;br /&gt;
| OBD-II Bluetooth dongle 1 || Generic ELM-based (Chinese)&lt;br /&gt;
|-&lt;br /&gt;
| OBD-II Bluetooth dongle 2 || Veepeak OBDCheck BLE+ (BLE only; unreliable on this head unit)&lt;br /&gt;
|-&lt;br /&gt;
| CAN bus monitor (Windows) || PCAN-View (PEAK-System)&lt;br /&gt;
|-&lt;br /&gt;
| Diagnostic tool 1 || Launch X431 CRP919&lt;br /&gt;
|-&lt;br /&gt;
| Diagnostic tool 2 || SZ Viewer app&lt;br /&gt;
|-&lt;br /&gt;
| Head-unit apps tried || Torque Pro (fails past the first line), RealDash (TPMS values seen in its debug view; gauges in progress), Car Scanner Pro (works)&lt;br /&gt;
|-&lt;br /&gt;
| Head-unit Bluetooth || xTRONS IP90  - Classic Bluetooth only, no BLE support&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== Method ===&lt;br /&gt;
# The diagnostic tools (Launch X431, SZ Viewer) have comprehensive Suzuki support, so they are used to generate the CAN bus requests.&lt;br /&gt;
# PCAN-View is connected to the OBD socket to capture the requests and the module&#039;s replies, which are then decoded by hand.&lt;br /&gt;
# The decoded requests are recreated in the head-unit apps so the head unit can ask the car for the same data directly.&lt;br /&gt;
&#039;&#039;&#039;Status:&#039;&#039;&#039; work in progress. Based on one RHD UK-market 2021 Jimny with factory TPMS, owner-made PCAN-View captures (including a full Launch scan and an instrument cluster test), the Suzuki wiring diagrams (A-8 CAN communication and A-8 Central Gateway/DLC) and the Suzuki parts catalogue. TPMS readings work in Car Scanner Pro; RealDash works in its debug view with gauges in progress. Items marked &#039;&#039;unconfirmed&#039;&#039; are not yet verified.&lt;br /&gt;
&lt;br /&gt;
* The TPMS control module answers an ordinary diagnostic request on the OBD socket. It does not broadcast tyre data.&lt;br /&gt;
* Request ID &#039;&#039;&#039;0x798&#039;&#039;&#039;, reply ID &#039;&#039;&#039;0x7A8&#039;&#039;&#039; (11-bit CAN, 500 kbit/s, ISO-TP framing) returns the TPMS data, including four sensor IDs and pressure readings. The module&#039;s identification reply (37160-61M0) matches the Model No. (P61M0) on the TPMS controller label. Whether the central gateway forwards or remaps the request is unconfirmed.&lt;br /&gt;
* Service &#039;&#039;&#039;0x21&#039;&#039;&#039; (read data by local identifier), identifier &#039;&#039;&#039;0x00&#039;&#039;&#039;, returns 102 bytes containing all four sensor records.&lt;br /&gt;
* Pressure is byte +6 of each sensor record: bar = raw x 0.01372.&lt;br /&gt;
* The OBD socket is fed by a central gateway, so only diagnostic traffic is visible on it.&lt;br /&gt;
* Working: Car Scanner Pro, and RealDash (values seen in its debug view). Not working: Torque Pro.&lt;br /&gt;
&lt;br /&gt;
== DLC (OBD socket) wiring ==&lt;br /&gt;
The service-manual diagram numbers the DLC terminals differently from SAE J1962. In all five cases on the diagram, manual terminal &#039;&#039;n&#039;&#039; matches standard pin &#039;&#039;17 - n&#039;&#039;.&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! Manual terminal !! Standard pin !! Function !! Wire / source on diagram&lt;br /&gt;
|-&lt;br /&gt;
| 1 || 16 || Battery +12 V || GRY, fuse No.49 &amp;quot;DOME2&amp;quot; (10 A)&lt;br /&gt;
|-&lt;br /&gt;
| 12 || 5 || Signal ground || BLK&lt;br /&gt;
|-&lt;br /&gt;
| 13 || 4 || Chassis ground || BLK&lt;br /&gt;
|-&lt;br /&gt;
| 11 || 6 || CAN-H (from standard assignment) || BLU, gateway pin 8&lt;br /&gt;
|-&lt;br /&gt;
| 3 || 14 || CAN-L (from standard assignment) || WHT, gateway pin 7&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
Use pins &#039;&#039;&#039;6&#039;&#039;&#039; and &#039;&#039;&#039;14&#039;&#039;&#039; for a CAN adapter. The diagram does not label CAN-H and CAN-L itself.&lt;br /&gt;
&lt;br /&gt;
=== Cross-check with other reports ===&lt;br /&gt;
A BigJimny forum thread (&amp;quot;JB74 OBD2 connection&amp;quot;, December 2020) describes a 2020 JB74 whose OBD plug had pins 4, 5, 6, 14, 15 and 16 wired, with pin 7 (K-line) not wired. The poster, quoting an older Suzuki pinout, lists pin 6 as a blue wire (CAN-H) and pin 14 as a white wire (CAN-L). This matches the table above: a blue CAN wire on pin 6 and a white one on pin 14.&lt;br /&gt;
&lt;br /&gt;
* The CAN-H/CAN-L assignment in that thread comes from a pinout reference that the poster says predates the JB74, so it is a report, not a measurement.&lt;br /&gt;
* No wire for standard pin 7 (K-line) appears on the diagram page above, and the forum report also found it unwired. K-line is therefore unlikely to be available on the JB74 socket.&lt;br /&gt;
* On the forum poster&#039;s car, pin 15 was also wired; the diagram page above shows no wire for it. This may be a market or model-year difference.&lt;br /&gt;
&lt;br /&gt;
== Network layout ==&lt;br /&gt;
The DLC is not on the vehicle bus directly. The &#039;&#039;&#039;central gateway control module&#039;&#039;&#039; joins the vehicle CAN bus (its pins 20 and 21, RED/WHT) and provides a separate CAN pair to the DLC (its pins 8 and 7, BLU/WHT).&lt;br /&gt;
&lt;br /&gt;
Modules on the vehicle bus (diagram): ECM, 4WD control module, TCM (A/T models), BCM, ESP control module, headlight auto levelling module (if equipped), dual sensor brake support control module (if equipped), P/S control module, steering angle sensor, TPMS control module / receiver (if equipped), combination meter, SDM, combination switch.&lt;br /&gt;
&lt;br /&gt;
Gateway power: fuse No.60 &amp;quot;IG1 SIG&amp;quot; (10 A) and fuse No.52 &amp;quot;CONT&amp;quot; (5 A). Treat the ignition as needing to be on.&lt;br /&gt;
&lt;br /&gt;
Observation: two captures from the DLC contained only IDs 0x798 and 0x7A8 (plus two error frames). No broadcast traffic from other modules was seen, so passive listening on the DLC will not show TPMS data.&lt;br /&gt;
&lt;br /&gt;
== Diagnostic requests seen ==&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! Request !! Reply !! Meaning&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;3E&amp;lt;/code&amp;gt; || &amp;lt;code&amp;gt;7E&amp;lt;/code&amp;gt; || Tester present&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;1A 8A&amp;lt;/code&amp;gt; || &amp;lt;code&amp;gt;5A 8A&amp;lt;/code&amp;gt; + ASCII &amp;lt;code&amp;gt;37120-78R0*&amp;lt;/code&amp;gt; || ECU identification&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;1A 8E&amp;lt;/code&amp;gt; || &amp;lt;code&amp;gt;5A 8E&amp;lt;/code&amp;gt; + ASCII &amp;lt;code&amp;gt;37160-61M0&amp;lt;/code&amp;gt; || ECU identification: matches the &amp;quot;Model No. P61M0&amp;quot; printed on the TPMS controller label&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;18 00 FF 00&amp;lt;/code&amp;gt; || &amp;lt;code&amp;gt;58 00&amp;lt;/code&amp;gt; or &amp;lt;code&amp;gt;58 01 9A 31 E0&amp;lt;/code&amp;gt; || Read DTCs by status (second form = one code reported; not decoded)&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;21 00&amp;lt;/code&amp;gt; || &amp;lt;code&amp;gt;61 00&amp;lt;/code&amp;gt; + 100 bytes || Sensor data block (repeated about twice a second by the scan tool)&lt;br /&gt;
|}&lt;br /&gt;
Part labels on the test car: TPMS controller 37160-78R00, &amp;quot;BASE ASSY-TPMS&amp;quot;, Model No. P61M0, Continental A2C13930301, 433.92 MHz; central gateway controller 33580-79R01. The &amp;lt;code&amp;gt;1A 8E&amp;lt;/code&amp;gt; reply (37160-61M0) matches the TPMS controller&#039;s base number and model number; the &amp;lt;code&amp;gt;1A 8A&amp;lt;/code&amp;gt; reply (37120-78R0*) shares &amp;quot;78R0&amp;quot; with the full part number, but its meaning is not confirmed.&lt;br /&gt;
&lt;br /&gt;
A Launch full scan reported &amp;quot;Left Front Tire Pressure Low&amp;quot; for the TPMS module, and the module returned one stored code (&amp;lt;code&amp;gt;9A 31&amp;lt;/code&amp;gt;) in the same scan. That code is probably the low-pressure warning (inferred; the report does not show the code itself).&lt;br /&gt;
&lt;br /&gt;
== Reading it with an ELM327 ==&lt;br /&gt;
Terminal commands, one at a time (CR line ending):&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
ATZ&lt;br /&gt;
ATSP6&lt;br /&gt;
ATSH798&lt;br /&gt;
ATS0&lt;br /&gt;
ATL0&lt;br /&gt;
ATFCSH798&lt;br /&gt;
ATFCSD300000&lt;br /&gt;
ATFCSM1&lt;br /&gt;
2100&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
* &amp;lt;code&amp;gt;ATSH798&amp;lt;/code&amp;gt; sets the request address. The reply address (0x7A8) is worked out automatically.&lt;br /&gt;
* &amp;lt;code&amp;gt;ATFCSH798 / ATFCSD300000 / ATFCSM1&amp;lt;/code&amp;gt; make the adapter send the ISO-TP flow-control frame (30 00 00) itself.&lt;br /&gt;
* &amp;lt;code&amp;gt;ATS0&amp;lt;/code&amp;gt; removes the spaces between bytes. Without it, the generic Chinese ELM327-based dongle (dongle 1) reported &amp;lt;code&amp;gt;BUFFER FULL&amp;lt;/code&amp;gt; near byte 81.&lt;br /&gt;
* Expected output: a length line (&amp;lt;code&amp;gt;066&amp;lt;/code&amp;gt; = 102 bytes) and numbered lines &amp;lt;code&amp;gt;0:&amp;lt;/code&amp;gt; to &amp;lt;code&amp;gt;E:&amp;lt;/code&amp;gt;.&lt;br /&gt;
* With default settings dongle 1 returned only the first line (&amp;lt;code&amp;gt;61 00 xx 01 00 00&amp;lt;/code&amp;gt;).&lt;br /&gt;
&lt;br /&gt;
== Reply layout (21 00) ==&lt;br /&gt;
Byte positions count the &amp;lt;code&amp;gt;61&amp;lt;/code&amp;gt; as byte 0.&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! Bytes !! Content&lt;br /&gt;
|-&lt;br /&gt;
| 0-1 || &amp;lt;code&amp;gt;61 00&amp;lt;/code&amp;gt; (positive reply)&lt;br /&gt;
|-&lt;br /&gt;
| 2 || Varies 117-142. Looks like system voltage x 10 (&#039;&#039;unconfirmed&#039;&#039;)&lt;br /&gt;
|-&lt;br /&gt;
| 12-21 || Sensor record 1: front left&lt;br /&gt;
|-&lt;br /&gt;
| 22-31 || Sensor record 2: rear left&lt;br /&gt;
|-&lt;br /&gt;
| 32-41 || Sensor record 3: rear right&lt;br /&gt;
|-&lt;br /&gt;
| 42-51 || Sensor record 4: front right&lt;br /&gt;
|-&lt;br /&gt;
| 56-71 || Four 4-byte sensor-ID entries whose contents change (meaning unknown)&lt;br /&gt;
|-&lt;br /&gt;
| other || Not decoded&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== Sensor record (10 bytes) ===&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! Offset !! Content&lt;br /&gt;
|-&lt;br /&gt;
| +0 to +3 || Sensor ID&lt;br /&gt;
|-&lt;br /&gt;
| +4 || Position flag&lt;br /&gt;
|-&lt;br /&gt;
| +5 || Value 57-74. Behaves like temperature, possibly with an offset of 40 (&#039;&#039;unconfirmed&#039;&#039;)&lt;br /&gt;
|-&lt;br /&gt;
| +6 || Pressure, gauge: bar = raw x 0.01372 (see Calibration)&lt;br /&gt;
|-&lt;br /&gt;
| +7, +8 || Not understood&lt;br /&gt;
|-&lt;br /&gt;
| +9 || Always 0&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! Wheel !! Sensor ID !! Position flag&lt;br /&gt;
|-&lt;br /&gt;
| Front left || 4E AA 09 43 || 0x10&lt;br /&gt;
|-&lt;br /&gt;
| Rear left || DD 91 B5 25 || 0x20&lt;br /&gt;
|-&lt;br /&gt;
| Rear right || 4E AA 03 19 || 0x18&lt;br /&gt;
|-&lt;br /&gt;
| Front right || 4E AA 09 C9 || 0x08&lt;br /&gt;
|}&lt;br /&gt;
Sensor IDs are specific to one car. Yours will differ.&lt;br /&gt;
&lt;br /&gt;
== Calibration ==&lt;br /&gt;
Byte +6 against gauge readings (bar). The five deflation-test counts were reconstructed from the app&#039;s displayed values.&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! Raw !! Gauge (bar) !! Raw x 0.01372&lt;br /&gt;
|-&lt;br /&gt;
| 136 (rear left) || 1.868 || 1.866&lt;br /&gt;
|-&lt;br /&gt;
| 131 (rear right) || 1.795 || 1.797&lt;br /&gt;
|-&lt;br /&gt;
| 131 (front right) || 1.795 || 1.797&lt;br /&gt;
|-&lt;br /&gt;
| 126 || 1.73 || 1.729&lt;br /&gt;
|-&lt;br /&gt;
| 119 || 1.63 || 1.633&lt;br /&gt;
|-&lt;br /&gt;
| 112 || 1.54 || 1.537&lt;br /&gt;
|-&lt;br /&gt;
| 101 || 1.39 || 1.386&lt;br /&gt;
|-&lt;br /&gt;
| 96 || 1.29 || 1.317&lt;br /&gt;
|}&lt;br /&gt;
The last five rows are from one tyre during a slow deflation (assumed front left).&lt;br /&gt;
* bar = raw x 0.01372&lt;br /&gt;
* psi = raw x 0.199&lt;br /&gt;
&lt;br /&gt;
No offset is needed, which suggests the byte holds gauge pressure. All points are within 0.004 bar except the lowest (0.027 bar off), which may be sensor update lag or slight non-linearity. More readings at low and high pressure are needed.&lt;br /&gt;
&lt;br /&gt;
== Torque Pro custom PIDs ==&lt;br /&gt;
Common fields for every wheel:&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! Field !! Value&lt;br /&gt;
|-&lt;br /&gt;
| Header || 798&lt;br /&gt;
|-&lt;br /&gt;
| Mode and PID || 2100&lt;br /&gt;
|-&lt;br /&gt;
| Diagnostic start command || &amp;lt;code&amp;gt;ATS0, ATL0, ATFCSH798, ATFCSD300000, ATFCSM1&amp;lt;/code&amp;gt; (comma-separated)&lt;br /&gt;
|-&lt;br /&gt;
| Unit / min / max || bar, 0, 4 (or psi, 0, 60)&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
Equation uses a letter for each data byte. &amp;lt;code&amp;gt;A&amp;lt;/code&amp;gt; is the first byte after &amp;lt;code&amp;gt;61 00&amp;lt;/code&amp;gt; (reply byte 2).&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! Wheel !! Byte +5 (temperature?) !! Byte +6 (pressure candidate)” to “Byte +6 (pressure)”&lt;br /&gt;
|-&lt;br /&gt;
| Front left || P || Q&lt;br /&gt;
|-&lt;br /&gt;
| Front right || AT || AU&lt;br /&gt;
|-&lt;br /&gt;
| Rear left || Z || AA&lt;br /&gt;
|-&lt;br /&gt;
| Rear right || AJ || AK&lt;br /&gt;
|}&lt;br /&gt;
Example: &amp;lt;code&amp;gt;Q*0.01372&amp;lt;/code&amp;gt;. Letters must be upper case. Whether Torque accepts two-letter variables is &#039;&#039;unconfirmed&#039;&#039;.&lt;br /&gt;
&lt;br /&gt;
=== Known problem ===&lt;br /&gt;
Using dongle 1 (generic Chinese ELM327-based) with Torque Pro on the XTRONS PX90, Torque read bytes &amp;lt;code&amp;gt;A&amp;lt;/code&amp;gt; to &amp;lt;code&amp;gt;D&amp;lt;/code&amp;gt; (first line of the reply) correctly, but every byte from &amp;lt;code&amp;gt;E&amp;lt;/code&amp;gt; onward returned -1, even though a terminal received the full 102 bytes with the same commands. The start-command field is applied (adding &amp;lt;code&amp;gt;ATH1&amp;lt;/code&amp;gt; changed the output). Tried without success: turning off &amp;quot;Faster communication&amp;quot; and removing &amp;lt;code&amp;gt;ATS0&amp;lt;/code&amp;gt;. Not tried: &amp;lt;code&amp;gt;ATAT0, ATSTFF&amp;lt;/code&amp;gt; timeout settings.&lt;br /&gt;
&lt;br /&gt;
Dongle 2 (Veepeak OBDCheck BLE+) gave the same result, but the head unit does not support BLE, so that test is not reliable. Car Scanner Pro reads every byte with dongle 1 and the same commands, so the limitation appears to be in how Torque Pro handles this multi-line reply, not in the adapter. Unresolved; a request has been posted on the Torque forum.&lt;br /&gt;
&lt;br /&gt;
== Car Scanner Pro (working) ==&lt;br /&gt;
Car Scanner Pro reads all the bytes where Torque Pro fails. Custom PID settings used:&lt;br /&gt;
* Header: 798&lt;br /&gt;
* Request: 2100&lt;br /&gt;
* Start command (backslash-separated): &amp;lt;code&amp;gt;ATAT0\ATSTFF\ATS0\ATL0\ATFCSH798\ATFCSD300000\ATFCSM1&amp;lt;/code&amp;gt;&lt;br /&gt;
* Equations use the same letters as the table above, for example &amp;lt;code&amp;gt;Q*0.01372&amp;lt;/code&amp;gt; for front left (bar)&lt;br /&gt;
&lt;br /&gt;
The start command has not yet been shortened. Tested with dongle 1 (generic ELM327-based) on the XTRONS PX90.&lt;br /&gt;
&lt;br /&gt;
== RealDash ==&lt;br /&gt;
RealDash describes its OBD2 communication in an XML file. With dongle 1, RealDash&#039;s default init plus the lines below works: the TPMS sensors reply, and the values appear in RealDash&#039;s debug view. Dashboard gauges are in progress.&lt;br /&gt;
&lt;br /&gt;
Changes to RealDash&#039;s default file:&lt;br /&gt;
* Add the three flow-control commands to the init section, before the &amp;lt;code&amp;gt;0100&amp;lt;/code&amp;gt; and &amp;lt;code&amp;gt;0120&amp;lt;/code&amp;gt; checks.&lt;br /&gt;
* Every TPMS command sets &amp;lt;code&amp;gt;header=&amp;quot;atsh798&amp;quot;&amp;lt;/code&amp;gt;. The docs say to set the header on every command when the rotation uses more than one. Any standard command in the same rotation then needs &amp;lt;code&amp;gt;header=&amp;quot;atsh7df&amp;quot;&amp;lt;/code&amp;gt;, or it would be sent to 0x798.&lt;br /&gt;
* RealDash requires &amp;lt;code&amp;gt;ATE0&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;ATL0&amp;lt;/code&amp;gt; and &amp;lt;code&amp;gt;ATS0&amp;lt;/code&amp;gt; (already in its default init).&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&amp;lt;init&amp;gt;&lt;br /&gt;
  ... RealDash default init lines ...&lt;br /&gt;
  &amp;lt;command send=&amp;quot;atfcsh798&amp;quot;&amp;gt;&amp;lt;/command&amp;gt;&lt;br /&gt;
  &amp;lt;command send=&amp;quot;atfcsd300000&amp;quot;&amp;gt;&amp;lt;/command&amp;gt;&lt;br /&gt;
  &amp;lt;command send=&amp;quot;atfcsm1&amp;quot;&amp;gt;&amp;lt;/command&amp;gt;&lt;br /&gt;
  &amp;lt;command send=&amp;quot;0100&amp;quot;&amp;gt;&amp;lt;/command&amp;gt;&lt;br /&gt;
  &amp;lt;command send=&amp;quot;0120&amp;quot;&amp;gt;&amp;lt;/command&amp;gt;&lt;br /&gt;
&amp;lt;/init&amp;gt;&lt;br /&gt;
&amp;lt;rotation&amp;gt;&lt;br /&gt;
  &amp;lt;command send=&amp;quot;2100&amp;quot; header=&amp;quot;atsh798&amp;quot; skipCount=&amp;quot;10&amp;quot; keepInRotation=&amp;quot;true&amp;quot; name=&amp;quot;TPMS: front left&amp;quot; units=&amp;quot;bar&amp;quot; conversionABC=&amp;quot;Q*0.01372&amp;quot;&amp;gt;&amp;lt;/command&amp;gt;&lt;br /&gt;
  &amp;lt;command send=&amp;quot;2100&amp;quot; header=&amp;quot;atsh798&amp;quot; skipCount=&amp;quot;11&amp;quot; keepInRotation=&amp;quot;true&amp;quot; name=&amp;quot;TPMS: front right&amp;quot; units=&amp;quot;bar&amp;quot; conversionABC=&amp;quot;AU*0.01372&amp;quot;&amp;gt;&amp;lt;/command&amp;gt;&lt;br /&gt;
  &amp;lt;command send=&amp;quot;2100&amp;quot; header=&amp;quot;atsh798&amp;quot; skipCount=&amp;quot;12&amp;quot; keepInRotation=&amp;quot;true&amp;quot; name=&amp;quot;TPMS: rear left&amp;quot; units=&amp;quot;bar&amp;quot; conversionABC=&amp;quot;AA*0.01372&amp;quot;&amp;gt;&amp;lt;/command&amp;gt;&lt;br /&gt;
  &amp;lt;command send=&amp;quot;2100&amp;quot; header=&amp;quot;atsh798&amp;quot; skipCount=&amp;quot;13&amp;quot; keepInRotation=&amp;quot;true&amp;quot; name=&amp;quot;TPMS: rear right&amp;quot; units=&amp;quot;bar&amp;quot; conversionABC=&amp;quot;AK*0.01372&amp;quot;&amp;gt;&amp;lt;/command&amp;gt;&lt;br /&gt;
&amp;lt;/rotation&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;conversionABC&amp;lt;/code&amp;gt; uses the same letters as Torque and Car Scanner (A is the first byte after 61 00). The TPMS inputs appear in RealDash&#039;s ECU Specific category.&lt;br /&gt;
&lt;br /&gt;
The Veepeak OBDCheck BLE+ (dongle 2) was intermittent with RealDash because the head unit does not support BLE. An earlier init that replaced RealDash&#039;s timing defaults with &amp;lt;code&amp;gt;ATAT0&amp;lt;/code&amp;gt; and &amp;lt;code&amp;gt;ATSTFF&amp;lt;/code&amp;gt; showed BUS ERROR and STOPPED messages; the dongle used was not recorded.&lt;br /&gt;
&lt;br /&gt;
== Other modules found by a full scan ==&lt;br /&gt;
A full health-check scan with a Launch X431 CRP919, captured with PCAN-View on the OBD socket, shows 12 modules answering on the DLC. Every module that replied is listed here. The reply ID is not always the request ID plus 8.&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! Request !! Reply !! Protocol !! Identification replies !! Module !! How identified&lt;br /&gt;
|-&lt;br /&gt;
| 0x7E0 || 0x7E8 || KWP || 33980-78R0, 33980-78RC* || ECM || Standard engine address&lt;br /&gt;
|-&lt;br /&gt;
| 0x261 || 0x661 || KWP || 56100-77RA, 56100-78RF* || ABS (inferred) || Only brake module left by elimination&lt;br /&gt;
|-&lt;br /&gt;
| 0x263 || 0x663 || KWP || 38720-77R0, 38720-77R0* || EPS controller || Parts catalogue&lt;br /&gt;
|-&lt;br /&gt;
| 0x271 || 0x671 || KWP || 36775-77R0, 36775-77RC* || Body control module || Parts catalogue&lt;br /&gt;
|-&lt;br /&gt;
| 0x274 || 0x674 || KWP || 34100-78R0, 34110-78RD* || Instrument cluster || Rev counter sweep test&lt;br /&gt;
|-&lt;br /&gt;
| 0x798 || 0x7A8 || KWP || 37160-61M0, 37120-78R0* || TPMS controller || Label and parts catalogue&lt;br /&gt;
|-&lt;br /&gt;
| 0x79A || 0x7AA || KWP || 37210-74PA, 37210-74PE* || Lighting and turn switch || Parts catalogue&lt;br /&gt;
|-&lt;br /&gt;
| 0x778 || 0x788 || KWP || 33990-52R0, 33990-78R8* || Dual sensor brake support || Parts catalogue&lt;br /&gt;
|-&lt;br /&gt;
| 0x793 || 0x7A3 || UDS || 38910-77R0, 38910-78RC* || Airbag (SRS) controller || Parts catalogue&lt;br /&gt;
|-&lt;br /&gt;
| 0x772 || 0x782 || UDS || 38885-77R0, 38885-78R0* || 4WD shift controller || Parts catalogue&lt;br /&gt;
|-&lt;br /&gt;
| 0x799 || 0x7A9 || UDS || 38960-78RA, 38960-78RA* || E-call controller || Parts catalogue&lt;br /&gt;
|-&lt;br /&gt;
| 0x751 || 0x761 || UDS || 33580-79R0, 33580-78R0* || Central gateway || Label and parts catalogue&lt;br /&gt;
|}&lt;br /&gt;
Reply ID offsets: engine +0x08; 0x261 to 0x274 +0x400; all others +0x10.&lt;br /&gt;
&lt;br /&gt;
* KWP-style modules answer &amp;lt;code&amp;gt;1A 8E&amp;lt;/code&amp;gt; and &amp;lt;code&amp;gt;1A 8A&amp;lt;/code&amp;gt; (identification) and &amp;lt;code&amp;gt;18 00 FF 00&amp;lt;/code&amp;gt; (DTCs). UDS-style modules answer &amp;lt;code&amp;gt;22 F1 01&amp;lt;/code&amp;gt; and &amp;lt;code&amp;gt;22 F1 88&amp;lt;/code&amp;gt; (identification) and &amp;lt;code&amp;gt;19 02 FF&amp;lt;/code&amp;gt; (DTCs).&lt;br /&gt;
* Requests to 0x273 and 0x262 (tester present) got no reply, so those modules are probably not fitted.&lt;br /&gt;
* The &amp;quot;probable&amp;quot; and &amp;quot;possible&amp;quot; names are guesses from the part-number series and are not confirmed.&lt;br /&gt;
&lt;br /&gt;
=== Instrument cluster output test (0x274 / 0x674) ===&lt;br /&gt;
A rev counter sweep commanded by the Launch X431 appears as a single KWP output-control request, after which the cluster sweeps the needle up and down by itself:&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! Request !! Reply !! Notes&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;3E 00&amp;lt;/code&amp;gt; || &amp;lt;code&amp;gt;7E&amp;lt;/code&amp;gt; || Tester present, about every 2.15 s&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;30 01 07 80 40 00 00&amp;lt;/code&amp;gt; || &amp;lt;code&amp;gt;70 01 07&amp;lt;/code&amp;gt; || Starts the sweep (service 0x30, local ID 01, &amp;quot;short-term adjustment&amp;quot;)&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;30 01 07 80 00 00 00&amp;lt;/code&amp;gt; || &amp;lt;code&amp;gt;7F 30 22&amp;lt;/code&amp;gt; || Refused (&amp;quot;conditions not correct&amp;quot;); possibly a stop request sent after the sweep had finished&lt;br /&gt;
|}&lt;br /&gt;
The meaning of the four control bytes (80 40 00 00) is not known.&lt;br /&gt;
&lt;br /&gt;
== Open questions ==&lt;br /&gt;
* Meaning of reply bytes +5, +7, +8 and the unexplained regions.&lt;br /&gt;
* A reliable pressure scale and offset (more gauge readings needed).&lt;br /&gt;
* Whether other Suzuki modules use addresses near 0x798 (not checked).&lt;br /&gt;
* Why Torque stops after the first line.&lt;br /&gt;
&lt;br /&gt;
== Sources ==&lt;br /&gt;
* Owner PCAN-View captures, October 2026.&lt;br /&gt;
* Suzuki wiring diagrams: A-8 CAN communication system; A-8 Central Gateway Control and DLC System (RHD).&lt;br /&gt;
* Forum thread &amp;quot;Jimny JB74 (2019+) - Torque Pro PID for TPMS&amp;quot;.&lt;br /&gt;
* BigJimny forum thread &amp;quot;JB74 OBD2 connection&amp;quot; (December 2020).&lt;br /&gt;
&lt;br /&gt;
[[Category:Jimny technical]]&lt;br /&gt;
[[Category:JB74]]&lt;br /&gt;
[[Category:Electrical - gen3]]&lt;br /&gt;
[[Category:FAQ - gen3]]&lt;br /&gt;
[[Category:Howto - gen3]]&lt;br /&gt;
&lt;br /&gt;
[[Category:Electrical - gen4]]&lt;br /&gt;
[[Category:FAQ - gen4]]&lt;br /&gt;
[[Category:Howto - gen4]]&lt;/div&gt;</summary>
		<author><name>Mlines</name></author>
	</entry>
	<entry>
		<id>https://www.bigjimny.com/mediawiki/index.php?title=OBD2_Diagnostics_reading_project&amp;diff=10086</id>
		<title>OBD2 Diagnostics reading project</title>
		<link rel="alternate" type="text/html" href="https://www.bigjimny.com/mediawiki/index.php?title=OBD2_Diagnostics_reading_project&amp;diff=10086"/>
		<updated>2026-11-01T10:41:59Z</updated>

		<summary type="html">&lt;p&gt;Mlines: /* Car Scanner Pro (working) */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;= Suzuki Jimny JB74 (2018+) - Reading TPMS data over the diagnostic CAN link =&lt;br /&gt;
&lt;br /&gt;
{{Donate}}&lt;br /&gt;
== Overview ==&lt;br /&gt;
Purpose-built diagnostic tools (Autel, Launch and similar) already support Suzuki comprehensively. There is also a trend towards replacing the factory head unit with an Android media unit that can run apps to read and display information from the car&#039;s electronics. These units are not Suzuki-specific, so this project aims to learn how to read vehicle data (starting with the factory TPMS) and show it on the head unit.&lt;br /&gt;
&lt;br /&gt;
=== Equipment ===&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! Role !! Item&lt;br /&gt;
|-&lt;br /&gt;
| Head unit || XTRONS PX90&lt;br /&gt;
|-&lt;br /&gt;
| OBD-II Bluetooth dongle 1 || Generic ELM-based (Chinese)&lt;br /&gt;
|-&lt;br /&gt;
| OBD-II Bluetooth dongle 2 || Veepeak OBDCheck BLE+ (BLE only; unreliable on this head unit)&lt;br /&gt;
|-&lt;br /&gt;
| CAN bus monitor (Windows) || PCAN-View (PEAK-System)&lt;br /&gt;
|-&lt;br /&gt;
| Diagnostic tool 1 || Launch X431 CRP919&lt;br /&gt;
|-&lt;br /&gt;
| Diagnostic tool 2 || SZ Viewer app&lt;br /&gt;
|-&lt;br /&gt;
| Head-unit apps tried || Torque Pro (fails past the first line), RealDash (TPMS values seen in its debug view; gauges in progress), Car Scanner Pro (works)&lt;br /&gt;
|-&lt;br /&gt;
| Head-unit Bluetooth || xTRONS IP90  - Classic Bluetooth only, no BLE support&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== Method ===&lt;br /&gt;
# The diagnostic tools (Launch X431, SZ Viewer) have comprehensive Suzuki support, so they are used to generate the CAN bus requests.&lt;br /&gt;
# PCAN-View is connected to the OBD socket to capture the requests and the module&#039;s replies, which are then decoded by hand.&lt;br /&gt;
# The decoded requests are recreated in the head-unit apps so the head unit can ask the car for the same data directly.&lt;br /&gt;
&#039;&#039;&#039;Status:&#039;&#039;&#039; work in progress. Based on one RHD UK-market 2021 Jimny with factory TPMS, owner-made PCAN-View captures (including a full Launch scan and an instrument cluster test), the Suzuki wiring diagrams (A-8 CAN communication and A-8 Central Gateway/DLC) and the Suzuki parts catalogue. TPMS readings work in Car Scanner Pro; RealDash works in its debug view with gauges in progress. Items marked &#039;&#039;unconfirmed&#039;&#039; are not yet verified.&lt;br /&gt;
&lt;br /&gt;
* The TPMS control module answers an ordinary diagnostic request on the OBD socket. It does not broadcast tyre data.&lt;br /&gt;
* Request ID &#039;&#039;&#039;0x798&#039;&#039;&#039;, reply ID &#039;&#039;&#039;0x7A8&#039;&#039;&#039; (11-bit CAN, 500 kbit/s, ISO-TP framing) returns the TPMS data, including four sensor IDs and pressure readings. The module&#039;s identification reply (37160-61M0) matches the Model No. (P61M0) on the TPMS controller label. Whether the central gateway forwards or remaps the request is unconfirmed.&lt;br /&gt;
* Service &#039;&#039;&#039;0x21&#039;&#039;&#039; (read data by local identifier), identifier &#039;&#039;&#039;0x00&#039;&#039;&#039;, returns 102 bytes containing all four sensor records.&lt;br /&gt;
* Pressure is byte +6 of each sensor record: bar = raw x 0.01372.&lt;br /&gt;
* The OBD socket is fed by a central gateway, so only diagnostic traffic is visible on it.&lt;br /&gt;
* Working: Car Scanner Pro, and RealDash (values seen in its debug view). Not working: Torque Pro.&lt;br /&gt;
&lt;br /&gt;
== DLC (OBD socket) wiring ==&lt;br /&gt;
The service-manual diagram numbers the DLC terminals differently from SAE J1962. In all five cases on the diagram, manual terminal &#039;&#039;n&#039;&#039; matches standard pin &#039;&#039;17 - n&#039;&#039;.&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! Manual terminal !! Standard pin !! Function !! Wire / source on diagram&lt;br /&gt;
|-&lt;br /&gt;
| 1 || 16 || Battery +12 V || GRY, fuse No.49 &amp;quot;DOME2&amp;quot; (10 A)&lt;br /&gt;
|-&lt;br /&gt;
| 12 || 5 || Signal ground || BLK&lt;br /&gt;
|-&lt;br /&gt;
| 13 || 4 || Chassis ground || BLK&lt;br /&gt;
|-&lt;br /&gt;
| 11 || 6 || CAN-H (from standard assignment) || BLU, gateway pin 8&lt;br /&gt;
|-&lt;br /&gt;
| 3 || 14 || CAN-L (from standard assignment) || WHT, gateway pin 7&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
Use pins &#039;&#039;&#039;6&#039;&#039;&#039; and &#039;&#039;&#039;14&#039;&#039;&#039; for a CAN adapter. The diagram does not label CAN-H and CAN-L itself.&lt;br /&gt;
&lt;br /&gt;
=== Cross-check with other reports ===&lt;br /&gt;
A BigJimny forum thread (&amp;quot;JB74 OBD2 connection&amp;quot;, December 2020) describes a 2020 JB74 whose OBD plug had pins 4, 5, 6, 14, 15 and 16 wired, with pin 7 (K-line) not wired. The poster, quoting an older Suzuki pinout, lists pin 6 as a blue wire (CAN-H) and pin 14 as a white wire (CAN-L). This matches the table above: a blue CAN wire on pin 6 and a white one on pin 14.&lt;br /&gt;
&lt;br /&gt;
* The CAN-H/CAN-L assignment in that thread comes from a pinout reference that the poster says predates the JB74, so it is a report, not a measurement.&lt;br /&gt;
* No wire for standard pin 7 (K-line) appears on the diagram page above, and the forum report also found it unwired. K-line is therefore unlikely to be available on the JB74 socket.&lt;br /&gt;
* On the forum poster&#039;s car, pin 15 was also wired; the diagram page above shows no wire for it. This may be a market or model-year difference.&lt;br /&gt;
&lt;br /&gt;
== Network layout ==&lt;br /&gt;
The DLC is not on the vehicle bus directly. The &#039;&#039;&#039;central gateway control module&#039;&#039;&#039; joins the vehicle CAN bus (its pins 20 and 21, RED/WHT) and provides a separate CAN pair to the DLC (its pins 8 and 7, BLU/WHT).&lt;br /&gt;
&lt;br /&gt;
Modules on the vehicle bus (diagram): ECM, 4WD control module, TCM (A/T models), BCM, ESP control module, headlight auto levelling module (if equipped), dual sensor brake support control module (if equipped), P/S control module, steering angle sensor, TPMS control module / receiver (if equipped), combination meter, SDM, combination switch.&lt;br /&gt;
&lt;br /&gt;
Gateway power: fuse No.60 &amp;quot;IG1 SIG&amp;quot; (10 A) and fuse No.52 &amp;quot;CONT&amp;quot; (5 A). Treat the ignition as needing to be on.&lt;br /&gt;
&lt;br /&gt;
Observation: two captures from the DLC contained only IDs 0x798 and 0x7A8 (plus two error frames). No broadcast traffic from other modules was seen, so passive listening on the DLC will not show TPMS data.&lt;br /&gt;
&lt;br /&gt;
== Diagnostic requests seen ==&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! Request !! Reply !! Meaning&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;3E&amp;lt;/code&amp;gt; || &amp;lt;code&amp;gt;7E&amp;lt;/code&amp;gt; || Tester present&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;1A 8A&amp;lt;/code&amp;gt; || &amp;lt;code&amp;gt;5A 8A&amp;lt;/code&amp;gt; + ASCII &amp;lt;code&amp;gt;37120-78R0*&amp;lt;/code&amp;gt; || ECU identification&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;1A 8E&amp;lt;/code&amp;gt; || &amp;lt;code&amp;gt;5A 8E&amp;lt;/code&amp;gt; + ASCII &amp;lt;code&amp;gt;37160-61M0&amp;lt;/code&amp;gt; || ECU identification: matches the &amp;quot;Model No. P61M0&amp;quot; printed on the TPMS controller label&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;18 00 FF 00&amp;lt;/code&amp;gt; || &amp;lt;code&amp;gt;58 00&amp;lt;/code&amp;gt; or &amp;lt;code&amp;gt;58 01 9A 31 E0&amp;lt;/code&amp;gt; || Read DTCs by status (second form = one code reported; not decoded)&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;21 00&amp;lt;/code&amp;gt; || &amp;lt;code&amp;gt;61 00&amp;lt;/code&amp;gt; + 100 bytes || Sensor data block (repeated about twice a second by the scan tool)&lt;br /&gt;
|}&lt;br /&gt;
Part labels on the test car: TPMS controller 37160-78R00, &amp;quot;BASE ASSY-TPMS&amp;quot;, Model No. P61M0, Continental A2C13930301, 433.92 MHz; central gateway controller 33580-79R01. The &amp;lt;code&amp;gt;1A 8E&amp;lt;/code&amp;gt; reply (37160-61M0) matches the TPMS controller&#039;s base number and model number; the &amp;lt;code&amp;gt;1A 8A&amp;lt;/code&amp;gt; reply (37120-78R0*) shares &amp;quot;78R0&amp;quot; with the full part number, but its meaning is not confirmed.&lt;br /&gt;
&lt;br /&gt;
A Launch full scan reported &amp;quot;Left Front Tire Pressure Low&amp;quot; for the TPMS module, and the module returned one stored code (&amp;lt;code&amp;gt;9A 31&amp;lt;/code&amp;gt;) in the same scan. That code is probably the low-pressure warning (inferred; the report does not show the code itself).&lt;br /&gt;
&lt;br /&gt;
== Reading it with an ELM327 ==&lt;br /&gt;
Terminal commands, one at a time (CR line ending):&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
ATZ&lt;br /&gt;
ATSP6&lt;br /&gt;
ATSH798&lt;br /&gt;
ATS0&lt;br /&gt;
ATL0&lt;br /&gt;
ATFCSH798&lt;br /&gt;
ATFCSD300000&lt;br /&gt;
ATFCSM1&lt;br /&gt;
2100&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
* &amp;lt;code&amp;gt;ATSH798&amp;lt;/code&amp;gt; sets the request address. The reply address (0x7A8) is worked out automatically.&lt;br /&gt;
* &amp;lt;code&amp;gt;ATFCSH798 / ATFCSD300000 / ATFCSM1&amp;lt;/code&amp;gt; make the adapter send the ISO-TP flow-control frame (30 00 00) itself.&lt;br /&gt;
* &amp;lt;code&amp;gt;ATS0&amp;lt;/code&amp;gt; removes the spaces between bytes. Without it, the generic Chinese ELM327-based dongle (dongle 1) reported &amp;lt;code&amp;gt;BUFFER FULL&amp;lt;/code&amp;gt; near byte 81.&lt;br /&gt;
* Expected output: a length line (&amp;lt;code&amp;gt;066&amp;lt;/code&amp;gt; = 102 bytes) and numbered lines &amp;lt;code&amp;gt;0:&amp;lt;/code&amp;gt; to &amp;lt;code&amp;gt;E:&amp;lt;/code&amp;gt;.&lt;br /&gt;
* With default settings dongle 1 returned only the first line (&amp;lt;code&amp;gt;61 00 xx 01 00 00&amp;lt;/code&amp;gt;).&lt;br /&gt;
&lt;br /&gt;
== Reply layout (21 00) ==&lt;br /&gt;
Byte positions count the &amp;lt;code&amp;gt;61&amp;lt;/code&amp;gt; as byte 0.&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! Bytes !! Content&lt;br /&gt;
|-&lt;br /&gt;
| 0-1 || &amp;lt;code&amp;gt;61 00&amp;lt;/code&amp;gt; (positive reply)&lt;br /&gt;
|-&lt;br /&gt;
| 2 || Varies 117-142. Looks like system voltage x 10 (&#039;&#039;unconfirmed&#039;&#039;)&lt;br /&gt;
|-&lt;br /&gt;
| 12-21 || Sensor record 1: front left&lt;br /&gt;
|-&lt;br /&gt;
| 22-31 || Sensor record 2: rear left&lt;br /&gt;
|-&lt;br /&gt;
| 32-41 || Sensor record 3: rear right&lt;br /&gt;
|-&lt;br /&gt;
| 42-51 || Sensor record 4: front right&lt;br /&gt;
|-&lt;br /&gt;
| 56-71 || Four 4-byte sensor-ID entries whose contents change (meaning unknown)&lt;br /&gt;
|-&lt;br /&gt;
| other || Not decoded&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== Sensor record (10 bytes) ===&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! Offset !! Content&lt;br /&gt;
|-&lt;br /&gt;
| +0 to +3 || Sensor ID&lt;br /&gt;
|-&lt;br /&gt;
| +4 || Position flag&lt;br /&gt;
|-&lt;br /&gt;
| +5 || Value 57-74. Behaves like temperature, possibly with an offset of 40 (&#039;&#039;unconfirmed&#039;&#039;)&lt;br /&gt;
|-&lt;br /&gt;
| +6 || Pressure, gauge: bar = raw x 0.01372 (see Calibration)&lt;br /&gt;
|-&lt;br /&gt;
| +7, +8 || Not understood&lt;br /&gt;
|-&lt;br /&gt;
| +9 || Always 0&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! Wheel !! Sensor ID !! Position flag&lt;br /&gt;
|-&lt;br /&gt;
| Front left || 4E AA 09 43 || 0x10&lt;br /&gt;
|-&lt;br /&gt;
| Rear left || DD 91 B5 25 || 0x20&lt;br /&gt;
|-&lt;br /&gt;
| Rear right || 4E AA 03 19 || 0x18&lt;br /&gt;
|-&lt;br /&gt;
| Front right || 4E AA 09 C9 || 0x08&lt;br /&gt;
|}&lt;br /&gt;
Sensor IDs are specific to one car. Yours will differ.&lt;br /&gt;
&lt;br /&gt;
== Calibration ==&lt;br /&gt;
Byte +6 against gauge readings (bar). The five deflation-test counts were reconstructed from the app&#039;s displayed values.&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! Raw !! Gauge (bar) !! Raw x 0.01372&lt;br /&gt;
|-&lt;br /&gt;
| 136 (rear left) || 1.868 || 1.866&lt;br /&gt;
|-&lt;br /&gt;
| 131 (rear right) || 1.795 || 1.797&lt;br /&gt;
|-&lt;br /&gt;
| 131 (front right) || 1.795 || 1.797&lt;br /&gt;
|-&lt;br /&gt;
| 126 || 1.73 || 1.729&lt;br /&gt;
|-&lt;br /&gt;
| 119 || 1.63 || 1.633&lt;br /&gt;
|-&lt;br /&gt;
| 112 || 1.54 || 1.537&lt;br /&gt;
|-&lt;br /&gt;
| 101 || 1.39 || 1.386&lt;br /&gt;
|-&lt;br /&gt;
| 96 || 1.29 || 1.317&lt;br /&gt;
|}&lt;br /&gt;
The last five rows are from one tyre during a slow deflation (assumed front left).&lt;br /&gt;
* bar = raw x 0.01372&lt;br /&gt;
* psi = raw x 0.199&lt;br /&gt;
&lt;br /&gt;
No offset is needed, which suggests the byte holds gauge pressure. All points are within 0.004 bar except the lowest (0.027 bar off), which may be sensor update lag or slight non-linearity. More readings at low and high pressure are needed.&lt;br /&gt;
&lt;br /&gt;
== Torque Pro custom PIDs ==&lt;br /&gt;
Common fields for every wheel:&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! Field !! Value&lt;br /&gt;
|-&lt;br /&gt;
| Header || 798&lt;br /&gt;
|-&lt;br /&gt;
| Mode and PID || 2100&lt;br /&gt;
|-&lt;br /&gt;
| Diagnostic start command || &amp;lt;code&amp;gt;ATS0, ATL0, ATFCSH798, ATFCSD300000, ATFCSM1&amp;lt;/code&amp;gt; (comma-separated)&lt;br /&gt;
|-&lt;br /&gt;
| Unit / min / max || bar, 0, 4 (or psi, 0, 60)&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
Equation uses a letter for each data byte. &amp;lt;code&amp;gt;A&amp;lt;/code&amp;gt; is the first byte after &amp;lt;code&amp;gt;61 00&amp;lt;/code&amp;gt; (reply byte 2).&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! Wheel !! Byte +5 (temperature?) !! Byte +6 (pressure candidate)” to “Byte +6 (pressure)”&lt;br /&gt;
|-&lt;br /&gt;
| Front left || P || Q&lt;br /&gt;
|-&lt;br /&gt;
| Front right || AT || AU&lt;br /&gt;
|-&lt;br /&gt;
| Rear left || Z || AA&lt;br /&gt;
|-&lt;br /&gt;
| Rear right || AJ || AK&lt;br /&gt;
|}&lt;br /&gt;
Example: &amp;lt;code&amp;gt;Q*0.01372&amp;lt;/code&amp;gt;. Letters must be upper case. Whether Torque accepts two-letter variables is &#039;&#039;unconfirmed&#039;&#039;.&lt;br /&gt;
&lt;br /&gt;
=== Known problem ===&lt;br /&gt;
Using dongle 1 (generic Chinese ELM327-based) with Torque Pro on the XTRONS PX90, Torque read bytes &amp;lt;code&amp;gt;A&amp;lt;/code&amp;gt; to &amp;lt;code&amp;gt;D&amp;lt;/code&amp;gt; (first line of the reply) correctly, but every byte from &amp;lt;code&amp;gt;E&amp;lt;/code&amp;gt; onward returned -1, even though a terminal received the full 102 bytes with the same commands. The start-command field is applied (adding &amp;lt;code&amp;gt;ATH1&amp;lt;/code&amp;gt; changed the output). Tried without success: turning off &amp;quot;Faster communication&amp;quot; and removing &amp;lt;code&amp;gt;ATS0&amp;lt;/code&amp;gt;. Not tried: &amp;lt;code&amp;gt;ATAT0, ATSTFF&amp;lt;/code&amp;gt; timeout settings.&lt;br /&gt;
&lt;br /&gt;
Dongle 2 (Veepeak OBDCheck BLE+) gave the same result, but the head unit does not support BLE, so that test is not reliable. Car Scanner Pro reads every byte with dongle 1 and the same commands, so the limitation appears to be in how Torque Pro handles this multi-line reply, not in the adapter. Unresolved; a request has been posted on the Torque forum.&lt;br /&gt;
&lt;br /&gt;
== Car Scanner Pro (working) ==&lt;br /&gt;
Car Scanner Pro reads all the bytes where Torque Pro fails. Custom PID settings used:&lt;br /&gt;
* Header: 798&lt;br /&gt;
* Request: 2100&lt;br /&gt;
* Start command (backslash-separated): &amp;lt;code&amp;gt;ATAT0\ATSTFF\ATS0\ATL0\ATFCSH798\ATFCSD300000\ATFCSM1&amp;lt;/code&amp;gt;&lt;br /&gt;
* Equations use the same letters as the table above, for example &amp;lt;code&amp;gt;Q*0.01372&amp;lt;/code&amp;gt; for front left (bar)&lt;br /&gt;
&lt;br /&gt;
The start command has not yet been shortened. Tested with dongle 1 (generic ELM327-based) on the XTRONS PX90.&lt;br /&gt;
&lt;br /&gt;
== Other modules found by a full scan ==&lt;br /&gt;
A full health-check scan with a Launch X431 CRP919, captured with PCAN-View on the OBD socket, shows 12 modules answering on the DLC. Every module that replied is listed here. The reply ID is not always the request ID plus 8.&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! Request !! Reply !! Protocol !! Identification replies !! Module !! How identified&lt;br /&gt;
|-&lt;br /&gt;
| 0x7E0 || 0x7E8 || KWP || 33980-78R0, 33980-78RC* || ECM || Standard engine address&lt;br /&gt;
|-&lt;br /&gt;
| 0x261 || 0x661 || KWP || 56100-77RA, 56100-78RF* || ABS (inferred) || Only brake module left by elimination&lt;br /&gt;
|-&lt;br /&gt;
| 0x263 || 0x663 || KWP || 38720-77R0, 38720-77R0* || EPS controller || Parts catalogue&lt;br /&gt;
|-&lt;br /&gt;
| 0x271 || 0x671 || KWP || 36775-77R0, 36775-77RC* || Body control module || Parts catalogue&lt;br /&gt;
|-&lt;br /&gt;
| 0x274 || 0x674 || KWP || 34100-78R0, 34110-78RD* || Instrument cluster || Rev counter sweep test&lt;br /&gt;
|-&lt;br /&gt;
| 0x798 || 0x7A8 || KWP || 37160-61M0, 37120-78R0* || TPMS controller || Label and parts catalogue&lt;br /&gt;
|-&lt;br /&gt;
| 0x79A || 0x7AA || KWP || 37210-74PA, 37210-74PE* || Lighting and turn switch || Parts catalogue&lt;br /&gt;
|-&lt;br /&gt;
| 0x778 || 0x788 || KWP || 33990-52R0, 33990-78R8* || Dual sensor brake support || Parts catalogue&lt;br /&gt;
|-&lt;br /&gt;
| 0x793 || 0x7A3 || UDS || 38910-77R0, 38910-78RC* || Airbag (SRS) controller || Parts catalogue&lt;br /&gt;
|-&lt;br /&gt;
| 0x772 || 0x782 || UDS || 38885-77R0, 38885-78R0* || 4WD shift controller || Parts catalogue&lt;br /&gt;
|-&lt;br /&gt;
| 0x799 || 0x7A9 || UDS || 38960-78RA, 38960-78RA* || E-call controller || Parts catalogue&lt;br /&gt;
|-&lt;br /&gt;
| 0x751 || 0x761 || UDS || 33580-79R0, 33580-78R0* || Central gateway || Label and parts catalogue&lt;br /&gt;
|}&lt;br /&gt;
Reply ID offsets: engine +0x08; 0x261 to 0x274 +0x400; all others +0x10.&lt;br /&gt;
&lt;br /&gt;
* KWP-style modules answer &amp;lt;code&amp;gt;1A 8E&amp;lt;/code&amp;gt; and &amp;lt;code&amp;gt;1A 8A&amp;lt;/code&amp;gt; (identification) and &amp;lt;code&amp;gt;18 00 FF 00&amp;lt;/code&amp;gt; (DTCs). UDS-style modules answer &amp;lt;code&amp;gt;22 F1 01&amp;lt;/code&amp;gt; and &amp;lt;code&amp;gt;22 F1 88&amp;lt;/code&amp;gt; (identification) and &amp;lt;code&amp;gt;19 02 FF&amp;lt;/code&amp;gt; (DTCs).&lt;br /&gt;
* Requests to 0x273 and 0x262 (tester present) got no reply, so those modules are probably not fitted.&lt;br /&gt;
* The &amp;quot;probable&amp;quot; and &amp;quot;possible&amp;quot; names are guesses from the part-number series and are not confirmed.&lt;br /&gt;
&lt;br /&gt;
=== Instrument cluster output test (0x274 / 0x674) ===&lt;br /&gt;
A rev counter sweep commanded by the Launch X431 appears as a single KWP output-control request, after which the cluster sweeps the needle up and down by itself:&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! Request !! Reply !! Notes&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;3E 00&amp;lt;/code&amp;gt; || &amp;lt;code&amp;gt;7E&amp;lt;/code&amp;gt; || Tester present, about every 2.15 s&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;30 01 07 80 40 00 00&amp;lt;/code&amp;gt; || &amp;lt;code&amp;gt;70 01 07&amp;lt;/code&amp;gt; || Starts the sweep (service 0x30, local ID 01, &amp;quot;short-term adjustment&amp;quot;)&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;30 01 07 80 00 00 00&amp;lt;/code&amp;gt; || &amp;lt;code&amp;gt;7F 30 22&amp;lt;/code&amp;gt; || Refused (&amp;quot;conditions not correct&amp;quot;); possibly a stop request sent after the sweep had finished&lt;br /&gt;
|}&lt;br /&gt;
The meaning of the four control bytes (80 40 00 00) is not known.&lt;br /&gt;
&lt;br /&gt;
== Open questions ==&lt;br /&gt;
* Meaning of reply bytes +5, +7, +8 and the unexplained regions.&lt;br /&gt;
* A reliable pressure scale and offset (more gauge readings needed).&lt;br /&gt;
* Whether other Suzuki modules use addresses near 0x798 (not checked).&lt;br /&gt;
* Why Torque stops after the first line.&lt;br /&gt;
&lt;br /&gt;
== Sources ==&lt;br /&gt;
* Owner PCAN-View captures, October 2026.&lt;br /&gt;
* Suzuki wiring diagrams: A-8 CAN communication system; A-8 Central Gateway Control and DLC System (RHD).&lt;br /&gt;
* Forum thread &amp;quot;Jimny JB74 (2019+) - Torque Pro PID for TPMS&amp;quot;.&lt;br /&gt;
* BigJimny forum thread &amp;quot;JB74 OBD2 connection&amp;quot; (December 2020).&lt;br /&gt;
&lt;br /&gt;
[[Category:Jimny technical]]&lt;br /&gt;
[[Category:JB74]]&lt;br /&gt;
[[Category:Electrical - gen3]]&lt;br /&gt;
[[Category:FAQ - gen3]]&lt;br /&gt;
[[Category:Howto - gen3]]&lt;br /&gt;
&lt;br /&gt;
[[Category:Electrical - gen4]]&lt;br /&gt;
[[Category:FAQ - gen4]]&lt;br /&gt;
[[Category:Howto - gen4]]&lt;/div&gt;</summary>
		<author><name>Mlines</name></author>
	</entry>
	<entry>
		<id>https://www.bigjimny.com/mediawiki/index.php?title=OBD2_Diagnostics_reading_project&amp;diff=10085</id>
		<title>OBD2 Diagnostics reading project</title>
		<link rel="alternate" type="text/html" href="https://www.bigjimny.com/mediawiki/index.php?title=OBD2_Diagnostics_reading_project&amp;diff=10085"/>
		<updated>2026-11-01T10:41:30Z</updated>

		<summary type="html">&lt;p&gt;Mlines: /* Known problem */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;= Suzuki Jimny JB74 (2018+) - Reading TPMS data over the diagnostic CAN link =&lt;br /&gt;
&lt;br /&gt;
{{Donate}}&lt;br /&gt;
== Overview ==&lt;br /&gt;
Purpose-built diagnostic tools (Autel, Launch and similar) already support Suzuki comprehensively. There is also a trend towards replacing the factory head unit with an Android media unit that can run apps to read and display information from the car&#039;s electronics. These units are not Suzuki-specific, so this project aims to learn how to read vehicle data (starting with the factory TPMS) and show it on the head unit.&lt;br /&gt;
&lt;br /&gt;
=== Equipment ===&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! Role !! Item&lt;br /&gt;
|-&lt;br /&gt;
| Head unit || XTRONS PX90&lt;br /&gt;
|-&lt;br /&gt;
| OBD-II Bluetooth dongle 1 || Generic ELM-based (Chinese)&lt;br /&gt;
|-&lt;br /&gt;
| OBD-II Bluetooth dongle 2 || Veepeak OBDCheck BLE+ (BLE only; unreliable on this head unit)&lt;br /&gt;
|-&lt;br /&gt;
| CAN bus monitor (Windows) || PCAN-View (PEAK-System)&lt;br /&gt;
|-&lt;br /&gt;
| Diagnostic tool 1 || Launch X431 CRP919&lt;br /&gt;
|-&lt;br /&gt;
| Diagnostic tool 2 || SZ Viewer app&lt;br /&gt;
|-&lt;br /&gt;
| Head-unit apps tried || Torque Pro (fails past the first line), RealDash (TPMS values seen in its debug view; gauges in progress), Car Scanner Pro (works)&lt;br /&gt;
|-&lt;br /&gt;
| Head-unit Bluetooth || xTRONS IP90  - Classic Bluetooth only, no BLE support&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== Method ===&lt;br /&gt;
# The diagnostic tools (Launch X431, SZ Viewer) have comprehensive Suzuki support, so they are used to generate the CAN bus requests.&lt;br /&gt;
# PCAN-View is connected to the OBD socket to capture the requests and the module&#039;s replies, which are then decoded by hand.&lt;br /&gt;
# The decoded requests are recreated in the head-unit apps so the head unit can ask the car for the same data directly.&lt;br /&gt;
&#039;&#039;&#039;Status:&#039;&#039;&#039; work in progress. Based on one RHD UK-market 2021 Jimny with factory TPMS, owner-made PCAN-View captures (including a full Launch scan and an instrument cluster test), the Suzuki wiring diagrams (A-8 CAN communication and A-8 Central Gateway/DLC) and the Suzuki parts catalogue. TPMS readings work in Car Scanner Pro; RealDash works in its debug view with gauges in progress. Items marked &#039;&#039;unconfirmed&#039;&#039; are not yet verified.&lt;br /&gt;
&lt;br /&gt;
* The TPMS control module answers an ordinary diagnostic request on the OBD socket. It does not broadcast tyre data.&lt;br /&gt;
* Request ID &#039;&#039;&#039;0x798&#039;&#039;&#039;, reply ID &#039;&#039;&#039;0x7A8&#039;&#039;&#039; (11-bit CAN, 500 kbit/s, ISO-TP framing) returns the TPMS data, including four sensor IDs and pressure readings. The module&#039;s identification reply (37160-61M0) matches the Model No. (P61M0) on the TPMS controller label. Whether the central gateway forwards or remaps the request is unconfirmed.&lt;br /&gt;
* Service &#039;&#039;&#039;0x21&#039;&#039;&#039; (read data by local identifier), identifier &#039;&#039;&#039;0x00&#039;&#039;&#039;, returns 102 bytes containing all four sensor records.&lt;br /&gt;
* Pressure is byte +6 of each sensor record: bar = raw x 0.01372.&lt;br /&gt;
* The OBD socket is fed by a central gateway, so only diagnostic traffic is visible on it.&lt;br /&gt;
* Working: Car Scanner Pro, and RealDash (values seen in its debug view). Not working: Torque Pro.&lt;br /&gt;
&lt;br /&gt;
== DLC (OBD socket) wiring ==&lt;br /&gt;
The service-manual diagram numbers the DLC terminals differently from SAE J1962. In all five cases on the diagram, manual terminal &#039;&#039;n&#039;&#039; matches standard pin &#039;&#039;17 - n&#039;&#039;.&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! Manual terminal !! Standard pin !! Function !! Wire / source on diagram&lt;br /&gt;
|-&lt;br /&gt;
| 1 || 16 || Battery +12 V || GRY, fuse No.49 &amp;quot;DOME2&amp;quot; (10 A)&lt;br /&gt;
|-&lt;br /&gt;
| 12 || 5 || Signal ground || BLK&lt;br /&gt;
|-&lt;br /&gt;
| 13 || 4 || Chassis ground || BLK&lt;br /&gt;
|-&lt;br /&gt;
| 11 || 6 || CAN-H (from standard assignment) || BLU, gateway pin 8&lt;br /&gt;
|-&lt;br /&gt;
| 3 || 14 || CAN-L (from standard assignment) || WHT, gateway pin 7&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
Use pins &#039;&#039;&#039;6&#039;&#039;&#039; and &#039;&#039;&#039;14&#039;&#039;&#039; for a CAN adapter. The diagram does not label CAN-H and CAN-L itself.&lt;br /&gt;
&lt;br /&gt;
=== Cross-check with other reports ===&lt;br /&gt;
A BigJimny forum thread (&amp;quot;JB74 OBD2 connection&amp;quot;, December 2020) describes a 2020 JB74 whose OBD plug had pins 4, 5, 6, 14, 15 and 16 wired, with pin 7 (K-line) not wired. The poster, quoting an older Suzuki pinout, lists pin 6 as a blue wire (CAN-H) and pin 14 as a white wire (CAN-L). This matches the table above: a blue CAN wire on pin 6 and a white one on pin 14.&lt;br /&gt;
&lt;br /&gt;
* The CAN-H/CAN-L assignment in that thread comes from a pinout reference that the poster says predates the JB74, so it is a report, not a measurement.&lt;br /&gt;
* No wire for standard pin 7 (K-line) appears on the diagram page above, and the forum report also found it unwired. K-line is therefore unlikely to be available on the JB74 socket.&lt;br /&gt;
* On the forum poster&#039;s car, pin 15 was also wired; the diagram page above shows no wire for it. This may be a market or model-year difference.&lt;br /&gt;
&lt;br /&gt;
== Network layout ==&lt;br /&gt;
The DLC is not on the vehicle bus directly. The &#039;&#039;&#039;central gateway control module&#039;&#039;&#039; joins the vehicle CAN bus (its pins 20 and 21, RED/WHT) and provides a separate CAN pair to the DLC (its pins 8 and 7, BLU/WHT).&lt;br /&gt;
&lt;br /&gt;
Modules on the vehicle bus (diagram): ECM, 4WD control module, TCM (A/T models), BCM, ESP control module, headlight auto levelling module (if equipped), dual sensor brake support control module (if equipped), P/S control module, steering angle sensor, TPMS control module / receiver (if equipped), combination meter, SDM, combination switch.&lt;br /&gt;
&lt;br /&gt;
Gateway power: fuse No.60 &amp;quot;IG1 SIG&amp;quot; (10 A) and fuse No.52 &amp;quot;CONT&amp;quot; (5 A). Treat the ignition as needing to be on.&lt;br /&gt;
&lt;br /&gt;
Observation: two captures from the DLC contained only IDs 0x798 and 0x7A8 (plus two error frames). No broadcast traffic from other modules was seen, so passive listening on the DLC will not show TPMS data.&lt;br /&gt;
&lt;br /&gt;
== Diagnostic requests seen ==&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! Request !! Reply !! Meaning&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;3E&amp;lt;/code&amp;gt; || &amp;lt;code&amp;gt;7E&amp;lt;/code&amp;gt; || Tester present&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;1A 8A&amp;lt;/code&amp;gt; || &amp;lt;code&amp;gt;5A 8A&amp;lt;/code&amp;gt; + ASCII &amp;lt;code&amp;gt;37120-78R0*&amp;lt;/code&amp;gt; || ECU identification&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;1A 8E&amp;lt;/code&amp;gt; || &amp;lt;code&amp;gt;5A 8E&amp;lt;/code&amp;gt; + ASCII &amp;lt;code&amp;gt;37160-61M0&amp;lt;/code&amp;gt; || ECU identification: matches the &amp;quot;Model No. P61M0&amp;quot; printed on the TPMS controller label&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;18 00 FF 00&amp;lt;/code&amp;gt; || &amp;lt;code&amp;gt;58 00&amp;lt;/code&amp;gt; or &amp;lt;code&amp;gt;58 01 9A 31 E0&amp;lt;/code&amp;gt; || Read DTCs by status (second form = one code reported; not decoded)&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;21 00&amp;lt;/code&amp;gt; || &amp;lt;code&amp;gt;61 00&amp;lt;/code&amp;gt; + 100 bytes || Sensor data block (repeated about twice a second by the scan tool)&lt;br /&gt;
|}&lt;br /&gt;
Part labels on the test car: TPMS controller 37160-78R00, &amp;quot;BASE ASSY-TPMS&amp;quot;, Model No. P61M0, Continental A2C13930301, 433.92 MHz; central gateway controller 33580-79R01. The &amp;lt;code&amp;gt;1A 8E&amp;lt;/code&amp;gt; reply (37160-61M0) matches the TPMS controller&#039;s base number and model number; the &amp;lt;code&amp;gt;1A 8A&amp;lt;/code&amp;gt; reply (37120-78R0*) shares &amp;quot;78R0&amp;quot; with the full part number, but its meaning is not confirmed.&lt;br /&gt;
&lt;br /&gt;
A Launch full scan reported &amp;quot;Left Front Tire Pressure Low&amp;quot; for the TPMS module, and the module returned one stored code (&amp;lt;code&amp;gt;9A 31&amp;lt;/code&amp;gt;) in the same scan. That code is probably the low-pressure warning (inferred; the report does not show the code itself).&lt;br /&gt;
&lt;br /&gt;
== Reading it with an ELM327 ==&lt;br /&gt;
Terminal commands, one at a time (CR line ending):&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
ATZ&lt;br /&gt;
ATSP6&lt;br /&gt;
ATSH798&lt;br /&gt;
ATS0&lt;br /&gt;
ATL0&lt;br /&gt;
ATFCSH798&lt;br /&gt;
ATFCSD300000&lt;br /&gt;
ATFCSM1&lt;br /&gt;
2100&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
* &amp;lt;code&amp;gt;ATSH798&amp;lt;/code&amp;gt; sets the request address. The reply address (0x7A8) is worked out automatically.&lt;br /&gt;
* &amp;lt;code&amp;gt;ATFCSH798 / ATFCSD300000 / ATFCSM1&amp;lt;/code&amp;gt; make the adapter send the ISO-TP flow-control frame (30 00 00) itself.&lt;br /&gt;
* &amp;lt;code&amp;gt;ATS0&amp;lt;/code&amp;gt; removes the spaces between bytes. Without it, the generic Chinese ELM327-based dongle (dongle 1) reported &amp;lt;code&amp;gt;BUFFER FULL&amp;lt;/code&amp;gt; near byte 81.&lt;br /&gt;
* Expected output: a length line (&amp;lt;code&amp;gt;066&amp;lt;/code&amp;gt; = 102 bytes) and numbered lines &amp;lt;code&amp;gt;0:&amp;lt;/code&amp;gt; to &amp;lt;code&amp;gt;E:&amp;lt;/code&amp;gt;.&lt;br /&gt;
* With default settings dongle 1 returned only the first line (&amp;lt;code&amp;gt;61 00 xx 01 00 00&amp;lt;/code&amp;gt;).&lt;br /&gt;
&lt;br /&gt;
== Reply layout (21 00) ==&lt;br /&gt;
Byte positions count the &amp;lt;code&amp;gt;61&amp;lt;/code&amp;gt; as byte 0.&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! Bytes !! Content&lt;br /&gt;
|-&lt;br /&gt;
| 0-1 || &amp;lt;code&amp;gt;61 00&amp;lt;/code&amp;gt; (positive reply)&lt;br /&gt;
|-&lt;br /&gt;
| 2 || Varies 117-142. Looks like system voltage x 10 (&#039;&#039;unconfirmed&#039;&#039;)&lt;br /&gt;
|-&lt;br /&gt;
| 12-21 || Sensor record 1: front left&lt;br /&gt;
|-&lt;br /&gt;
| 22-31 || Sensor record 2: rear left&lt;br /&gt;
|-&lt;br /&gt;
| 32-41 || Sensor record 3: rear right&lt;br /&gt;
|-&lt;br /&gt;
| 42-51 || Sensor record 4: front right&lt;br /&gt;
|-&lt;br /&gt;
| 56-71 || Four 4-byte sensor-ID entries whose contents change (meaning unknown)&lt;br /&gt;
|-&lt;br /&gt;
| other || Not decoded&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== Sensor record (10 bytes) ===&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! Offset !! Content&lt;br /&gt;
|-&lt;br /&gt;
| +0 to +3 || Sensor ID&lt;br /&gt;
|-&lt;br /&gt;
| +4 || Position flag&lt;br /&gt;
|-&lt;br /&gt;
| +5 || Value 57-74. Behaves like temperature, possibly with an offset of 40 (&#039;&#039;unconfirmed&#039;&#039;)&lt;br /&gt;
|-&lt;br /&gt;
| +6 || Pressure, gauge: bar = raw x 0.01372 (see Calibration)&lt;br /&gt;
|-&lt;br /&gt;
| +7, +8 || Not understood&lt;br /&gt;
|-&lt;br /&gt;
| +9 || Always 0&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! Wheel !! Sensor ID !! Position flag&lt;br /&gt;
|-&lt;br /&gt;
| Front left || 4E AA 09 43 || 0x10&lt;br /&gt;
|-&lt;br /&gt;
| Rear left || DD 91 B5 25 || 0x20&lt;br /&gt;
|-&lt;br /&gt;
| Rear right || 4E AA 03 19 || 0x18&lt;br /&gt;
|-&lt;br /&gt;
| Front right || 4E AA 09 C9 || 0x08&lt;br /&gt;
|}&lt;br /&gt;
Sensor IDs are specific to one car. Yours will differ.&lt;br /&gt;
&lt;br /&gt;
== Calibration ==&lt;br /&gt;
Byte +6 against gauge readings (bar). The five deflation-test counts were reconstructed from the app&#039;s displayed values.&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! Raw !! Gauge (bar) !! Raw x 0.01372&lt;br /&gt;
|-&lt;br /&gt;
| 136 (rear left) || 1.868 || 1.866&lt;br /&gt;
|-&lt;br /&gt;
| 131 (rear right) || 1.795 || 1.797&lt;br /&gt;
|-&lt;br /&gt;
| 131 (front right) || 1.795 || 1.797&lt;br /&gt;
|-&lt;br /&gt;
| 126 || 1.73 || 1.729&lt;br /&gt;
|-&lt;br /&gt;
| 119 || 1.63 || 1.633&lt;br /&gt;
|-&lt;br /&gt;
| 112 || 1.54 || 1.537&lt;br /&gt;
|-&lt;br /&gt;
| 101 || 1.39 || 1.386&lt;br /&gt;
|-&lt;br /&gt;
| 96 || 1.29 || 1.317&lt;br /&gt;
|}&lt;br /&gt;
The last five rows are from one tyre during a slow deflation (assumed front left).&lt;br /&gt;
* bar = raw x 0.01372&lt;br /&gt;
* psi = raw x 0.199&lt;br /&gt;
&lt;br /&gt;
No offset is needed, which suggests the byte holds gauge pressure. All points are within 0.004 bar except the lowest (0.027 bar off), which may be sensor update lag or slight non-linearity. More readings at low and high pressure are needed.&lt;br /&gt;
&lt;br /&gt;
== Torque Pro custom PIDs ==&lt;br /&gt;
Common fields for every wheel:&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! Field !! Value&lt;br /&gt;
|-&lt;br /&gt;
| Header || 798&lt;br /&gt;
|-&lt;br /&gt;
| Mode and PID || 2100&lt;br /&gt;
|-&lt;br /&gt;
| Diagnostic start command || &amp;lt;code&amp;gt;ATS0, ATL0, ATFCSH798, ATFCSD300000, ATFCSM1&amp;lt;/code&amp;gt; (comma-separated)&lt;br /&gt;
|-&lt;br /&gt;
| Unit / min / max || bar, 0, 4 (or psi, 0, 60)&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
Equation uses a letter for each data byte. &amp;lt;code&amp;gt;A&amp;lt;/code&amp;gt; is the first byte after &amp;lt;code&amp;gt;61 00&amp;lt;/code&amp;gt; (reply byte 2).&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! Wheel !! Byte +5 (temperature?) !! Byte +6 (pressure candidate)” to “Byte +6 (pressure)”&lt;br /&gt;
|-&lt;br /&gt;
| Front left || P || Q&lt;br /&gt;
|-&lt;br /&gt;
| Front right || AT || AU&lt;br /&gt;
|-&lt;br /&gt;
| Rear left || Z || AA&lt;br /&gt;
|-&lt;br /&gt;
| Rear right || AJ || AK&lt;br /&gt;
|}&lt;br /&gt;
Example: &amp;lt;code&amp;gt;Q*0.01372&amp;lt;/code&amp;gt;. Letters must be upper case. Whether Torque accepts two-letter variables is &#039;&#039;unconfirmed&#039;&#039;.&lt;br /&gt;
&lt;br /&gt;
=== Known problem ===&lt;br /&gt;
Using dongle 1 (generic Chinese ELM327-based) with Torque Pro on the XTRONS PX90, Torque read bytes &amp;lt;code&amp;gt;A&amp;lt;/code&amp;gt; to &amp;lt;code&amp;gt;D&amp;lt;/code&amp;gt; (first line of the reply) correctly, but every byte from &amp;lt;code&amp;gt;E&amp;lt;/code&amp;gt; onward returned -1, even though a terminal received the full 102 bytes with the same commands. The start-command field is applied (adding &amp;lt;code&amp;gt;ATH1&amp;lt;/code&amp;gt; changed the output). Tried without success: turning off &amp;quot;Faster communication&amp;quot; and removing &amp;lt;code&amp;gt;ATS0&amp;lt;/code&amp;gt;. Not tried: &amp;lt;code&amp;gt;ATAT0, ATSTFF&amp;lt;/code&amp;gt; timeout settings.&lt;br /&gt;
&lt;br /&gt;
Dongle 2 (Veepeak OBDCheck BLE+) gave the same result, but the head unit does not support BLE, so that test is not reliable. Car Scanner Pro reads every byte with dongle 1 and the same commands, so the limitation appears to be in how Torque Pro handles this multi-line reply, not in the adapter. Unresolved; a request has been posted on the Torque forum.&lt;br /&gt;
&lt;br /&gt;
== Car Scanner Pro (working) ==&lt;br /&gt;
Car Scanner Pro reads all the bytes where Torque Pro fails. Custom PID settings used:&lt;br /&gt;
* Header: 798&lt;br /&gt;
* Request: 2100&lt;br /&gt;
* Start command (backslash-separated): &amp;lt;code&amp;gt;ATAT0\ATSTFF\ATS0\ATL0\ATFCSH798\ATFCSD300000\ATFCSM1&amp;lt;/code&amp;gt;&lt;br /&gt;
* Equations use the same letters as the table above, for example &amp;lt;code&amp;gt;Q*0.01372&amp;lt;/code&amp;gt; for front left (bar)&lt;br /&gt;
&lt;br /&gt;
The start command has not yet been shortened. Adapter: Both dongle 1 (generic ELM327-based) and dongle 2 (Veepeak OBDCheck BLE+) work with Car Scanner Pro.&lt;br /&gt;
== Other modules found by a full scan ==&lt;br /&gt;
A full health-check scan with a Launch X431 CRP919, captured with PCAN-View on the OBD socket, shows 12 modules answering on the DLC. Every module that replied is listed here. The reply ID is not always the request ID plus 8.&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! Request !! Reply !! Protocol !! Identification replies !! Module !! How identified&lt;br /&gt;
|-&lt;br /&gt;
| 0x7E0 || 0x7E8 || KWP || 33980-78R0, 33980-78RC* || ECM || Standard engine address&lt;br /&gt;
|-&lt;br /&gt;
| 0x261 || 0x661 || KWP || 56100-77RA, 56100-78RF* || ABS (inferred) || Only brake module left by elimination&lt;br /&gt;
|-&lt;br /&gt;
| 0x263 || 0x663 || KWP || 38720-77R0, 38720-77R0* || EPS controller || Parts catalogue&lt;br /&gt;
|-&lt;br /&gt;
| 0x271 || 0x671 || KWP || 36775-77R0, 36775-77RC* || Body control module || Parts catalogue&lt;br /&gt;
|-&lt;br /&gt;
| 0x274 || 0x674 || KWP || 34100-78R0, 34110-78RD* || Instrument cluster || Rev counter sweep test&lt;br /&gt;
|-&lt;br /&gt;
| 0x798 || 0x7A8 || KWP || 37160-61M0, 37120-78R0* || TPMS controller || Label and parts catalogue&lt;br /&gt;
|-&lt;br /&gt;
| 0x79A || 0x7AA || KWP || 37210-74PA, 37210-74PE* || Lighting and turn switch || Parts catalogue&lt;br /&gt;
|-&lt;br /&gt;
| 0x778 || 0x788 || KWP || 33990-52R0, 33990-78R8* || Dual sensor brake support || Parts catalogue&lt;br /&gt;
|-&lt;br /&gt;
| 0x793 || 0x7A3 || UDS || 38910-77R0, 38910-78RC* || Airbag (SRS) controller || Parts catalogue&lt;br /&gt;
|-&lt;br /&gt;
| 0x772 || 0x782 || UDS || 38885-77R0, 38885-78R0* || 4WD shift controller || Parts catalogue&lt;br /&gt;
|-&lt;br /&gt;
| 0x799 || 0x7A9 || UDS || 38960-78RA, 38960-78RA* || E-call controller || Parts catalogue&lt;br /&gt;
|-&lt;br /&gt;
| 0x751 || 0x761 || UDS || 33580-79R0, 33580-78R0* || Central gateway || Label and parts catalogue&lt;br /&gt;
|}&lt;br /&gt;
Reply ID offsets: engine +0x08; 0x261 to 0x274 +0x400; all others +0x10.&lt;br /&gt;
&lt;br /&gt;
* KWP-style modules answer &amp;lt;code&amp;gt;1A 8E&amp;lt;/code&amp;gt; and &amp;lt;code&amp;gt;1A 8A&amp;lt;/code&amp;gt; (identification) and &amp;lt;code&amp;gt;18 00 FF 00&amp;lt;/code&amp;gt; (DTCs). UDS-style modules answer &amp;lt;code&amp;gt;22 F1 01&amp;lt;/code&amp;gt; and &amp;lt;code&amp;gt;22 F1 88&amp;lt;/code&amp;gt; (identification) and &amp;lt;code&amp;gt;19 02 FF&amp;lt;/code&amp;gt; (DTCs).&lt;br /&gt;
* Requests to 0x273 and 0x262 (tester present) got no reply, so those modules are probably not fitted.&lt;br /&gt;
* The &amp;quot;probable&amp;quot; and &amp;quot;possible&amp;quot; names are guesses from the part-number series and are not confirmed.&lt;br /&gt;
&lt;br /&gt;
=== Instrument cluster output test (0x274 / 0x674) ===&lt;br /&gt;
A rev counter sweep commanded by the Launch X431 appears as a single KWP output-control request, after which the cluster sweeps the needle up and down by itself:&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! Request !! Reply !! Notes&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;3E 00&amp;lt;/code&amp;gt; || &amp;lt;code&amp;gt;7E&amp;lt;/code&amp;gt; || Tester present, about every 2.15 s&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;30 01 07 80 40 00 00&amp;lt;/code&amp;gt; || &amp;lt;code&amp;gt;70 01 07&amp;lt;/code&amp;gt; || Starts the sweep (service 0x30, local ID 01, &amp;quot;short-term adjustment&amp;quot;)&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;30 01 07 80 00 00 00&amp;lt;/code&amp;gt; || &amp;lt;code&amp;gt;7F 30 22&amp;lt;/code&amp;gt; || Refused (&amp;quot;conditions not correct&amp;quot;); possibly a stop request sent after the sweep had finished&lt;br /&gt;
|}&lt;br /&gt;
The meaning of the four control bytes (80 40 00 00) is not known.&lt;br /&gt;
&lt;br /&gt;
== Open questions ==&lt;br /&gt;
* Meaning of reply bytes +5, +7, +8 and the unexplained regions.&lt;br /&gt;
* A reliable pressure scale and offset (more gauge readings needed).&lt;br /&gt;
* Whether other Suzuki modules use addresses near 0x798 (not checked).&lt;br /&gt;
* Why Torque stops after the first line.&lt;br /&gt;
&lt;br /&gt;
== Sources ==&lt;br /&gt;
* Owner PCAN-View captures, October 2026.&lt;br /&gt;
* Suzuki wiring diagrams: A-8 CAN communication system; A-8 Central Gateway Control and DLC System (RHD).&lt;br /&gt;
* Forum thread &amp;quot;Jimny JB74 (2019+) - Torque Pro PID for TPMS&amp;quot;.&lt;br /&gt;
* BigJimny forum thread &amp;quot;JB74 OBD2 connection&amp;quot; (December 2020).&lt;br /&gt;
&lt;br /&gt;
[[Category:Jimny technical]]&lt;br /&gt;
[[Category:JB74]]&lt;br /&gt;
[[Category:Electrical - gen3]]&lt;br /&gt;
[[Category:FAQ - gen3]]&lt;br /&gt;
[[Category:Howto - gen3]]&lt;br /&gt;
&lt;br /&gt;
[[Category:Electrical - gen4]]&lt;br /&gt;
[[Category:FAQ - gen4]]&lt;br /&gt;
[[Category:Howto - gen4]]&lt;/div&gt;</summary>
		<author><name>Mlines</name></author>
	</entry>
	<entry>
		<id>https://www.bigjimny.com/mediawiki/index.php?title=OBD2_Diagnostics_reading_project&amp;diff=10084</id>
		<title>OBD2 Diagnostics reading project</title>
		<link rel="alternate" type="text/html" href="https://www.bigjimny.com/mediawiki/index.php?title=OBD2_Diagnostics_reading_project&amp;diff=10084"/>
		<updated>2026-11-01T10:40:48Z</updated>

		<summary type="html">&lt;p&gt;Mlines: /* Torque Pro custom PIDs */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;= Suzuki Jimny JB74 (2018+) - Reading TPMS data over the diagnostic CAN link =&lt;br /&gt;
&lt;br /&gt;
{{Donate}}&lt;br /&gt;
== Overview ==&lt;br /&gt;
Purpose-built diagnostic tools (Autel, Launch and similar) already support Suzuki comprehensively. There is also a trend towards replacing the factory head unit with an Android media unit that can run apps to read and display information from the car&#039;s electronics. These units are not Suzuki-specific, so this project aims to learn how to read vehicle data (starting with the factory TPMS) and show it on the head unit.&lt;br /&gt;
&lt;br /&gt;
=== Equipment ===&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! Role !! Item&lt;br /&gt;
|-&lt;br /&gt;
| Head unit || XTRONS PX90&lt;br /&gt;
|-&lt;br /&gt;
| OBD-II Bluetooth dongle 1 || Generic ELM-based (Chinese)&lt;br /&gt;
|-&lt;br /&gt;
| OBD-II Bluetooth dongle 2 || Veepeak OBDCheck BLE+ (BLE only; unreliable on this head unit)&lt;br /&gt;
|-&lt;br /&gt;
| CAN bus monitor (Windows) || PCAN-View (PEAK-System)&lt;br /&gt;
|-&lt;br /&gt;
| Diagnostic tool 1 || Launch X431 CRP919&lt;br /&gt;
|-&lt;br /&gt;
| Diagnostic tool 2 || SZ Viewer app&lt;br /&gt;
|-&lt;br /&gt;
| Head-unit apps tried || Torque Pro (fails past the first line), RealDash (TPMS values seen in its debug view; gauges in progress), Car Scanner Pro (works)&lt;br /&gt;
|-&lt;br /&gt;
| Head-unit Bluetooth || xTRONS IP90  - Classic Bluetooth only, no BLE support&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== Method ===&lt;br /&gt;
# The diagnostic tools (Launch X431, SZ Viewer) have comprehensive Suzuki support, so they are used to generate the CAN bus requests.&lt;br /&gt;
# PCAN-View is connected to the OBD socket to capture the requests and the module&#039;s replies, which are then decoded by hand.&lt;br /&gt;
# The decoded requests are recreated in the head-unit apps so the head unit can ask the car for the same data directly.&lt;br /&gt;
&#039;&#039;&#039;Status:&#039;&#039;&#039; work in progress. Based on one RHD UK-market 2021 Jimny with factory TPMS, owner-made PCAN-View captures (including a full Launch scan and an instrument cluster test), the Suzuki wiring diagrams (A-8 CAN communication and A-8 Central Gateway/DLC) and the Suzuki parts catalogue. TPMS readings work in Car Scanner Pro; RealDash works in its debug view with gauges in progress. Items marked &#039;&#039;unconfirmed&#039;&#039; are not yet verified.&lt;br /&gt;
&lt;br /&gt;
* The TPMS control module answers an ordinary diagnostic request on the OBD socket. It does not broadcast tyre data.&lt;br /&gt;
* Request ID &#039;&#039;&#039;0x798&#039;&#039;&#039;, reply ID &#039;&#039;&#039;0x7A8&#039;&#039;&#039; (11-bit CAN, 500 kbit/s, ISO-TP framing) returns the TPMS data, including four sensor IDs and pressure readings. The module&#039;s identification reply (37160-61M0) matches the Model No. (P61M0) on the TPMS controller label. Whether the central gateway forwards or remaps the request is unconfirmed.&lt;br /&gt;
* Service &#039;&#039;&#039;0x21&#039;&#039;&#039; (read data by local identifier), identifier &#039;&#039;&#039;0x00&#039;&#039;&#039;, returns 102 bytes containing all four sensor records.&lt;br /&gt;
* Pressure is byte +6 of each sensor record: bar = raw x 0.01372.&lt;br /&gt;
* The OBD socket is fed by a central gateway, so only diagnostic traffic is visible on it.&lt;br /&gt;
* Working: Car Scanner Pro, and RealDash (values seen in its debug view). Not working: Torque Pro.&lt;br /&gt;
&lt;br /&gt;
== DLC (OBD socket) wiring ==&lt;br /&gt;
The service-manual diagram numbers the DLC terminals differently from SAE J1962. In all five cases on the diagram, manual terminal &#039;&#039;n&#039;&#039; matches standard pin &#039;&#039;17 - n&#039;&#039;.&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! Manual terminal !! Standard pin !! Function !! Wire / source on diagram&lt;br /&gt;
|-&lt;br /&gt;
| 1 || 16 || Battery +12 V || GRY, fuse No.49 &amp;quot;DOME2&amp;quot; (10 A)&lt;br /&gt;
|-&lt;br /&gt;
| 12 || 5 || Signal ground || BLK&lt;br /&gt;
|-&lt;br /&gt;
| 13 || 4 || Chassis ground || BLK&lt;br /&gt;
|-&lt;br /&gt;
| 11 || 6 || CAN-H (from standard assignment) || BLU, gateway pin 8&lt;br /&gt;
|-&lt;br /&gt;
| 3 || 14 || CAN-L (from standard assignment) || WHT, gateway pin 7&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
Use pins &#039;&#039;&#039;6&#039;&#039;&#039; and &#039;&#039;&#039;14&#039;&#039;&#039; for a CAN adapter. The diagram does not label CAN-H and CAN-L itself.&lt;br /&gt;
&lt;br /&gt;
=== Cross-check with other reports ===&lt;br /&gt;
A BigJimny forum thread (&amp;quot;JB74 OBD2 connection&amp;quot;, December 2020) describes a 2020 JB74 whose OBD plug had pins 4, 5, 6, 14, 15 and 16 wired, with pin 7 (K-line) not wired. The poster, quoting an older Suzuki pinout, lists pin 6 as a blue wire (CAN-H) and pin 14 as a white wire (CAN-L). This matches the table above: a blue CAN wire on pin 6 and a white one on pin 14.&lt;br /&gt;
&lt;br /&gt;
* The CAN-H/CAN-L assignment in that thread comes from a pinout reference that the poster says predates the JB74, so it is a report, not a measurement.&lt;br /&gt;
* No wire for standard pin 7 (K-line) appears on the diagram page above, and the forum report also found it unwired. K-line is therefore unlikely to be available on the JB74 socket.&lt;br /&gt;
* On the forum poster&#039;s car, pin 15 was also wired; the diagram page above shows no wire for it. This may be a market or model-year difference.&lt;br /&gt;
&lt;br /&gt;
== Network layout ==&lt;br /&gt;
The DLC is not on the vehicle bus directly. The &#039;&#039;&#039;central gateway control module&#039;&#039;&#039; joins the vehicle CAN bus (its pins 20 and 21, RED/WHT) and provides a separate CAN pair to the DLC (its pins 8 and 7, BLU/WHT).&lt;br /&gt;
&lt;br /&gt;
Modules on the vehicle bus (diagram): ECM, 4WD control module, TCM (A/T models), BCM, ESP control module, headlight auto levelling module (if equipped), dual sensor brake support control module (if equipped), P/S control module, steering angle sensor, TPMS control module / receiver (if equipped), combination meter, SDM, combination switch.&lt;br /&gt;
&lt;br /&gt;
Gateway power: fuse No.60 &amp;quot;IG1 SIG&amp;quot; (10 A) and fuse No.52 &amp;quot;CONT&amp;quot; (5 A). Treat the ignition as needing to be on.&lt;br /&gt;
&lt;br /&gt;
Observation: two captures from the DLC contained only IDs 0x798 and 0x7A8 (plus two error frames). No broadcast traffic from other modules was seen, so passive listening on the DLC will not show TPMS data.&lt;br /&gt;
&lt;br /&gt;
== Diagnostic requests seen ==&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! Request !! Reply !! Meaning&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;3E&amp;lt;/code&amp;gt; || &amp;lt;code&amp;gt;7E&amp;lt;/code&amp;gt; || Tester present&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;1A 8A&amp;lt;/code&amp;gt; || &amp;lt;code&amp;gt;5A 8A&amp;lt;/code&amp;gt; + ASCII &amp;lt;code&amp;gt;37120-78R0*&amp;lt;/code&amp;gt; || ECU identification&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;1A 8E&amp;lt;/code&amp;gt; || &amp;lt;code&amp;gt;5A 8E&amp;lt;/code&amp;gt; + ASCII &amp;lt;code&amp;gt;37160-61M0&amp;lt;/code&amp;gt; || ECU identification: matches the &amp;quot;Model No. P61M0&amp;quot; printed on the TPMS controller label&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;18 00 FF 00&amp;lt;/code&amp;gt; || &amp;lt;code&amp;gt;58 00&amp;lt;/code&amp;gt; or &amp;lt;code&amp;gt;58 01 9A 31 E0&amp;lt;/code&amp;gt; || Read DTCs by status (second form = one code reported; not decoded)&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;21 00&amp;lt;/code&amp;gt; || &amp;lt;code&amp;gt;61 00&amp;lt;/code&amp;gt; + 100 bytes || Sensor data block (repeated about twice a second by the scan tool)&lt;br /&gt;
|}&lt;br /&gt;
Part labels on the test car: TPMS controller 37160-78R00, &amp;quot;BASE ASSY-TPMS&amp;quot;, Model No. P61M0, Continental A2C13930301, 433.92 MHz; central gateway controller 33580-79R01. The &amp;lt;code&amp;gt;1A 8E&amp;lt;/code&amp;gt; reply (37160-61M0) matches the TPMS controller&#039;s base number and model number; the &amp;lt;code&amp;gt;1A 8A&amp;lt;/code&amp;gt; reply (37120-78R0*) shares &amp;quot;78R0&amp;quot; with the full part number, but its meaning is not confirmed.&lt;br /&gt;
&lt;br /&gt;
A Launch full scan reported &amp;quot;Left Front Tire Pressure Low&amp;quot; for the TPMS module, and the module returned one stored code (&amp;lt;code&amp;gt;9A 31&amp;lt;/code&amp;gt;) in the same scan. That code is probably the low-pressure warning (inferred; the report does not show the code itself).&lt;br /&gt;
&lt;br /&gt;
== Reading it with an ELM327 ==&lt;br /&gt;
Terminal commands, one at a time (CR line ending):&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
ATZ&lt;br /&gt;
ATSP6&lt;br /&gt;
ATSH798&lt;br /&gt;
ATS0&lt;br /&gt;
ATL0&lt;br /&gt;
ATFCSH798&lt;br /&gt;
ATFCSD300000&lt;br /&gt;
ATFCSM1&lt;br /&gt;
2100&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
* &amp;lt;code&amp;gt;ATSH798&amp;lt;/code&amp;gt; sets the request address. The reply address (0x7A8) is worked out automatically.&lt;br /&gt;
* &amp;lt;code&amp;gt;ATFCSH798 / ATFCSD300000 / ATFCSM1&amp;lt;/code&amp;gt; make the adapter send the ISO-TP flow-control frame (30 00 00) itself.&lt;br /&gt;
* &amp;lt;code&amp;gt;ATS0&amp;lt;/code&amp;gt; removes the spaces between bytes. Without it, the generic Chinese ELM327-based dongle (dongle 1) reported &amp;lt;code&amp;gt;BUFFER FULL&amp;lt;/code&amp;gt; near byte 81.&lt;br /&gt;
* Expected output: a length line (&amp;lt;code&amp;gt;066&amp;lt;/code&amp;gt; = 102 bytes) and numbered lines &amp;lt;code&amp;gt;0:&amp;lt;/code&amp;gt; to &amp;lt;code&amp;gt;E:&amp;lt;/code&amp;gt;.&lt;br /&gt;
* With default settings dongle 1 returned only the first line (&amp;lt;code&amp;gt;61 00 xx 01 00 00&amp;lt;/code&amp;gt;).&lt;br /&gt;
&lt;br /&gt;
== Reply layout (21 00) ==&lt;br /&gt;
Byte positions count the &amp;lt;code&amp;gt;61&amp;lt;/code&amp;gt; as byte 0.&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! Bytes !! Content&lt;br /&gt;
|-&lt;br /&gt;
| 0-1 || &amp;lt;code&amp;gt;61 00&amp;lt;/code&amp;gt; (positive reply)&lt;br /&gt;
|-&lt;br /&gt;
| 2 || Varies 117-142. Looks like system voltage x 10 (&#039;&#039;unconfirmed&#039;&#039;)&lt;br /&gt;
|-&lt;br /&gt;
| 12-21 || Sensor record 1: front left&lt;br /&gt;
|-&lt;br /&gt;
| 22-31 || Sensor record 2: rear left&lt;br /&gt;
|-&lt;br /&gt;
| 32-41 || Sensor record 3: rear right&lt;br /&gt;
|-&lt;br /&gt;
| 42-51 || Sensor record 4: front right&lt;br /&gt;
|-&lt;br /&gt;
| 56-71 || Four 4-byte sensor-ID entries whose contents change (meaning unknown)&lt;br /&gt;
|-&lt;br /&gt;
| other || Not decoded&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== Sensor record (10 bytes) ===&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! Offset !! Content&lt;br /&gt;
|-&lt;br /&gt;
| +0 to +3 || Sensor ID&lt;br /&gt;
|-&lt;br /&gt;
| +4 || Position flag&lt;br /&gt;
|-&lt;br /&gt;
| +5 || Value 57-74. Behaves like temperature, possibly with an offset of 40 (&#039;&#039;unconfirmed&#039;&#039;)&lt;br /&gt;
|-&lt;br /&gt;
| +6 || Pressure, gauge: bar = raw x 0.01372 (see Calibration)&lt;br /&gt;
|-&lt;br /&gt;
| +7, +8 || Not understood&lt;br /&gt;
|-&lt;br /&gt;
| +9 || Always 0&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! Wheel !! Sensor ID !! Position flag&lt;br /&gt;
|-&lt;br /&gt;
| Front left || 4E AA 09 43 || 0x10&lt;br /&gt;
|-&lt;br /&gt;
| Rear left || DD 91 B5 25 || 0x20&lt;br /&gt;
|-&lt;br /&gt;
| Rear right || 4E AA 03 19 || 0x18&lt;br /&gt;
|-&lt;br /&gt;
| Front right || 4E AA 09 C9 || 0x08&lt;br /&gt;
|}&lt;br /&gt;
Sensor IDs are specific to one car. Yours will differ.&lt;br /&gt;
&lt;br /&gt;
== Calibration ==&lt;br /&gt;
Byte +6 against gauge readings (bar). The five deflation-test counts were reconstructed from the app&#039;s displayed values.&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! Raw !! Gauge (bar) !! Raw x 0.01372&lt;br /&gt;
|-&lt;br /&gt;
| 136 (rear left) || 1.868 || 1.866&lt;br /&gt;
|-&lt;br /&gt;
| 131 (rear right) || 1.795 || 1.797&lt;br /&gt;
|-&lt;br /&gt;
| 131 (front right) || 1.795 || 1.797&lt;br /&gt;
|-&lt;br /&gt;
| 126 || 1.73 || 1.729&lt;br /&gt;
|-&lt;br /&gt;
| 119 || 1.63 || 1.633&lt;br /&gt;
|-&lt;br /&gt;
| 112 || 1.54 || 1.537&lt;br /&gt;
|-&lt;br /&gt;
| 101 || 1.39 || 1.386&lt;br /&gt;
|-&lt;br /&gt;
| 96 || 1.29 || 1.317&lt;br /&gt;
|}&lt;br /&gt;
The last five rows are from one tyre during a slow deflation (assumed front left).&lt;br /&gt;
* bar = raw x 0.01372&lt;br /&gt;
* psi = raw x 0.199&lt;br /&gt;
&lt;br /&gt;
No offset is needed, which suggests the byte holds gauge pressure. All points are within 0.004 bar except the lowest (0.027 bar off), which may be sensor update lag or slight non-linearity. More readings at low and high pressure are needed.&lt;br /&gt;
&lt;br /&gt;
== Torque Pro custom PIDs ==&lt;br /&gt;
Common fields for every wheel:&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! Field !! Value&lt;br /&gt;
|-&lt;br /&gt;
| Header || 798&lt;br /&gt;
|-&lt;br /&gt;
| Mode and PID || 2100&lt;br /&gt;
|-&lt;br /&gt;
| Diagnostic start command || &amp;lt;code&amp;gt;ATS0, ATL0, ATFCSH798, ATFCSD300000, ATFCSM1&amp;lt;/code&amp;gt; (comma-separated)&lt;br /&gt;
|-&lt;br /&gt;
| Unit / min / max || bar, 0, 4 (or psi, 0, 60)&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
Equation uses a letter for each data byte. &amp;lt;code&amp;gt;A&amp;lt;/code&amp;gt; is the first byte after &amp;lt;code&amp;gt;61 00&amp;lt;/code&amp;gt; (reply byte 2).&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! Wheel !! Byte +5 (temperature?) !! Byte +6 (pressure candidate)” to “Byte +6 (pressure)”&lt;br /&gt;
|-&lt;br /&gt;
| Front left || P || Q&lt;br /&gt;
|-&lt;br /&gt;
| Front right || AT || AU&lt;br /&gt;
|-&lt;br /&gt;
| Rear left || Z || AA&lt;br /&gt;
|-&lt;br /&gt;
| Rear right || AJ || AK&lt;br /&gt;
|}&lt;br /&gt;
Example: &amp;lt;code&amp;gt;Q*0.01372&amp;lt;/code&amp;gt;. Letters must be upper case. Whether Torque accepts two-letter variables is &#039;&#039;unconfirmed&#039;&#039;.&lt;br /&gt;
&lt;br /&gt;
=== Known problem ===&lt;br /&gt;
Using dongle 1 (generic Chinese ELM327-based) with Torque Pro on the XTRONS PX90, Torque read bytes &amp;lt;code&amp;gt;A&amp;lt;/code&amp;gt; to &amp;lt;code&amp;gt;D&amp;lt;/code&amp;gt; (first line of the reply) correctly, but every byte from &amp;lt;code&amp;gt;E&amp;lt;/code&amp;gt; onward returned -1, even though a terminal received the full 102 bytes with the same commands. The start-command field is applied (adding &amp;lt;code&amp;gt;ATH1&amp;lt;/code&amp;gt; changed the output). Tried without success: turning off &amp;quot;Faster communication&amp;quot;, removing &amp;lt;code&amp;gt;ATS0&amp;lt;/code&amp;gt;. Not yet tried: &amp;lt;code&amp;gt;ATAT0, ATSTFF&amp;lt;/code&amp;gt; timeout settings, other apps, and the Veepeak OBDCheck BLE+ (dongle 2).. Unresolved.&lt;br /&gt;
The same result occurred with the Veepeak OBDCheck BLE+ (dongle 2). Car Scanner Pro does not have this problem (see below).&lt;br /&gt;
&lt;br /&gt;
== Car Scanner Pro (working) ==&lt;br /&gt;
Car Scanner Pro reads all the bytes where Torque Pro fails. Custom PID settings used:&lt;br /&gt;
* Header: 798&lt;br /&gt;
* Request: 2100&lt;br /&gt;
* Start command (backslash-separated): &amp;lt;code&amp;gt;ATAT0\ATSTFF\ATS0\ATL0\ATFCSH798\ATFCSD300000\ATFCSM1&amp;lt;/code&amp;gt;&lt;br /&gt;
* Equations use the same letters as the table above, for example &amp;lt;code&amp;gt;Q*0.01372&amp;lt;/code&amp;gt; for front left (bar)&lt;br /&gt;
&lt;br /&gt;
The start command has not yet been shortened. Adapter: Both dongle 1 (generic ELM327-based) and dongle 2 (Veepeak OBDCheck BLE+) work with Car Scanner Pro.&lt;br /&gt;
== Other modules found by a full scan ==&lt;br /&gt;
A full health-check scan with a Launch X431 CRP919, captured with PCAN-View on the OBD socket, shows 12 modules answering on the DLC. Every module that replied is listed here. The reply ID is not always the request ID plus 8.&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! Request !! Reply !! Protocol !! Identification replies !! Module !! How identified&lt;br /&gt;
|-&lt;br /&gt;
| 0x7E0 || 0x7E8 || KWP || 33980-78R0, 33980-78RC* || ECM || Standard engine address&lt;br /&gt;
|-&lt;br /&gt;
| 0x261 || 0x661 || KWP || 56100-77RA, 56100-78RF* || ABS (inferred) || Only brake module left by elimination&lt;br /&gt;
|-&lt;br /&gt;
| 0x263 || 0x663 || KWP || 38720-77R0, 38720-77R0* || EPS controller || Parts catalogue&lt;br /&gt;
|-&lt;br /&gt;
| 0x271 || 0x671 || KWP || 36775-77R0, 36775-77RC* || Body control module || Parts catalogue&lt;br /&gt;
|-&lt;br /&gt;
| 0x274 || 0x674 || KWP || 34100-78R0, 34110-78RD* || Instrument cluster || Rev counter sweep test&lt;br /&gt;
|-&lt;br /&gt;
| 0x798 || 0x7A8 || KWP || 37160-61M0, 37120-78R0* || TPMS controller || Label and parts catalogue&lt;br /&gt;
|-&lt;br /&gt;
| 0x79A || 0x7AA || KWP || 37210-74PA, 37210-74PE* || Lighting and turn switch || Parts catalogue&lt;br /&gt;
|-&lt;br /&gt;
| 0x778 || 0x788 || KWP || 33990-52R0, 33990-78R8* || Dual sensor brake support || Parts catalogue&lt;br /&gt;
|-&lt;br /&gt;
| 0x793 || 0x7A3 || UDS || 38910-77R0, 38910-78RC* || Airbag (SRS) controller || Parts catalogue&lt;br /&gt;
|-&lt;br /&gt;
| 0x772 || 0x782 || UDS || 38885-77R0, 38885-78R0* || 4WD shift controller || Parts catalogue&lt;br /&gt;
|-&lt;br /&gt;
| 0x799 || 0x7A9 || UDS || 38960-78RA, 38960-78RA* || E-call controller || Parts catalogue&lt;br /&gt;
|-&lt;br /&gt;
| 0x751 || 0x761 || UDS || 33580-79R0, 33580-78R0* || Central gateway || Label and parts catalogue&lt;br /&gt;
|}&lt;br /&gt;
Reply ID offsets: engine +0x08; 0x261 to 0x274 +0x400; all others +0x10.&lt;br /&gt;
&lt;br /&gt;
* KWP-style modules answer &amp;lt;code&amp;gt;1A 8E&amp;lt;/code&amp;gt; and &amp;lt;code&amp;gt;1A 8A&amp;lt;/code&amp;gt; (identification) and &amp;lt;code&amp;gt;18 00 FF 00&amp;lt;/code&amp;gt; (DTCs). UDS-style modules answer &amp;lt;code&amp;gt;22 F1 01&amp;lt;/code&amp;gt; and &amp;lt;code&amp;gt;22 F1 88&amp;lt;/code&amp;gt; (identification) and &amp;lt;code&amp;gt;19 02 FF&amp;lt;/code&amp;gt; (DTCs).&lt;br /&gt;
* Requests to 0x273 and 0x262 (tester present) got no reply, so those modules are probably not fitted.&lt;br /&gt;
* The &amp;quot;probable&amp;quot; and &amp;quot;possible&amp;quot; names are guesses from the part-number series and are not confirmed.&lt;br /&gt;
&lt;br /&gt;
=== Instrument cluster output test (0x274 / 0x674) ===&lt;br /&gt;
A rev counter sweep commanded by the Launch X431 appears as a single KWP output-control request, after which the cluster sweeps the needle up and down by itself:&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! Request !! Reply !! Notes&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;3E 00&amp;lt;/code&amp;gt; || &amp;lt;code&amp;gt;7E&amp;lt;/code&amp;gt; || Tester present, about every 2.15 s&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;30 01 07 80 40 00 00&amp;lt;/code&amp;gt; || &amp;lt;code&amp;gt;70 01 07&amp;lt;/code&amp;gt; || Starts the sweep (service 0x30, local ID 01, &amp;quot;short-term adjustment&amp;quot;)&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;30 01 07 80 00 00 00&amp;lt;/code&amp;gt; || &amp;lt;code&amp;gt;7F 30 22&amp;lt;/code&amp;gt; || Refused (&amp;quot;conditions not correct&amp;quot;); possibly a stop request sent after the sweep had finished&lt;br /&gt;
|}&lt;br /&gt;
The meaning of the four control bytes (80 40 00 00) is not known.&lt;br /&gt;
&lt;br /&gt;
== Open questions ==&lt;br /&gt;
* Meaning of reply bytes +5, +7, +8 and the unexplained regions.&lt;br /&gt;
* A reliable pressure scale and offset (more gauge readings needed).&lt;br /&gt;
* Whether other Suzuki modules use addresses near 0x798 (not checked).&lt;br /&gt;
* Why Torque stops after the first line.&lt;br /&gt;
&lt;br /&gt;
== Sources ==&lt;br /&gt;
* Owner PCAN-View captures, October 2026.&lt;br /&gt;
* Suzuki wiring diagrams: A-8 CAN communication system; A-8 Central Gateway Control and DLC System (RHD).&lt;br /&gt;
* Forum thread &amp;quot;Jimny JB74 (2019+) - Torque Pro PID for TPMS&amp;quot;.&lt;br /&gt;
* BigJimny forum thread &amp;quot;JB74 OBD2 connection&amp;quot; (December 2020).&lt;br /&gt;
&lt;br /&gt;
[[Category:Jimny technical]]&lt;br /&gt;
[[Category:JB74]]&lt;br /&gt;
[[Category:Electrical - gen3]]&lt;br /&gt;
[[Category:FAQ - gen3]]&lt;br /&gt;
[[Category:Howto - gen3]]&lt;br /&gt;
&lt;br /&gt;
[[Category:Electrical - gen4]]&lt;br /&gt;
[[Category:FAQ - gen4]]&lt;br /&gt;
[[Category:Howto - gen4]]&lt;/div&gt;</summary>
		<author><name>Mlines</name></author>
	</entry>
	<entry>
		<id>https://www.bigjimny.com/mediawiki/index.php?title=OBD2_Diagnostics_reading_project&amp;diff=10083</id>
		<title>OBD2 Diagnostics reading project</title>
		<link rel="alternate" type="text/html" href="https://www.bigjimny.com/mediawiki/index.php?title=OBD2_Diagnostics_reading_project&amp;diff=10083"/>
		<updated>2026-11-01T10:40:23Z</updated>

		<summary type="html">&lt;p&gt;Mlines: /* Sensor record (10 bytes) */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;= Suzuki Jimny JB74 (2018+) - Reading TPMS data over the diagnostic CAN link =&lt;br /&gt;
&lt;br /&gt;
{{Donate}}&lt;br /&gt;
== Overview ==&lt;br /&gt;
Purpose-built diagnostic tools (Autel, Launch and similar) already support Suzuki comprehensively. There is also a trend towards replacing the factory head unit with an Android media unit that can run apps to read and display information from the car&#039;s electronics. These units are not Suzuki-specific, so this project aims to learn how to read vehicle data (starting with the factory TPMS) and show it on the head unit.&lt;br /&gt;
&lt;br /&gt;
=== Equipment ===&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! Role !! Item&lt;br /&gt;
|-&lt;br /&gt;
| Head unit || XTRONS PX90&lt;br /&gt;
|-&lt;br /&gt;
| OBD-II Bluetooth dongle 1 || Generic ELM-based (Chinese)&lt;br /&gt;
|-&lt;br /&gt;
| OBD-II Bluetooth dongle 2 || Veepeak OBDCheck BLE+ (BLE only; unreliable on this head unit)&lt;br /&gt;
|-&lt;br /&gt;
| CAN bus monitor (Windows) || PCAN-View (PEAK-System)&lt;br /&gt;
|-&lt;br /&gt;
| Diagnostic tool 1 || Launch X431 CRP919&lt;br /&gt;
|-&lt;br /&gt;
| Diagnostic tool 2 || SZ Viewer app&lt;br /&gt;
|-&lt;br /&gt;
| Head-unit apps tried || Torque Pro (fails past the first line), RealDash (TPMS values seen in its debug view; gauges in progress), Car Scanner Pro (works)&lt;br /&gt;
|-&lt;br /&gt;
| Head-unit Bluetooth || xTRONS IP90  - Classic Bluetooth only, no BLE support&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== Method ===&lt;br /&gt;
# The diagnostic tools (Launch X431, SZ Viewer) have comprehensive Suzuki support, so they are used to generate the CAN bus requests.&lt;br /&gt;
# PCAN-View is connected to the OBD socket to capture the requests and the module&#039;s replies, which are then decoded by hand.&lt;br /&gt;
# The decoded requests are recreated in the head-unit apps so the head unit can ask the car for the same data directly.&lt;br /&gt;
&#039;&#039;&#039;Status:&#039;&#039;&#039; work in progress. Based on one RHD UK-market 2021 Jimny with factory TPMS, owner-made PCAN-View captures (including a full Launch scan and an instrument cluster test), the Suzuki wiring diagrams (A-8 CAN communication and A-8 Central Gateway/DLC) and the Suzuki parts catalogue. TPMS readings work in Car Scanner Pro; RealDash works in its debug view with gauges in progress. Items marked &#039;&#039;unconfirmed&#039;&#039; are not yet verified.&lt;br /&gt;
&lt;br /&gt;
* The TPMS control module answers an ordinary diagnostic request on the OBD socket. It does not broadcast tyre data.&lt;br /&gt;
* Request ID &#039;&#039;&#039;0x798&#039;&#039;&#039;, reply ID &#039;&#039;&#039;0x7A8&#039;&#039;&#039; (11-bit CAN, 500 kbit/s, ISO-TP framing) returns the TPMS data, including four sensor IDs and pressure readings. The module&#039;s identification reply (37160-61M0) matches the Model No. (P61M0) on the TPMS controller label. Whether the central gateway forwards or remaps the request is unconfirmed.&lt;br /&gt;
* Service &#039;&#039;&#039;0x21&#039;&#039;&#039; (read data by local identifier), identifier &#039;&#039;&#039;0x00&#039;&#039;&#039;, returns 102 bytes containing all four sensor records.&lt;br /&gt;
* Pressure is byte +6 of each sensor record: bar = raw x 0.01372.&lt;br /&gt;
* The OBD socket is fed by a central gateway, so only diagnostic traffic is visible on it.&lt;br /&gt;
* Working: Car Scanner Pro, and RealDash (values seen in its debug view). Not working: Torque Pro.&lt;br /&gt;
&lt;br /&gt;
== DLC (OBD socket) wiring ==&lt;br /&gt;
The service-manual diagram numbers the DLC terminals differently from SAE J1962. In all five cases on the diagram, manual terminal &#039;&#039;n&#039;&#039; matches standard pin &#039;&#039;17 - n&#039;&#039;.&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! Manual terminal !! Standard pin !! Function !! Wire / source on diagram&lt;br /&gt;
|-&lt;br /&gt;
| 1 || 16 || Battery +12 V || GRY, fuse No.49 &amp;quot;DOME2&amp;quot; (10 A)&lt;br /&gt;
|-&lt;br /&gt;
| 12 || 5 || Signal ground || BLK&lt;br /&gt;
|-&lt;br /&gt;
| 13 || 4 || Chassis ground || BLK&lt;br /&gt;
|-&lt;br /&gt;
| 11 || 6 || CAN-H (from standard assignment) || BLU, gateway pin 8&lt;br /&gt;
|-&lt;br /&gt;
| 3 || 14 || CAN-L (from standard assignment) || WHT, gateway pin 7&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
Use pins &#039;&#039;&#039;6&#039;&#039;&#039; and &#039;&#039;&#039;14&#039;&#039;&#039; for a CAN adapter. The diagram does not label CAN-H and CAN-L itself.&lt;br /&gt;
&lt;br /&gt;
=== Cross-check with other reports ===&lt;br /&gt;
A BigJimny forum thread (&amp;quot;JB74 OBD2 connection&amp;quot;, December 2020) describes a 2020 JB74 whose OBD plug had pins 4, 5, 6, 14, 15 and 16 wired, with pin 7 (K-line) not wired. The poster, quoting an older Suzuki pinout, lists pin 6 as a blue wire (CAN-H) and pin 14 as a white wire (CAN-L). This matches the table above: a blue CAN wire on pin 6 and a white one on pin 14.&lt;br /&gt;
&lt;br /&gt;
* The CAN-H/CAN-L assignment in that thread comes from a pinout reference that the poster says predates the JB74, so it is a report, not a measurement.&lt;br /&gt;
* No wire for standard pin 7 (K-line) appears on the diagram page above, and the forum report also found it unwired. K-line is therefore unlikely to be available on the JB74 socket.&lt;br /&gt;
* On the forum poster&#039;s car, pin 15 was also wired; the diagram page above shows no wire for it. This may be a market or model-year difference.&lt;br /&gt;
&lt;br /&gt;
== Network layout ==&lt;br /&gt;
The DLC is not on the vehicle bus directly. The &#039;&#039;&#039;central gateway control module&#039;&#039;&#039; joins the vehicle CAN bus (its pins 20 and 21, RED/WHT) and provides a separate CAN pair to the DLC (its pins 8 and 7, BLU/WHT).&lt;br /&gt;
&lt;br /&gt;
Modules on the vehicle bus (diagram): ECM, 4WD control module, TCM (A/T models), BCM, ESP control module, headlight auto levelling module (if equipped), dual sensor brake support control module (if equipped), P/S control module, steering angle sensor, TPMS control module / receiver (if equipped), combination meter, SDM, combination switch.&lt;br /&gt;
&lt;br /&gt;
Gateway power: fuse No.60 &amp;quot;IG1 SIG&amp;quot; (10 A) and fuse No.52 &amp;quot;CONT&amp;quot; (5 A). Treat the ignition as needing to be on.&lt;br /&gt;
&lt;br /&gt;
Observation: two captures from the DLC contained only IDs 0x798 and 0x7A8 (plus two error frames). No broadcast traffic from other modules was seen, so passive listening on the DLC will not show TPMS data.&lt;br /&gt;
&lt;br /&gt;
== Diagnostic requests seen ==&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! Request !! Reply !! Meaning&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;3E&amp;lt;/code&amp;gt; || &amp;lt;code&amp;gt;7E&amp;lt;/code&amp;gt; || Tester present&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;1A 8A&amp;lt;/code&amp;gt; || &amp;lt;code&amp;gt;5A 8A&amp;lt;/code&amp;gt; + ASCII &amp;lt;code&amp;gt;37120-78R0*&amp;lt;/code&amp;gt; || ECU identification&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;1A 8E&amp;lt;/code&amp;gt; || &amp;lt;code&amp;gt;5A 8E&amp;lt;/code&amp;gt; + ASCII &amp;lt;code&amp;gt;37160-61M0&amp;lt;/code&amp;gt; || ECU identification: matches the &amp;quot;Model No. P61M0&amp;quot; printed on the TPMS controller label&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;18 00 FF 00&amp;lt;/code&amp;gt; || &amp;lt;code&amp;gt;58 00&amp;lt;/code&amp;gt; or &amp;lt;code&amp;gt;58 01 9A 31 E0&amp;lt;/code&amp;gt; || Read DTCs by status (second form = one code reported; not decoded)&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;21 00&amp;lt;/code&amp;gt; || &amp;lt;code&amp;gt;61 00&amp;lt;/code&amp;gt; + 100 bytes || Sensor data block (repeated about twice a second by the scan tool)&lt;br /&gt;
|}&lt;br /&gt;
Part labels on the test car: TPMS controller 37160-78R00, &amp;quot;BASE ASSY-TPMS&amp;quot;, Model No. P61M0, Continental A2C13930301, 433.92 MHz; central gateway controller 33580-79R01. The &amp;lt;code&amp;gt;1A 8E&amp;lt;/code&amp;gt; reply (37160-61M0) matches the TPMS controller&#039;s base number and model number; the &amp;lt;code&amp;gt;1A 8A&amp;lt;/code&amp;gt; reply (37120-78R0*) shares &amp;quot;78R0&amp;quot; with the full part number, but its meaning is not confirmed.&lt;br /&gt;
&lt;br /&gt;
A Launch full scan reported &amp;quot;Left Front Tire Pressure Low&amp;quot; for the TPMS module, and the module returned one stored code (&amp;lt;code&amp;gt;9A 31&amp;lt;/code&amp;gt;) in the same scan. That code is probably the low-pressure warning (inferred; the report does not show the code itself).&lt;br /&gt;
&lt;br /&gt;
== Reading it with an ELM327 ==&lt;br /&gt;
Terminal commands, one at a time (CR line ending):&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
ATZ&lt;br /&gt;
ATSP6&lt;br /&gt;
ATSH798&lt;br /&gt;
ATS0&lt;br /&gt;
ATL0&lt;br /&gt;
ATFCSH798&lt;br /&gt;
ATFCSD300000&lt;br /&gt;
ATFCSM1&lt;br /&gt;
2100&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
* &amp;lt;code&amp;gt;ATSH798&amp;lt;/code&amp;gt; sets the request address. The reply address (0x7A8) is worked out automatically.&lt;br /&gt;
* &amp;lt;code&amp;gt;ATFCSH798 / ATFCSD300000 / ATFCSM1&amp;lt;/code&amp;gt; make the adapter send the ISO-TP flow-control frame (30 00 00) itself.&lt;br /&gt;
* &amp;lt;code&amp;gt;ATS0&amp;lt;/code&amp;gt; removes the spaces between bytes. Without it, the generic Chinese ELM327-based dongle (dongle 1) reported &amp;lt;code&amp;gt;BUFFER FULL&amp;lt;/code&amp;gt; near byte 81.&lt;br /&gt;
* Expected output: a length line (&amp;lt;code&amp;gt;066&amp;lt;/code&amp;gt; = 102 bytes) and numbered lines &amp;lt;code&amp;gt;0:&amp;lt;/code&amp;gt; to &amp;lt;code&amp;gt;E:&amp;lt;/code&amp;gt;.&lt;br /&gt;
* With default settings dongle 1 returned only the first line (&amp;lt;code&amp;gt;61 00 xx 01 00 00&amp;lt;/code&amp;gt;).&lt;br /&gt;
&lt;br /&gt;
== Reply layout (21 00) ==&lt;br /&gt;
Byte positions count the &amp;lt;code&amp;gt;61&amp;lt;/code&amp;gt; as byte 0.&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! Bytes !! Content&lt;br /&gt;
|-&lt;br /&gt;
| 0-1 || &amp;lt;code&amp;gt;61 00&amp;lt;/code&amp;gt; (positive reply)&lt;br /&gt;
|-&lt;br /&gt;
| 2 || Varies 117-142. Looks like system voltage x 10 (&#039;&#039;unconfirmed&#039;&#039;)&lt;br /&gt;
|-&lt;br /&gt;
| 12-21 || Sensor record 1: front left&lt;br /&gt;
|-&lt;br /&gt;
| 22-31 || Sensor record 2: rear left&lt;br /&gt;
|-&lt;br /&gt;
| 32-41 || Sensor record 3: rear right&lt;br /&gt;
|-&lt;br /&gt;
| 42-51 || Sensor record 4: front right&lt;br /&gt;
|-&lt;br /&gt;
| 56-71 || Four 4-byte sensor-ID entries whose contents change (meaning unknown)&lt;br /&gt;
|-&lt;br /&gt;
| other || Not decoded&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== Sensor record (10 bytes) ===&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! Offset !! Content&lt;br /&gt;
|-&lt;br /&gt;
| +0 to +3 || Sensor ID&lt;br /&gt;
|-&lt;br /&gt;
| +4 || Position flag&lt;br /&gt;
|-&lt;br /&gt;
| +5 || Value 57-74. Behaves like temperature, possibly with an offset of 40 (&#039;&#039;unconfirmed&#039;&#039;)&lt;br /&gt;
|-&lt;br /&gt;
| +6 || Pressure, gauge: bar = raw x 0.01372 (see Calibration)&lt;br /&gt;
|-&lt;br /&gt;
| +7, +8 || Not understood&lt;br /&gt;
|-&lt;br /&gt;
| +9 || Always 0&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! Wheel !! Sensor ID !! Position flag&lt;br /&gt;
|-&lt;br /&gt;
| Front left || 4E AA 09 43 || 0x10&lt;br /&gt;
|-&lt;br /&gt;
| Rear left || DD 91 B5 25 || 0x20&lt;br /&gt;
|-&lt;br /&gt;
| Rear right || 4E AA 03 19 || 0x18&lt;br /&gt;
|-&lt;br /&gt;
| Front right || 4E AA 09 C9 || 0x08&lt;br /&gt;
|}&lt;br /&gt;
Sensor IDs are specific to one car. Yours will differ.&lt;br /&gt;
&lt;br /&gt;
== Calibration ==&lt;br /&gt;
Byte +6 against gauge readings (bar). The five deflation-test counts were reconstructed from the app&#039;s displayed values.&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! Raw !! Gauge (bar) !! Raw x 0.01372&lt;br /&gt;
|-&lt;br /&gt;
| 136 (rear left) || 1.868 || 1.866&lt;br /&gt;
|-&lt;br /&gt;
| 131 (rear right) || 1.795 || 1.797&lt;br /&gt;
|-&lt;br /&gt;
| 131 (front right) || 1.795 || 1.797&lt;br /&gt;
|-&lt;br /&gt;
| 126 || 1.73 || 1.729&lt;br /&gt;
|-&lt;br /&gt;
| 119 || 1.63 || 1.633&lt;br /&gt;
|-&lt;br /&gt;
| 112 || 1.54 || 1.537&lt;br /&gt;
|-&lt;br /&gt;
| 101 || 1.39 || 1.386&lt;br /&gt;
|-&lt;br /&gt;
| 96 || 1.29 || 1.317&lt;br /&gt;
|}&lt;br /&gt;
The last five rows are from one tyre during a slow deflation (assumed front left).&lt;br /&gt;
* bar = raw x 0.01372&lt;br /&gt;
* psi = raw x 0.199&lt;br /&gt;
&lt;br /&gt;
No offset is needed, which suggests the byte holds gauge pressure. All points are within 0.004 bar except the lowest (0.027 bar off), which may be sensor update lag or slight non-linearity. More readings at low and high pressure are needed.&lt;br /&gt;
&lt;br /&gt;
== Torque Pro custom PIDs ==&lt;br /&gt;
Common fields for every wheel:&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! Field !! Value&lt;br /&gt;
|-&lt;br /&gt;
| Header || 798&lt;br /&gt;
|-&lt;br /&gt;
| Mode and PID || 2100&lt;br /&gt;
|-&lt;br /&gt;
| Diagnostic start command || &amp;lt;code&amp;gt;ATS0, ATL0, ATFCSH798, ATFCSD300000, ATFCSM1&amp;lt;/code&amp;gt; (comma-separated)&lt;br /&gt;
|-&lt;br /&gt;
| Unit / min / max || bar, 0, 4 (or psi, 0, 60)&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
Equation uses a letter for each data byte. &amp;lt;code&amp;gt;A&amp;lt;/code&amp;gt; is the first byte after &amp;lt;code&amp;gt;61 00&amp;lt;/code&amp;gt; (reply byte 2).&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! Wheel !! Byte +5 (temperature?) !! Byte +6 (pressure candidate)&lt;br /&gt;
|-&lt;br /&gt;
| Front left || P || Q&lt;br /&gt;
|-&lt;br /&gt;
| Front right || AT || AU&lt;br /&gt;
|-&lt;br /&gt;
| Rear left || Z || AA&lt;br /&gt;
|-&lt;br /&gt;
| Rear right || AJ || AK&lt;br /&gt;
|}&lt;br /&gt;
Example: &amp;lt;code&amp;gt;Q*0.01372&amp;lt;/code&amp;gt;. Letters must be upper case. Whether Torque accepts two-letter variables is &#039;&#039;unconfirmed&#039;&#039;.&lt;br /&gt;
&lt;br /&gt;
=== Known problem ===&lt;br /&gt;
Using dongle 1 (generic Chinese ELM327-based) with Torque Pro on the XTRONS PX90, Torque read bytes &amp;lt;code&amp;gt;A&amp;lt;/code&amp;gt; to &amp;lt;code&amp;gt;D&amp;lt;/code&amp;gt; (first line of the reply) correctly, but every byte from &amp;lt;code&amp;gt;E&amp;lt;/code&amp;gt; onward returned -1, even though a terminal received the full 102 bytes with the same commands. The start-command field is applied (adding &amp;lt;code&amp;gt;ATH1&amp;lt;/code&amp;gt; changed the output). Tried without success: turning off &amp;quot;Faster communication&amp;quot;, removing &amp;lt;code&amp;gt;ATS0&amp;lt;/code&amp;gt;. Not yet tried: &amp;lt;code&amp;gt;ATAT0, ATSTFF&amp;lt;/code&amp;gt; timeout settings, other apps, and the Veepeak OBDCheck BLE+ (dongle 2).. Unresolved.&lt;br /&gt;
The same result occurred with the Veepeak OBDCheck BLE+ (dongle 2). Car Scanner Pro does not have this problem (see below).&lt;br /&gt;
&lt;br /&gt;
== Car Scanner Pro (working) ==&lt;br /&gt;
Car Scanner Pro reads all the bytes where Torque Pro fails. Custom PID settings used:&lt;br /&gt;
* Header: 798&lt;br /&gt;
* Request: 2100&lt;br /&gt;
* Start command (backslash-separated): &amp;lt;code&amp;gt;ATAT0\ATSTFF\ATS0\ATL0\ATFCSH798\ATFCSD300000\ATFCSM1&amp;lt;/code&amp;gt;&lt;br /&gt;
* Equations use the same letters as the table above, for example &amp;lt;code&amp;gt;Q*0.01372&amp;lt;/code&amp;gt; for front left (bar)&lt;br /&gt;
&lt;br /&gt;
The start command has not yet been shortened. Adapter: Both dongle 1 (generic ELM327-based) and dongle 2 (Veepeak OBDCheck BLE+) work with Car Scanner Pro.&lt;br /&gt;
== Other modules found by a full scan ==&lt;br /&gt;
A full health-check scan with a Launch X431 CRP919, captured with PCAN-View on the OBD socket, shows 12 modules answering on the DLC. Every module that replied is listed here. The reply ID is not always the request ID plus 8.&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! Request !! Reply !! Protocol !! Identification replies !! Module !! How identified&lt;br /&gt;
|-&lt;br /&gt;
| 0x7E0 || 0x7E8 || KWP || 33980-78R0, 33980-78RC* || ECM || Standard engine address&lt;br /&gt;
|-&lt;br /&gt;
| 0x261 || 0x661 || KWP || 56100-77RA, 56100-78RF* || ABS (inferred) || Only brake module left by elimination&lt;br /&gt;
|-&lt;br /&gt;
| 0x263 || 0x663 || KWP || 38720-77R0, 38720-77R0* || EPS controller || Parts catalogue&lt;br /&gt;
|-&lt;br /&gt;
| 0x271 || 0x671 || KWP || 36775-77R0, 36775-77RC* || Body control module || Parts catalogue&lt;br /&gt;
|-&lt;br /&gt;
| 0x274 || 0x674 || KWP || 34100-78R0, 34110-78RD* || Instrument cluster || Rev counter sweep test&lt;br /&gt;
|-&lt;br /&gt;
| 0x798 || 0x7A8 || KWP || 37160-61M0, 37120-78R0* || TPMS controller || Label and parts catalogue&lt;br /&gt;
|-&lt;br /&gt;
| 0x79A || 0x7AA || KWP || 37210-74PA, 37210-74PE* || Lighting and turn switch || Parts catalogue&lt;br /&gt;
|-&lt;br /&gt;
| 0x778 || 0x788 || KWP || 33990-52R0, 33990-78R8* || Dual sensor brake support || Parts catalogue&lt;br /&gt;
|-&lt;br /&gt;
| 0x793 || 0x7A3 || UDS || 38910-77R0, 38910-78RC* || Airbag (SRS) controller || Parts catalogue&lt;br /&gt;
|-&lt;br /&gt;
| 0x772 || 0x782 || UDS || 38885-77R0, 38885-78R0* || 4WD shift controller || Parts catalogue&lt;br /&gt;
|-&lt;br /&gt;
| 0x799 || 0x7A9 || UDS || 38960-78RA, 38960-78RA* || E-call controller || Parts catalogue&lt;br /&gt;
|-&lt;br /&gt;
| 0x751 || 0x761 || UDS || 33580-79R0, 33580-78R0* || Central gateway || Label and parts catalogue&lt;br /&gt;
|}&lt;br /&gt;
Reply ID offsets: engine +0x08; 0x261 to 0x274 +0x400; all others +0x10.&lt;br /&gt;
&lt;br /&gt;
* KWP-style modules answer &amp;lt;code&amp;gt;1A 8E&amp;lt;/code&amp;gt; and &amp;lt;code&amp;gt;1A 8A&amp;lt;/code&amp;gt; (identification) and &amp;lt;code&amp;gt;18 00 FF 00&amp;lt;/code&amp;gt; (DTCs). UDS-style modules answer &amp;lt;code&amp;gt;22 F1 01&amp;lt;/code&amp;gt; and &amp;lt;code&amp;gt;22 F1 88&amp;lt;/code&amp;gt; (identification) and &amp;lt;code&amp;gt;19 02 FF&amp;lt;/code&amp;gt; (DTCs).&lt;br /&gt;
* Requests to 0x273 and 0x262 (tester present) got no reply, so those modules are probably not fitted.&lt;br /&gt;
* The &amp;quot;probable&amp;quot; and &amp;quot;possible&amp;quot; names are guesses from the part-number series and are not confirmed.&lt;br /&gt;
&lt;br /&gt;
=== Instrument cluster output test (0x274 / 0x674) ===&lt;br /&gt;
A rev counter sweep commanded by the Launch X431 appears as a single KWP output-control request, after which the cluster sweeps the needle up and down by itself:&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! Request !! Reply !! Notes&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;3E 00&amp;lt;/code&amp;gt; || &amp;lt;code&amp;gt;7E&amp;lt;/code&amp;gt; || Tester present, about every 2.15 s&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;30 01 07 80 40 00 00&amp;lt;/code&amp;gt; || &amp;lt;code&amp;gt;70 01 07&amp;lt;/code&amp;gt; || Starts the sweep (service 0x30, local ID 01, &amp;quot;short-term adjustment&amp;quot;)&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;30 01 07 80 00 00 00&amp;lt;/code&amp;gt; || &amp;lt;code&amp;gt;7F 30 22&amp;lt;/code&amp;gt; || Refused (&amp;quot;conditions not correct&amp;quot;); possibly a stop request sent after the sweep had finished&lt;br /&gt;
|}&lt;br /&gt;
The meaning of the four control bytes (80 40 00 00) is not known.&lt;br /&gt;
&lt;br /&gt;
== Open questions ==&lt;br /&gt;
* Meaning of reply bytes +5, +7, +8 and the unexplained regions.&lt;br /&gt;
* A reliable pressure scale and offset (more gauge readings needed).&lt;br /&gt;
* Whether other Suzuki modules use addresses near 0x798 (not checked).&lt;br /&gt;
* Why Torque stops after the first line.&lt;br /&gt;
&lt;br /&gt;
== Sources ==&lt;br /&gt;
* Owner PCAN-View captures, October 2026.&lt;br /&gt;
* Suzuki wiring diagrams: A-8 CAN communication system; A-8 Central Gateway Control and DLC System (RHD).&lt;br /&gt;
* Forum thread &amp;quot;Jimny JB74 (2019+) - Torque Pro PID for TPMS&amp;quot;.&lt;br /&gt;
* BigJimny forum thread &amp;quot;JB74 OBD2 connection&amp;quot; (December 2020).&lt;br /&gt;
&lt;br /&gt;
[[Category:Jimny technical]]&lt;br /&gt;
[[Category:JB74]]&lt;br /&gt;
[[Category:Electrical - gen3]]&lt;br /&gt;
[[Category:FAQ - gen3]]&lt;br /&gt;
[[Category:Howto - gen3]]&lt;br /&gt;
&lt;br /&gt;
[[Category:Electrical - gen4]]&lt;br /&gt;
[[Category:FAQ - gen4]]&lt;br /&gt;
[[Category:Howto - gen4]]&lt;/div&gt;</summary>
		<author><name>Mlines</name></author>
	</entry>
	<entry>
		<id>https://www.bigjimny.com/mediawiki/index.php?title=OBD2_Diagnostics_reading_project&amp;diff=10082</id>
		<title>OBD2 Diagnostics reading project</title>
		<link rel="alternate" type="text/html" href="https://www.bigjimny.com/mediawiki/index.php?title=OBD2_Diagnostics_reading_project&amp;diff=10082"/>
		<updated>2026-11-01T10:38:54Z</updated>

		<summary type="html">&lt;p&gt;Mlines: /* Reading it with an ELM327 */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;= Suzuki Jimny JB74 (2018+) - Reading TPMS data over the diagnostic CAN link =&lt;br /&gt;
&lt;br /&gt;
{{Donate}}&lt;br /&gt;
== Overview ==&lt;br /&gt;
Purpose-built diagnostic tools (Autel, Launch and similar) already support Suzuki comprehensively. There is also a trend towards replacing the factory head unit with an Android media unit that can run apps to read and display information from the car&#039;s electronics. These units are not Suzuki-specific, so this project aims to learn how to read vehicle data (starting with the factory TPMS) and show it on the head unit.&lt;br /&gt;
&lt;br /&gt;
=== Equipment ===&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! Role !! Item&lt;br /&gt;
|-&lt;br /&gt;
| Head unit || XTRONS PX90&lt;br /&gt;
|-&lt;br /&gt;
| OBD-II Bluetooth dongle 1 || Generic ELM-based (Chinese)&lt;br /&gt;
|-&lt;br /&gt;
| OBD-II Bluetooth dongle 2 || Veepeak OBDCheck BLE+ (BLE only; unreliable on this head unit)&lt;br /&gt;
|-&lt;br /&gt;
| CAN bus monitor (Windows) || PCAN-View (PEAK-System)&lt;br /&gt;
|-&lt;br /&gt;
| Diagnostic tool 1 || Launch X431 CRP919&lt;br /&gt;
|-&lt;br /&gt;
| Diagnostic tool 2 || SZ Viewer app&lt;br /&gt;
|-&lt;br /&gt;
| Head-unit apps tried || Torque Pro (fails past the first line), RealDash (TPMS values seen in its debug view; gauges in progress), Car Scanner Pro (works)&lt;br /&gt;
|-&lt;br /&gt;
| Head-unit Bluetooth || xTRONS IP90  - Classic Bluetooth only, no BLE support&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== Method ===&lt;br /&gt;
# The diagnostic tools (Launch X431, SZ Viewer) have comprehensive Suzuki support, so they are used to generate the CAN bus requests.&lt;br /&gt;
# PCAN-View is connected to the OBD socket to capture the requests and the module&#039;s replies, which are then decoded by hand.&lt;br /&gt;
# The decoded requests are recreated in the head-unit apps so the head unit can ask the car for the same data directly.&lt;br /&gt;
&#039;&#039;&#039;Status:&#039;&#039;&#039; work in progress. Based on one RHD UK-market 2021 Jimny with factory TPMS, owner-made PCAN-View captures (including a full Launch scan and an instrument cluster test), the Suzuki wiring diagrams (A-8 CAN communication and A-8 Central Gateway/DLC) and the Suzuki parts catalogue. TPMS readings work in Car Scanner Pro; RealDash works in its debug view with gauges in progress. Items marked &#039;&#039;unconfirmed&#039;&#039; are not yet verified.&lt;br /&gt;
&lt;br /&gt;
* The TPMS control module answers an ordinary diagnostic request on the OBD socket. It does not broadcast tyre data.&lt;br /&gt;
* Request ID &#039;&#039;&#039;0x798&#039;&#039;&#039;, reply ID &#039;&#039;&#039;0x7A8&#039;&#039;&#039; (11-bit CAN, 500 kbit/s, ISO-TP framing) returns the TPMS data, including four sensor IDs and pressure readings. The module&#039;s identification reply (37160-61M0) matches the Model No. (P61M0) on the TPMS controller label. Whether the central gateway forwards or remaps the request is unconfirmed.&lt;br /&gt;
* Service &#039;&#039;&#039;0x21&#039;&#039;&#039; (read data by local identifier), identifier &#039;&#039;&#039;0x00&#039;&#039;&#039;, returns 102 bytes containing all four sensor records.&lt;br /&gt;
* Pressure is byte +6 of each sensor record: bar = raw x 0.01372.&lt;br /&gt;
* The OBD socket is fed by a central gateway, so only diagnostic traffic is visible on it.&lt;br /&gt;
* Working: Car Scanner Pro, and RealDash (values seen in its debug view). Not working: Torque Pro.&lt;br /&gt;
&lt;br /&gt;
== DLC (OBD socket) wiring ==&lt;br /&gt;
The service-manual diagram numbers the DLC terminals differently from SAE J1962. In all five cases on the diagram, manual terminal &#039;&#039;n&#039;&#039; matches standard pin &#039;&#039;17 - n&#039;&#039;.&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! Manual terminal !! Standard pin !! Function !! Wire / source on diagram&lt;br /&gt;
|-&lt;br /&gt;
| 1 || 16 || Battery +12 V || GRY, fuse No.49 &amp;quot;DOME2&amp;quot; (10 A)&lt;br /&gt;
|-&lt;br /&gt;
| 12 || 5 || Signal ground || BLK&lt;br /&gt;
|-&lt;br /&gt;
| 13 || 4 || Chassis ground || BLK&lt;br /&gt;
|-&lt;br /&gt;
| 11 || 6 || CAN-H (from standard assignment) || BLU, gateway pin 8&lt;br /&gt;
|-&lt;br /&gt;
| 3 || 14 || CAN-L (from standard assignment) || WHT, gateway pin 7&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
Use pins &#039;&#039;&#039;6&#039;&#039;&#039; and &#039;&#039;&#039;14&#039;&#039;&#039; for a CAN adapter. The diagram does not label CAN-H and CAN-L itself.&lt;br /&gt;
&lt;br /&gt;
=== Cross-check with other reports ===&lt;br /&gt;
A BigJimny forum thread (&amp;quot;JB74 OBD2 connection&amp;quot;, December 2020) describes a 2020 JB74 whose OBD plug had pins 4, 5, 6, 14, 15 and 16 wired, with pin 7 (K-line) not wired. The poster, quoting an older Suzuki pinout, lists pin 6 as a blue wire (CAN-H) and pin 14 as a white wire (CAN-L). This matches the table above: a blue CAN wire on pin 6 and a white one on pin 14.&lt;br /&gt;
&lt;br /&gt;
* The CAN-H/CAN-L assignment in that thread comes from a pinout reference that the poster says predates the JB74, so it is a report, not a measurement.&lt;br /&gt;
* No wire for standard pin 7 (K-line) appears on the diagram page above, and the forum report also found it unwired. K-line is therefore unlikely to be available on the JB74 socket.&lt;br /&gt;
* On the forum poster&#039;s car, pin 15 was also wired; the diagram page above shows no wire for it. This may be a market or model-year difference.&lt;br /&gt;
&lt;br /&gt;
== Network layout ==&lt;br /&gt;
The DLC is not on the vehicle bus directly. The &#039;&#039;&#039;central gateway control module&#039;&#039;&#039; joins the vehicle CAN bus (its pins 20 and 21, RED/WHT) and provides a separate CAN pair to the DLC (its pins 8 and 7, BLU/WHT).&lt;br /&gt;
&lt;br /&gt;
Modules on the vehicle bus (diagram): ECM, 4WD control module, TCM (A/T models), BCM, ESP control module, headlight auto levelling module (if equipped), dual sensor brake support control module (if equipped), P/S control module, steering angle sensor, TPMS control module / receiver (if equipped), combination meter, SDM, combination switch.&lt;br /&gt;
&lt;br /&gt;
Gateway power: fuse No.60 &amp;quot;IG1 SIG&amp;quot; (10 A) and fuse No.52 &amp;quot;CONT&amp;quot; (5 A). Treat the ignition as needing to be on.&lt;br /&gt;
&lt;br /&gt;
Observation: two captures from the DLC contained only IDs 0x798 and 0x7A8 (plus two error frames). No broadcast traffic from other modules was seen, so passive listening on the DLC will not show TPMS data.&lt;br /&gt;
&lt;br /&gt;
== Diagnostic requests seen ==&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! Request !! Reply !! Meaning&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;3E&amp;lt;/code&amp;gt; || &amp;lt;code&amp;gt;7E&amp;lt;/code&amp;gt; || Tester present&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;1A 8A&amp;lt;/code&amp;gt; || &amp;lt;code&amp;gt;5A 8A&amp;lt;/code&amp;gt; + ASCII &amp;lt;code&amp;gt;37120-78R0*&amp;lt;/code&amp;gt; || ECU identification&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;1A 8E&amp;lt;/code&amp;gt; || &amp;lt;code&amp;gt;5A 8E&amp;lt;/code&amp;gt; + ASCII &amp;lt;code&amp;gt;37160-61M0&amp;lt;/code&amp;gt; || ECU identification: matches the &amp;quot;Model No. P61M0&amp;quot; printed on the TPMS controller label&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;18 00 FF 00&amp;lt;/code&amp;gt; || &amp;lt;code&amp;gt;58 00&amp;lt;/code&amp;gt; or &amp;lt;code&amp;gt;58 01 9A 31 E0&amp;lt;/code&amp;gt; || Read DTCs by status (second form = one code reported; not decoded)&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;21 00&amp;lt;/code&amp;gt; || &amp;lt;code&amp;gt;61 00&amp;lt;/code&amp;gt; + 100 bytes || Sensor data block (repeated about twice a second by the scan tool)&lt;br /&gt;
|}&lt;br /&gt;
Part labels on the test car: TPMS controller 37160-78R00, &amp;quot;BASE ASSY-TPMS&amp;quot;, Model No. P61M0, Continental A2C13930301, 433.92 MHz; central gateway controller 33580-79R01. The &amp;lt;code&amp;gt;1A 8E&amp;lt;/code&amp;gt; reply (37160-61M0) matches the TPMS controller&#039;s base number and model number; the &amp;lt;code&amp;gt;1A 8A&amp;lt;/code&amp;gt; reply (37120-78R0*) shares &amp;quot;78R0&amp;quot; with the full part number, but its meaning is not confirmed.&lt;br /&gt;
&lt;br /&gt;
A Launch full scan reported &amp;quot;Left Front Tire Pressure Low&amp;quot; for the TPMS module, and the module returned one stored code (&amp;lt;code&amp;gt;9A 31&amp;lt;/code&amp;gt;) in the same scan. That code is probably the low-pressure warning (inferred; the report does not show the code itself).&lt;br /&gt;
&lt;br /&gt;
== Reading it with an ELM327 ==&lt;br /&gt;
Terminal commands, one at a time (CR line ending):&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
ATZ&lt;br /&gt;
ATSP6&lt;br /&gt;
ATSH798&lt;br /&gt;
ATS0&lt;br /&gt;
ATL0&lt;br /&gt;
ATFCSH798&lt;br /&gt;
ATFCSD300000&lt;br /&gt;
ATFCSM1&lt;br /&gt;
2100&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
* &amp;lt;code&amp;gt;ATSH798&amp;lt;/code&amp;gt; sets the request address. The reply address (0x7A8) is worked out automatically.&lt;br /&gt;
* &amp;lt;code&amp;gt;ATFCSH798 / ATFCSD300000 / ATFCSM1&amp;lt;/code&amp;gt; make the adapter send the ISO-TP flow-control frame (30 00 00) itself.&lt;br /&gt;
* &amp;lt;code&amp;gt;ATS0&amp;lt;/code&amp;gt; removes the spaces between bytes. Without it, the generic Chinese ELM327-based dongle (dongle 1) reported &amp;lt;code&amp;gt;BUFFER FULL&amp;lt;/code&amp;gt; near byte 81.&lt;br /&gt;
* Expected output: a length line (&amp;lt;code&amp;gt;066&amp;lt;/code&amp;gt; = 102 bytes) and numbered lines &amp;lt;code&amp;gt;0:&amp;lt;/code&amp;gt; to &amp;lt;code&amp;gt;E:&amp;lt;/code&amp;gt;.&lt;br /&gt;
* With default settings dongle 1 returned only the first line (&amp;lt;code&amp;gt;61 00 xx 01 00 00&amp;lt;/code&amp;gt;).&lt;br /&gt;
&lt;br /&gt;
== Reply layout (21 00) ==&lt;br /&gt;
Byte positions count the &amp;lt;code&amp;gt;61&amp;lt;/code&amp;gt; as byte 0.&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! Bytes !! Content&lt;br /&gt;
|-&lt;br /&gt;
| 0-1 || &amp;lt;code&amp;gt;61 00&amp;lt;/code&amp;gt; (positive reply)&lt;br /&gt;
|-&lt;br /&gt;
| 2 || Varies 117-142. Looks like system voltage x 10 (&#039;&#039;unconfirmed&#039;&#039;)&lt;br /&gt;
|-&lt;br /&gt;
| 12-21 || Sensor record 1: front left&lt;br /&gt;
|-&lt;br /&gt;
| 22-31 || Sensor record 2: rear left&lt;br /&gt;
|-&lt;br /&gt;
| 32-41 || Sensor record 3: rear right&lt;br /&gt;
|-&lt;br /&gt;
| 42-51 || Sensor record 4: front right&lt;br /&gt;
|-&lt;br /&gt;
| 56-71 || Four 4-byte sensor-ID entries whose contents change (meaning unknown)&lt;br /&gt;
|-&lt;br /&gt;
| other || Not decoded&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== Sensor record (10 bytes) ===&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! Offset !! Content&lt;br /&gt;
|-&lt;br /&gt;
| +0 to +3 || Sensor ID&lt;br /&gt;
|-&lt;br /&gt;
| +4 || Position flag&lt;br /&gt;
|-&lt;br /&gt;
| +5 || Value 57-74. Behaves like temperature, possibly with an offset of 40 (&#039;&#039;unconfirmed&#039;&#039;)&lt;br /&gt;
|-&lt;br /&gt;
| +6 || Pressure candidate (see calibration)&lt;br /&gt;
|-&lt;br /&gt;
| +7, +8 || Not understood&lt;br /&gt;
|-&lt;br /&gt;
| +9 || Always 0&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! Wheel !! Sensor ID !! Position flag&lt;br /&gt;
|-&lt;br /&gt;
| Front left || 4E AA 09 43 || 0x10&lt;br /&gt;
|-&lt;br /&gt;
| Rear left || DD 91 B5 25 || 0x20&lt;br /&gt;
|-&lt;br /&gt;
| Rear right || 4E AA 03 19 || 0x18&lt;br /&gt;
|-&lt;br /&gt;
| Front right || 4E AA 09 C9 || 0x08&lt;br /&gt;
|}&lt;br /&gt;
Sensor IDs are specific to one car. Yours will differ.&lt;br /&gt;
&lt;br /&gt;
== Calibration ==&lt;br /&gt;
Byte +6 against gauge readings (bar). The five deflation-test counts were reconstructed from the app&#039;s displayed values.&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! Raw !! Gauge (bar) !! Raw x 0.01372&lt;br /&gt;
|-&lt;br /&gt;
| 136 (rear left) || 1.868 || 1.866&lt;br /&gt;
|-&lt;br /&gt;
| 131 (rear right) || 1.795 || 1.797&lt;br /&gt;
|-&lt;br /&gt;
| 131 (front right) || 1.795 || 1.797&lt;br /&gt;
|-&lt;br /&gt;
| 126 || 1.73 || 1.729&lt;br /&gt;
|-&lt;br /&gt;
| 119 || 1.63 || 1.633&lt;br /&gt;
|-&lt;br /&gt;
| 112 || 1.54 || 1.537&lt;br /&gt;
|-&lt;br /&gt;
| 101 || 1.39 || 1.386&lt;br /&gt;
|-&lt;br /&gt;
| 96 || 1.29 || 1.317&lt;br /&gt;
|}&lt;br /&gt;
The last five rows are from one tyre during a slow deflation (assumed front left).&lt;br /&gt;
* bar = raw x 0.01372&lt;br /&gt;
* psi = raw x 0.199&lt;br /&gt;
&lt;br /&gt;
No offset is needed, which suggests the byte holds gauge pressure. All points are within 0.004 bar except the lowest (0.027 bar off), which may be sensor update lag or slight non-linearity. More readings at low and high pressure are needed.&lt;br /&gt;
&lt;br /&gt;
== Torque Pro custom PIDs ==&lt;br /&gt;
Common fields for every wheel:&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! Field !! Value&lt;br /&gt;
|-&lt;br /&gt;
| Header || 798&lt;br /&gt;
|-&lt;br /&gt;
| Mode and PID || 2100&lt;br /&gt;
|-&lt;br /&gt;
| Diagnostic start command || &amp;lt;code&amp;gt;ATS0, ATL0, ATFCSH798, ATFCSD300000, ATFCSM1&amp;lt;/code&amp;gt; (comma-separated)&lt;br /&gt;
|-&lt;br /&gt;
| Unit / min / max || bar, 0, 4 (or psi, 0, 60)&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
Equation uses a letter for each data byte. &amp;lt;code&amp;gt;A&amp;lt;/code&amp;gt; is the first byte after &amp;lt;code&amp;gt;61 00&amp;lt;/code&amp;gt; (reply byte 2).&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! Wheel !! Byte +5 (temperature?) !! Byte +6 (pressure candidate)&lt;br /&gt;
|-&lt;br /&gt;
| Front left || P || Q&lt;br /&gt;
|-&lt;br /&gt;
| Front right || AT || AU&lt;br /&gt;
|-&lt;br /&gt;
| Rear left || Z || AA&lt;br /&gt;
|-&lt;br /&gt;
| Rear right || AJ || AK&lt;br /&gt;
|}&lt;br /&gt;
Example: &amp;lt;code&amp;gt;Q*0.01372&amp;lt;/code&amp;gt;. Letters must be upper case. Whether Torque accepts two-letter variables is &#039;&#039;unconfirmed&#039;&#039;.&lt;br /&gt;
&lt;br /&gt;
=== Known problem ===&lt;br /&gt;
Using dongle 1 (generic Chinese ELM327-based) with Torque Pro on the XTRONS PX90, Torque read bytes &amp;lt;code&amp;gt;A&amp;lt;/code&amp;gt; to &amp;lt;code&amp;gt;D&amp;lt;/code&amp;gt; (first line of the reply) correctly, but every byte from &amp;lt;code&amp;gt;E&amp;lt;/code&amp;gt; onward returned -1, even though a terminal received the full 102 bytes with the same commands. The start-command field is applied (adding &amp;lt;code&amp;gt;ATH1&amp;lt;/code&amp;gt; changed the output). Tried without success: turning off &amp;quot;Faster communication&amp;quot;, removing &amp;lt;code&amp;gt;ATS0&amp;lt;/code&amp;gt;. Not yet tried: &amp;lt;code&amp;gt;ATAT0, ATSTFF&amp;lt;/code&amp;gt; timeout settings, other apps, and the Veepeak OBDCheck BLE+ (dongle 2).. Unresolved.&lt;br /&gt;
The same result occurred with the Veepeak OBDCheck BLE+ (dongle 2). Car Scanner Pro does not have this problem (see below).&lt;br /&gt;
&lt;br /&gt;
== Car Scanner Pro (working) ==&lt;br /&gt;
Car Scanner Pro reads all the bytes where Torque Pro fails. Custom PID settings used:&lt;br /&gt;
* Header: 798&lt;br /&gt;
* Request: 2100&lt;br /&gt;
* Start command (backslash-separated): &amp;lt;code&amp;gt;ATAT0\ATSTFF\ATS0\ATL0\ATFCSH798\ATFCSD300000\ATFCSM1&amp;lt;/code&amp;gt;&lt;br /&gt;
* Equations use the same letters as the table above, for example &amp;lt;code&amp;gt;Q*0.01372&amp;lt;/code&amp;gt; for front left (bar)&lt;br /&gt;
&lt;br /&gt;
The start command has not yet been shortened. Adapter: Both dongle 1 (generic ELM327-based) and dongle 2 (Veepeak OBDCheck BLE+) work with Car Scanner Pro.&lt;br /&gt;
== Other modules found by a full scan ==&lt;br /&gt;
A full health-check scan with a Launch X431 CRP919, captured with PCAN-View on the OBD socket, shows 12 modules answering on the DLC. Every module that replied is listed here. The reply ID is not always the request ID plus 8.&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! Request !! Reply !! Protocol !! Identification replies !! Module !! How identified&lt;br /&gt;
|-&lt;br /&gt;
| 0x7E0 || 0x7E8 || KWP || 33980-78R0, 33980-78RC* || ECM || Standard engine address&lt;br /&gt;
|-&lt;br /&gt;
| 0x261 || 0x661 || KWP || 56100-77RA, 56100-78RF* || ABS (inferred) || Only brake module left by elimination&lt;br /&gt;
|-&lt;br /&gt;
| 0x263 || 0x663 || KWP || 38720-77R0, 38720-77R0* || EPS controller || Parts catalogue&lt;br /&gt;
|-&lt;br /&gt;
| 0x271 || 0x671 || KWP || 36775-77R0, 36775-77RC* || Body control module || Parts catalogue&lt;br /&gt;
|-&lt;br /&gt;
| 0x274 || 0x674 || KWP || 34100-78R0, 34110-78RD* || Instrument cluster || Rev counter sweep test&lt;br /&gt;
|-&lt;br /&gt;
| 0x798 || 0x7A8 || KWP || 37160-61M0, 37120-78R0* || TPMS controller || Label and parts catalogue&lt;br /&gt;
|-&lt;br /&gt;
| 0x79A || 0x7AA || KWP || 37210-74PA, 37210-74PE* || Lighting and turn switch || Parts catalogue&lt;br /&gt;
|-&lt;br /&gt;
| 0x778 || 0x788 || KWP || 33990-52R0, 33990-78R8* || Dual sensor brake support || Parts catalogue&lt;br /&gt;
|-&lt;br /&gt;
| 0x793 || 0x7A3 || UDS || 38910-77R0, 38910-78RC* || Airbag (SRS) controller || Parts catalogue&lt;br /&gt;
|-&lt;br /&gt;
| 0x772 || 0x782 || UDS || 38885-77R0, 38885-78R0* || 4WD shift controller || Parts catalogue&lt;br /&gt;
|-&lt;br /&gt;
| 0x799 || 0x7A9 || UDS || 38960-78RA, 38960-78RA* || E-call controller || Parts catalogue&lt;br /&gt;
|-&lt;br /&gt;
| 0x751 || 0x761 || UDS || 33580-79R0, 33580-78R0* || Central gateway || Label and parts catalogue&lt;br /&gt;
|}&lt;br /&gt;
Reply ID offsets: engine +0x08; 0x261 to 0x274 +0x400; all others +0x10.&lt;br /&gt;
&lt;br /&gt;
* KWP-style modules answer &amp;lt;code&amp;gt;1A 8E&amp;lt;/code&amp;gt; and &amp;lt;code&amp;gt;1A 8A&amp;lt;/code&amp;gt; (identification) and &amp;lt;code&amp;gt;18 00 FF 00&amp;lt;/code&amp;gt; (DTCs). UDS-style modules answer &amp;lt;code&amp;gt;22 F1 01&amp;lt;/code&amp;gt; and &amp;lt;code&amp;gt;22 F1 88&amp;lt;/code&amp;gt; (identification) and &amp;lt;code&amp;gt;19 02 FF&amp;lt;/code&amp;gt; (DTCs).&lt;br /&gt;
* Requests to 0x273 and 0x262 (tester present) got no reply, so those modules are probably not fitted.&lt;br /&gt;
* The &amp;quot;probable&amp;quot; and &amp;quot;possible&amp;quot; names are guesses from the part-number series and are not confirmed.&lt;br /&gt;
&lt;br /&gt;
=== Instrument cluster output test (0x274 / 0x674) ===&lt;br /&gt;
A rev counter sweep commanded by the Launch X431 appears as a single KWP output-control request, after which the cluster sweeps the needle up and down by itself:&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! Request !! Reply !! Notes&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;3E 00&amp;lt;/code&amp;gt; || &amp;lt;code&amp;gt;7E&amp;lt;/code&amp;gt; || Tester present, about every 2.15 s&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;30 01 07 80 40 00 00&amp;lt;/code&amp;gt; || &amp;lt;code&amp;gt;70 01 07&amp;lt;/code&amp;gt; || Starts the sweep (service 0x30, local ID 01, &amp;quot;short-term adjustment&amp;quot;)&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;30 01 07 80 00 00 00&amp;lt;/code&amp;gt; || &amp;lt;code&amp;gt;7F 30 22&amp;lt;/code&amp;gt; || Refused (&amp;quot;conditions not correct&amp;quot;); possibly a stop request sent after the sweep had finished&lt;br /&gt;
|}&lt;br /&gt;
The meaning of the four control bytes (80 40 00 00) is not known.&lt;br /&gt;
&lt;br /&gt;
== Open questions ==&lt;br /&gt;
* Meaning of reply bytes +5, +7, +8 and the unexplained regions.&lt;br /&gt;
* A reliable pressure scale and offset (more gauge readings needed).&lt;br /&gt;
* Whether other Suzuki modules use addresses near 0x798 (not checked).&lt;br /&gt;
* Why Torque stops after the first line.&lt;br /&gt;
&lt;br /&gt;
== Sources ==&lt;br /&gt;
* Owner PCAN-View captures, October 2026.&lt;br /&gt;
* Suzuki wiring diagrams: A-8 CAN communication system; A-8 Central Gateway Control and DLC System (RHD).&lt;br /&gt;
* Forum thread &amp;quot;Jimny JB74 (2019+) - Torque Pro PID for TPMS&amp;quot;.&lt;br /&gt;
* BigJimny forum thread &amp;quot;JB74 OBD2 connection&amp;quot; (December 2020).&lt;br /&gt;
&lt;br /&gt;
[[Category:Jimny technical]]&lt;br /&gt;
[[Category:JB74]]&lt;br /&gt;
[[Category:Electrical - gen3]]&lt;br /&gt;
[[Category:FAQ - gen3]]&lt;br /&gt;
[[Category:Howto - gen3]]&lt;br /&gt;
&lt;br /&gt;
[[Category:Electrical - gen4]]&lt;br /&gt;
[[Category:FAQ - gen4]]&lt;br /&gt;
[[Category:Howto - gen4]]&lt;/div&gt;</summary>
		<author><name>Mlines</name></author>
	</entry>
	<entry>
		<id>https://www.bigjimny.com/mediawiki/index.php?title=OBD2_Diagnostics_reading_project&amp;diff=10081</id>
		<title>OBD2 Diagnostics reading project</title>
		<link rel="alternate" type="text/html" href="https://www.bigjimny.com/mediawiki/index.php?title=OBD2_Diagnostics_reading_project&amp;diff=10081"/>
		<updated>2026-11-01T10:37:56Z</updated>

		<summary type="html">&lt;p&gt;Mlines: /* Diagnostic requests seen */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;= Suzuki Jimny JB74 (2018+) - Reading TPMS data over the diagnostic CAN link =&lt;br /&gt;
&lt;br /&gt;
{{Donate}}&lt;br /&gt;
== Overview ==&lt;br /&gt;
Purpose-built diagnostic tools (Autel, Launch and similar) already support Suzuki comprehensively. There is also a trend towards replacing the factory head unit with an Android media unit that can run apps to read and display information from the car&#039;s electronics. These units are not Suzuki-specific, so this project aims to learn how to read vehicle data (starting with the factory TPMS) and show it on the head unit.&lt;br /&gt;
&lt;br /&gt;
=== Equipment ===&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! Role !! Item&lt;br /&gt;
|-&lt;br /&gt;
| Head unit || XTRONS PX90&lt;br /&gt;
|-&lt;br /&gt;
| OBD-II Bluetooth dongle 1 || Generic ELM-based (Chinese)&lt;br /&gt;
|-&lt;br /&gt;
| OBD-II Bluetooth dongle 2 || Veepeak OBDCheck BLE+ (BLE only; unreliable on this head unit)&lt;br /&gt;
|-&lt;br /&gt;
| CAN bus monitor (Windows) || PCAN-View (PEAK-System)&lt;br /&gt;
|-&lt;br /&gt;
| Diagnostic tool 1 || Launch X431 CRP919&lt;br /&gt;
|-&lt;br /&gt;
| Diagnostic tool 2 || SZ Viewer app&lt;br /&gt;
|-&lt;br /&gt;
| Head-unit apps tried || Torque Pro (fails past the first line), RealDash (TPMS values seen in its debug view; gauges in progress), Car Scanner Pro (works)&lt;br /&gt;
|-&lt;br /&gt;
| Head-unit Bluetooth || xTRONS IP90  - Classic Bluetooth only, no BLE support&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== Method ===&lt;br /&gt;
# The diagnostic tools (Launch X431, SZ Viewer) have comprehensive Suzuki support, so they are used to generate the CAN bus requests.&lt;br /&gt;
# PCAN-View is connected to the OBD socket to capture the requests and the module&#039;s replies, which are then decoded by hand.&lt;br /&gt;
# The decoded requests are recreated in the head-unit apps so the head unit can ask the car for the same data directly.&lt;br /&gt;
&#039;&#039;&#039;Status:&#039;&#039;&#039; work in progress. Based on one RHD UK-market 2021 Jimny with factory TPMS, owner-made PCAN-View captures (including a full Launch scan and an instrument cluster test), the Suzuki wiring diagrams (A-8 CAN communication and A-8 Central Gateway/DLC) and the Suzuki parts catalogue. TPMS readings work in Car Scanner Pro; RealDash works in its debug view with gauges in progress. Items marked &#039;&#039;unconfirmed&#039;&#039; are not yet verified.&lt;br /&gt;
&lt;br /&gt;
* The TPMS control module answers an ordinary diagnostic request on the OBD socket. It does not broadcast tyre data.&lt;br /&gt;
* Request ID &#039;&#039;&#039;0x798&#039;&#039;&#039;, reply ID &#039;&#039;&#039;0x7A8&#039;&#039;&#039; (11-bit CAN, 500 kbit/s, ISO-TP framing) returns the TPMS data, including four sensor IDs and pressure readings. The module&#039;s identification reply (37160-61M0) matches the Model No. (P61M0) on the TPMS controller label. Whether the central gateway forwards or remaps the request is unconfirmed.&lt;br /&gt;
* Service &#039;&#039;&#039;0x21&#039;&#039;&#039; (read data by local identifier), identifier &#039;&#039;&#039;0x00&#039;&#039;&#039;, returns 102 bytes containing all four sensor records.&lt;br /&gt;
* Pressure is byte +6 of each sensor record: bar = raw x 0.01372.&lt;br /&gt;
* The OBD socket is fed by a central gateway, so only diagnostic traffic is visible on it.&lt;br /&gt;
* Working: Car Scanner Pro, and RealDash (values seen in its debug view). Not working: Torque Pro.&lt;br /&gt;
&lt;br /&gt;
== DLC (OBD socket) wiring ==&lt;br /&gt;
The service-manual diagram numbers the DLC terminals differently from SAE J1962. In all five cases on the diagram, manual terminal &#039;&#039;n&#039;&#039; matches standard pin &#039;&#039;17 - n&#039;&#039;.&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! Manual terminal !! Standard pin !! Function !! Wire / source on diagram&lt;br /&gt;
|-&lt;br /&gt;
| 1 || 16 || Battery +12 V || GRY, fuse No.49 &amp;quot;DOME2&amp;quot; (10 A)&lt;br /&gt;
|-&lt;br /&gt;
| 12 || 5 || Signal ground || BLK&lt;br /&gt;
|-&lt;br /&gt;
| 13 || 4 || Chassis ground || BLK&lt;br /&gt;
|-&lt;br /&gt;
| 11 || 6 || CAN-H (from standard assignment) || BLU, gateway pin 8&lt;br /&gt;
|-&lt;br /&gt;
| 3 || 14 || CAN-L (from standard assignment) || WHT, gateway pin 7&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
Use pins &#039;&#039;&#039;6&#039;&#039;&#039; and &#039;&#039;&#039;14&#039;&#039;&#039; for a CAN adapter. The diagram does not label CAN-H and CAN-L itself.&lt;br /&gt;
&lt;br /&gt;
=== Cross-check with other reports ===&lt;br /&gt;
A BigJimny forum thread (&amp;quot;JB74 OBD2 connection&amp;quot;, December 2020) describes a 2020 JB74 whose OBD plug had pins 4, 5, 6, 14, 15 and 16 wired, with pin 7 (K-line) not wired. The poster, quoting an older Suzuki pinout, lists pin 6 as a blue wire (CAN-H) and pin 14 as a white wire (CAN-L). This matches the table above: a blue CAN wire on pin 6 and a white one on pin 14.&lt;br /&gt;
&lt;br /&gt;
* The CAN-H/CAN-L assignment in that thread comes from a pinout reference that the poster says predates the JB74, so it is a report, not a measurement.&lt;br /&gt;
* No wire for standard pin 7 (K-line) appears on the diagram page above, and the forum report also found it unwired. K-line is therefore unlikely to be available on the JB74 socket.&lt;br /&gt;
* On the forum poster&#039;s car, pin 15 was also wired; the diagram page above shows no wire for it. This may be a market or model-year difference.&lt;br /&gt;
&lt;br /&gt;
== Network layout ==&lt;br /&gt;
The DLC is not on the vehicle bus directly. The &#039;&#039;&#039;central gateway control module&#039;&#039;&#039; joins the vehicle CAN bus (its pins 20 and 21, RED/WHT) and provides a separate CAN pair to the DLC (its pins 8 and 7, BLU/WHT).&lt;br /&gt;
&lt;br /&gt;
Modules on the vehicle bus (diagram): ECM, 4WD control module, TCM (A/T models), BCM, ESP control module, headlight auto levelling module (if equipped), dual sensor brake support control module (if equipped), P/S control module, steering angle sensor, TPMS control module / receiver (if equipped), combination meter, SDM, combination switch.&lt;br /&gt;
&lt;br /&gt;
Gateway power: fuse No.60 &amp;quot;IG1 SIG&amp;quot; (10 A) and fuse No.52 &amp;quot;CONT&amp;quot; (5 A). Treat the ignition as needing to be on.&lt;br /&gt;
&lt;br /&gt;
Observation: two captures from the DLC contained only IDs 0x798 and 0x7A8 (plus two error frames). No broadcast traffic from other modules was seen, so passive listening on the DLC will not show TPMS data.&lt;br /&gt;
&lt;br /&gt;
== Diagnostic requests seen ==&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! Request !! Reply !! Meaning&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;3E&amp;lt;/code&amp;gt; || &amp;lt;code&amp;gt;7E&amp;lt;/code&amp;gt; || Tester present&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;1A 8A&amp;lt;/code&amp;gt; || &amp;lt;code&amp;gt;5A 8A&amp;lt;/code&amp;gt; + ASCII &amp;lt;code&amp;gt;37120-78R0*&amp;lt;/code&amp;gt; || ECU identification&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;1A 8E&amp;lt;/code&amp;gt; || &amp;lt;code&amp;gt;5A 8E&amp;lt;/code&amp;gt; + ASCII &amp;lt;code&amp;gt;37160-61M0&amp;lt;/code&amp;gt; || ECU identification: matches the &amp;quot;Model No. P61M0&amp;quot; printed on the TPMS controller label&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;18 00 FF 00&amp;lt;/code&amp;gt; || &amp;lt;code&amp;gt;58 00&amp;lt;/code&amp;gt; or &amp;lt;code&amp;gt;58 01 9A 31 E0&amp;lt;/code&amp;gt; || Read DTCs by status (second form = one code reported; not decoded)&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;21 00&amp;lt;/code&amp;gt; || &amp;lt;code&amp;gt;61 00&amp;lt;/code&amp;gt; + 100 bytes || Sensor data block (repeated about twice a second by the scan tool)&lt;br /&gt;
|}&lt;br /&gt;
Part labels on the test car: TPMS controller 37160-78R00, &amp;quot;BASE ASSY-TPMS&amp;quot;, Model No. P61M0, Continental A2C13930301, 433.92 MHz; central gateway controller 33580-79R01. The &amp;lt;code&amp;gt;1A 8E&amp;lt;/code&amp;gt; reply (37160-61M0) matches the TPMS controller&#039;s base number and model number; the &amp;lt;code&amp;gt;1A 8A&amp;lt;/code&amp;gt; reply (37120-78R0*) shares &amp;quot;78R0&amp;quot; with the full part number, but its meaning is not confirmed.&lt;br /&gt;
&lt;br /&gt;
A Launch full scan reported &amp;quot;Left Front Tire Pressure Low&amp;quot; for the TPMS module, and the module returned one stored code (&amp;lt;code&amp;gt;9A 31&amp;lt;/code&amp;gt;) in the same scan. That code is probably the low-pressure warning (inferred; the report does not show the code itself).&lt;br /&gt;
&lt;br /&gt;
== Reading it with an ELM327 ==&lt;br /&gt;
Terminal commands, one at a time (CR line ending):&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
ATZ&lt;br /&gt;
ATSP6&lt;br /&gt;
ATSH798&lt;br /&gt;
ATS0&lt;br /&gt;
ATL0&lt;br /&gt;
ATFCSH798&lt;br /&gt;
ATFCSD300000&lt;br /&gt;
ATFCSM1&lt;br /&gt;
2100&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
* &amp;lt;code&amp;gt;ATSH798&amp;lt;/code&amp;gt; sets the request address. The reply address (0x7A8) is worked out automatically.&lt;br /&gt;
* &amp;lt;code&amp;gt;ATFCSH798 / ATFCSD300000 / ATFCSM1&amp;lt;/code&amp;gt; make the adapter send the ISO-TP flow-control frame (30 00 00) itself.&lt;br /&gt;
* &amp;lt;code&amp;gt;ATS0&amp;lt;/code&amp;gt; removes the spaces between bytes.Without it, the generic Chinese ELM327-based dongle (dongle 1) reported &amp;lt;code&amp;gt;BUFFER FULL&amp;lt;/code&amp;gt; near byte 81.&lt;br /&gt;
* Expected output: a length line (&amp;lt;code&amp;gt;066&amp;lt;/code&amp;gt; = 102 bytes) and numbered lines &amp;lt;code&amp;gt;0:&amp;lt;/code&amp;gt; to &amp;lt;code&amp;gt;E:&amp;lt;/code&amp;gt;.&lt;br /&gt;
* With default settings dongle 1 returned only the first line (&amp;lt;code&amp;gt;61 00 xx 01 00 00&amp;lt;/code&amp;gt;).&lt;br /&gt;
&lt;br /&gt;
== Reply layout (21 00) ==&lt;br /&gt;
Byte positions count the &amp;lt;code&amp;gt;61&amp;lt;/code&amp;gt; as byte 0.&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! Bytes !! Content&lt;br /&gt;
|-&lt;br /&gt;
| 0-1 || &amp;lt;code&amp;gt;61 00&amp;lt;/code&amp;gt; (positive reply)&lt;br /&gt;
|-&lt;br /&gt;
| 2 || Varies 117-142. Looks like system voltage x 10 (&#039;&#039;unconfirmed&#039;&#039;)&lt;br /&gt;
|-&lt;br /&gt;
| 12-21 || Sensor record 1: front left&lt;br /&gt;
|-&lt;br /&gt;
| 22-31 || Sensor record 2: rear left&lt;br /&gt;
|-&lt;br /&gt;
| 32-41 || Sensor record 3: rear right&lt;br /&gt;
|-&lt;br /&gt;
| 42-51 || Sensor record 4: front right&lt;br /&gt;
|-&lt;br /&gt;
| 56-71 || Four 4-byte sensor-ID entries whose contents change (meaning unknown)&lt;br /&gt;
|-&lt;br /&gt;
| other || Not decoded&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== Sensor record (10 bytes) ===&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! Offset !! Content&lt;br /&gt;
|-&lt;br /&gt;
| +0 to +3 || Sensor ID&lt;br /&gt;
|-&lt;br /&gt;
| +4 || Position flag&lt;br /&gt;
|-&lt;br /&gt;
| +5 || Value 57-74. Behaves like temperature, possibly with an offset of 40 (&#039;&#039;unconfirmed&#039;&#039;)&lt;br /&gt;
|-&lt;br /&gt;
| +6 || Pressure candidate (see calibration)&lt;br /&gt;
|-&lt;br /&gt;
| +7, +8 || Not understood&lt;br /&gt;
|-&lt;br /&gt;
| +9 || Always 0&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! Wheel !! Sensor ID !! Position flag&lt;br /&gt;
|-&lt;br /&gt;
| Front left || 4E AA 09 43 || 0x10&lt;br /&gt;
|-&lt;br /&gt;
| Rear left || DD 91 B5 25 || 0x20&lt;br /&gt;
|-&lt;br /&gt;
| Rear right || 4E AA 03 19 || 0x18&lt;br /&gt;
|-&lt;br /&gt;
| Front right || 4E AA 09 C9 || 0x08&lt;br /&gt;
|}&lt;br /&gt;
Sensor IDs are specific to one car. Yours will differ.&lt;br /&gt;
&lt;br /&gt;
== Calibration ==&lt;br /&gt;
Byte +6 against gauge readings (bar). The five deflation-test counts were reconstructed from the app&#039;s displayed values.&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! Raw !! Gauge (bar) !! Raw x 0.01372&lt;br /&gt;
|-&lt;br /&gt;
| 136 (rear left) || 1.868 || 1.866&lt;br /&gt;
|-&lt;br /&gt;
| 131 (rear right) || 1.795 || 1.797&lt;br /&gt;
|-&lt;br /&gt;
| 131 (front right) || 1.795 || 1.797&lt;br /&gt;
|-&lt;br /&gt;
| 126 || 1.73 || 1.729&lt;br /&gt;
|-&lt;br /&gt;
| 119 || 1.63 || 1.633&lt;br /&gt;
|-&lt;br /&gt;
| 112 || 1.54 || 1.537&lt;br /&gt;
|-&lt;br /&gt;
| 101 || 1.39 || 1.386&lt;br /&gt;
|-&lt;br /&gt;
| 96 || 1.29 || 1.317&lt;br /&gt;
|}&lt;br /&gt;
The last five rows are from one tyre during a slow deflation (assumed front left).&lt;br /&gt;
* bar = raw x 0.01372&lt;br /&gt;
* psi = raw x 0.199&lt;br /&gt;
&lt;br /&gt;
No offset is needed, which suggests the byte holds gauge pressure. All points are within 0.004 bar except the lowest (0.027 bar off), which may be sensor update lag or slight non-linearity. More readings at low and high pressure are needed.&lt;br /&gt;
&lt;br /&gt;
== Torque Pro custom PIDs ==&lt;br /&gt;
Common fields for every wheel:&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! Field !! Value&lt;br /&gt;
|-&lt;br /&gt;
| Header || 798&lt;br /&gt;
|-&lt;br /&gt;
| Mode and PID || 2100&lt;br /&gt;
|-&lt;br /&gt;
| Diagnostic start command || &amp;lt;code&amp;gt;ATS0, ATL0, ATFCSH798, ATFCSD300000, ATFCSM1&amp;lt;/code&amp;gt; (comma-separated)&lt;br /&gt;
|-&lt;br /&gt;
| Unit / min / max || bar, 0, 4 (or psi, 0, 60)&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
Equation uses a letter for each data byte. &amp;lt;code&amp;gt;A&amp;lt;/code&amp;gt; is the first byte after &amp;lt;code&amp;gt;61 00&amp;lt;/code&amp;gt; (reply byte 2).&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! Wheel !! Byte +5 (temperature?) !! Byte +6 (pressure candidate)&lt;br /&gt;
|-&lt;br /&gt;
| Front left || P || Q&lt;br /&gt;
|-&lt;br /&gt;
| Front right || AT || AU&lt;br /&gt;
|-&lt;br /&gt;
| Rear left || Z || AA&lt;br /&gt;
|-&lt;br /&gt;
| Rear right || AJ || AK&lt;br /&gt;
|}&lt;br /&gt;
Example: &amp;lt;code&amp;gt;Q*0.01372&amp;lt;/code&amp;gt;. Letters must be upper case. Whether Torque accepts two-letter variables is &#039;&#039;unconfirmed&#039;&#039;.&lt;br /&gt;
&lt;br /&gt;
=== Known problem ===&lt;br /&gt;
Using dongle 1 (generic Chinese ELM327-based) with Torque Pro on the XTRONS PX90, Torque read bytes &amp;lt;code&amp;gt;A&amp;lt;/code&amp;gt; to &amp;lt;code&amp;gt;D&amp;lt;/code&amp;gt; (first line of the reply) correctly, but every byte from &amp;lt;code&amp;gt;E&amp;lt;/code&amp;gt; onward returned -1, even though a terminal received the full 102 bytes with the same commands. The start-command field is applied (adding &amp;lt;code&amp;gt;ATH1&amp;lt;/code&amp;gt; changed the output). Tried without success: turning off &amp;quot;Faster communication&amp;quot;, removing &amp;lt;code&amp;gt;ATS0&amp;lt;/code&amp;gt;. Not yet tried: &amp;lt;code&amp;gt;ATAT0, ATSTFF&amp;lt;/code&amp;gt; timeout settings, other apps, and the Veepeak OBDCheck BLE+ (dongle 2).. Unresolved.&lt;br /&gt;
The same result occurred with the Veepeak OBDCheck BLE+ (dongle 2). Car Scanner Pro does not have this problem (see below).&lt;br /&gt;
&lt;br /&gt;
== Car Scanner Pro (working) ==&lt;br /&gt;
Car Scanner Pro reads all the bytes where Torque Pro fails. Custom PID settings used:&lt;br /&gt;
* Header: 798&lt;br /&gt;
* Request: 2100&lt;br /&gt;
* Start command (backslash-separated): &amp;lt;code&amp;gt;ATAT0\ATSTFF\ATS0\ATL0\ATFCSH798\ATFCSD300000\ATFCSM1&amp;lt;/code&amp;gt;&lt;br /&gt;
* Equations use the same letters as the table above, for example &amp;lt;code&amp;gt;Q*0.01372&amp;lt;/code&amp;gt; for front left (bar)&lt;br /&gt;
&lt;br /&gt;
The start command has not yet been shortened. Adapter: Both dongle 1 (generic ELM327-based) and dongle 2 (Veepeak OBDCheck BLE+) work with Car Scanner Pro.&lt;br /&gt;
== Other modules found by a full scan ==&lt;br /&gt;
A full health-check scan with a Launch X431 CRP919, captured with PCAN-View on the OBD socket, shows 12 modules answering on the DLC. Every module that replied is listed here. The reply ID is not always the request ID plus 8.&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! Request !! Reply !! Protocol !! Identification replies !! Module !! How identified&lt;br /&gt;
|-&lt;br /&gt;
| 0x7E0 || 0x7E8 || KWP || 33980-78R0, 33980-78RC* || ECM || Standard engine address&lt;br /&gt;
|-&lt;br /&gt;
| 0x261 || 0x661 || KWP || 56100-77RA, 56100-78RF* || ABS (inferred) || Only brake module left by elimination&lt;br /&gt;
|-&lt;br /&gt;
| 0x263 || 0x663 || KWP || 38720-77R0, 38720-77R0* || EPS controller || Parts catalogue&lt;br /&gt;
|-&lt;br /&gt;
| 0x271 || 0x671 || KWP || 36775-77R0, 36775-77RC* || Body control module || Parts catalogue&lt;br /&gt;
|-&lt;br /&gt;
| 0x274 || 0x674 || KWP || 34100-78R0, 34110-78RD* || Instrument cluster || Rev counter sweep test&lt;br /&gt;
|-&lt;br /&gt;
| 0x798 || 0x7A8 || KWP || 37160-61M0, 37120-78R0* || TPMS controller || Label and parts catalogue&lt;br /&gt;
|-&lt;br /&gt;
| 0x79A || 0x7AA || KWP || 37210-74PA, 37210-74PE* || Lighting and turn switch || Parts catalogue&lt;br /&gt;
|-&lt;br /&gt;
| 0x778 || 0x788 || KWP || 33990-52R0, 33990-78R8* || Dual sensor brake support || Parts catalogue&lt;br /&gt;
|-&lt;br /&gt;
| 0x793 || 0x7A3 || UDS || 38910-77R0, 38910-78RC* || Airbag (SRS) controller || Parts catalogue&lt;br /&gt;
|-&lt;br /&gt;
| 0x772 || 0x782 || UDS || 38885-77R0, 38885-78R0* || 4WD shift controller || Parts catalogue&lt;br /&gt;
|-&lt;br /&gt;
| 0x799 || 0x7A9 || UDS || 38960-78RA, 38960-78RA* || E-call controller || Parts catalogue&lt;br /&gt;
|-&lt;br /&gt;
| 0x751 || 0x761 || UDS || 33580-79R0, 33580-78R0* || Central gateway || Label and parts catalogue&lt;br /&gt;
|}&lt;br /&gt;
Reply ID offsets: engine +0x08; 0x261 to 0x274 +0x400; all others +0x10.&lt;br /&gt;
&lt;br /&gt;
* KWP-style modules answer &amp;lt;code&amp;gt;1A 8E&amp;lt;/code&amp;gt; and &amp;lt;code&amp;gt;1A 8A&amp;lt;/code&amp;gt; (identification) and &amp;lt;code&amp;gt;18 00 FF 00&amp;lt;/code&amp;gt; (DTCs). UDS-style modules answer &amp;lt;code&amp;gt;22 F1 01&amp;lt;/code&amp;gt; and &amp;lt;code&amp;gt;22 F1 88&amp;lt;/code&amp;gt; (identification) and &amp;lt;code&amp;gt;19 02 FF&amp;lt;/code&amp;gt; (DTCs).&lt;br /&gt;
* Requests to 0x273 and 0x262 (tester present) got no reply, so those modules are probably not fitted.&lt;br /&gt;
* The &amp;quot;probable&amp;quot; and &amp;quot;possible&amp;quot; names are guesses from the part-number series and are not confirmed.&lt;br /&gt;
&lt;br /&gt;
=== Instrument cluster output test (0x274 / 0x674) ===&lt;br /&gt;
A rev counter sweep commanded by the Launch X431 appears as a single KWP output-control request, after which the cluster sweeps the needle up and down by itself:&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! Request !! Reply !! Notes&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;3E 00&amp;lt;/code&amp;gt; || &amp;lt;code&amp;gt;7E&amp;lt;/code&amp;gt; || Tester present, about every 2.15 s&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;30 01 07 80 40 00 00&amp;lt;/code&amp;gt; || &amp;lt;code&amp;gt;70 01 07&amp;lt;/code&amp;gt; || Starts the sweep (service 0x30, local ID 01, &amp;quot;short-term adjustment&amp;quot;)&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;30 01 07 80 00 00 00&amp;lt;/code&amp;gt; || &amp;lt;code&amp;gt;7F 30 22&amp;lt;/code&amp;gt; || Refused (&amp;quot;conditions not correct&amp;quot;); possibly a stop request sent after the sweep had finished&lt;br /&gt;
|}&lt;br /&gt;
The meaning of the four control bytes (80 40 00 00) is not known.&lt;br /&gt;
&lt;br /&gt;
== Open questions ==&lt;br /&gt;
* Meaning of reply bytes +5, +7, +8 and the unexplained regions.&lt;br /&gt;
* A reliable pressure scale and offset (more gauge readings needed).&lt;br /&gt;
* Whether other Suzuki modules use addresses near 0x798 (not checked).&lt;br /&gt;
* Why Torque stops after the first line.&lt;br /&gt;
&lt;br /&gt;
== Sources ==&lt;br /&gt;
* Owner PCAN-View captures, October 2026.&lt;br /&gt;
* Suzuki wiring diagrams: A-8 CAN communication system; A-8 Central Gateway Control and DLC System (RHD).&lt;br /&gt;
* Forum thread &amp;quot;Jimny JB74 (2019+) - Torque Pro PID for TPMS&amp;quot;.&lt;br /&gt;
* BigJimny forum thread &amp;quot;JB74 OBD2 connection&amp;quot; (December 2020).&lt;br /&gt;
&lt;br /&gt;
[[Category:Jimny technical]]&lt;br /&gt;
[[Category:JB74]]&lt;br /&gt;
[[Category:Electrical - gen3]]&lt;br /&gt;
[[Category:FAQ - gen3]]&lt;br /&gt;
[[Category:Howto - gen3]]&lt;br /&gt;
&lt;br /&gt;
[[Category:Electrical - gen4]]&lt;br /&gt;
[[Category:FAQ - gen4]]&lt;br /&gt;
[[Category:Howto - gen4]]&lt;/div&gt;</summary>
		<author><name>Mlines</name></author>
	</entry>
	<entry>
		<id>https://www.bigjimny.com/mediawiki/index.php?title=OBD2_Diagnostics_reading_project&amp;diff=10080</id>
		<title>OBD2 Diagnostics reading project</title>
		<link rel="alternate" type="text/html" href="https://www.bigjimny.com/mediawiki/index.php?title=OBD2_Diagnostics_reading_project&amp;diff=10080"/>
		<updated>2026-11-01T10:37:20Z</updated>

		<summary type="html">&lt;p&gt;Mlines: /* Summary */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;= Suzuki Jimny JB74 (2018+) - Reading TPMS data over the diagnostic CAN link =&lt;br /&gt;
&lt;br /&gt;
{{Donate}}&lt;br /&gt;
== Overview ==&lt;br /&gt;
Purpose-built diagnostic tools (Autel, Launch and similar) already support Suzuki comprehensively. There is also a trend towards replacing the factory head unit with an Android media unit that can run apps to read and display information from the car&#039;s electronics. These units are not Suzuki-specific, so this project aims to learn how to read vehicle data (starting with the factory TPMS) and show it on the head unit.&lt;br /&gt;
&lt;br /&gt;
=== Equipment ===&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! Role !! Item&lt;br /&gt;
|-&lt;br /&gt;
| Head unit || XTRONS PX90&lt;br /&gt;
|-&lt;br /&gt;
| OBD-II Bluetooth dongle 1 || Generic ELM-based (Chinese)&lt;br /&gt;
|-&lt;br /&gt;
| OBD-II Bluetooth dongle 2 || Veepeak OBDCheck BLE+ (BLE only; unreliable on this head unit)&lt;br /&gt;
|-&lt;br /&gt;
| CAN bus monitor (Windows) || PCAN-View (PEAK-System)&lt;br /&gt;
|-&lt;br /&gt;
| Diagnostic tool 1 || Launch X431 CRP919&lt;br /&gt;
|-&lt;br /&gt;
| Diagnostic tool 2 || SZ Viewer app&lt;br /&gt;
|-&lt;br /&gt;
| Head-unit apps tried || Torque Pro (fails past the first line), RealDash (TPMS values seen in its debug view; gauges in progress), Car Scanner Pro (works)&lt;br /&gt;
|-&lt;br /&gt;
| Head-unit Bluetooth || xTRONS IP90  - Classic Bluetooth only, no BLE support&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== Method ===&lt;br /&gt;
# The diagnostic tools (Launch X431, SZ Viewer) have comprehensive Suzuki support, so they are used to generate the CAN bus requests.&lt;br /&gt;
# PCAN-View is connected to the OBD socket to capture the requests and the module&#039;s replies, which are then decoded by hand.&lt;br /&gt;
# The decoded requests are recreated in the head-unit apps so the head unit can ask the car for the same data directly.&lt;br /&gt;
&#039;&#039;&#039;Status:&#039;&#039;&#039; work in progress. Based on one RHD UK-market 2021 Jimny with factory TPMS, owner-made PCAN-View captures (including a full Launch scan and an instrument cluster test), the Suzuki wiring diagrams (A-8 CAN communication and A-8 Central Gateway/DLC) and the Suzuki parts catalogue. TPMS readings work in Car Scanner Pro; RealDash works in its debug view with gauges in progress. Items marked &#039;&#039;unconfirmed&#039;&#039; are not yet verified.&lt;br /&gt;
&lt;br /&gt;
* The TPMS control module answers an ordinary diagnostic request on the OBD socket. It does not broadcast tyre data.&lt;br /&gt;
* Request ID &#039;&#039;&#039;0x798&#039;&#039;&#039;, reply ID &#039;&#039;&#039;0x7A8&#039;&#039;&#039; (11-bit CAN, 500 kbit/s, ISO-TP framing) returns the TPMS data, including four sensor IDs and pressure readings. The module&#039;s identification reply (37160-61M0) matches the Model No. (P61M0) on the TPMS controller label. Whether the central gateway forwards or remaps the request is unconfirmed.&lt;br /&gt;
* Service &#039;&#039;&#039;0x21&#039;&#039;&#039; (read data by local identifier), identifier &#039;&#039;&#039;0x00&#039;&#039;&#039;, returns 102 bytes containing all four sensor records.&lt;br /&gt;
* Pressure is byte +6 of each sensor record: bar = raw x 0.01372.&lt;br /&gt;
* The OBD socket is fed by a central gateway, so only diagnostic traffic is visible on it.&lt;br /&gt;
* Working: Car Scanner Pro, and RealDash (values seen in its debug view). Not working: Torque Pro.&lt;br /&gt;
&lt;br /&gt;
== DLC (OBD socket) wiring ==&lt;br /&gt;
The service-manual diagram numbers the DLC terminals differently from SAE J1962. In all five cases on the diagram, manual terminal &#039;&#039;n&#039;&#039; matches standard pin &#039;&#039;17 - n&#039;&#039;.&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! Manual terminal !! Standard pin !! Function !! Wire / source on diagram&lt;br /&gt;
|-&lt;br /&gt;
| 1 || 16 || Battery +12 V || GRY, fuse No.49 &amp;quot;DOME2&amp;quot; (10 A)&lt;br /&gt;
|-&lt;br /&gt;
| 12 || 5 || Signal ground || BLK&lt;br /&gt;
|-&lt;br /&gt;
| 13 || 4 || Chassis ground || BLK&lt;br /&gt;
|-&lt;br /&gt;
| 11 || 6 || CAN-H (from standard assignment) || BLU, gateway pin 8&lt;br /&gt;
|-&lt;br /&gt;
| 3 || 14 || CAN-L (from standard assignment) || WHT, gateway pin 7&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
Use pins &#039;&#039;&#039;6&#039;&#039;&#039; and &#039;&#039;&#039;14&#039;&#039;&#039; for a CAN adapter. The diagram does not label CAN-H and CAN-L itself.&lt;br /&gt;
&lt;br /&gt;
=== Cross-check with other reports ===&lt;br /&gt;
A BigJimny forum thread (&amp;quot;JB74 OBD2 connection&amp;quot;, December 2020) describes a 2020 JB74 whose OBD plug had pins 4, 5, 6, 14, 15 and 16 wired, with pin 7 (K-line) not wired. The poster, quoting an older Suzuki pinout, lists pin 6 as a blue wire (CAN-H) and pin 14 as a white wire (CAN-L). This matches the table above: a blue CAN wire on pin 6 and a white one on pin 14.&lt;br /&gt;
&lt;br /&gt;
* The CAN-H/CAN-L assignment in that thread comes from a pinout reference that the poster says predates the JB74, so it is a report, not a measurement.&lt;br /&gt;
* No wire for standard pin 7 (K-line) appears on the diagram page above, and the forum report also found it unwired. K-line is therefore unlikely to be available on the JB74 socket.&lt;br /&gt;
* On the forum poster&#039;s car, pin 15 was also wired; the diagram page above shows no wire for it. This may be a market or model-year difference.&lt;br /&gt;
&lt;br /&gt;
== Network layout ==&lt;br /&gt;
The DLC is not on the vehicle bus directly. The &#039;&#039;&#039;central gateway control module&#039;&#039;&#039; joins the vehicle CAN bus (its pins 20 and 21, RED/WHT) and provides a separate CAN pair to the DLC (its pins 8 and 7, BLU/WHT).&lt;br /&gt;
&lt;br /&gt;
Modules on the vehicle bus (diagram): ECM, 4WD control module, TCM (A/T models), BCM, ESP control module, headlight auto levelling module (if equipped), dual sensor brake support control module (if equipped), P/S control module, steering angle sensor, TPMS control module / receiver (if equipped), combination meter, SDM, combination switch.&lt;br /&gt;
&lt;br /&gt;
Gateway power: fuse No.60 &amp;quot;IG1 SIG&amp;quot; (10 A) and fuse No.52 &amp;quot;CONT&amp;quot; (5 A). Treat the ignition as needing to be on.&lt;br /&gt;
&lt;br /&gt;
Observation: two captures from the DLC contained only IDs 0x798 and 0x7A8 (plus two error frames). No broadcast traffic from other modules was seen, so passive listening on the DLC will not show TPMS data.&lt;br /&gt;
&lt;br /&gt;
== Diagnostic requests seen ==&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! Request !! Reply !! Meaning&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;3E&amp;lt;/code&amp;gt; || &amp;lt;code&amp;gt;7E&amp;lt;/code&amp;gt; || Tester present&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;1A 8A&amp;lt;/code&amp;gt; || &amp;lt;code&amp;gt;5A 8A&amp;lt;/code&amp;gt; + ASCII &amp;lt;code&amp;gt;37120-78R0*&amp;lt;/code&amp;gt; || ECU identification&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;1A 8E&amp;lt;/code&amp;gt; || &amp;lt;code&amp;gt;5A 8E&amp;lt;/code&amp;gt; + ASCII &amp;lt;code&amp;gt;37160-61M0&amp;lt;/code&amp;gt; || ECU identification: matches the &amp;quot;Model No. P61M0&amp;quot; printed on the TPMS controller label&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;18 00 FF 00&amp;lt;/code&amp;gt; || &amp;lt;code&amp;gt;58 00&amp;lt;/code&amp;gt; or &amp;lt;code&amp;gt;58 01 9A 31 E0&amp;lt;/code&amp;gt; || Read DTCs by status (second form = one code reported; not decoded)&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;21 00&amp;lt;/code&amp;gt; || &amp;lt;code&amp;gt;61 00&amp;lt;/code&amp;gt; + 100 bytes || Sensor data block (repeated about twice a second by the scan tool)&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
Part labels on the test car: TPMS controller 37160-78R00, &amp;quot;BASE ASSY-TPMS&amp;quot;, Model No. P61M0, Continental A2C13930301, 433.92 MHz; central gateway controller 33580-79R01. The &amp;lt;code&amp;gt;1A 8E&amp;lt;/code&amp;gt; reply (37160-61M0) matches the TPMS controller&#039;s base number and model number; the &amp;lt;code&amp;gt;1A 8A&amp;lt;/code&amp;gt; reply (37120-78R0*) shares &amp;quot;78R0&amp;quot; with its full part number but its meaning is not confirmed&lt;br /&gt;
&lt;br /&gt;
== Reading it with an ELM327 ==&lt;br /&gt;
Terminal commands, one at a time (CR line ending):&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
ATZ&lt;br /&gt;
ATSP6&lt;br /&gt;
ATSH798&lt;br /&gt;
ATS0&lt;br /&gt;
ATL0&lt;br /&gt;
ATFCSH798&lt;br /&gt;
ATFCSD300000&lt;br /&gt;
ATFCSM1&lt;br /&gt;
2100&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
* &amp;lt;code&amp;gt;ATSH798&amp;lt;/code&amp;gt; sets the request address. The reply address (0x7A8) is worked out automatically.&lt;br /&gt;
* &amp;lt;code&amp;gt;ATFCSH798 / ATFCSD300000 / ATFCSM1&amp;lt;/code&amp;gt; make the adapter send the ISO-TP flow-control frame (30 00 00) itself.&lt;br /&gt;
* &amp;lt;code&amp;gt;ATS0&amp;lt;/code&amp;gt; removes the spaces between bytes.Without it, the generic Chinese ELM327-based dongle (dongle 1) reported &amp;lt;code&amp;gt;BUFFER FULL&amp;lt;/code&amp;gt; near byte 81.&lt;br /&gt;
* Expected output: a length line (&amp;lt;code&amp;gt;066&amp;lt;/code&amp;gt; = 102 bytes) and numbered lines &amp;lt;code&amp;gt;0:&amp;lt;/code&amp;gt; to &amp;lt;code&amp;gt;E:&amp;lt;/code&amp;gt;.&lt;br /&gt;
* With default settings dongle 1 returned only the first line (&amp;lt;code&amp;gt;61 00 xx 01 00 00&amp;lt;/code&amp;gt;).&lt;br /&gt;
&lt;br /&gt;
== Reply layout (21 00) ==&lt;br /&gt;
Byte positions count the &amp;lt;code&amp;gt;61&amp;lt;/code&amp;gt; as byte 0.&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! Bytes !! Content&lt;br /&gt;
|-&lt;br /&gt;
| 0-1 || &amp;lt;code&amp;gt;61 00&amp;lt;/code&amp;gt; (positive reply)&lt;br /&gt;
|-&lt;br /&gt;
| 2 || Varies 117-142. Looks like system voltage x 10 (&#039;&#039;unconfirmed&#039;&#039;)&lt;br /&gt;
|-&lt;br /&gt;
| 12-21 || Sensor record 1: front left&lt;br /&gt;
|-&lt;br /&gt;
| 22-31 || Sensor record 2: rear left&lt;br /&gt;
|-&lt;br /&gt;
| 32-41 || Sensor record 3: rear right&lt;br /&gt;
|-&lt;br /&gt;
| 42-51 || Sensor record 4: front right&lt;br /&gt;
|-&lt;br /&gt;
| 56-71 || Four 4-byte sensor-ID entries whose contents change (meaning unknown)&lt;br /&gt;
|-&lt;br /&gt;
| other || Not decoded&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== Sensor record (10 bytes) ===&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! Offset !! Content&lt;br /&gt;
|-&lt;br /&gt;
| +0 to +3 || Sensor ID&lt;br /&gt;
|-&lt;br /&gt;
| +4 || Position flag&lt;br /&gt;
|-&lt;br /&gt;
| +5 || Value 57-74. Behaves like temperature, possibly with an offset of 40 (&#039;&#039;unconfirmed&#039;&#039;)&lt;br /&gt;
|-&lt;br /&gt;
| +6 || Pressure candidate (see calibration)&lt;br /&gt;
|-&lt;br /&gt;
| +7, +8 || Not understood&lt;br /&gt;
|-&lt;br /&gt;
| +9 || Always 0&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! Wheel !! Sensor ID !! Position flag&lt;br /&gt;
|-&lt;br /&gt;
| Front left || 4E AA 09 43 || 0x10&lt;br /&gt;
|-&lt;br /&gt;
| Rear left || DD 91 B5 25 || 0x20&lt;br /&gt;
|-&lt;br /&gt;
| Rear right || 4E AA 03 19 || 0x18&lt;br /&gt;
|-&lt;br /&gt;
| Front right || 4E AA 09 C9 || 0x08&lt;br /&gt;
|}&lt;br /&gt;
Sensor IDs are specific to one car. Yours will differ.&lt;br /&gt;
&lt;br /&gt;
== Calibration ==&lt;br /&gt;
Byte +6 against gauge readings (bar). The five deflation-test counts were reconstructed from the app&#039;s displayed values.&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! Raw !! Gauge (bar) !! Raw x 0.01372&lt;br /&gt;
|-&lt;br /&gt;
| 136 (rear left) || 1.868 || 1.866&lt;br /&gt;
|-&lt;br /&gt;
| 131 (rear right) || 1.795 || 1.797&lt;br /&gt;
|-&lt;br /&gt;
| 131 (front right) || 1.795 || 1.797&lt;br /&gt;
|-&lt;br /&gt;
| 126 || 1.73 || 1.729&lt;br /&gt;
|-&lt;br /&gt;
| 119 || 1.63 || 1.633&lt;br /&gt;
|-&lt;br /&gt;
| 112 || 1.54 || 1.537&lt;br /&gt;
|-&lt;br /&gt;
| 101 || 1.39 || 1.386&lt;br /&gt;
|-&lt;br /&gt;
| 96 || 1.29 || 1.317&lt;br /&gt;
|}&lt;br /&gt;
The last five rows are from one tyre during a slow deflation (assumed front left).&lt;br /&gt;
* bar = raw x 0.01372&lt;br /&gt;
* psi = raw x 0.199&lt;br /&gt;
&lt;br /&gt;
No offset is needed, which suggests the byte holds gauge pressure. All points are within 0.004 bar except the lowest (0.027 bar off), which may be sensor update lag or slight non-linearity. More readings at low and high pressure are needed.&lt;br /&gt;
&lt;br /&gt;
== Torque Pro custom PIDs ==&lt;br /&gt;
Common fields for every wheel:&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! Field !! Value&lt;br /&gt;
|-&lt;br /&gt;
| Header || 798&lt;br /&gt;
|-&lt;br /&gt;
| Mode and PID || 2100&lt;br /&gt;
|-&lt;br /&gt;
| Diagnostic start command || &amp;lt;code&amp;gt;ATS0, ATL0, ATFCSH798, ATFCSD300000, ATFCSM1&amp;lt;/code&amp;gt; (comma-separated)&lt;br /&gt;
|-&lt;br /&gt;
| Unit / min / max || bar, 0, 4 (or psi, 0, 60)&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
Equation uses a letter for each data byte. &amp;lt;code&amp;gt;A&amp;lt;/code&amp;gt; is the first byte after &amp;lt;code&amp;gt;61 00&amp;lt;/code&amp;gt; (reply byte 2).&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! Wheel !! Byte +5 (temperature?) !! Byte +6 (pressure candidate)&lt;br /&gt;
|-&lt;br /&gt;
| Front left || P || Q&lt;br /&gt;
|-&lt;br /&gt;
| Front right || AT || AU&lt;br /&gt;
|-&lt;br /&gt;
| Rear left || Z || AA&lt;br /&gt;
|-&lt;br /&gt;
| Rear right || AJ || AK&lt;br /&gt;
|}&lt;br /&gt;
Example: &amp;lt;code&amp;gt;Q*0.01372&amp;lt;/code&amp;gt;. Letters must be upper case. Whether Torque accepts two-letter variables is &#039;&#039;unconfirmed&#039;&#039;.&lt;br /&gt;
&lt;br /&gt;
=== Known problem ===&lt;br /&gt;
Using dongle 1 (generic Chinese ELM327-based) with Torque Pro on the XTRONS PX90, Torque read bytes &amp;lt;code&amp;gt;A&amp;lt;/code&amp;gt; to &amp;lt;code&amp;gt;D&amp;lt;/code&amp;gt; (first line of the reply) correctly, but every byte from &amp;lt;code&amp;gt;E&amp;lt;/code&amp;gt; onward returned -1, even though a terminal received the full 102 bytes with the same commands. The start-command field is applied (adding &amp;lt;code&amp;gt;ATH1&amp;lt;/code&amp;gt; changed the output). Tried without success: turning off &amp;quot;Faster communication&amp;quot;, removing &amp;lt;code&amp;gt;ATS0&amp;lt;/code&amp;gt;. Not yet tried: &amp;lt;code&amp;gt;ATAT0, ATSTFF&amp;lt;/code&amp;gt; timeout settings, other apps, and the Veepeak OBDCheck BLE+ (dongle 2).. Unresolved.&lt;br /&gt;
The same result occurred with the Veepeak OBDCheck BLE+ (dongle 2). Car Scanner Pro does not have this problem (see below).&lt;br /&gt;
&lt;br /&gt;
== Car Scanner Pro (working) ==&lt;br /&gt;
Car Scanner Pro reads all the bytes where Torque Pro fails. Custom PID settings used:&lt;br /&gt;
* Header: 798&lt;br /&gt;
* Request: 2100&lt;br /&gt;
* Start command (backslash-separated): &amp;lt;code&amp;gt;ATAT0\ATSTFF\ATS0\ATL0\ATFCSH798\ATFCSD300000\ATFCSM1&amp;lt;/code&amp;gt;&lt;br /&gt;
* Equations use the same letters as the table above, for example &amp;lt;code&amp;gt;Q*0.01372&amp;lt;/code&amp;gt; for front left (bar)&lt;br /&gt;
&lt;br /&gt;
The start command has not yet been shortened. Adapter: Both dongle 1 (generic ELM327-based) and dongle 2 (Veepeak OBDCheck BLE+) work with Car Scanner Pro.&lt;br /&gt;
== Other modules found by a full scan ==&lt;br /&gt;
A full health-check scan with a Launch X431 CRP919, captured with PCAN-View on the OBD socket, shows 12 modules answering on the DLC. Every module that replied is listed here. The reply ID is not always the request ID plus 8.&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! Request !! Reply !! Protocol !! Identification replies !! Module !! How identified&lt;br /&gt;
|-&lt;br /&gt;
| 0x7E0 || 0x7E8 || KWP || 33980-78R0, 33980-78RC* || ECM || Standard engine address&lt;br /&gt;
|-&lt;br /&gt;
| 0x261 || 0x661 || KWP || 56100-77RA, 56100-78RF* || ABS (inferred) || Only brake module left by elimination&lt;br /&gt;
|-&lt;br /&gt;
| 0x263 || 0x663 || KWP || 38720-77R0, 38720-77R0* || EPS controller || Parts catalogue&lt;br /&gt;
|-&lt;br /&gt;
| 0x271 || 0x671 || KWP || 36775-77R0, 36775-77RC* || Body control module || Parts catalogue&lt;br /&gt;
|-&lt;br /&gt;
| 0x274 || 0x674 || KWP || 34100-78R0, 34110-78RD* || Instrument cluster || Rev counter sweep test&lt;br /&gt;
|-&lt;br /&gt;
| 0x798 || 0x7A8 || KWP || 37160-61M0, 37120-78R0* || TPMS controller || Label and parts catalogue&lt;br /&gt;
|-&lt;br /&gt;
| 0x79A || 0x7AA || KWP || 37210-74PA, 37210-74PE* || Lighting and turn switch || Parts catalogue&lt;br /&gt;
|-&lt;br /&gt;
| 0x778 || 0x788 || KWP || 33990-52R0, 33990-78R8* || Dual sensor brake support || Parts catalogue&lt;br /&gt;
|-&lt;br /&gt;
| 0x793 || 0x7A3 || UDS || 38910-77R0, 38910-78RC* || Airbag (SRS) controller || Parts catalogue&lt;br /&gt;
|-&lt;br /&gt;
| 0x772 || 0x782 || UDS || 38885-77R0, 38885-78R0* || 4WD shift controller || Parts catalogue&lt;br /&gt;
|-&lt;br /&gt;
| 0x799 || 0x7A9 || UDS || 38960-78RA, 38960-78RA* || E-call controller || Parts catalogue&lt;br /&gt;
|-&lt;br /&gt;
| 0x751 || 0x761 || UDS || 33580-79R0, 33580-78R0* || Central gateway || Label and parts catalogue&lt;br /&gt;
|}&lt;br /&gt;
Reply ID offsets: engine +0x08; 0x261 to 0x274 +0x400; all others +0x10.&lt;br /&gt;
&lt;br /&gt;
* KWP-style modules answer &amp;lt;code&amp;gt;1A 8E&amp;lt;/code&amp;gt; and &amp;lt;code&amp;gt;1A 8A&amp;lt;/code&amp;gt; (identification) and &amp;lt;code&amp;gt;18 00 FF 00&amp;lt;/code&amp;gt; (DTCs). UDS-style modules answer &amp;lt;code&amp;gt;22 F1 01&amp;lt;/code&amp;gt; and &amp;lt;code&amp;gt;22 F1 88&amp;lt;/code&amp;gt; (identification) and &amp;lt;code&amp;gt;19 02 FF&amp;lt;/code&amp;gt; (DTCs).&lt;br /&gt;
* Requests to 0x273 and 0x262 (tester present) got no reply, so those modules are probably not fitted.&lt;br /&gt;
* The &amp;quot;probable&amp;quot; and &amp;quot;possible&amp;quot; names are guesses from the part-number series and are not confirmed.&lt;br /&gt;
&lt;br /&gt;
=== Instrument cluster output test (0x274 / 0x674) ===&lt;br /&gt;
A rev counter sweep commanded by the Launch X431 appears as a single KWP output-control request, after which the cluster sweeps the needle up and down by itself:&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! Request !! Reply !! Notes&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;3E 00&amp;lt;/code&amp;gt; || &amp;lt;code&amp;gt;7E&amp;lt;/code&amp;gt; || Tester present, about every 2.15 s&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;30 01 07 80 40 00 00&amp;lt;/code&amp;gt; || &amp;lt;code&amp;gt;70 01 07&amp;lt;/code&amp;gt; || Starts the sweep (service 0x30, local ID 01, &amp;quot;short-term adjustment&amp;quot;)&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;30 01 07 80 00 00 00&amp;lt;/code&amp;gt; || &amp;lt;code&amp;gt;7F 30 22&amp;lt;/code&amp;gt; || Refused (&amp;quot;conditions not correct&amp;quot;); possibly a stop request sent after the sweep had finished&lt;br /&gt;
|}&lt;br /&gt;
The meaning of the four control bytes (80 40 00 00) is not known.&lt;br /&gt;
&lt;br /&gt;
== Open questions ==&lt;br /&gt;
* Meaning of reply bytes +5, +7, +8 and the unexplained regions.&lt;br /&gt;
* A reliable pressure scale and offset (more gauge readings needed).&lt;br /&gt;
* Whether other Suzuki modules use addresses near 0x798 (not checked).&lt;br /&gt;
* Why Torque stops after the first line.&lt;br /&gt;
&lt;br /&gt;
== Sources ==&lt;br /&gt;
* Owner PCAN-View captures, October 2026.&lt;br /&gt;
* Suzuki wiring diagrams: A-8 CAN communication system; A-8 Central Gateway Control and DLC System (RHD).&lt;br /&gt;
* Forum thread &amp;quot;Jimny JB74 (2019+) - Torque Pro PID for TPMS&amp;quot;.&lt;br /&gt;
* BigJimny forum thread &amp;quot;JB74 OBD2 connection&amp;quot; (December 2020).&lt;br /&gt;
&lt;br /&gt;
[[Category:Jimny technical]]&lt;br /&gt;
[[Category:JB74]]&lt;br /&gt;
[[Category:Electrical - gen3]]&lt;br /&gt;
[[Category:FAQ - gen3]]&lt;br /&gt;
[[Category:Howto - gen3]]&lt;br /&gt;
&lt;br /&gt;
[[Category:Electrical - gen4]]&lt;br /&gt;
[[Category:FAQ - gen4]]&lt;br /&gt;
[[Category:Howto - gen4]]&lt;/div&gt;</summary>
		<author><name>Mlines</name></author>
	</entry>
	<entry>
		<id>https://www.bigjimny.com/mediawiki/index.php?title=OBD2_Diagnostics_reading_project&amp;diff=10079</id>
		<title>OBD2 Diagnostics reading project</title>
		<link rel="alternate" type="text/html" href="https://www.bigjimny.com/mediawiki/index.php?title=OBD2_Diagnostics_reading_project&amp;diff=10079"/>
		<updated>2026-11-01T10:36:45Z</updated>

		<summary type="html">&lt;p&gt;Mlines: /* Method */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;= Suzuki Jimny JB74 (2018+) - Reading TPMS data over the diagnostic CAN link =&lt;br /&gt;
&lt;br /&gt;
{{Donate}}&lt;br /&gt;
== Overview ==&lt;br /&gt;
Purpose-built diagnostic tools (Autel, Launch and similar) already support Suzuki comprehensively. There is also a trend towards replacing the factory head unit with an Android media unit that can run apps to read and display information from the car&#039;s electronics. These units are not Suzuki-specific, so this project aims to learn how to read vehicle data (starting with the factory TPMS) and show it on the head unit.&lt;br /&gt;
&lt;br /&gt;
=== Equipment ===&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! Role !! Item&lt;br /&gt;
|-&lt;br /&gt;
| Head unit || XTRONS PX90&lt;br /&gt;
|-&lt;br /&gt;
| OBD-II Bluetooth dongle 1 || Generic ELM-based (Chinese)&lt;br /&gt;
|-&lt;br /&gt;
| OBD-II Bluetooth dongle 2 || Veepeak OBDCheck BLE+ (BLE only; unreliable on this head unit)&lt;br /&gt;
|-&lt;br /&gt;
| CAN bus monitor (Windows) || PCAN-View (PEAK-System)&lt;br /&gt;
|-&lt;br /&gt;
| Diagnostic tool 1 || Launch X431 CRP919&lt;br /&gt;
|-&lt;br /&gt;
| Diagnostic tool 2 || SZ Viewer app&lt;br /&gt;
|-&lt;br /&gt;
| Head-unit apps tried || Torque Pro (fails past the first line), RealDash (TPMS values seen in its debug view; gauges in progress), Car Scanner Pro (works)&lt;br /&gt;
|-&lt;br /&gt;
| Head-unit Bluetooth || xTRONS IP90  - Classic Bluetooth only, no BLE support&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== Method ===&lt;br /&gt;
# The diagnostic tools (Launch X431, SZ Viewer) have comprehensive Suzuki support, so they are used to generate the CAN bus requests.&lt;br /&gt;
# PCAN-View is connected to the OBD socket to capture the requests and the module&#039;s replies, which are then decoded by hand.&lt;br /&gt;
# The decoded requests are recreated in the head-unit apps so the head unit can ask the car for the same data directly.&lt;br /&gt;
&#039;&#039;&#039;Status:&#039;&#039;&#039; work in progress. Based on one RHD UK-market 2021 Jimny with factory TPMS, owner-made PCAN-View captures (including a full Launch scan and an instrument cluster test), the Suzuki wiring diagrams (A-8 CAN communication and A-8 Central Gateway/DLC) and the Suzuki parts catalogue. TPMS readings work in Car Scanner Pro; RealDash works in its debug view with gauges in progress. Items marked &#039;&#039;unconfirmed&#039;&#039; are not yet verified.&lt;br /&gt;
&lt;br /&gt;
== Summary ==&lt;br /&gt;
* The TPMS control module answers an ordinary diagnostic request on the OBD socket. It does not broadcast tyre data.&lt;br /&gt;
* Request ID &#039;&#039;&#039;0x798&#039;&#039;&#039;, reply ID &#039;&#039;&#039;0x7A8&#039;&#039;&#039;, 11-bit CAN, 500 kbit/s, ISO-TP framing.&lt;br /&gt;
* Service &#039;&#039;&#039;0x21&#039;&#039;&#039; (read data by local identifier), identifier &#039;&#039;&#039;0x00&#039;&#039;&#039;, returns 102 bytes containing all four sensor records.&lt;br /&gt;
* The OBD socket is fed by a central gateway, so only diagnostic traffic is visible on it.&lt;br /&gt;
&lt;br /&gt;
== DLC (OBD socket) wiring ==&lt;br /&gt;
The service-manual diagram numbers the DLC terminals differently from SAE J1962. In all five cases on the diagram, manual terminal &#039;&#039;n&#039;&#039; matches standard pin &#039;&#039;17 - n&#039;&#039;.&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! Manual terminal !! Standard pin !! Function !! Wire / source on diagram&lt;br /&gt;
|-&lt;br /&gt;
| 1 || 16 || Battery +12 V || GRY, fuse No.49 &amp;quot;DOME2&amp;quot; (10 A)&lt;br /&gt;
|-&lt;br /&gt;
| 12 || 5 || Signal ground || BLK&lt;br /&gt;
|-&lt;br /&gt;
| 13 || 4 || Chassis ground || BLK&lt;br /&gt;
|-&lt;br /&gt;
| 11 || 6 || CAN-H (from standard assignment) || BLU, gateway pin 8&lt;br /&gt;
|-&lt;br /&gt;
| 3 || 14 || CAN-L (from standard assignment) || WHT, gateway pin 7&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
Use pins &#039;&#039;&#039;6&#039;&#039;&#039; and &#039;&#039;&#039;14&#039;&#039;&#039; for a CAN adapter. The diagram does not label CAN-H and CAN-L itself.&lt;br /&gt;
&lt;br /&gt;
=== Cross-check with other reports ===&lt;br /&gt;
A BigJimny forum thread (&amp;quot;JB74 OBD2 connection&amp;quot;, December 2020) describes a 2020 JB74 whose OBD plug had pins 4, 5, 6, 14, 15 and 16 wired, with pin 7 (K-line) not wired. The poster, quoting an older Suzuki pinout, lists pin 6 as a blue wire (CAN-H) and pin 14 as a white wire (CAN-L). This matches the table above: a blue CAN wire on pin 6 and a white one on pin 14.&lt;br /&gt;
&lt;br /&gt;
* The CAN-H/CAN-L assignment in that thread comes from a pinout reference that the poster says predates the JB74, so it is a report, not a measurement.&lt;br /&gt;
* No wire for standard pin 7 (K-line) appears on the diagram page above, and the forum report also found it unwired. K-line is therefore unlikely to be available on the JB74 socket.&lt;br /&gt;
* On the forum poster&#039;s car, pin 15 was also wired; the diagram page above shows no wire for it. This may be a market or model-year difference.&lt;br /&gt;
&lt;br /&gt;
== Network layout ==&lt;br /&gt;
The DLC is not on the vehicle bus directly. The &#039;&#039;&#039;central gateway control module&#039;&#039;&#039; joins the vehicle CAN bus (its pins 20 and 21, RED/WHT) and provides a separate CAN pair to the DLC (its pins 8 and 7, BLU/WHT).&lt;br /&gt;
&lt;br /&gt;
Modules on the vehicle bus (diagram): ECM, 4WD control module, TCM (A/T models), BCM, ESP control module, headlight auto levelling module (if equipped), dual sensor brake support control module (if equipped), P/S control module, steering angle sensor, TPMS control module / receiver (if equipped), combination meter, SDM, combination switch.&lt;br /&gt;
&lt;br /&gt;
Gateway power: fuse No.60 &amp;quot;IG1 SIG&amp;quot; (10 A) and fuse No.52 &amp;quot;CONT&amp;quot; (5 A). Treat the ignition as needing to be on.&lt;br /&gt;
&lt;br /&gt;
Observation: two captures from the DLC contained only IDs 0x798 and 0x7A8 (plus two error frames). No broadcast traffic from other modules was seen, so passive listening on the DLC will not show TPMS data.&lt;br /&gt;
&lt;br /&gt;
== Diagnostic requests seen ==&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! Request !! Reply !! Meaning&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;3E&amp;lt;/code&amp;gt; || &amp;lt;code&amp;gt;7E&amp;lt;/code&amp;gt; || Tester present&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;1A 8A&amp;lt;/code&amp;gt; || &amp;lt;code&amp;gt;5A 8A&amp;lt;/code&amp;gt; + ASCII &amp;lt;code&amp;gt;37120-78R0*&amp;lt;/code&amp;gt; || ECU identification&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;1A 8E&amp;lt;/code&amp;gt; || &amp;lt;code&amp;gt;5A 8E&amp;lt;/code&amp;gt; + ASCII &amp;lt;code&amp;gt;37160-61M0&amp;lt;/code&amp;gt; || ECU identification: matches the &amp;quot;Model No. P61M0&amp;quot; printed on the TPMS controller label&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;18 00 FF 00&amp;lt;/code&amp;gt; || &amp;lt;code&amp;gt;58 00&amp;lt;/code&amp;gt; or &amp;lt;code&amp;gt;58 01 9A 31 E0&amp;lt;/code&amp;gt; || Read DTCs by status (second form = one code reported; not decoded)&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;21 00&amp;lt;/code&amp;gt; || &amp;lt;code&amp;gt;61 00&amp;lt;/code&amp;gt; + 100 bytes || Sensor data block (repeated about twice a second by the scan tool)&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
Part labels on the test car: TPMS controller 37160-78R00, &amp;quot;BASE ASSY-TPMS&amp;quot;, Model No. P61M0, Continental A2C13930301, 433.92 MHz; central gateway controller 33580-79R01. The &amp;lt;code&amp;gt;1A 8E&amp;lt;/code&amp;gt; reply (37160-61M0) matches the TPMS controller&#039;s base number and model number; the &amp;lt;code&amp;gt;1A 8A&amp;lt;/code&amp;gt; reply (37120-78R0*) shares &amp;quot;78R0&amp;quot; with its full part number but its meaning is not confirmed&lt;br /&gt;
&lt;br /&gt;
== Reading it with an ELM327 ==&lt;br /&gt;
Terminal commands, one at a time (CR line ending):&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
ATZ&lt;br /&gt;
ATSP6&lt;br /&gt;
ATSH798&lt;br /&gt;
ATS0&lt;br /&gt;
ATL0&lt;br /&gt;
ATFCSH798&lt;br /&gt;
ATFCSD300000&lt;br /&gt;
ATFCSM1&lt;br /&gt;
2100&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
* &amp;lt;code&amp;gt;ATSH798&amp;lt;/code&amp;gt; sets the request address. The reply address (0x7A8) is worked out automatically.&lt;br /&gt;
* &amp;lt;code&amp;gt;ATFCSH798 / ATFCSD300000 / ATFCSM1&amp;lt;/code&amp;gt; make the adapter send the ISO-TP flow-control frame (30 00 00) itself.&lt;br /&gt;
* &amp;lt;code&amp;gt;ATS0&amp;lt;/code&amp;gt; removes the spaces between bytes.Without it, the generic Chinese ELM327-based dongle (dongle 1) reported &amp;lt;code&amp;gt;BUFFER FULL&amp;lt;/code&amp;gt; near byte 81.&lt;br /&gt;
* Expected output: a length line (&amp;lt;code&amp;gt;066&amp;lt;/code&amp;gt; = 102 bytes) and numbered lines &amp;lt;code&amp;gt;0:&amp;lt;/code&amp;gt; to &amp;lt;code&amp;gt;E:&amp;lt;/code&amp;gt;.&lt;br /&gt;
* With default settings dongle 1 returned only the first line (&amp;lt;code&amp;gt;61 00 xx 01 00 00&amp;lt;/code&amp;gt;).&lt;br /&gt;
&lt;br /&gt;
== Reply layout (21 00) ==&lt;br /&gt;
Byte positions count the &amp;lt;code&amp;gt;61&amp;lt;/code&amp;gt; as byte 0.&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! Bytes !! Content&lt;br /&gt;
|-&lt;br /&gt;
| 0-1 || &amp;lt;code&amp;gt;61 00&amp;lt;/code&amp;gt; (positive reply)&lt;br /&gt;
|-&lt;br /&gt;
| 2 || Varies 117-142. Looks like system voltage x 10 (&#039;&#039;unconfirmed&#039;&#039;)&lt;br /&gt;
|-&lt;br /&gt;
| 12-21 || Sensor record 1: front left&lt;br /&gt;
|-&lt;br /&gt;
| 22-31 || Sensor record 2: rear left&lt;br /&gt;
|-&lt;br /&gt;
| 32-41 || Sensor record 3: rear right&lt;br /&gt;
|-&lt;br /&gt;
| 42-51 || Sensor record 4: front right&lt;br /&gt;
|-&lt;br /&gt;
| 56-71 || Four 4-byte sensor-ID entries whose contents change (meaning unknown)&lt;br /&gt;
|-&lt;br /&gt;
| other || Not decoded&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== Sensor record (10 bytes) ===&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! Offset !! Content&lt;br /&gt;
|-&lt;br /&gt;
| +0 to +3 || Sensor ID&lt;br /&gt;
|-&lt;br /&gt;
| +4 || Position flag&lt;br /&gt;
|-&lt;br /&gt;
| +5 || Value 57-74. Behaves like temperature, possibly with an offset of 40 (&#039;&#039;unconfirmed&#039;&#039;)&lt;br /&gt;
|-&lt;br /&gt;
| +6 || Pressure candidate (see calibration)&lt;br /&gt;
|-&lt;br /&gt;
| +7, +8 || Not understood&lt;br /&gt;
|-&lt;br /&gt;
| +9 || Always 0&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! Wheel !! Sensor ID !! Position flag&lt;br /&gt;
|-&lt;br /&gt;
| Front left || 4E AA 09 43 || 0x10&lt;br /&gt;
|-&lt;br /&gt;
| Rear left || DD 91 B5 25 || 0x20&lt;br /&gt;
|-&lt;br /&gt;
| Rear right || 4E AA 03 19 || 0x18&lt;br /&gt;
|-&lt;br /&gt;
| Front right || 4E AA 09 C9 || 0x08&lt;br /&gt;
|}&lt;br /&gt;
Sensor IDs are specific to one car. Yours will differ.&lt;br /&gt;
&lt;br /&gt;
== Calibration ==&lt;br /&gt;
Byte +6 against gauge readings (bar). The five deflation-test counts were reconstructed from the app&#039;s displayed values.&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! Raw !! Gauge (bar) !! Raw x 0.01372&lt;br /&gt;
|-&lt;br /&gt;
| 136 (rear left) || 1.868 || 1.866&lt;br /&gt;
|-&lt;br /&gt;
| 131 (rear right) || 1.795 || 1.797&lt;br /&gt;
|-&lt;br /&gt;
| 131 (front right) || 1.795 || 1.797&lt;br /&gt;
|-&lt;br /&gt;
| 126 || 1.73 || 1.729&lt;br /&gt;
|-&lt;br /&gt;
| 119 || 1.63 || 1.633&lt;br /&gt;
|-&lt;br /&gt;
| 112 || 1.54 || 1.537&lt;br /&gt;
|-&lt;br /&gt;
| 101 || 1.39 || 1.386&lt;br /&gt;
|-&lt;br /&gt;
| 96 || 1.29 || 1.317&lt;br /&gt;
|}&lt;br /&gt;
The last five rows are from one tyre during a slow deflation (assumed front left).&lt;br /&gt;
* bar = raw x 0.01372&lt;br /&gt;
* psi = raw x 0.199&lt;br /&gt;
&lt;br /&gt;
No offset is needed, which suggests the byte holds gauge pressure. All points are within 0.004 bar except the lowest (0.027 bar off), which may be sensor update lag or slight non-linearity. More readings at low and high pressure are needed.&lt;br /&gt;
&lt;br /&gt;
== Torque Pro custom PIDs ==&lt;br /&gt;
Common fields for every wheel:&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! Field !! Value&lt;br /&gt;
|-&lt;br /&gt;
| Header || 798&lt;br /&gt;
|-&lt;br /&gt;
| Mode and PID || 2100&lt;br /&gt;
|-&lt;br /&gt;
| Diagnostic start command || &amp;lt;code&amp;gt;ATS0, ATL0, ATFCSH798, ATFCSD300000, ATFCSM1&amp;lt;/code&amp;gt; (comma-separated)&lt;br /&gt;
|-&lt;br /&gt;
| Unit / min / max || bar, 0, 4 (or psi, 0, 60)&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
Equation uses a letter for each data byte. &amp;lt;code&amp;gt;A&amp;lt;/code&amp;gt; is the first byte after &amp;lt;code&amp;gt;61 00&amp;lt;/code&amp;gt; (reply byte 2).&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! Wheel !! Byte +5 (temperature?) !! Byte +6 (pressure candidate)&lt;br /&gt;
|-&lt;br /&gt;
| Front left || P || Q&lt;br /&gt;
|-&lt;br /&gt;
| Front right || AT || AU&lt;br /&gt;
|-&lt;br /&gt;
| Rear left || Z || AA&lt;br /&gt;
|-&lt;br /&gt;
| Rear right || AJ || AK&lt;br /&gt;
|}&lt;br /&gt;
Example: &amp;lt;code&amp;gt;Q*0.01372&amp;lt;/code&amp;gt;. Letters must be upper case. Whether Torque accepts two-letter variables is &#039;&#039;unconfirmed&#039;&#039;.&lt;br /&gt;
&lt;br /&gt;
=== Known problem ===&lt;br /&gt;
Using dongle 1 (generic Chinese ELM327-based) with Torque Pro on the XTRONS PX90, Torque read bytes &amp;lt;code&amp;gt;A&amp;lt;/code&amp;gt; to &amp;lt;code&amp;gt;D&amp;lt;/code&amp;gt; (first line of the reply) correctly, but every byte from &amp;lt;code&amp;gt;E&amp;lt;/code&amp;gt; onward returned -1, even though a terminal received the full 102 bytes with the same commands. The start-command field is applied (adding &amp;lt;code&amp;gt;ATH1&amp;lt;/code&amp;gt; changed the output). Tried without success: turning off &amp;quot;Faster communication&amp;quot;, removing &amp;lt;code&amp;gt;ATS0&amp;lt;/code&amp;gt;. Not yet tried: &amp;lt;code&amp;gt;ATAT0, ATSTFF&amp;lt;/code&amp;gt; timeout settings, other apps, and the Veepeak OBDCheck BLE+ (dongle 2).. Unresolved.&lt;br /&gt;
The same result occurred with the Veepeak OBDCheck BLE+ (dongle 2). Car Scanner Pro does not have this problem (see below).&lt;br /&gt;
&lt;br /&gt;
== Car Scanner Pro (working) ==&lt;br /&gt;
Car Scanner Pro reads all the bytes where Torque Pro fails. Custom PID settings used:&lt;br /&gt;
* Header: 798&lt;br /&gt;
* Request: 2100&lt;br /&gt;
* Start command (backslash-separated): &amp;lt;code&amp;gt;ATAT0\ATSTFF\ATS0\ATL0\ATFCSH798\ATFCSD300000\ATFCSM1&amp;lt;/code&amp;gt;&lt;br /&gt;
* Equations use the same letters as the table above, for example &amp;lt;code&amp;gt;Q*0.01372&amp;lt;/code&amp;gt; for front left (bar)&lt;br /&gt;
&lt;br /&gt;
The start command has not yet been shortened. Adapter: Both dongle 1 (generic ELM327-based) and dongle 2 (Veepeak OBDCheck BLE+) work with Car Scanner Pro.&lt;br /&gt;
== Other modules found by a full scan ==&lt;br /&gt;
A full health-check scan with a Launch X431 CRP919, captured with PCAN-View on the OBD socket, shows 12 modules answering on the DLC. Every module that replied is listed here. The reply ID is not always the request ID plus 8.&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! Request !! Reply !! Protocol !! Identification replies !! Module !! How identified&lt;br /&gt;
|-&lt;br /&gt;
| 0x7E0 || 0x7E8 || KWP || 33980-78R0, 33980-78RC* || ECM || Standard engine address&lt;br /&gt;
|-&lt;br /&gt;
| 0x261 || 0x661 || KWP || 56100-77RA, 56100-78RF* || ABS (inferred) || Only brake module left by elimination&lt;br /&gt;
|-&lt;br /&gt;
| 0x263 || 0x663 || KWP || 38720-77R0, 38720-77R0* || EPS controller || Parts catalogue&lt;br /&gt;
|-&lt;br /&gt;
| 0x271 || 0x671 || KWP || 36775-77R0, 36775-77RC* || Body control module || Parts catalogue&lt;br /&gt;
|-&lt;br /&gt;
| 0x274 || 0x674 || KWP || 34100-78R0, 34110-78RD* || Instrument cluster || Rev counter sweep test&lt;br /&gt;
|-&lt;br /&gt;
| 0x798 || 0x7A8 || KWP || 37160-61M0, 37120-78R0* || TPMS controller || Label and parts catalogue&lt;br /&gt;
|-&lt;br /&gt;
| 0x79A || 0x7AA || KWP || 37210-74PA, 37210-74PE* || Lighting and turn switch || Parts catalogue&lt;br /&gt;
|-&lt;br /&gt;
| 0x778 || 0x788 || KWP || 33990-52R0, 33990-78R8* || Dual sensor brake support || Parts catalogue&lt;br /&gt;
|-&lt;br /&gt;
| 0x793 || 0x7A3 || UDS || 38910-77R0, 38910-78RC* || Airbag (SRS) controller || Parts catalogue&lt;br /&gt;
|-&lt;br /&gt;
| 0x772 || 0x782 || UDS || 38885-77R0, 38885-78R0* || 4WD shift controller || Parts catalogue&lt;br /&gt;
|-&lt;br /&gt;
| 0x799 || 0x7A9 || UDS || 38960-78RA, 38960-78RA* || E-call controller || Parts catalogue&lt;br /&gt;
|-&lt;br /&gt;
| 0x751 || 0x761 || UDS || 33580-79R0, 33580-78R0* || Central gateway || Label and parts catalogue&lt;br /&gt;
|}&lt;br /&gt;
Reply ID offsets: engine +0x08; 0x261 to 0x274 +0x400; all others +0x10.&lt;br /&gt;
&lt;br /&gt;
* KWP-style modules answer &amp;lt;code&amp;gt;1A 8E&amp;lt;/code&amp;gt; and &amp;lt;code&amp;gt;1A 8A&amp;lt;/code&amp;gt; (identification) and &amp;lt;code&amp;gt;18 00 FF 00&amp;lt;/code&amp;gt; (DTCs). UDS-style modules answer &amp;lt;code&amp;gt;22 F1 01&amp;lt;/code&amp;gt; and &amp;lt;code&amp;gt;22 F1 88&amp;lt;/code&amp;gt; (identification) and &amp;lt;code&amp;gt;19 02 FF&amp;lt;/code&amp;gt; (DTCs).&lt;br /&gt;
* Requests to 0x273 and 0x262 (tester present) got no reply, so those modules are probably not fitted.&lt;br /&gt;
* The &amp;quot;probable&amp;quot; and &amp;quot;possible&amp;quot; names are guesses from the part-number series and are not confirmed.&lt;br /&gt;
&lt;br /&gt;
=== Instrument cluster output test (0x274 / 0x674) ===&lt;br /&gt;
A rev counter sweep commanded by the Launch X431 appears as a single KWP output-control request, after which the cluster sweeps the needle up and down by itself:&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! Request !! Reply !! Notes&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;3E 00&amp;lt;/code&amp;gt; || &amp;lt;code&amp;gt;7E&amp;lt;/code&amp;gt; || Tester present, about every 2.15 s&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;30 01 07 80 40 00 00&amp;lt;/code&amp;gt; || &amp;lt;code&amp;gt;70 01 07&amp;lt;/code&amp;gt; || Starts the sweep (service 0x30, local ID 01, &amp;quot;short-term adjustment&amp;quot;)&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;30 01 07 80 00 00 00&amp;lt;/code&amp;gt; || &amp;lt;code&amp;gt;7F 30 22&amp;lt;/code&amp;gt; || Refused (&amp;quot;conditions not correct&amp;quot;); possibly a stop request sent after the sweep had finished&lt;br /&gt;
|}&lt;br /&gt;
The meaning of the four control bytes (80 40 00 00) is not known.&lt;br /&gt;
&lt;br /&gt;
== Open questions ==&lt;br /&gt;
* Meaning of reply bytes +5, +7, +8 and the unexplained regions.&lt;br /&gt;
* A reliable pressure scale and offset (more gauge readings needed).&lt;br /&gt;
* Whether other Suzuki modules use addresses near 0x798 (not checked).&lt;br /&gt;
* Why Torque stops after the first line.&lt;br /&gt;
&lt;br /&gt;
== Sources ==&lt;br /&gt;
* Owner PCAN-View captures, October 2026.&lt;br /&gt;
* Suzuki wiring diagrams: A-8 CAN communication system; A-8 Central Gateway Control and DLC System (RHD).&lt;br /&gt;
* Forum thread &amp;quot;Jimny JB74 (2019+) - Torque Pro PID for TPMS&amp;quot;.&lt;br /&gt;
* BigJimny forum thread &amp;quot;JB74 OBD2 connection&amp;quot; (December 2020).&lt;br /&gt;
&lt;br /&gt;
[[Category:Jimny technical]]&lt;br /&gt;
[[Category:JB74]]&lt;br /&gt;
[[Category:Electrical - gen3]]&lt;br /&gt;
[[Category:FAQ - gen3]]&lt;br /&gt;
[[Category:Howto - gen3]]&lt;br /&gt;
&lt;br /&gt;
[[Category:Electrical - gen4]]&lt;br /&gt;
[[Category:FAQ - gen4]]&lt;br /&gt;
[[Category:Howto - gen4]]&lt;/div&gt;</summary>
		<author><name>Mlines</name></author>
	</entry>
	<entry>
		<id>https://www.bigjimny.com/mediawiki/index.php?title=OBD2_Diagnostics_reading_project&amp;diff=10078</id>
		<title>OBD2 Diagnostics reading project</title>
		<link rel="alternate" type="text/html" href="https://www.bigjimny.com/mediawiki/index.php?title=OBD2_Diagnostics_reading_project&amp;diff=10078"/>
		<updated>2026-11-01T10:35:58Z</updated>

		<summary type="html">&lt;p&gt;Mlines: /* Equipment */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;= Suzuki Jimny JB74 (2018+) - Reading TPMS data over the diagnostic CAN link =&lt;br /&gt;
&lt;br /&gt;
{{Donate}}&lt;br /&gt;
== Overview ==&lt;br /&gt;
Purpose-built diagnostic tools (Autel, Launch and similar) already support Suzuki comprehensively. There is also a trend towards replacing the factory head unit with an Android media unit that can run apps to read and display information from the car&#039;s electronics. These units are not Suzuki-specific, so this project aims to learn how to read vehicle data (starting with the factory TPMS) and show it on the head unit.&lt;br /&gt;
&lt;br /&gt;
=== Equipment ===&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! Role !! Item&lt;br /&gt;
|-&lt;br /&gt;
| Head unit || XTRONS PX90&lt;br /&gt;
|-&lt;br /&gt;
| OBD-II Bluetooth dongle 1 || Generic ELM-based (Chinese)&lt;br /&gt;
|-&lt;br /&gt;
| OBD-II Bluetooth dongle 2 || Veepeak OBDCheck BLE+ (BLE only; unreliable on this head unit)&lt;br /&gt;
|-&lt;br /&gt;
| CAN bus monitor (Windows) || PCAN-View (PEAK-System)&lt;br /&gt;
|-&lt;br /&gt;
| Diagnostic tool 1 || Launch X431 CRP919&lt;br /&gt;
|-&lt;br /&gt;
| Diagnostic tool 2 || SZ Viewer app&lt;br /&gt;
|-&lt;br /&gt;
| Head-unit apps tried || Torque Pro (fails past the first line), RealDash (TPMS values seen in its debug view; gauges in progress), Car Scanner Pro (works)&lt;br /&gt;
|-&lt;br /&gt;
| Head-unit Bluetooth || xTRONS IP90  - Classic Bluetooth only, no BLE support&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== Method ===&lt;br /&gt;
# The diagnostic tools (Launch X431, SZ Viewer) have comprehensive Suzuki support, so they are used to generate the CAN bus requests.&lt;br /&gt;
# PCAN-View is connected to the OBD socket to capture the requests and the module&#039;s replies, which are then decoded by hand.&lt;br /&gt;
# The decoded requests are recreated in the head-unit apps so the head unit can ask the car for the same data directly.&lt;br /&gt;
&#039;&#039;&#039;Status:&#039;&#039;&#039; work in progress. Based on one RHD UK-market 2021 Jimny with factory TPMS, owner-made PCAN-View captures, and the Suzuki wiring diagrams (A-8 CAN communication and A-8 Central Gateway/DLC). Items marked &#039;&#039;unconfirmed&#039;&#039; are not yet verified.&lt;br /&gt;
&lt;br /&gt;
== Summary ==&lt;br /&gt;
* The TPMS control module answers an ordinary diagnostic request on the OBD socket. It does not broadcast tyre data.&lt;br /&gt;
* Request ID &#039;&#039;&#039;0x798&#039;&#039;&#039;, reply ID &#039;&#039;&#039;0x7A8&#039;&#039;&#039;, 11-bit CAN, 500 kbit/s, ISO-TP framing.&lt;br /&gt;
* Service &#039;&#039;&#039;0x21&#039;&#039;&#039; (read data by local identifier), identifier &#039;&#039;&#039;0x00&#039;&#039;&#039;, returns 102 bytes containing all four sensor records.&lt;br /&gt;
* The OBD socket is fed by a central gateway, so only diagnostic traffic is visible on it.&lt;br /&gt;
&lt;br /&gt;
== DLC (OBD socket) wiring ==&lt;br /&gt;
The service-manual diagram numbers the DLC terminals differently from SAE J1962. In all five cases on the diagram, manual terminal &#039;&#039;n&#039;&#039; matches standard pin &#039;&#039;17 - n&#039;&#039;.&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! Manual terminal !! Standard pin !! Function !! Wire / source on diagram&lt;br /&gt;
|-&lt;br /&gt;
| 1 || 16 || Battery +12 V || GRY, fuse No.49 &amp;quot;DOME2&amp;quot; (10 A)&lt;br /&gt;
|-&lt;br /&gt;
| 12 || 5 || Signal ground || BLK&lt;br /&gt;
|-&lt;br /&gt;
| 13 || 4 || Chassis ground || BLK&lt;br /&gt;
|-&lt;br /&gt;
| 11 || 6 || CAN-H (from standard assignment) || BLU, gateway pin 8&lt;br /&gt;
|-&lt;br /&gt;
| 3 || 14 || CAN-L (from standard assignment) || WHT, gateway pin 7&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
Use pins &#039;&#039;&#039;6&#039;&#039;&#039; and &#039;&#039;&#039;14&#039;&#039;&#039; for a CAN adapter. The diagram does not label CAN-H and CAN-L itself.&lt;br /&gt;
&lt;br /&gt;
=== Cross-check with other reports ===&lt;br /&gt;
A BigJimny forum thread (&amp;quot;JB74 OBD2 connection&amp;quot;, December 2020) describes a 2020 JB74 whose OBD plug had pins 4, 5, 6, 14, 15 and 16 wired, with pin 7 (K-line) not wired. The poster, quoting an older Suzuki pinout, lists pin 6 as a blue wire (CAN-H) and pin 14 as a white wire (CAN-L). This matches the table above: a blue CAN wire on pin 6 and a white one on pin 14.&lt;br /&gt;
&lt;br /&gt;
* The CAN-H/CAN-L assignment in that thread comes from a pinout reference that the poster says predates the JB74, so it is a report, not a measurement.&lt;br /&gt;
* No wire for standard pin 7 (K-line) appears on the diagram page above, and the forum report also found it unwired. K-line is therefore unlikely to be available on the JB74 socket.&lt;br /&gt;
* On the forum poster&#039;s car, pin 15 was also wired; the diagram page above shows no wire for it. This may be a market or model-year difference.&lt;br /&gt;
&lt;br /&gt;
== Network layout ==&lt;br /&gt;
The DLC is not on the vehicle bus directly. The &#039;&#039;&#039;central gateway control module&#039;&#039;&#039; joins the vehicle CAN bus (its pins 20 and 21, RED/WHT) and provides a separate CAN pair to the DLC (its pins 8 and 7, BLU/WHT).&lt;br /&gt;
&lt;br /&gt;
Modules on the vehicle bus (diagram): ECM, 4WD control module, TCM (A/T models), BCM, ESP control module, headlight auto levelling module (if equipped), dual sensor brake support control module (if equipped), P/S control module, steering angle sensor, TPMS control module / receiver (if equipped), combination meter, SDM, combination switch.&lt;br /&gt;
&lt;br /&gt;
Gateway power: fuse No.60 &amp;quot;IG1 SIG&amp;quot; (10 A) and fuse No.52 &amp;quot;CONT&amp;quot; (5 A). Treat the ignition as needing to be on.&lt;br /&gt;
&lt;br /&gt;
Observation: two captures from the DLC contained only IDs 0x798 and 0x7A8 (plus two error frames). No broadcast traffic from other modules was seen, so passive listening on the DLC will not show TPMS data.&lt;br /&gt;
&lt;br /&gt;
== Diagnostic requests seen ==&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! Request !! Reply !! Meaning&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;3E&amp;lt;/code&amp;gt; || &amp;lt;code&amp;gt;7E&amp;lt;/code&amp;gt; || Tester present&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;1A 8A&amp;lt;/code&amp;gt; || &amp;lt;code&amp;gt;5A 8A&amp;lt;/code&amp;gt; + ASCII &amp;lt;code&amp;gt;37120-78R0*&amp;lt;/code&amp;gt; || ECU identification&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;1A 8E&amp;lt;/code&amp;gt; || &amp;lt;code&amp;gt;5A 8E&amp;lt;/code&amp;gt; + ASCII &amp;lt;code&amp;gt;37160-61M0&amp;lt;/code&amp;gt; || ECU identification: matches the &amp;quot;Model No. P61M0&amp;quot; printed on the TPMS controller label&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;18 00 FF 00&amp;lt;/code&amp;gt; || &amp;lt;code&amp;gt;58 00&amp;lt;/code&amp;gt; or &amp;lt;code&amp;gt;58 01 9A 31 E0&amp;lt;/code&amp;gt; || Read DTCs by status (second form = one code reported; not decoded)&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;21 00&amp;lt;/code&amp;gt; || &amp;lt;code&amp;gt;61 00&amp;lt;/code&amp;gt; + 100 bytes || Sensor data block (repeated about twice a second by the scan tool)&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
Part labels on the test car: TPMS controller 37160-78R00, &amp;quot;BASE ASSY-TPMS&amp;quot;, Model No. P61M0, Continental A2C13930301, 433.92 MHz; central gateway controller 33580-79R01. The &amp;lt;code&amp;gt;1A 8E&amp;lt;/code&amp;gt; reply (37160-61M0) matches the TPMS controller&#039;s base number and model number; the &amp;lt;code&amp;gt;1A 8A&amp;lt;/code&amp;gt; reply (37120-78R0*) shares &amp;quot;78R0&amp;quot; with its full part number but its meaning is not confirmed&lt;br /&gt;
&lt;br /&gt;
== Reading it with an ELM327 ==&lt;br /&gt;
Terminal commands, one at a time (CR line ending):&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
ATZ&lt;br /&gt;
ATSP6&lt;br /&gt;
ATSH798&lt;br /&gt;
ATS0&lt;br /&gt;
ATL0&lt;br /&gt;
ATFCSH798&lt;br /&gt;
ATFCSD300000&lt;br /&gt;
ATFCSM1&lt;br /&gt;
2100&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
* &amp;lt;code&amp;gt;ATSH798&amp;lt;/code&amp;gt; sets the request address. The reply address (0x7A8) is worked out automatically.&lt;br /&gt;
* &amp;lt;code&amp;gt;ATFCSH798 / ATFCSD300000 / ATFCSM1&amp;lt;/code&amp;gt; make the adapter send the ISO-TP flow-control frame (30 00 00) itself.&lt;br /&gt;
* &amp;lt;code&amp;gt;ATS0&amp;lt;/code&amp;gt; removes the spaces between bytes.Without it, the generic Chinese ELM327-based dongle (dongle 1) reported &amp;lt;code&amp;gt;BUFFER FULL&amp;lt;/code&amp;gt; near byte 81.&lt;br /&gt;
* Expected output: a length line (&amp;lt;code&amp;gt;066&amp;lt;/code&amp;gt; = 102 bytes) and numbered lines &amp;lt;code&amp;gt;0:&amp;lt;/code&amp;gt; to &amp;lt;code&amp;gt;E:&amp;lt;/code&amp;gt;.&lt;br /&gt;
* With default settings dongle 1 returned only the first line (&amp;lt;code&amp;gt;61 00 xx 01 00 00&amp;lt;/code&amp;gt;).&lt;br /&gt;
&lt;br /&gt;
== Reply layout (21 00) ==&lt;br /&gt;
Byte positions count the &amp;lt;code&amp;gt;61&amp;lt;/code&amp;gt; as byte 0.&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! Bytes !! Content&lt;br /&gt;
|-&lt;br /&gt;
| 0-1 || &amp;lt;code&amp;gt;61 00&amp;lt;/code&amp;gt; (positive reply)&lt;br /&gt;
|-&lt;br /&gt;
| 2 || Varies 117-142. Looks like system voltage x 10 (&#039;&#039;unconfirmed&#039;&#039;)&lt;br /&gt;
|-&lt;br /&gt;
| 12-21 || Sensor record 1: front left&lt;br /&gt;
|-&lt;br /&gt;
| 22-31 || Sensor record 2: rear left&lt;br /&gt;
|-&lt;br /&gt;
| 32-41 || Sensor record 3: rear right&lt;br /&gt;
|-&lt;br /&gt;
| 42-51 || Sensor record 4: front right&lt;br /&gt;
|-&lt;br /&gt;
| 56-71 || Four 4-byte sensor-ID entries whose contents change (meaning unknown)&lt;br /&gt;
|-&lt;br /&gt;
| other || Not decoded&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== Sensor record (10 bytes) ===&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! Offset !! Content&lt;br /&gt;
|-&lt;br /&gt;
| +0 to +3 || Sensor ID&lt;br /&gt;
|-&lt;br /&gt;
| +4 || Position flag&lt;br /&gt;
|-&lt;br /&gt;
| +5 || Value 57-74. Behaves like temperature, possibly with an offset of 40 (&#039;&#039;unconfirmed&#039;&#039;)&lt;br /&gt;
|-&lt;br /&gt;
| +6 || Pressure candidate (see calibration)&lt;br /&gt;
|-&lt;br /&gt;
| +7, +8 || Not understood&lt;br /&gt;
|-&lt;br /&gt;
| +9 || Always 0&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! Wheel !! Sensor ID !! Position flag&lt;br /&gt;
|-&lt;br /&gt;
| Front left || 4E AA 09 43 || 0x10&lt;br /&gt;
|-&lt;br /&gt;
| Rear left || DD 91 B5 25 || 0x20&lt;br /&gt;
|-&lt;br /&gt;
| Rear right || 4E AA 03 19 || 0x18&lt;br /&gt;
|-&lt;br /&gt;
| Front right || 4E AA 09 C9 || 0x08&lt;br /&gt;
|}&lt;br /&gt;
Sensor IDs are specific to one car. Yours will differ.&lt;br /&gt;
&lt;br /&gt;
== Calibration ==&lt;br /&gt;
Byte +6 against gauge readings (bar). The five deflation-test counts were reconstructed from the app&#039;s displayed values.&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! Raw !! Gauge (bar) !! Raw x 0.01372&lt;br /&gt;
|-&lt;br /&gt;
| 136 (rear left) || 1.868 || 1.866&lt;br /&gt;
|-&lt;br /&gt;
| 131 (rear right) || 1.795 || 1.797&lt;br /&gt;
|-&lt;br /&gt;
| 131 (front right) || 1.795 || 1.797&lt;br /&gt;
|-&lt;br /&gt;
| 126 || 1.73 || 1.729&lt;br /&gt;
|-&lt;br /&gt;
| 119 || 1.63 || 1.633&lt;br /&gt;
|-&lt;br /&gt;
| 112 || 1.54 || 1.537&lt;br /&gt;
|-&lt;br /&gt;
| 101 || 1.39 || 1.386&lt;br /&gt;
|-&lt;br /&gt;
| 96 || 1.29 || 1.317&lt;br /&gt;
|}&lt;br /&gt;
The last five rows are from one tyre during a slow deflation (assumed front left).&lt;br /&gt;
* bar = raw x 0.01372&lt;br /&gt;
* psi = raw x 0.199&lt;br /&gt;
&lt;br /&gt;
No offset is needed, which suggests the byte holds gauge pressure. All points are within 0.004 bar except the lowest (0.027 bar off), which may be sensor update lag or slight non-linearity. More readings at low and high pressure are needed.&lt;br /&gt;
&lt;br /&gt;
== Torque Pro custom PIDs ==&lt;br /&gt;
Common fields for every wheel:&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! Field !! Value&lt;br /&gt;
|-&lt;br /&gt;
| Header || 798&lt;br /&gt;
|-&lt;br /&gt;
| Mode and PID || 2100&lt;br /&gt;
|-&lt;br /&gt;
| Diagnostic start command || &amp;lt;code&amp;gt;ATS0, ATL0, ATFCSH798, ATFCSD300000, ATFCSM1&amp;lt;/code&amp;gt; (comma-separated)&lt;br /&gt;
|-&lt;br /&gt;
| Unit / min / max || bar, 0, 4 (or psi, 0, 60)&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
Equation uses a letter for each data byte. &amp;lt;code&amp;gt;A&amp;lt;/code&amp;gt; is the first byte after &amp;lt;code&amp;gt;61 00&amp;lt;/code&amp;gt; (reply byte 2).&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! Wheel !! Byte +5 (temperature?) !! Byte +6 (pressure candidate)&lt;br /&gt;
|-&lt;br /&gt;
| Front left || P || Q&lt;br /&gt;
|-&lt;br /&gt;
| Front right || AT || AU&lt;br /&gt;
|-&lt;br /&gt;
| Rear left || Z || AA&lt;br /&gt;
|-&lt;br /&gt;
| Rear right || AJ || AK&lt;br /&gt;
|}&lt;br /&gt;
Example: &amp;lt;code&amp;gt;Q*0.01372&amp;lt;/code&amp;gt;. Letters must be upper case. Whether Torque accepts two-letter variables is &#039;&#039;unconfirmed&#039;&#039;.&lt;br /&gt;
&lt;br /&gt;
=== Known problem ===&lt;br /&gt;
Using dongle 1 (generic Chinese ELM327-based) with Torque Pro on the XTRONS PX90, Torque read bytes &amp;lt;code&amp;gt;A&amp;lt;/code&amp;gt; to &amp;lt;code&amp;gt;D&amp;lt;/code&amp;gt; (first line of the reply) correctly, but every byte from &amp;lt;code&amp;gt;E&amp;lt;/code&amp;gt; onward returned -1, even though a terminal received the full 102 bytes with the same commands. The start-command field is applied (adding &amp;lt;code&amp;gt;ATH1&amp;lt;/code&amp;gt; changed the output). Tried without success: turning off &amp;quot;Faster communication&amp;quot;, removing &amp;lt;code&amp;gt;ATS0&amp;lt;/code&amp;gt;. Not yet tried: &amp;lt;code&amp;gt;ATAT0, ATSTFF&amp;lt;/code&amp;gt; timeout settings, other apps, and the Veepeak OBDCheck BLE+ (dongle 2).. Unresolved.&lt;br /&gt;
The same result occurred with the Veepeak OBDCheck BLE+ (dongle 2). Car Scanner Pro does not have this problem (see below).&lt;br /&gt;
&lt;br /&gt;
== Car Scanner Pro (working) ==&lt;br /&gt;
Car Scanner Pro reads all the bytes where Torque Pro fails. Custom PID settings used:&lt;br /&gt;
* Header: 798&lt;br /&gt;
* Request: 2100&lt;br /&gt;
* Start command (backslash-separated): &amp;lt;code&amp;gt;ATAT0\ATSTFF\ATS0\ATL0\ATFCSH798\ATFCSD300000\ATFCSM1&amp;lt;/code&amp;gt;&lt;br /&gt;
* Equations use the same letters as the table above, for example &amp;lt;code&amp;gt;Q*0.01372&amp;lt;/code&amp;gt; for front left (bar)&lt;br /&gt;
&lt;br /&gt;
The start command has not yet been shortened. Adapter: Both dongle 1 (generic ELM327-based) and dongle 2 (Veepeak OBDCheck BLE+) work with Car Scanner Pro.&lt;br /&gt;
== Other modules found by a full scan ==&lt;br /&gt;
A full health-check scan with a Launch X431 CRP919, captured with PCAN-View on the OBD socket, shows 12 modules answering on the DLC. Every module that replied is listed here. The reply ID is not always the request ID plus 8.&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! Request !! Reply !! Protocol !! Identification replies !! Module !! How identified&lt;br /&gt;
|-&lt;br /&gt;
| 0x7E0 || 0x7E8 || KWP || 33980-78R0, 33980-78RC* || ECM || Standard engine address&lt;br /&gt;
|-&lt;br /&gt;
| 0x261 || 0x661 || KWP || 56100-77RA, 56100-78RF* || ABS (inferred) || Only brake module left by elimination&lt;br /&gt;
|-&lt;br /&gt;
| 0x263 || 0x663 || KWP || 38720-77R0, 38720-77R0* || EPS controller || Parts catalogue&lt;br /&gt;
|-&lt;br /&gt;
| 0x271 || 0x671 || KWP || 36775-77R0, 36775-77RC* || Body control module || Parts catalogue&lt;br /&gt;
|-&lt;br /&gt;
| 0x274 || 0x674 || KWP || 34100-78R0, 34110-78RD* || Instrument cluster || Rev counter sweep test&lt;br /&gt;
|-&lt;br /&gt;
| 0x798 || 0x7A8 || KWP || 37160-61M0, 37120-78R0* || TPMS controller || Label and parts catalogue&lt;br /&gt;
|-&lt;br /&gt;
| 0x79A || 0x7AA || KWP || 37210-74PA, 37210-74PE* || Lighting and turn switch || Parts catalogue&lt;br /&gt;
|-&lt;br /&gt;
| 0x778 || 0x788 || KWP || 33990-52R0, 33990-78R8* || Dual sensor brake support || Parts catalogue&lt;br /&gt;
|-&lt;br /&gt;
| 0x793 || 0x7A3 || UDS || 38910-77R0, 38910-78RC* || Airbag (SRS) controller || Parts catalogue&lt;br /&gt;
|-&lt;br /&gt;
| 0x772 || 0x782 || UDS || 38885-77R0, 38885-78R0* || 4WD shift controller || Parts catalogue&lt;br /&gt;
|-&lt;br /&gt;
| 0x799 || 0x7A9 || UDS || 38960-78RA, 38960-78RA* || E-call controller || Parts catalogue&lt;br /&gt;
|-&lt;br /&gt;
| 0x751 || 0x761 || UDS || 33580-79R0, 33580-78R0* || Central gateway || Label and parts catalogue&lt;br /&gt;
|}&lt;br /&gt;
Reply ID offsets: engine +0x08; 0x261 to 0x274 +0x400; all others +0x10.&lt;br /&gt;
&lt;br /&gt;
* KWP-style modules answer &amp;lt;code&amp;gt;1A 8E&amp;lt;/code&amp;gt; and &amp;lt;code&amp;gt;1A 8A&amp;lt;/code&amp;gt; (identification) and &amp;lt;code&amp;gt;18 00 FF 00&amp;lt;/code&amp;gt; (DTCs). UDS-style modules answer &amp;lt;code&amp;gt;22 F1 01&amp;lt;/code&amp;gt; and &amp;lt;code&amp;gt;22 F1 88&amp;lt;/code&amp;gt; (identification) and &amp;lt;code&amp;gt;19 02 FF&amp;lt;/code&amp;gt; (DTCs).&lt;br /&gt;
* Requests to 0x273 and 0x262 (tester present) got no reply, so those modules are probably not fitted.&lt;br /&gt;
* The &amp;quot;probable&amp;quot; and &amp;quot;possible&amp;quot; names are guesses from the part-number series and are not confirmed.&lt;br /&gt;
&lt;br /&gt;
=== Instrument cluster output test (0x274 / 0x674) ===&lt;br /&gt;
A rev counter sweep commanded by the Launch X431 appears as a single KWP output-control request, after which the cluster sweeps the needle up and down by itself:&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! Request !! Reply !! Notes&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;3E 00&amp;lt;/code&amp;gt; || &amp;lt;code&amp;gt;7E&amp;lt;/code&amp;gt; || Tester present, about every 2.15 s&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;30 01 07 80 40 00 00&amp;lt;/code&amp;gt; || &amp;lt;code&amp;gt;70 01 07&amp;lt;/code&amp;gt; || Starts the sweep (service 0x30, local ID 01, &amp;quot;short-term adjustment&amp;quot;)&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;30 01 07 80 00 00 00&amp;lt;/code&amp;gt; || &amp;lt;code&amp;gt;7F 30 22&amp;lt;/code&amp;gt; || Refused (&amp;quot;conditions not correct&amp;quot;); possibly a stop request sent after the sweep had finished&lt;br /&gt;
|}&lt;br /&gt;
The meaning of the four control bytes (80 40 00 00) is not known.&lt;br /&gt;
&lt;br /&gt;
== Open questions ==&lt;br /&gt;
* Meaning of reply bytes +5, +7, +8 and the unexplained regions.&lt;br /&gt;
* A reliable pressure scale and offset (more gauge readings needed).&lt;br /&gt;
* Whether other Suzuki modules use addresses near 0x798 (not checked).&lt;br /&gt;
* Why Torque stops after the first line.&lt;br /&gt;
&lt;br /&gt;
== Sources ==&lt;br /&gt;
* Owner PCAN-View captures, October 2026.&lt;br /&gt;
* Suzuki wiring diagrams: A-8 CAN communication system; A-8 Central Gateway Control and DLC System (RHD).&lt;br /&gt;
* Forum thread &amp;quot;Jimny JB74 (2019+) - Torque Pro PID for TPMS&amp;quot;.&lt;br /&gt;
* BigJimny forum thread &amp;quot;JB74 OBD2 connection&amp;quot; (December 2020).&lt;br /&gt;
&lt;br /&gt;
[[Category:Jimny technical]]&lt;br /&gt;
[[Category:JB74]]&lt;br /&gt;
[[Category:Electrical - gen3]]&lt;br /&gt;
[[Category:FAQ - gen3]]&lt;br /&gt;
[[Category:Howto - gen3]]&lt;br /&gt;
&lt;br /&gt;
[[Category:Electrical - gen4]]&lt;br /&gt;
[[Category:FAQ - gen4]]&lt;br /&gt;
[[Category:Howto - gen4]]&lt;/div&gt;</summary>
		<author><name>Mlines</name></author>
	</entry>
	<entry>
		<id>https://www.bigjimny.com/mediawiki/index.php?title=ECU_diagnostic_CAN_addresses&amp;diff=10077</id>
		<title>ECU diagnostic CAN addresses</title>
		<link rel="alternate" type="text/html" href="https://www.bigjimny.com/mediawiki/index.php?title=ECU_diagnostic_CAN_addresses&amp;diff=10077"/>
		<updated>2026-11-01T10:30:11Z</updated>

		<summary type="html">&lt;p&gt;Mlines: /* 0x751 Central gateway */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&amp;lt;div style=&amp;quot;border: 1px solid #c9a227; background-color: #fff8dc; padding: 0.6em 1em; margin: 0 0 1em 0; border-radius: 4px;&amp;quot;&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;Support this project:&#039;&#039;&#039; 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 [https://buymeacoffee.com/bigjimny buymeacoffee.com/bigjimny].&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
= Suzuki Jimny JB74 - CAN bus devices and the commands they answer =&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Status:&#039;&#039;&#039; 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.&lt;br /&gt;
&lt;br /&gt;
== How to read this page ==&lt;br /&gt;
* All IDs are 11-bit CAN IDs on the OBD socket (pins 6 and 14, 500 kbit/s). The &amp;quot;request ID&amp;quot; is the header a tool sends to; the &amp;quot;reply ID&amp;quot; is where the module answers.&lt;br /&gt;
* 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.&lt;br /&gt;
* &#039;&#039;&#039;KWP-style&#039;&#039;&#039; modules use services such as &amp;lt;code&amp;gt;1A&amp;lt;/code&amp;gt; (read ECU identification) and &amp;lt;code&amp;gt;18&amp;lt;/code&amp;gt; (read DTCs by status). &#039;&#039;&#039;UDS-style&#039;&#039;&#039; modules use &amp;lt;code&amp;gt;22&amp;lt;/code&amp;gt; (read data by identifier) and &amp;lt;code&amp;gt;19&amp;lt;/code&amp;gt; (read DTCs).&lt;br /&gt;
* 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.&lt;br /&gt;
* Identification strings are ASCII Suzuki part numbers. The first one in each module (&amp;lt;code&amp;gt;1A 8E&amp;lt;/code&amp;gt; or &amp;lt;code&amp;gt;22 F1 01&amp;lt;/code&amp;gt;) has no trailing character; the second (&amp;lt;code&amp;gt;1A 8A&amp;lt;/code&amp;gt; or &amp;lt;code&amp;gt;22 F1 88&amp;lt;/code&amp;gt;) ends in &amp;lt;code&amp;gt;*&amp;lt;/code&amp;gt;. They do not always equal the number printed on the module&#039;s label.&lt;br /&gt;
* Commands marked &#039;&#039;captured&#039;&#039; were seen in a trace. Nothing here has been sent to a module by us except the TPMS requests.&lt;br /&gt;
&lt;br /&gt;
== Device table ==&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! Request ID !! Reply ID !! Style !! Module !! Identification reply (first / second) !! How the module was identified&lt;br /&gt;
|-&lt;br /&gt;
| [[#0x7E0 ECM|0x7E0]] || 0x7E8 || KWP || ECM || 33980-78R0 / 33980-78RC* || Standard engine address&lt;br /&gt;
|-&lt;br /&gt;
| [[#0x261 ABS (inferred)|0x261]] || 0x661 || KWP || ABS (inferred) || 56100-77RA / 56100-78RF* || Only brake module left by elimination&lt;br /&gt;
|-&lt;br /&gt;
| [[#0x263 EPS controller|0x263]] || 0x663 || KWP || EPS controller || 38720-77R0 / 38720-77R0* || Parts catalogue (38720-77R01)&lt;br /&gt;
|-&lt;br /&gt;
| [[#0x271 Body control module|0x271]] || 0x671 || KWP || Body control module || 36775-77R0 / 36775-77RC* || Parts catalogue (36775-77RC2 to RC4)&lt;br /&gt;
|-&lt;br /&gt;
| [[#0x274 Instrument cluster|0x274]] || 0x674 || KWP || Instrument cluster || 34100-78R0 / 34110-78RD* || Rev counter sweep test&lt;br /&gt;
|-&lt;br /&gt;
| [[#0x798 TPMS controller|0x798]] || 0x7A8 || KWP || TPMS controller || 37160-61M0 / 37120-78R0* || Label (Model No. P61M0) and parts catalogue&lt;br /&gt;
|-&lt;br /&gt;
| [[#0x79A Combination switch (lighting and turn)|0x79A]] || 0x7AA || KWP || Combination switch (lighting and turn) || 37210-74PA / 37210-74PE* || Parts catalogue (37210-74PE2)&lt;br /&gt;
|-&lt;br /&gt;
| [[#0x778 Dual sensor brake support (inferred)|0x778]] || 0x788 || KWP || Dual sensor brake support (inferred) || 33990-52R0 / 33990-78R8* || By elimination&lt;br /&gt;
|-&lt;br /&gt;
| [[#0x793 Airbag (SRS) controller|0x793]] || 0x7A3 || UDS || Airbag (SRS) controller || 38910-77R0 / 38910-78RC* || Parts catalogue (38910-78RC0)&lt;br /&gt;
|-&lt;br /&gt;
| [[#0x772 4WD shift controller|0x772]] || 0x782 || UDS || 4WD shift controller || 38885-77R0 / 38885-78R0* || Parts catalogue (38885-78R01)&lt;br /&gt;
|-&lt;br /&gt;
| [[#0x799 E-call controller|0x799]] || 0x7A9 || UDS || E-call controller || 38960-78RA / 38960-78RA* || Parts catalogue (38960-78RA0, RA1)&lt;br /&gt;
|-&lt;br /&gt;
| [[#0x751 Central gateway|0x751]] || 0x761 || UDS || Central gateway || 33580-79R0 / 33580-78R0* || Label (33580-79R01) and parts catalogue&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
Two more addresses, [[#Addresses probed with no reply|0x273 and 0x262]], were probed by the scan tool and did not answer.&lt;br /&gt;
&lt;br /&gt;
The names marked &amp;quot;inferred&amp;quot; are guesses from elimination and part-number series, not confirmed by a label or test.&lt;br /&gt;
&lt;br /&gt;
== 0x7E0 ECM ==&lt;br /&gt;
{{Models|JB74 (2018+, tested on 2021)|untested=JB64, JC74, JB43}}&lt;br /&gt;
&lt;br /&gt;
Request &amp;lt;code&amp;gt;0x7E0&amp;lt;/code&amp;gt;, reply &amp;lt;code&amp;gt;0x7E8&amp;lt;/code&amp;gt;. This is the standard OBD engine address, so standard mode 01 PIDs should be available here, but none were captured.&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! Request !! Reply !! Meaning&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;3E&amp;lt;/code&amp;gt; || &amp;lt;code&amp;gt;7E&amp;lt;/code&amp;gt; || Tester present (captured)&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;1A 8E&amp;lt;/code&amp;gt; || &amp;lt;code&amp;gt;5A 8E&amp;lt;/code&amp;gt; + ASCII &amp;lt;code&amp;gt;33980-78R0&amp;lt;/code&amp;gt; || ECU identification (captured)&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;1A 8A&amp;lt;/code&amp;gt; || &amp;lt;code&amp;gt;5A 8A&amp;lt;/code&amp;gt; + ASCII &amp;lt;code&amp;gt;33980-78RC*&amp;lt;/code&amp;gt; || ECU identification (captured)&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;18 00 FF 00&amp;lt;/code&amp;gt; || &amp;lt;code&amp;gt;58 00&amp;lt;/code&amp;gt; || Read DTCs by status: none stored (captured)&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== 0x261 ABS (inferred) ==&lt;br /&gt;
{{Models|JB74 (2018+, tested on 2021)|untested=JB64, JC74, JB43}}&lt;br /&gt;
&lt;br /&gt;
Request &amp;lt;code&amp;gt;0x261&amp;lt;/code&amp;gt;, reply &amp;lt;code&amp;gt;0x661&amp;lt;/code&amp;gt;. 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.&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! Request !! Reply !! Meaning&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;3E&amp;lt;/code&amp;gt; || &amp;lt;code&amp;gt;7E&amp;lt;/code&amp;gt; || Tester present (captured)&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;1A 8E&amp;lt;/code&amp;gt; || &amp;lt;code&amp;gt;5A 8E&amp;lt;/code&amp;gt; + ASCII &amp;lt;code&amp;gt;56100-77RA&amp;lt;/code&amp;gt; || ECU identification (captured)&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;1A 8A&amp;lt;/code&amp;gt; || &amp;lt;code&amp;gt;5A 8A&amp;lt;/code&amp;gt; + ASCII &amp;lt;code&amp;gt;56100-78RF*&amp;lt;/code&amp;gt; || ECU identification (captured)&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;18 00 FF 00&amp;lt;/code&amp;gt; || &amp;lt;code&amp;gt;58 00&amp;lt;/code&amp;gt; || DTCs: none stored (captured)&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== 0x263 EPS controller ==&lt;br /&gt;
{{Models|JB74 (2018+, tested on 2021)|untested=JB64, JC74, JB43}}&lt;br /&gt;
&lt;br /&gt;
Request &amp;lt;code&amp;gt;0x263&amp;lt;/code&amp;gt;, reply &amp;lt;code&amp;gt;0x663&amp;lt;/code&amp;gt;. Matches parts catalogue entry 38720-77R01 (EPS controller).&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! Request !! Reply !! Meaning&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;3E&amp;lt;/code&amp;gt; || &amp;lt;code&amp;gt;7E&amp;lt;/code&amp;gt; || Tester present (captured)&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;1A 8E&amp;lt;/code&amp;gt; || &amp;lt;code&amp;gt;5A 8E&amp;lt;/code&amp;gt; + ASCII &amp;lt;code&amp;gt;38720-77R0&amp;lt;/code&amp;gt; || ECU identification (captured)&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;1A 8A&amp;lt;/code&amp;gt; || &amp;lt;code&amp;gt;5A 8A&amp;lt;/code&amp;gt; + ASCII &amp;lt;code&amp;gt;38720-77R0*&amp;lt;/code&amp;gt; || ECU identification (captured)&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;18 00 FF 00&amp;lt;/code&amp;gt; || &amp;lt;code&amp;gt;58 00&amp;lt;/code&amp;gt; || DTCs: none stored (captured)&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== 0x271 Body control module ==&lt;br /&gt;
{{Models|JB74 (2018+, tested on 2021)|untested=JB64, JC74, JB43}}&lt;br /&gt;
&lt;br /&gt;
Request &amp;lt;code&amp;gt;0x271&amp;lt;/code&amp;gt;, reply &amp;lt;code&amp;gt;0x671&amp;lt;/code&amp;gt;. Matches parts catalogue entries 36775-77RC2 to RC4 (body control module, RHD).&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! Request !! Reply !! Meaning&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;3E&amp;lt;/code&amp;gt; || &amp;lt;code&amp;gt;7E&amp;lt;/code&amp;gt; || Tester present (captured)&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;1A 8E&amp;lt;/code&amp;gt; || &amp;lt;code&amp;gt;5A 8E&amp;lt;/code&amp;gt; + ASCII &amp;lt;code&amp;gt;36775-77R0&amp;lt;/code&amp;gt; || ECU identification (captured)&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;1A 8A&amp;lt;/code&amp;gt; || &amp;lt;code&amp;gt;5A 8A&amp;lt;/code&amp;gt; + ASCII &amp;lt;code&amp;gt;36775-77RC*&amp;lt;/code&amp;gt; || ECU identification (captured)&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;18 00 FF 00&amp;lt;/code&amp;gt; || &amp;lt;code&amp;gt;58 00&amp;lt;/code&amp;gt; || DTCs: none stored (captured)&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== 0x274 Instrument cluster ==&lt;br /&gt;
{{Models|JB74 (2018+, tested on 2021)|untested=JB64, JC74, JB43}}&lt;br /&gt;
&lt;br /&gt;
Request &amp;lt;code&amp;gt;0x274&amp;lt;/code&amp;gt;, reply &amp;lt;code&amp;gt;0x674&amp;lt;/code&amp;gt;. Confirmed by the rev counter sweep test.&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! Request !! Reply !! Meaning&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;3E&amp;lt;/code&amp;gt; or &amp;lt;code&amp;gt;3E 00&amp;lt;/code&amp;gt; || &amp;lt;code&amp;gt;7E&amp;lt;/code&amp;gt; || Tester present, about every 2.15 s during the sweep test (captured)&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;1A 8E&amp;lt;/code&amp;gt; || &amp;lt;code&amp;gt;5A 8E&amp;lt;/code&amp;gt; + ASCII &amp;lt;code&amp;gt;34100-78R0&amp;lt;/code&amp;gt; || ECU identification (captured)&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;1A 8A&amp;lt;/code&amp;gt; || &amp;lt;code&amp;gt;5A 8A&amp;lt;/code&amp;gt; + ASCII &amp;lt;code&amp;gt;34110-78RD*&amp;lt;/code&amp;gt; (last byte of the reply is &amp;lt;code&amp;gt;06&amp;lt;/code&amp;gt;) || ECU identification (captured)&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;18 00 FF 00&amp;lt;/code&amp;gt; || &amp;lt;code&amp;gt;58 00&amp;lt;/code&amp;gt; || DTCs: none stored (captured)&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;30 01 07 80 40 00 00&amp;lt;/code&amp;gt; || &amp;lt;code&amp;gt;70 01 07&amp;lt;/code&amp;gt; || Starts the rev counter sweep (service 0x30, local ID 01, &amp;quot;short-term adjustment&amp;quot;). The cluster then sweeps up and down by itself (captured)&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;30 01 07 80 00 00 00&amp;lt;/code&amp;gt; || &amp;lt;code&amp;gt;7F 30 22&amp;lt;/code&amp;gt; || Refused (&amp;quot;conditions not correct&amp;quot;). Possibly a stop request sent after the sweep had finished (captured)&lt;br /&gt;
|}&lt;br /&gt;
The meaning of the four control bytes (&amp;lt;code&amp;gt;80 40 00 00&amp;lt;/code&amp;gt;) is not known. Other output tests (gauges, warning lights) have not been captured.&lt;br /&gt;
&lt;br /&gt;
== 0x798 TPMS controller ==&lt;br /&gt;
{{Models|JB74 (2018+, tested on 2021)|untested=JB64, JC74, JB43}}&lt;br /&gt;
&lt;br /&gt;
Request &amp;lt;code&amp;gt;0x798&amp;lt;/code&amp;gt;, reply &amp;lt;code&amp;gt;0x7A8&amp;lt;/code&amp;gt;. The label on the module reads 37160-78R00, &amp;quot;BASE ASSY-TPMS&amp;quot;, Model No. P61M0 (Continental A2C13930301, 433.92 MHz). The full data layout, calibration and app setups are on [[OBD2 Diagnostics reading project]].&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! Request !! Reply !! Meaning&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;3E&amp;lt;/code&amp;gt; || &amp;lt;code&amp;gt;7E&amp;lt;/code&amp;gt; || Tester present (captured)&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;1A 8E&amp;lt;/code&amp;gt; || &amp;lt;code&amp;gt;5A 8E&amp;lt;/code&amp;gt; + ASCII &amp;lt;code&amp;gt;37160-61M0&amp;lt;/code&amp;gt; || ECU identification; matches Model No. P61M0 on the label (captured)&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;1A 8A&amp;lt;/code&amp;gt; || &amp;lt;code&amp;gt;5A 8A&amp;lt;/code&amp;gt; + ASCII &amp;lt;code&amp;gt;37120-78R0*&amp;lt;/code&amp;gt; || ECU identification (captured)&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;18 00 FF 00&amp;lt;/code&amp;gt; || &amp;lt;code&amp;gt;58 00&amp;lt;/code&amp;gt; (no codes) or &amp;lt;code&amp;gt;58 01 9A 31 20&amp;lt;/code&amp;gt; (one code) || DTCs by status. The code &amp;lt;code&amp;gt;9A 31&amp;lt;/code&amp;gt; is probably the left front low pressure warning (inferred). The status byte was &amp;lt;code&amp;gt;20&amp;lt;/code&amp;gt; in the full scan and &amp;lt;code&amp;gt;E0&amp;lt;/code&amp;gt; in earlier captures (captured)&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;21 00&amp;lt;/code&amp;gt; || &amp;lt;code&amp;gt;61 00&amp;lt;/code&amp;gt; + 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)&lt;br /&gt;
|}&lt;br /&gt;
ELM327 setup that works for &amp;lt;code&amp;gt;21 00&amp;lt;/code&amp;gt;: &amp;lt;code&amp;gt;ATSH798&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;ATS0&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;ATL0&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;ATFCSH798&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;ATFCSD300000&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;ATFCSM1&amp;lt;/code&amp;gt;, then &amp;lt;code&amp;gt;2100&amp;lt;/code&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
== 0x79A Combination switch (lighting and turn) ==&lt;br /&gt;
{{Models|JB74 (2018+, tested on 2021)|untested=JB64, JC74, JB43}}&lt;br /&gt;
&lt;br /&gt;
Request &amp;lt;code&amp;gt;0x79A&amp;lt;/code&amp;gt;, reply &amp;lt;code&amp;gt;0x7AA&amp;lt;/code&amp;gt;. Matches parts catalogue entry 37210-74PE2 (switch assembly, lighting and turn, RHD).&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! Request !! Reply !! Meaning&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;3E&amp;lt;/code&amp;gt; || &amp;lt;code&amp;gt;7E&amp;lt;/code&amp;gt; || Tester present (captured)&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;1A 8E&amp;lt;/code&amp;gt; || &amp;lt;code&amp;gt;5A 8E&amp;lt;/code&amp;gt; + ASCII &amp;lt;code&amp;gt;37210-74PA&amp;lt;/code&amp;gt; || ECU identification (captured)&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;1A 8A&amp;lt;/code&amp;gt; || &amp;lt;code&amp;gt;5A 8A&amp;lt;/code&amp;gt; + ASCII &amp;lt;code&amp;gt;37210-74PE*&amp;lt;/code&amp;gt; || ECU identification (captured)&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;18 00 FF 00&amp;lt;/code&amp;gt; || &amp;lt;code&amp;gt;58 00&amp;lt;/code&amp;gt; || DTCs: none stored (captured)&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== 0x778 Dual sensor brake support (inferred) ==&lt;br /&gt;
{{Models|JB74 (2018+, tested on 2021)|untested=JB64, JC74, JB43}}&lt;br /&gt;
&lt;br /&gt;
Request &amp;lt;code&amp;gt;0x778&amp;lt;/code&amp;gt;, reply &amp;lt;code&amp;gt;0x788&amp;lt;/code&amp;gt;. The name is inferred by elimination (the scan report&#039;s last unassigned module). Not confirmed.&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! Request !! Reply !! Meaning&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;3E&amp;lt;/code&amp;gt; || &amp;lt;code&amp;gt;7E&amp;lt;/code&amp;gt; || Tester present (captured)&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;1A 8E&amp;lt;/code&amp;gt; || &amp;lt;code&amp;gt;5A 8E&amp;lt;/code&amp;gt; + ASCII &amp;lt;code&amp;gt;33990-52R0&amp;lt;/code&amp;gt; || ECU identification (captured)&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;1A 8A&amp;lt;/code&amp;gt; || &amp;lt;code&amp;gt;5A 8A&amp;lt;/code&amp;gt; + ASCII &amp;lt;code&amp;gt;33990-78R8*&amp;lt;/code&amp;gt; || ECU identification (captured)&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;18 00 FF 00&amp;lt;/code&amp;gt; || &amp;lt;code&amp;gt;58 00&amp;lt;/code&amp;gt; || DTCs: none stored (captured)&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== 0x793 Airbag (SRS) controller ==&lt;br /&gt;
{{Models|JB74 (2018+, tested on 2021)|untested=JB64, JC74, JB43}}&lt;br /&gt;
&lt;br /&gt;
Request &amp;lt;code&amp;gt;0x793&amp;lt;/code&amp;gt;, reply &amp;lt;code&amp;gt;0x7A3&amp;lt;/code&amp;gt;. Matches parts catalogue entry 38910-78RC0 (airbag controller, VAN).&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! Request !! Reply !! Meaning&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;3E 00&amp;lt;/code&amp;gt; || &amp;lt;code&amp;gt;7E 00&amp;lt;/code&amp;gt; || Tester present (captured)&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;22 F1 01&amp;lt;/code&amp;gt; || &amp;lt;code&amp;gt;62 F1 01&amp;lt;/code&amp;gt; + ASCII &amp;lt;code&amp;gt;38910-77R0&amp;lt;/code&amp;gt; || Identification (captured)&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;22 F1 88&amp;lt;/code&amp;gt; || &amp;lt;code&amp;gt;62 F1 88&amp;lt;/code&amp;gt; + ASCII &amp;lt;code&amp;gt;38910-78RC*&amp;lt;/code&amp;gt; || Identification (captured)&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;19 02 FF&amp;lt;/code&amp;gt; || &amp;lt;code&amp;gt;59 02 4B&amp;lt;/code&amp;gt; || DTCs by status mask: none stored (captured)&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== 0x772 4WD shift controller ==&lt;br /&gt;
{{Models|JB74 (2018+, tested on 2021)|untested=JB64, JC74, JB43}}&lt;br /&gt;
&lt;br /&gt;
Request &amp;lt;code&amp;gt;0x772&amp;lt;/code&amp;gt;, reply &amp;lt;code&amp;gt;0x782&amp;lt;/code&amp;gt;. Matches parts catalogue entry 38885-78R01 (4WD shift controller).&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! Request !! Reply !! Meaning&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;3E&amp;lt;/code&amp;gt; || &amp;lt;code&amp;gt;7F 3E 13&amp;lt;/code&amp;gt; || Refused: incorrect message length. Sent four times by the scan tool (captured)&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;3E 01&amp;lt;/code&amp;gt; || &amp;lt;code&amp;gt;7F 3E 12&amp;lt;/code&amp;gt; || Refused: sub-function not supported. Sent four times (captured)&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;3E 00&amp;lt;/code&amp;gt; || &amp;lt;code&amp;gt;7E 00&amp;lt;/code&amp;gt; || Tester present (captured)&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;22 F1 01&amp;lt;/code&amp;gt; || &amp;lt;code&amp;gt;62 F1 01&amp;lt;/code&amp;gt; + ASCII &amp;lt;code&amp;gt;38885-77R0&amp;lt;/code&amp;gt; || Identification (captured)&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;22 F1 88&amp;lt;/code&amp;gt; || &amp;lt;code&amp;gt;62 F1 88&amp;lt;/code&amp;gt; + ASCII &amp;lt;code&amp;gt;38885-78R0*&amp;lt;/code&amp;gt; || Identification (captured)&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;19 02 FF&amp;lt;/code&amp;gt; || &amp;lt;code&amp;gt;59 02 4B&amp;lt;/code&amp;gt; || DTCs by status mask: none stored (captured)&lt;br /&gt;
|}&lt;br /&gt;
The scan tool tried the KWP-style &amp;lt;code&amp;gt;3E&amp;lt;/code&amp;gt; first and fell back to the UDS form &amp;lt;code&amp;gt;3E 00&amp;lt;/code&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
== 0x799 E-call controller ==&lt;br /&gt;
{{Models|JB74 (2018+, tested on 2021)|untested=JB64, JC74, JB43}}&lt;br /&gt;
&lt;br /&gt;
Request &amp;lt;code&amp;gt;0x799&amp;lt;/code&amp;gt;, reply &amp;lt;code&amp;gt;0x7A9&amp;lt;/code&amp;gt;. Matches parts catalogue entries 38960-78RA0 and RA1 (E-call controller).&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! Request !! Reply !! Meaning&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;3E&amp;lt;/code&amp;gt; || &amp;lt;code&amp;gt;7F 3E 13&amp;lt;/code&amp;gt; || Refused: incorrect message length. Sent four times (captured)&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;3E 01&amp;lt;/code&amp;gt; || &amp;lt;code&amp;gt;7F 3E 12&amp;lt;/code&amp;gt; || Refused: sub-function not supported. Sent four times (captured)&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;3E 00&amp;lt;/code&amp;gt; || &amp;lt;code&amp;gt;7E 00&amp;lt;/code&amp;gt; || Tester present (captured)&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;22 F1 01&amp;lt;/code&amp;gt; || &amp;lt;code&amp;gt;62 F1 01&amp;lt;/code&amp;gt; + ASCII &amp;lt;code&amp;gt;38960-78RA&amp;lt;/code&amp;gt; || Identification (captured)&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;22 F1 88&amp;lt;/code&amp;gt; || &amp;lt;code&amp;gt;62 F1 88&amp;lt;/code&amp;gt; + ASCII &amp;lt;code&amp;gt;38960-78RA*&amp;lt;/code&amp;gt; || Identification (captured)&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;19 02 FF&amp;lt;/code&amp;gt; || &amp;lt;code&amp;gt;59 02 4B 92 4E 00 02&amp;lt;/code&amp;gt; || One stored code record: &amp;lt;code&amp;gt;92 4E 00&amp;lt;/code&amp;gt;, status &amp;lt;code&amp;gt;02&amp;lt;/code&amp;gt;. The Launch report does not list it and its meaning is not known (captured)&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== 0x751 Central gateway ==&lt;br /&gt;
{{Models|JB74 (2018+, tested on 2021)|untested=JB64, JC74, JB43}}&lt;br /&gt;
&lt;br /&gt;
Request &amp;lt;code&amp;gt;0x751&amp;lt;/code&amp;gt;, reply &amp;lt;code&amp;gt;0x761&amp;lt;/code&amp;gt;. The label on the module reads 33580-79R01.&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! Request !! Reply !! Meaning&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;3E 00&amp;lt;/code&amp;gt; || &amp;lt;code&amp;gt;7E 00&amp;lt;/code&amp;gt; || Tester present (captured)&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;22 F1 01&amp;lt;/code&amp;gt; || &amp;lt;code&amp;gt;62 F1 01&amp;lt;/code&amp;gt; + ASCII &amp;lt;code&amp;gt;33580-79R0&amp;lt;/code&amp;gt; || Identification (captured)&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;22 F1 88&amp;lt;/code&amp;gt; || &amp;lt;code&amp;gt;62 F1 88&amp;lt;/code&amp;gt; + ASCII &amp;lt;code&amp;gt;33580-78R0*&amp;lt;/code&amp;gt; || Identification (captured)&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;19 02 FF&amp;lt;/code&amp;gt; || &amp;lt;code&amp;gt;59 02 4B&amp;lt;/code&amp;gt; || DTCs by status mask: none stored (captured)&lt;br /&gt;
|}&lt;br /&gt;
The gateway sits between the OBD socket and the vehicle CAN bus. Whether it forwards requests to the other modules unchanged is not confirmed.&lt;br /&gt;
&lt;br /&gt;
== Addresses probed with no reply ==&lt;br /&gt;
The scan tool sent tester-present (&amp;lt;code&amp;gt;3E&amp;lt;/code&amp;gt;) about eight times each to &amp;lt;code&amp;gt;0x273&amp;lt;/code&amp;gt; and &amp;lt;code&amp;gt;0x262&amp;lt;/code&amp;gt; and received nothing from the expected reply IDs (&amp;lt;code&amp;gt;0x673&amp;lt;/code&amp;gt; and &amp;lt;code&amp;gt;0x662&amp;lt;/code&amp;gt;). They are probably modules this car does not have, such as an automatic transmission or auto-levelling controller. This is a guess.&lt;br /&gt;
&lt;br /&gt;
== ELM327 notes ==&lt;br /&gt;
* Only &amp;lt;code&amp;gt;0x798&amp;lt;/code&amp;gt; has been tested with an ELM327. For other modules, set &amp;lt;code&amp;gt;ATSH&amp;lt;/code&amp;gt; to the request ID and &amp;lt;code&amp;gt;ATFCSH&amp;lt;/code&amp;gt; to the same ID, and you may need &amp;lt;code&amp;gt;ATCRA&amp;lt;/code&amp;gt; with the reply ID, because the reply is not always the request ID plus 8. This is untested.&lt;br /&gt;
* 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.&lt;br /&gt;
* Do not send output-control commands (service &amp;lt;code&amp;gt;30&amp;lt;/code&amp;gt; and similar) from a head-unit app while driving.&lt;br /&gt;
&lt;br /&gt;
== Sources ==&lt;br /&gt;
* Owner PCAN-View captures of a Launch X431 CRP919 full health-check scan and rev counter sweep test, October 2026.&lt;br /&gt;
* Suzuki Jimny parts catalogue 9900B-40312-004 (type 1, October 2021), figures 350A, 351A and 351B.&lt;br /&gt;
* Labels on the TPMS controller and central gateway of the test car.&lt;br /&gt;
&lt;br /&gt;
[[Category:Electrical - gen4]]&lt;/div&gt;</summary>
		<author><name>Mlines</name></author>
	</entry>
	<entry>
		<id>https://www.bigjimny.com/mediawiki/index.php?title=ECU_diagnostic_CAN_addresses&amp;diff=10076</id>
		<title>ECU diagnostic CAN addresses</title>
		<link rel="alternate" type="text/html" href="https://www.bigjimny.com/mediawiki/index.php?title=ECU_diagnostic_CAN_addresses&amp;diff=10076"/>
		<updated>2026-11-01T10:29:59Z</updated>

		<summary type="html">&lt;p&gt;Mlines: /* 0x799 E-call controller */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&amp;lt;div style=&amp;quot;border: 1px solid #c9a227; background-color: #fff8dc; padding: 0.6em 1em; margin: 0 0 1em 0; border-radius: 4px;&amp;quot;&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;Support this project:&#039;&#039;&#039; 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 [https://buymeacoffee.com/bigjimny buymeacoffee.com/bigjimny].&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
= Suzuki Jimny JB74 - CAN bus devices and the commands they answer =&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Status:&#039;&#039;&#039; 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.&lt;br /&gt;
&lt;br /&gt;
== How to read this page ==&lt;br /&gt;
* All IDs are 11-bit CAN IDs on the OBD socket (pins 6 and 14, 500 kbit/s). The &amp;quot;request ID&amp;quot; is the header a tool sends to; the &amp;quot;reply ID&amp;quot; is where the module answers.&lt;br /&gt;
* 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.&lt;br /&gt;
* &#039;&#039;&#039;KWP-style&#039;&#039;&#039; modules use services such as &amp;lt;code&amp;gt;1A&amp;lt;/code&amp;gt; (read ECU identification) and &amp;lt;code&amp;gt;18&amp;lt;/code&amp;gt; (read DTCs by status). &#039;&#039;&#039;UDS-style&#039;&#039;&#039; modules use &amp;lt;code&amp;gt;22&amp;lt;/code&amp;gt; (read data by identifier) and &amp;lt;code&amp;gt;19&amp;lt;/code&amp;gt; (read DTCs).&lt;br /&gt;
* 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.&lt;br /&gt;
* Identification strings are ASCII Suzuki part numbers. The first one in each module (&amp;lt;code&amp;gt;1A 8E&amp;lt;/code&amp;gt; or &amp;lt;code&amp;gt;22 F1 01&amp;lt;/code&amp;gt;) has no trailing character; the second (&amp;lt;code&amp;gt;1A 8A&amp;lt;/code&amp;gt; or &amp;lt;code&amp;gt;22 F1 88&amp;lt;/code&amp;gt;) ends in &amp;lt;code&amp;gt;*&amp;lt;/code&amp;gt;. They do not always equal the number printed on the module&#039;s label.&lt;br /&gt;
* Commands marked &#039;&#039;captured&#039;&#039; were seen in a trace. Nothing here has been sent to a module by us except the TPMS requests.&lt;br /&gt;
&lt;br /&gt;
== Device table ==&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! Request ID !! Reply ID !! Style !! Module !! Identification reply (first / second) !! How the module was identified&lt;br /&gt;
|-&lt;br /&gt;
| [[#0x7E0 ECM|0x7E0]] || 0x7E8 || KWP || ECM || 33980-78R0 / 33980-78RC* || Standard engine address&lt;br /&gt;
|-&lt;br /&gt;
| [[#0x261 ABS (inferred)|0x261]] || 0x661 || KWP || ABS (inferred) || 56100-77RA / 56100-78RF* || Only brake module left by elimination&lt;br /&gt;
|-&lt;br /&gt;
| [[#0x263 EPS controller|0x263]] || 0x663 || KWP || EPS controller || 38720-77R0 / 38720-77R0* || Parts catalogue (38720-77R01)&lt;br /&gt;
|-&lt;br /&gt;
| [[#0x271 Body control module|0x271]] || 0x671 || KWP || Body control module || 36775-77R0 / 36775-77RC* || Parts catalogue (36775-77RC2 to RC4)&lt;br /&gt;
|-&lt;br /&gt;
| [[#0x274 Instrument cluster|0x274]] || 0x674 || KWP || Instrument cluster || 34100-78R0 / 34110-78RD* || Rev counter sweep test&lt;br /&gt;
|-&lt;br /&gt;
| [[#0x798 TPMS controller|0x798]] || 0x7A8 || KWP || TPMS controller || 37160-61M0 / 37120-78R0* || Label (Model No. P61M0) and parts catalogue&lt;br /&gt;
|-&lt;br /&gt;
| [[#0x79A Combination switch (lighting and turn)|0x79A]] || 0x7AA || KWP || Combination switch (lighting and turn) || 37210-74PA / 37210-74PE* || Parts catalogue (37210-74PE2)&lt;br /&gt;
|-&lt;br /&gt;
| [[#0x778 Dual sensor brake support (inferred)|0x778]] || 0x788 || KWP || Dual sensor brake support (inferred) || 33990-52R0 / 33990-78R8* || By elimination&lt;br /&gt;
|-&lt;br /&gt;
| [[#0x793 Airbag (SRS) controller|0x793]] || 0x7A3 || UDS || Airbag (SRS) controller || 38910-77R0 / 38910-78RC* || Parts catalogue (38910-78RC0)&lt;br /&gt;
|-&lt;br /&gt;
| [[#0x772 4WD shift controller|0x772]] || 0x782 || UDS || 4WD shift controller || 38885-77R0 / 38885-78R0* || Parts catalogue (38885-78R01)&lt;br /&gt;
|-&lt;br /&gt;
| [[#0x799 E-call controller|0x799]] || 0x7A9 || UDS || E-call controller || 38960-78RA / 38960-78RA* || Parts catalogue (38960-78RA0, RA1)&lt;br /&gt;
|-&lt;br /&gt;
| [[#0x751 Central gateway|0x751]] || 0x761 || UDS || Central gateway || 33580-79R0 / 33580-78R0* || Label (33580-79R01) and parts catalogue&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
Two more addresses, [[#Addresses probed with no reply|0x273 and 0x262]], were probed by the scan tool and did not answer.&lt;br /&gt;
&lt;br /&gt;
The names marked &amp;quot;inferred&amp;quot; are guesses from elimination and part-number series, not confirmed by a label or test.&lt;br /&gt;
&lt;br /&gt;
== 0x7E0 ECM ==&lt;br /&gt;
{{Models|JB74 (2018+, tested on 2021)|untested=JB64, JC74, JB43}}&lt;br /&gt;
&lt;br /&gt;
Request &amp;lt;code&amp;gt;0x7E0&amp;lt;/code&amp;gt;, reply &amp;lt;code&amp;gt;0x7E8&amp;lt;/code&amp;gt;. This is the standard OBD engine address, so standard mode 01 PIDs should be available here, but none were captured.&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! Request !! Reply !! Meaning&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;3E&amp;lt;/code&amp;gt; || &amp;lt;code&amp;gt;7E&amp;lt;/code&amp;gt; || Tester present (captured)&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;1A 8E&amp;lt;/code&amp;gt; || &amp;lt;code&amp;gt;5A 8E&amp;lt;/code&amp;gt; + ASCII &amp;lt;code&amp;gt;33980-78R0&amp;lt;/code&amp;gt; || ECU identification (captured)&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;1A 8A&amp;lt;/code&amp;gt; || &amp;lt;code&amp;gt;5A 8A&amp;lt;/code&amp;gt; + ASCII &amp;lt;code&amp;gt;33980-78RC*&amp;lt;/code&amp;gt; || ECU identification (captured)&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;18 00 FF 00&amp;lt;/code&amp;gt; || &amp;lt;code&amp;gt;58 00&amp;lt;/code&amp;gt; || Read DTCs by status: none stored (captured)&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== 0x261 ABS (inferred) ==&lt;br /&gt;
{{Models|JB74 (2018+, tested on 2021)|untested=JB64, JC74, JB43}}&lt;br /&gt;
&lt;br /&gt;
Request &amp;lt;code&amp;gt;0x261&amp;lt;/code&amp;gt;, reply &amp;lt;code&amp;gt;0x661&amp;lt;/code&amp;gt;. 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.&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! Request !! Reply !! Meaning&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;3E&amp;lt;/code&amp;gt; || &amp;lt;code&amp;gt;7E&amp;lt;/code&amp;gt; || Tester present (captured)&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;1A 8E&amp;lt;/code&amp;gt; || &amp;lt;code&amp;gt;5A 8E&amp;lt;/code&amp;gt; + ASCII &amp;lt;code&amp;gt;56100-77RA&amp;lt;/code&amp;gt; || ECU identification (captured)&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;1A 8A&amp;lt;/code&amp;gt; || &amp;lt;code&amp;gt;5A 8A&amp;lt;/code&amp;gt; + ASCII &amp;lt;code&amp;gt;56100-78RF*&amp;lt;/code&amp;gt; || ECU identification (captured)&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;18 00 FF 00&amp;lt;/code&amp;gt; || &amp;lt;code&amp;gt;58 00&amp;lt;/code&amp;gt; || DTCs: none stored (captured)&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== 0x263 EPS controller ==&lt;br /&gt;
{{Models|JB74 (2018+, tested on 2021)|untested=JB64, JC74, JB43}}&lt;br /&gt;
&lt;br /&gt;
Request &amp;lt;code&amp;gt;0x263&amp;lt;/code&amp;gt;, reply &amp;lt;code&amp;gt;0x663&amp;lt;/code&amp;gt;. Matches parts catalogue entry 38720-77R01 (EPS controller).&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! Request !! Reply !! Meaning&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;3E&amp;lt;/code&amp;gt; || &amp;lt;code&amp;gt;7E&amp;lt;/code&amp;gt; || Tester present (captured)&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;1A 8E&amp;lt;/code&amp;gt; || &amp;lt;code&amp;gt;5A 8E&amp;lt;/code&amp;gt; + ASCII &amp;lt;code&amp;gt;38720-77R0&amp;lt;/code&amp;gt; || ECU identification (captured)&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;1A 8A&amp;lt;/code&amp;gt; || &amp;lt;code&amp;gt;5A 8A&amp;lt;/code&amp;gt; + ASCII &amp;lt;code&amp;gt;38720-77R0*&amp;lt;/code&amp;gt; || ECU identification (captured)&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;18 00 FF 00&amp;lt;/code&amp;gt; || &amp;lt;code&amp;gt;58 00&amp;lt;/code&amp;gt; || DTCs: none stored (captured)&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== 0x271 Body control module ==&lt;br /&gt;
{{Models|JB74 (2018+, tested on 2021)|untested=JB64, JC74, JB43}}&lt;br /&gt;
&lt;br /&gt;
Request &amp;lt;code&amp;gt;0x271&amp;lt;/code&amp;gt;, reply &amp;lt;code&amp;gt;0x671&amp;lt;/code&amp;gt;. Matches parts catalogue entries 36775-77RC2 to RC4 (body control module, RHD).&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! Request !! Reply !! Meaning&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;3E&amp;lt;/code&amp;gt; || &amp;lt;code&amp;gt;7E&amp;lt;/code&amp;gt; || Tester present (captured)&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;1A 8E&amp;lt;/code&amp;gt; || &amp;lt;code&amp;gt;5A 8E&amp;lt;/code&amp;gt; + ASCII &amp;lt;code&amp;gt;36775-77R0&amp;lt;/code&amp;gt; || ECU identification (captured)&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;1A 8A&amp;lt;/code&amp;gt; || &amp;lt;code&amp;gt;5A 8A&amp;lt;/code&amp;gt; + ASCII &amp;lt;code&amp;gt;36775-77RC*&amp;lt;/code&amp;gt; || ECU identification (captured)&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;18 00 FF 00&amp;lt;/code&amp;gt; || &amp;lt;code&amp;gt;58 00&amp;lt;/code&amp;gt; || DTCs: none stored (captured)&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== 0x274 Instrument cluster ==&lt;br /&gt;
{{Models|JB74 (2018+, tested on 2021)|untested=JB64, JC74, JB43}}&lt;br /&gt;
&lt;br /&gt;
Request &amp;lt;code&amp;gt;0x274&amp;lt;/code&amp;gt;, reply &amp;lt;code&amp;gt;0x674&amp;lt;/code&amp;gt;. Confirmed by the rev counter sweep test.&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! Request !! Reply !! Meaning&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;3E&amp;lt;/code&amp;gt; or &amp;lt;code&amp;gt;3E 00&amp;lt;/code&amp;gt; || &amp;lt;code&amp;gt;7E&amp;lt;/code&amp;gt; || Tester present, about every 2.15 s during the sweep test (captured)&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;1A 8E&amp;lt;/code&amp;gt; || &amp;lt;code&amp;gt;5A 8E&amp;lt;/code&amp;gt; + ASCII &amp;lt;code&amp;gt;34100-78R0&amp;lt;/code&amp;gt; || ECU identification (captured)&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;1A 8A&amp;lt;/code&amp;gt; || &amp;lt;code&amp;gt;5A 8A&amp;lt;/code&amp;gt; + ASCII &amp;lt;code&amp;gt;34110-78RD*&amp;lt;/code&amp;gt; (last byte of the reply is &amp;lt;code&amp;gt;06&amp;lt;/code&amp;gt;) || ECU identification (captured)&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;18 00 FF 00&amp;lt;/code&amp;gt; || &amp;lt;code&amp;gt;58 00&amp;lt;/code&amp;gt; || DTCs: none stored (captured)&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;30 01 07 80 40 00 00&amp;lt;/code&amp;gt; || &amp;lt;code&amp;gt;70 01 07&amp;lt;/code&amp;gt; || Starts the rev counter sweep (service 0x30, local ID 01, &amp;quot;short-term adjustment&amp;quot;). The cluster then sweeps up and down by itself (captured)&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;30 01 07 80 00 00 00&amp;lt;/code&amp;gt; || &amp;lt;code&amp;gt;7F 30 22&amp;lt;/code&amp;gt; || Refused (&amp;quot;conditions not correct&amp;quot;). Possibly a stop request sent after the sweep had finished (captured)&lt;br /&gt;
|}&lt;br /&gt;
The meaning of the four control bytes (&amp;lt;code&amp;gt;80 40 00 00&amp;lt;/code&amp;gt;) is not known. Other output tests (gauges, warning lights) have not been captured.&lt;br /&gt;
&lt;br /&gt;
== 0x798 TPMS controller ==&lt;br /&gt;
{{Models|JB74 (2018+, tested on 2021)|untested=JB64, JC74, JB43}}&lt;br /&gt;
&lt;br /&gt;
Request &amp;lt;code&amp;gt;0x798&amp;lt;/code&amp;gt;, reply &amp;lt;code&amp;gt;0x7A8&amp;lt;/code&amp;gt;. The label on the module reads 37160-78R00, &amp;quot;BASE ASSY-TPMS&amp;quot;, Model No. P61M0 (Continental A2C13930301, 433.92 MHz). The full data layout, calibration and app setups are on [[OBD2 Diagnostics reading project]].&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! Request !! Reply !! Meaning&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;3E&amp;lt;/code&amp;gt; || &amp;lt;code&amp;gt;7E&amp;lt;/code&amp;gt; || Tester present (captured)&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;1A 8E&amp;lt;/code&amp;gt; || &amp;lt;code&amp;gt;5A 8E&amp;lt;/code&amp;gt; + ASCII &amp;lt;code&amp;gt;37160-61M0&amp;lt;/code&amp;gt; || ECU identification; matches Model No. P61M0 on the label (captured)&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;1A 8A&amp;lt;/code&amp;gt; || &amp;lt;code&amp;gt;5A 8A&amp;lt;/code&amp;gt; + ASCII &amp;lt;code&amp;gt;37120-78R0*&amp;lt;/code&amp;gt; || ECU identification (captured)&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;18 00 FF 00&amp;lt;/code&amp;gt; || &amp;lt;code&amp;gt;58 00&amp;lt;/code&amp;gt; (no codes) or &amp;lt;code&amp;gt;58 01 9A 31 20&amp;lt;/code&amp;gt; (one code) || DTCs by status. The code &amp;lt;code&amp;gt;9A 31&amp;lt;/code&amp;gt; is probably the left front low pressure warning (inferred). The status byte was &amp;lt;code&amp;gt;20&amp;lt;/code&amp;gt; in the full scan and &amp;lt;code&amp;gt;E0&amp;lt;/code&amp;gt; in earlier captures (captured)&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;21 00&amp;lt;/code&amp;gt; || &amp;lt;code&amp;gt;61 00&amp;lt;/code&amp;gt; + 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)&lt;br /&gt;
|}&lt;br /&gt;
ELM327 setup that works for &amp;lt;code&amp;gt;21 00&amp;lt;/code&amp;gt;: &amp;lt;code&amp;gt;ATSH798&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;ATS0&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;ATL0&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;ATFCSH798&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;ATFCSD300000&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;ATFCSM1&amp;lt;/code&amp;gt;, then &amp;lt;code&amp;gt;2100&amp;lt;/code&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
== 0x79A Combination switch (lighting and turn) ==&lt;br /&gt;
{{Models|JB74 (2018+, tested on 2021)|untested=JB64, JC74, JB43}}&lt;br /&gt;
&lt;br /&gt;
Request &amp;lt;code&amp;gt;0x79A&amp;lt;/code&amp;gt;, reply &amp;lt;code&amp;gt;0x7AA&amp;lt;/code&amp;gt;. Matches parts catalogue entry 37210-74PE2 (switch assembly, lighting and turn, RHD).&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! Request !! Reply !! Meaning&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;3E&amp;lt;/code&amp;gt; || &amp;lt;code&amp;gt;7E&amp;lt;/code&amp;gt; || Tester present (captured)&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;1A 8E&amp;lt;/code&amp;gt; || &amp;lt;code&amp;gt;5A 8E&amp;lt;/code&amp;gt; + ASCII &amp;lt;code&amp;gt;37210-74PA&amp;lt;/code&amp;gt; || ECU identification (captured)&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;1A 8A&amp;lt;/code&amp;gt; || &amp;lt;code&amp;gt;5A 8A&amp;lt;/code&amp;gt; + ASCII &amp;lt;code&amp;gt;37210-74PE*&amp;lt;/code&amp;gt; || ECU identification (captured)&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;18 00 FF 00&amp;lt;/code&amp;gt; || &amp;lt;code&amp;gt;58 00&amp;lt;/code&amp;gt; || DTCs: none stored (captured)&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== 0x778 Dual sensor brake support (inferred) ==&lt;br /&gt;
{{Models|JB74 (2018+, tested on 2021)|untested=JB64, JC74, JB43}}&lt;br /&gt;
&lt;br /&gt;
Request &amp;lt;code&amp;gt;0x778&amp;lt;/code&amp;gt;, reply &amp;lt;code&amp;gt;0x788&amp;lt;/code&amp;gt;. The name is inferred by elimination (the scan report&#039;s last unassigned module). Not confirmed.&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! Request !! Reply !! Meaning&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;3E&amp;lt;/code&amp;gt; || &amp;lt;code&amp;gt;7E&amp;lt;/code&amp;gt; || Tester present (captured)&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;1A 8E&amp;lt;/code&amp;gt; || &amp;lt;code&amp;gt;5A 8E&amp;lt;/code&amp;gt; + ASCII &amp;lt;code&amp;gt;33990-52R0&amp;lt;/code&amp;gt; || ECU identification (captured)&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;1A 8A&amp;lt;/code&amp;gt; || &amp;lt;code&amp;gt;5A 8A&amp;lt;/code&amp;gt; + ASCII &amp;lt;code&amp;gt;33990-78R8*&amp;lt;/code&amp;gt; || ECU identification (captured)&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;18 00 FF 00&amp;lt;/code&amp;gt; || &amp;lt;code&amp;gt;58 00&amp;lt;/code&amp;gt; || DTCs: none stored (captured)&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== 0x793 Airbag (SRS) controller ==&lt;br /&gt;
{{Models|JB74 (2018+, tested on 2021)|untested=JB64, JC74, JB43}}&lt;br /&gt;
&lt;br /&gt;
Request &amp;lt;code&amp;gt;0x793&amp;lt;/code&amp;gt;, reply &amp;lt;code&amp;gt;0x7A3&amp;lt;/code&amp;gt;. Matches parts catalogue entry 38910-78RC0 (airbag controller, VAN).&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! Request !! Reply !! Meaning&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;3E 00&amp;lt;/code&amp;gt; || &amp;lt;code&amp;gt;7E 00&amp;lt;/code&amp;gt; || Tester present (captured)&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;22 F1 01&amp;lt;/code&amp;gt; || &amp;lt;code&amp;gt;62 F1 01&amp;lt;/code&amp;gt; + ASCII &amp;lt;code&amp;gt;38910-77R0&amp;lt;/code&amp;gt; || Identification (captured)&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;22 F1 88&amp;lt;/code&amp;gt; || &amp;lt;code&amp;gt;62 F1 88&amp;lt;/code&amp;gt; + ASCII &amp;lt;code&amp;gt;38910-78RC*&amp;lt;/code&amp;gt; || Identification (captured)&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;19 02 FF&amp;lt;/code&amp;gt; || &amp;lt;code&amp;gt;59 02 4B&amp;lt;/code&amp;gt; || DTCs by status mask: none stored (captured)&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== 0x772 4WD shift controller ==&lt;br /&gt;
{{Models|JB74 (2018+, tested on 2021)|untested=JB64, JC74, JB43}}&lt;br /&gt;
&lt;br /&gt;
Request &amp;lt;code&amp;gt;0x772&amp;lt;/code&amp;gt;, reply &amp;lt;code&amp;gt;0x782&amp;lt;/code&amp;gt;. Matches parts catalogue entry 38885-78R01 (4WD shift controller).&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! Request !! Reply !! Meaning&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;3E&amp;lt;/code&amp;gt; || &amp;lt;code&amp;gt;7F 3E 13&amp;lt;/code&amp;gt; || Refused: incorrect message length. Sent four times by the scan tool (captured)&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;3E 01&amp;lt;/code&amp;gt; || &amp;lt;code&amp;gt;7F 3E 12&amp;lt;/code&amp;gt; || Refused: sub-function not supported. Sent four times (captured)&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;3E 00&amp;lt;/code&amp;gt; || &amp;lt;code&amp;gt;7E 00&amp;lt;/code&amp;gt; || Tester present (captured)&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;22 F1 01&amp;lt;/code&amp;gt; || &amp;lt;code&amp;gt;62 F1 01&amp;lt;/code&amp;gt; + ASCII &amp;lt;code&amp;gt;38885-77R0&amp;lt;/code&amp;gt; || Identification (captured)&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;22 F1 88&amp;lt;/code&amp;gt; || &amp;lt;code&amp;gt;62 F1 88&amp;lt;/code&amp;gt; + ASCII &amp;lt;code&amp;gt;38885-78R0*&amp;lt;/code&amp;gt; || Identification (captured)&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;19 02 FF&amp;lt;/code&amp;gt; || &amp;lt;code&amp;gt;59 02 4B&amp;lt;/code&amp;gt; || DTCs by status mask: none stored (captured)&lt;br /&gt;
|}&lt;br /&gt;
The scan tool tried the KWP-style &amp;lt;code&amp;gt;3E&amp;lt;/code&amp;gt; first and fell back to the UDS form &amp;lt;code&amp;gt;3E 00&amp;lt;/code&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
== 0x799 E-call controller ==&lt;br /&gt;
{{Models|JB74 (2018+, tested on 2021)|untested=JB64, JC74, JB43}}&lt;br /&gt;
&lt;br /&gt;
Request &amp;lt;code&amp;gt;0x799&amp;lt;/code&amp;gt;, reply &amp;lt;code&amp;gt;0x7A9&amp;lt;/code&amp;gt;. Matches parts catalogue entries 38960-78RA0 and RA1 (E-call controller).&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! Request !! Reply !! Meaning&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;3E&amp;lt;/code&amp;gt; || &amp;lt;code&amp;gt;7F 3E 13&amp;lt;/code&amp;gt; || Refused: incorrect message length. Sent four times (captured)&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;3E 01&amp;lt;/code&amp;gt; || &amp;lt;code&amp;gt;7F 3E 12&amp;lt;/code&amp;gt; || Refused: sub-function not supported. Sent four times (captured)&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;3E 00&amp;lt;/code&amp;gt; || &amp;lt;code&amp;gt;7E 00&amp;lt;/code&amp;gt; || Tester present (captured)&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;22 F1 01&amp;lt;/code&amp;gt; || &amp;lt;code&amp;gt;62 F1 01&amp;lt;/code&amp;gt; + ASCII &amp;lt;code&amp;gt;38960-78RA&amp;lt;/code&amp;gt; || Identification (captured)&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;22 F1 88&amp;lt;/code&amp;gt; || &amp;lt;code&amp;gt;62 F1 88&amp;lt;/code&amp;gt; + ASCII &amp;lt;code&amp;gt;38960-78RA*&amp;lt;/code&amp;gt; || Identification (captured)&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;19 02 FF&amp;lt;/code&amp;gt; || &amp;lt;code&amp;gt;59 02 4B 92 4E 00 02&amp;lt;/code&amp;gt; || One stored code record: &amp;lt;code&amp;gt;92 4E 00&amp;lt;/code&amp;gt;, status &amp;lt;code&amp;gt;02&amp;lt;/code&amp;gt;. The Launch report does not list it and its meaning is not known (captured)&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== 0x751 Central gateway ==&lt;br /&gt;
Request &amp;lt;code&amp;gt;0x751&amp;lt;/code&amp;gt;, reply &amp;lt;code&amp;gt;0x761&amp;lt;/code&amp;gt;. The label on the module reads 33580-79R01.&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! Request !! Reply !! Meaning&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;3E 00&amp;lt;/code&amp;gt; || &amp;lt;code&amp;gt;7E 00&amp;lt;/code&amp;gt; || Tester present (captured)&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;22 F1 01&amp;lt;/code&amp;gt; || &amp;lt;code&amp;gt;62 F1 01&amp;lt;/code&amp;gt; + ASCII &amp;lt;code&amp;gt;33580-79R0&amp;lt;/code&amp;gt; || Identification (captured)&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;22 F1 88&amp;lt;/code&amp;gt; || &amp;lt;code&amp;gt;62 F1 88&amp;lt;/code&amp;gt; + ASCII &amp;lt;code&amp;gt;33580-78R0*&amp;lt;/code&amp;gt; || Identification (captured)&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;19 02 FF&amp;lt;/code&amp;gt; || &amp;lt;code&amp;gt;59 02 4B&amp;lt;/code&amp;gt; || DTCs by status mask: none stored (captured)&lt;br /&gt;
|}&lt;br /&gt;
The gateway sits between the OBD socket and the vehicle CAN bus. Whether it forwards requests to the other modules unchanged is not confirmed.&lt;br /&gt;
&lt;br /&gt;
== Addresses probed with no reply ==&lt;br /&gt;
The scan tool sent tester-present (&amp;lt;code&amp;gt;3E&amp;lt;/code&amp;gt;) about eight times each to &amp;lt;code&amp;gt;0x273&amp;lt;/code&amp;gt; and &amp;lt;code&amp;gt;0x262&amp;lt;/code&amp;gt; and received nothing from the expected reply IDs (&amp;lt;code&amp;gt;0x673&amp;lt;/code&amp;gt; and &amp;lt;code&amp;gt;0x662&amp;lt;/code&amp;gt;). They are probably modules this car does not have, such as an automatic transmission or auto-levelling controller. This is a guess.&lt;br /&gt;
&lt;br /&gt;
== ELM327 notes ==&lt;br /&gt;
* Only &amp;lt;code&amp;gt;0x798&amp;lt;/code&amp;gt; has been tested with an ELM327. For other modules, set &amp;lt;code&amp;gt;ATSH&amp;lt;/code&amp;gt; to the request ID and &amp;lt;code&amp;gt;ATFCSH&amp;lt;/code&amp;gt; to the same ID, and you may need &amp;lt;code&amp;gt;ATCRA&amp;lt;/code&amp;gt; with the reply ID, because the reply is not always the request ID plus 8. This is untested.&lt;br /&gt;
* 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.&lt;br /&gt;
* Do not send output-control commands (service &amp;lt;code&amp;gt;30&amp;lt;/code&amp;gt; and similar) from a head-unit app while driving.&lt;br /&gt;
&lt;br /&gt;
== Sources ==&lt;br /&gt;
* Owner PCAN-View captures of a Launch X431 CRP919 full health-check scan and rev counter sweep test, October 2026.&lt;br /&gt;
* Suzuki Jimny parts catalogue 9900B-40312-004 (type 1, October 2021), figures 350A, 351A and 351B.&lt;br /&gt;
* Labels on the TPMS controller and central gateway of the test car.&lt;br /&gt;
&lt;br /&gt;
[[Category:Electrical - gen4]]&lt;/div&gt;</summary>
		<author><name>Mlines</name></author>
	</entry>
	<entry>
		<id>https://www.bigjimny.com/mediawiki/index.php?title=ECU_diagnostic_CAN_addresses&amp;diff=10075</id>
		<title>ECU diagnostic CAN addresses</title>
		<link rel="alternate" type="text/html" href="https://www.bigjimny.com/mediawiki/index.php?title=ECU_diagnostic_CAN_addresses&amp;diff=10075"/>
		<updated>2026-11-01T10:29:43Z</updated>

		<summary type="html">&lt;p&gt;Mlines: /* 0x772 4WD shift controller */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&amp;lt;div style=&amp;quot;border: 1px solid #c9a227; background-color: #fff8dc; padding: 0.6em 1em; margin: 0 0 1em 0; border-radius: 4px;&amp;quot;&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;Support this project:&#039;&#039;&#039; 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 [https://buymeacoffee.com/bigjimny buymeacoffee.com/bigjimny].&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
= Suzuki Jimny JB74 - CAN bus devices and the commands they answer =&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Status:&#039;&#039;&#039; 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.&lt;br /&gt;
&lt;br /&gt;
== How to read this page ==&lt;br /&gt;
* All IDs are 11-bit CAN IDs on the OBD socket (pins 6 and 14, 500 kbit/s). The &amp;quot;request ID&amp;quot; is the header a tool sends to; the &amp;quot;reply ID&amp;quot; is where the module answers.&lt;br /&gt;
* 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.&lt;br /&gt;
* &#039;&#039;&#039;KWP-style&#039;&#039;&#039; modules use services such as &amp;lt;code&amp;gt;1A&amp;lt;/code&amp;gt; (read ECU identification) and &amp;lt;code&amp;gt;18&amp;lt;/code&amp;gt; (read DTCs by status). &#039;&#039;&#039;UDS-style&#039;&#039;&#039; modules use &amp;lt;code&amp;gt;22&amp;lt;/code&amp;gt; (read data by identifier) and &amp;lt;code&amp;gt;19&amp;lt;/code&amp;gt; (read DTCs).&lt;br /&gt;
* 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.&lt;br /&gt;
* Identification strings are ASCII Suzuki part numbers. The first one in each module (&amp;lt;code&amp;gt;1A 8E&amp;lt;/code&amp;gt; or &amp;lt;code&amp;gt;22 F1 01&amp;lt;/code&amp;gt;) has no trailing character; the second (&amp;lt;code&amp;gt;1A 8A&amp;lt;/code&amp;gt; or &amp;lt;code&amp;gt;22 F1 88&amp;lt;/code&amp;gt;) ends in &amp;lt;code&amp;gt;*&amp;lt;/code&amp;gt;. They do not always equal the number printed on the module&#039;s label.&lt;br /&gt;
* Commands marked &#039;&#039;captured&#039;&#039; were seen in a trace. Nothing here has been sent to a module by us except the TPMS requests.&lt;br /&gt;
&lt;br /&gt;
== Device table ==&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! Request ID !! Reply ID !! Style !! Module !! Identification reply (first / second) !! How the module was identified&lt;br /&gt;
|-&lt;br /&gt;
| [[#0x7E0 ECM|0x7E0]] || 0x7E8 || KWP || ECM || 33980-78R0 / 33980-78RC* || Standard engine address&lt;br /&gt;
|-&lt;br /&gt;
| [[#0x261 ABS (inferred)|0x261]] || 0x661 || KWP || ABS (inferred) || 56100-77RA / 56100-78RF* || Only brake module left by elimination&lt;br /&gt;
|-&lt;br /&gt;
| [[#0x263 EPS controller|0x263]] || 0x663 || KWP || EPS controller || 38720-77R0 / 38720-77R0* || Parts catalogue (38720-77R01)&lt;br /&gt;
|-&lt;br /&gt;
| [[#0x271 Body control module|0x271]] || 0x671 || KWP || Body control module || 36775-77R0 / 36775-77RC* || Parts catalogue (36775-77RC2 to RC4)&lt;br /&gt;
|-&lt;br /&gt;
| [[#0x274 Instrument cluster|0x274]] || 0x674 || KWP || Instrument cluster || 34100-78R0 / 34110-78RD* || Rev counter sweep test&lt;br /&gt;
|-&lt;br /&gt;
| [[#0x798 TPMS controller|0x798]] || 0x7A8 || KWP || TPMS controller || 37160-61M0 / 37120-78R0* || Label (Model No. P61M0) and parts catalogue&lt;br /&gt;
|-&lt;br /&gt;
| [[#0x79A Combination switch (lighting and turn)|0x79A]] || 0x7AA || KWP || Combination switch (lighting and turn) || 37210-74PA / 37210-74PE* || Parts catalogue (37210-74PE2)&lt;br /&gt;
|-&lt;br /&gt;
| [[#0x778 Dual sensor brake support (inferred)|0x778]] || 0x788 || KWP || Dual sensor brake support (inferred) || 33990-52R0 / 33990-78R8* || By elimination&lt;br /&gt;
|-&lt;br /&gt;
| [[#0x793 Airbag (SRS) controller|0x793]] || 0x7A3 || UDS || Airbag (SRS) controller || 38910-77R0 / 38910-78RC* || Parts catalogue (38910-78RC0)&lt;br /&gt;
|-&lt;br /&gt;
| [[#0x772 4WD shift controller|0x772]] || 0x782 || UDS || 4WD shift controller || 38885-77R0 / 38885-78R0* || Parts catalogue (38885-78R01)&lt;br /&gt;
|-&lt;br /&gt;
| [[#0x799 E-call controller|0x799]] || 0x7A9 || UDS || E-call controller || 38960-78RA / 38960-78RA* || Parts catalogue (38960-78RA0, RA1)&lt;br /&gt;
|-&lt;br /&gt;
| [[#0x751 Central gateway|0x751]] || 0x761 || UDS || Central gateway || 33580-79R0 / 33580-78R0* || Label (33580-79R01) and parts catalogue&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
Two more addresses, [[#Addresses probed with no reply|0x273 and 0x262]], were probed by the scan tool and did not answer.&lt;br /&gt;
&lt;br /&gt;
The names marked &amp;quot;inferred&amp;quot; are guesses from elimination and part-number series, not confirmed by a label or test.&lt;br /&gt;
&lt;br /&gt;
== 0x7E0 ECM ==&lt;br /&gt;
{{Models|JB74 (2018+, tested on 2021)|untested=JB64, JC74, JB43}}&lt;br /&gt;
&lt;br /&gt;
Request &amp;lt;code&amp;gt;0x7E0&amp;lt;/code&amp;gt;, reply &amp;lt;code&amp;gt;0x7E8&amp;lt;/code&amp;gt;. This is the standard OBD engine address, so standard mode 01 PIDs should be available here, but none were captured.&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! Request !! Reply !! Meaning&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;3E&amp;lt;/code&amp;gt; || &amp;lt;code&amp;gt;7E&amp;lt;/code&amp;gt; || Tester present (captured)&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;1A 8E&amp;lt;/code&amp;gt; || &amp;lt;code&amp;gt;5A 8E&amp;lt;/code&amp;gt; + ASCII &amp;lt;code&amp;gt;33980-78R0&amp;lt;/code&amp;gt; || ECU identification (captured)&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;1A 8A&amp;lt;/code&amp;gt; || &amp;lt;code&amp;gt;5A 8A&amp;lt;/code&amp;gt; + ASCII &amp;lt;code&amp;gt;33980-78RC*&amp;lt;/code&amp;gt; || ECU identification (captured)&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;18 00 FF 00&amp;lt;/code&amp;gt; || &amp;lt;code&amp;gt;58 00&amp;lt;/code&amp;gt; || Read DTCs by status: none stored (captured)&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== 0x261 ABS (inferred) ==&lt;br /&gt;
{{Models|JB74 (2018+, tested on 2021)|untested=JB64, JC74, JB43}}&lt;br /&gt;
&lt;br /&gt;
Request &amp;lt;code&amp;gt;0x261&amp;lt;/code&amp;gt;, reply &amp;lt;code&amp;gt;0x661&amp;lt;/code&amp;gt;. 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.&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! Request !! Reply !! Meaning&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;3E&amp;lt;/code&amp;gt; || &amp;lt;code&amp;gt;7E&amp;lt;/code&amp;gt; || Tester present (captured)&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;1A 8E&amp;lt;/code&amp;gt; || &amp;lt;code&amp;gt;5A 8E&amp;lt;/code&amp;gt; + ASCII &amp;lt;code&amp;gt;56100-77RA&amp;lt;/code&amp;gt; || ECU identification (captured)&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;1A 8A&amp;lt;/code&amp;gt; || &amp;lt;code&amp;gt;5A 8A&amp;lt;/code&amp;gt; + ASCII &amp;lt;code&amp;gt;56100-78RF*&amp;lt;/code&amp;gt; || ECU identification (captured)&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;18 00 FF 00&amp;lt;/code&amp;gt; || &amp;lt;code&amp;gt;58 00&amp;lt;/code&amp;gt; || DTCs: none stored (captured)&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== 0x263 EPS controller ==&lt;br /&gt;
{{Models|JB74 (2018+, tested on 2021)|untested=JB64, JC74, JB43}}&lt;br /&gt;
&lt;br /&gt;
Request &amp;lt;code&amp;gt;0x263&amp;lt;/code&amp;gt;, reply &amp;lt;code&amp;gt;0x663&amp;lt;/code&amp;gt;. Matches parts catalogue entry 38720-77R01 (EPS controller).&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! Request !! Reply !! Meaning&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;3E&amp;lt;/code&amp;gt; || &amp;lt;code&amp;gt;7E&amp;lt;/code&amp;gt; || Tester present (captured)&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;1A 8E&amp;lt;/code&amp;gt; || &amp;lt;code&amp;gt;5A 8E&amp;lt;/code&amp;gt; + ASCII &amp;lt;code&amp;gt;38720-77R0&amp;lt;/code&amp;gt; || ECU identification (captured)&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;1A 8A&amp;lt;/code&amp;gt; || &amp;lt;code&amp;gt;5A 8A&amp;lt;/code&amp;gt; + ASCII &amp;lt;code&amp;gt;38720-77R0*&amp;lt;/code&amp;gt; || ECU identification (captured)&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;18 00 FF 00&amp;lt;/code&amp;gt; || &amp;lt;code&amp;gt;58 00&amp;lt;/code&amp;gt; || DTCs: none stored (captured)&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== 0x271 Body control module ==&lt;br /&gt;
{{Models|JB74 (2018+, tested on 2021)|untested=JB64, JC74, JB43}}&lt;br /&gt;
&lt;br /&gt;
Request &amp;lt;code&amp;gt;0x271&amp;lt;/code&amp;gt;, reply &amp;lt;code&amp;gt;0x671&amp;lt;/code&amp;gt;. Matches parts catalogue entries 36775-77RC2 to RC4 (body control module, RHD).&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! Request !! Reply !! Meaning&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;3E&amp;lt;/code&amp;gt; || &amp;lt;code&amp;gt;7E&amp;lt;/code&amp;gt; || Tester present (captured)&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;1A 8E&amp;lt;/code&amp;gt; || &amp;lt;code&amp;gt;5A 8E&amp;lt;/code&amp;gt; + ASCII &amp;lt;code&amp;gt;36775-77R0&amp;lt;/code&amp;gt; || ECU identification (captured)&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;1A 8A&amp;lt;/code&amp;gt; || &amp;lt;code&amp;gt;5A 8A&amp;lt;/code&amp;gt; + ASCII &amp;lt;code&amp;gt;36775-77RC*&amp;lt;/code&amp;gt; || ECU identification (captured)&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;18 00 FF 00&amp;lt;/code&amp;gt; || &amp;lt;code&amp;gt;58 00&amp;lt;/code&amp;gt; || DTCs: none stored (captured)&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== 0x274 Instrument cluster ==&lt;br /&gt;
{{Models|JB74 (2018+, tested on 2021)|untested=JB64, JC74, JB43}}&lt;br /&gt;
&lt;br /&gt;
Request &amp;lt;code&amp;gt;0x274&amp;lt;/code&amp;gt;, reply &amp;lt;code&amp;gt;0x674&amp;lt;/code&amp;gt;. Confirmed by the rev counter sweep test.&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! Request !! Reply !! Meaning&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;3E&amp;lt;/code&amp;gt; or &amp;lt;code&amp;gt;3E 00&amp;lt;/code&amp;gt; || &amp;lt;code&amp;gt;7E&amp;lt;/code&amp;gt; || Tester present, about every 2.15 s during the sweep test (captured)&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;1A 8E&amp;lt;/code&amp;gt; || &amp;lt;code&amp;gt;5A 8E&amp;lt;/code&amp;gt; + ASCII &amp;lt;code&amp;gt;34100-78R0&amp;lt;/code&amp;gt; || ECU identification (captured)&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;1A 8A&amp;lt;/code&amp;gt; || &amp;lt;code&amp;gt;5A 8A&amp;lt;/code&amp;gt; + ASCII &amp;lt;code&amp;gt;34110-78RD*&amp;lt;/code&amp;gt; (last byte of the reply is &amp;lt;code&amp;gt;06&amp;lt;/code&amp;gt;) || ECU identification (captured)&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;18 00 FF 00&amp;lt;/code&amp;gt; || &amp;lt;code&amp;gt;58 00&amp;lt;/code&amp;gt; || DTCs: none stored (captured)&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;30 01 07 80 40 00 00&amp;lt;/code&amp;gt; || &amp;lt;code&amp;gt;70 01 07&amp;lt;/code&amp;gt; || Starts the rev counter sweep (service 0x30, local ID 01, &amp;quot;short-term adjustment&amp;quot;). The cluster then sweeps up and down by itself (captured)&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;30 01 07 80 00 00 00&amp;lt;/code&amp;gt; || &amp;lt;code&amp;gt;7F 30 22&amp;lt;/code&amp;gt; || Refused (&amp;quot;conditions not correct&amp;quot;). Possibly a stop request sent after the sweep had finished (captured)&lt;br /&gt;
|}&lt;br /&gt;
The meaning of the four control bytes (&amp;lt;code&amp;gt;80 40 00 00&amp;lt;/code&amp;gt;) is not known. Other output tests (gauges, warning lights) have not been captured.&lt;br /&gt;
&lt;br /&gt;
== 0x798 TPMS controller ==&lt;br /&gt;
{{Models|JB74 (2018+, tested on 2021)|untested=JB64, JC74, JB43}}&lt;br /&gt;
&lt;br /&gt;
Request &amp;lt;code&amp;gt;0x798&amp;lt;/code&amp;gt;, reply &amp;lt;code&amp;gt;0x7A8&amp;lt;/code&amp;gt;. The label on the module reads 37160-78R00, &amp;quot;BASE ASSY-TPMS&amp;quot;, Model No. P61M0 (Continental A2C13930301, 433.92 MHz). The full data layout, calibration and app setups are on [[OBD2 Diagnostics reading project]].&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! Request !! Reply !! Meaning&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;3E&amp;lt;/code&amp;gt; || &amp;lt;code&amp;gt;7E&amp;lt;/code&amp;gt; || Tester present (captured)&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;1A 8E&amp;lt;/code&amp;gt; || &amp;lt;code&amp;gt;5A 8E&amp;lt;/code&amp;gt; + ASCII &amp;lt;code&amp;gt;37160-61M0&amp;lt;/code&amp;gt; || ECU identification; matches Model No. P61M0 on the label (captured)&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;1A 8A&amp;lt;/code&amp;gt; || &amp;lt;code&amp;gt;5A 8A&amp;lt;/code&amp;gt; + ASCII &amp;lt;code&amp;gt;37120-78R0*&amp;lt;/code&amp;gt; || ECU identification (captured)&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;18 00 FF 00&amp;lt;/code&amp;gt; || &amp;lt;code&amp;gt;58 00&amp;lt;/code&amp;gt; (no codes) or &amp;lt;code&amp;gt;58 01 9A 31 20&amp;lt;/code&amp;gt; (one code) || DTCs by status. The code &amp;lt;code&amp;gt;9A 31&amp;lt;/code&amp;gt; is probably the left front low pressure warning (inferred). The status byte was &amp;lt;code&amp;gt;20&amp;lt;/code&amp;gt; in the full scan and &amp;lt;code&amp;gt;E0&amp;lt;/code&amp;gt; in earlier captures (captured)&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;21 00&amp;lt;/code&amp;gt; || &amp;lt;code&amp;gt;61 00&amp;lt;/code&amp;gt; + 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)&lt;br /&gt;
|}&lt;br /&gt;
ELM327 setup that works for &amp;lt;code&amp;gt;21 00&amp;lt;/code&amp;gt;: &amp;lt;code&amp;gt;ATSH798&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;ATS0&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;ATL0&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;ATFCSH798&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;ATFCSD300000&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;ATFCSM1&amp;lt;/code&amp;gt;, then &amp;lt;code&amp;gt;2100&amp;lt;/code&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
== 0x79A Combination switch (lighting and turn) ==&lt;br /&gt;
{{Models|JB74 (2018+, tested on 2021)|untested=JB64, JC74, JB43}}&lt;br /&gt;
&lt;br /&gt;
Request &amp;lt;code&amp;gt;0x79A&amp;lt;/code&amp;gt;, reply &amp;lt;code&amp;gt;0x7AA&amp;lt;/code&amp;gt;. Matches parts catalogue entry 37210-74PE2 (switch assembly, lighting and turn, RHD).&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! Request !! Reply !! Meaning&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;3E&amp;lt;/code&amp;gt; || &amp;lt;code&amp;gt;7E&amp;lt;/code&amp;gt; || Tester present (captured)&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;1A 8E&amp;lt;/code&amp;gt; || &amp;lt;code&amp;gt;5A 8E&amp;lt;/code&amp;gt; + ASCII &amp;lt;code&amp;gt;37210-74PA&amp;lt;/code&amp;gt; || ECU identification (captured)&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;1A 8A&amp;lt;/code&amp;gt; || &amp;lt;code&amp;gt;5A 8A&amp;lt;/code&amp;gt; + ASCII &amp;lt;code&amp;gt;37210-74PE*&amp;lt;/code&amp;gt; || ECU identification (captured)&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;18 00 FF 00&amp;lt;/code&amp;gt; || &amp;lt;code&amp;gt;58 00&amp;lt;/code&amp;gt; || DTCs: none stored (captured)&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== 0x778 Dual sensor brake support (inferred) ==&lt;br /&gt;
{{Models|JB74 (2018+, tested on 2021)|untested=JB64, JC74, JB43}}&lt;br /&gt;
&lt;br /&gt;
Request &amp;lt;code&amp;gt;0x778&amp;lt;/code&amp;gt;, reply &amp;lt;code&amp;gt;0x788&amp;lt;/code&amp;gt;. The name is inferred by elimination (the scan report&#039;s last unassigned module). Not confirmed.&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! Request !! Reply !! Meaning&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;3E&amp;lt;/code&amp;gt; || &amp;lt;code&amp;gt;7E&amp;lt;/code&amp;gt; || Tester present (captured)&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;1A 8E&amp;lt;/code&amp;gt; || &amp;lt;code&amp;gt;5A 8E&amp;lt;/code&amp;gt; + ASCII &amp;lt;code&amp;gt;33990-52R0&amp;lt;/code&amp;gt; || ECU identification (captured)&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;1A 8A&amp;lt;/code&amp;gt; || &amp;lt;code&amp;gt;5A 8A&amp;lt;/code&amp;gt; + ASCII &amp;lt;code&amp;gt;33990-78R8*&amp;lt;/code&amp;gt; || ECU identification (captured)&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;18 00 FF 00&amp;lt;/code&amp;gt; || &amp;lt;code&amp;gt;58 00&amp;lt;/code&amp;gt; || DTCs: none stored (captured)&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== 0x793 Airbag (SRS) controller ==&lt;br /&gt;
{{Models|JB74 (2018+, tested on 2021)|untested=JB64, JC74, JB43}}&lt;br /&gt;
&lt;br /&gt;
Request &amp;lt;code&amp;gt;0x793&amp;lt;/code&amp;gt;, reply &amp;lt;code&amp;gt;0x7A3&amp;lt;/code&amp;gt;. Matches parts catalogue entry 38910-78RC0 (airbag controller, VAN).&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! Request !! Reply !! Meaning&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;3E 00&amp;lt;/code&amp;gt; || &amp;lt;code&amp;gt;7E 00&amp;lt;/code&amp;gt; || Tester present (captured)&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;22 F1 01&amp;lt;/code&amp;gt; || &amp;lt;code&amp;gt;62 F1 01&amp;lt;/code&amp;gt; + ASCII &amp;lt;code&amp;gt;38910-77R0&amp;lt;/code&amp;gt; || Identification (captured)&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;22 F1 88&amp;lt;/code&amp;gt; || &amp;lt;code&amp;gt;62 F1 88&amp;lt;/code&amp;gt; + ASCII &amp;lt;code&amp;gt;38910-78RC*&amp;lt;/code&amp;gt; || Identification (captured)&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;19 02 FF&amp;lt;/code&amp;gt; || &amp;lt;code&amp;gt;59 02 4B&amp;lt;/code&amp;gt; || DTCs by status mask: none stored (captured)&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== 0x772 4WD shift controller ==&lt;br /&gt;
{{Models|JB74 (2018+, tested on 2021)|untested=JB64, JC74, JB43}}&lt;br /&gt;
&lt;br /&gt;
Request &amp;lt;code&amp;gt;0x772&amp;lt;/code&amp;gt;, reply &amp;lt;code&amp;gt;0x782&amp;lt;/code&amp;gt;. Matches parts catalogue entry 38885-78R01 (4WD shift controller).&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! Request !! Reply !! Meaning&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;3E&amp;lt;/code&amp;gt; || &amp;lt;code&amp;gt;7F 3E 13&amp;lt;/code&amp;gt; || Refused: incorrect message length. Sent four times by the scan tool (captured)&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;3E 01&amp;lt;/code&amp;gt; || &amp;lt;code&amp;gt;7F 3E 12&amp;lt;/code&amp;gt; || Refused: sub-function not supported. Sent four times (captured)&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;3E 00&amp;lt;/code&amp;gt; || &amp;lt;code&amp;gt;7E 00&amp;lt;/code&amp;gt; || Tester present (captured)&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;22 F1 01&amp;lt;/code&amp;gt; || &amp;lt;code&amp;gt;62 F1 01&amp;lt;/code&amp;gt; + ASCII &amp;lt;code&amp;gt;38885-77R0&amp;lt;/code&amp;gt; || Identification (captured)&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;22 F1 88&amp;lt;/code&amp;gt; || &amp;lt;code&amp;gt;62 F1 88&amp;lt;/code&amp;gt; + ASCII &amp;lt;code&amp;gt;38885-78R0*&amp;lt;/code&amp;gt; || Identification (captured)&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;19 02 FF&amp;lt;/code&amp;gt; || &amp;lt;code&amp;gt;59 02 4B&amp;lt;/code&amp;gt; || DTCs by status mask: none stored (captured)&lt;br /&gt;
|}&lt;br /&gt;
The scan tool tried the KWP-style &amp;lt;code&amp;gt;3E&amp;lt;/code&amp;gt; first and fell back to the UDS form &amp;lt;code&amp;gt;3E 00&amp;lt;/code&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
== 0x799 E-call controller ==&lt;br /&gt;
Request &amp;lt;code&amp;gt;0x799&amp;lt;/code&amp;gt;, reply &amp;lt;code&amp;gt;0x7A9&amp;lt;/code&amp;gt;. Matches parts catalogue entries 38960-78RA0 and RA1 (E-call controller).&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! Request !! Reply !! Meaning&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;3E&amp;lt;/code&amp;gt; || &amp;lt;code&amp;gt;7F 3E 13&amp;lt;/code&amp;gt; || Refused: incorrect message length. Sent four times (captured)&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;3E 01&amp;lt;/code&amp;gt; || &amp;lt;code&amp;gt;7F 3E 12&amp;lt;/code&amp;gt; || Refused: sub-function not supported. Sent four times (captured)&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;3E 00&amp;lt;/code&amp;gt; || &amp;lt;code&amp;gt;7E 00&amp;lt;/code&amp;gt; || Tester present (captured)&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;22 F1 01&amp;lt;/code&amp;gt; || &amp;lt;code&amp;gt;62 F1 01&amp;lt;/code&amp;gt; + ASCII &amp;lt;code&amp;gt;38960-78RA&amp;lt;/code&amp;gt; || Identification (captured)&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;22 F1 88&amp;lt;/code&amp;gt; || &amp;lt;code&amp;gt;62 F1 88&amp;lt;/code&amp;gt; + ASCII &amp;lt;code&amp;gt;38960-78RA*&amp;lt;/code&amp;gt; || Identification (captured)&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;19 02 FF&amp;lt;/code&amp;gt; || &amp;lt;code&amp;gt;59 02 4B 92 4E 00 02&amp;lt;/code&amp;gt; || One stored code record: &amp;lt;code&amp;gt;92 4E 00&amp;lt;/code&amp;gt;, status &amp;lt;code&amp;gt;02&amp;lt;/code&amp;gt;. The Launch report does not list it and its meaning is not known (captured)&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== 0x751 Central gateway ==&lt;br /&gt;
Request &amp;lt;code&amp;gt;0x751&amp;lt;/code&amp;gt;, reply &amp;lt;code&amp;gt;0x761&amp;lt;/code&amp;gt;. The label on the module reads 33580-79R01.&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! Request !! Reply !! Meaning&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;3E 00&amp;lt;/code&amp;gt; || &amp;lt;code&amp;gt;7E 00&amp;lt;/code&amp;gt; || Tester present (captured)&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;22 F1 01&amp;lt;/code&amp;gt; || &amp;lt;code&amp;gt;62 F1 01&amp;lt;/code&amp;gt; + ASCII &amp;lt;code&amp;gt;33580-79R0&amp;lt;/code&amp;gt; || Identification (captured)&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;22 F1 88&amp;lt;/code&amp;gt; || &amp;lt;code&amp;gt;62 F1 88&amp;lt;/code&amp;gt; + ASCII &amp;lt;code&amp;gt;33580-78R0*&amp;lt;/code&amp;gt; || Identification (captured)&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;19 02 FF&amp;lt;/code&amp;gt; || &amp;lt;code&amp;gt;59 02 4B&amp;lt;/code&amp;gt; || DTCs by status mask: none stored (captured)&lt;br /&gt;
|}&lt;br /&gt;
The gateway sits between the OBD socket and the vehicle CAN bus. Whether it forwards requests to the other modules unchanged is not confirmed.&lt;br /&gt;
&lt;br /&gt;
== Addresses probed with no reply ==&lt;br /&gt;
The scan tool sent tester-present (&amp;lt;code&amp;gt;3E&amp;lt;/code&amp;gt;) about eight times each to &amp;lt;code&amp;gt;0x273&amp;lt;/code&amp;gt; and &amp;lt;code&amp;gt;0x262&amp;lt;/code&amp;gt; and received nothing from the expected reply IDs (&amp;lt;code&amp;gt;0x673&amp;lt;/code&amp;gt; and &amp;lt;code&amp;gt;0x662&amp;lt;/code&amp;gt;). They are probably modules this car does not have, such as an automatic transmission or auto-levelling controller. This is a guess.&lt;br /&gt;
&lt;br /&gt;
== ELM327 notes ==&lt;br /&gt;
* Only &amp;lt;code&amp;gt;0x798&amp;lt;/code&amp;gt; has been tested with an ELM327. For other modules, set &amp;lt;code&amp;gt;ATSH&amp;lt;/code&amp;gt; to the request ID and &amp;lt;code&amp;gt;ATFCSH&amp;lt;/code&amp;gt; to the same ID, and you may need &amp;lt;code&amp;gt;ATCRA&amp;lt;/code&amp;gt; with the reply ID, because the reply is not always the request ID plus 8. This is untested.&lt;br /&gt;
* 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.&lt;br /&gt;
* Do not send output-control commands (service &amp;lt;code&amp;gt;30&amp;lt;/code&amp;gt; and similar) from a head-unit app while driving.&lt;br /&gt;
&lt;br /&gt;
== Sources ==&lt;br /&gt;
* Owner PCAN-View captures of a Launch X431 CRP919 full health-check scan and rev counter sweep test, October 2026.&lt;br /&gt;
* Suzuki Jimny parts catalogue 9900B-40312-004 (type 1, October 2021), figures 350A, 351A and 351B.&lt;br /&gt;
* Labels on the TPMS controller and central gateway of the test car.&lt;br /&gt;
&lt;br /&gt;
[[Category:Electrical - gen4]]&lt;/div&gt;</summary>
		<author><name>Mlines</name></author>
	</entry>
	<entry>
		<id>https://www.bigjimny.com/mediawiki/index.php?title=ECU_diagnostic_CAN_addresses&amp;diff=10074</id>
		<title>ECU diagnostic CAN addresses</title>
		<link rel="alternate" type="text/html" href="https://www.bigjimny.com/mediawiki/index.php?title=ECU_diagnostic_CAN_addresses&amp;diff=10074"/>
		<updated>2026-11-01T10:29:27Z</updated>

		<summary type="html">&lt;p&gt;Mlines: /* 0x793 Airbag (SRS) controller */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&amp;lt;div style=&amp;quot;border: 1px solid #c9a227; background-color: #fff8dc; padding: 0.6em 1em; margin: 0 0 1em 0; border-radius: 4px;&amp;quot;&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;Support this project:&#039;&#039;&#039; 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 [https://buymeacoffee.com/bigjimny buymeacoffee.com/bigjimny].&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
= Suzuki Jimny JB74 - CAN bus devices and the commands they answer =&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Status:&#039;&#039;&#039; 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.&lt;br /&gt;
&lt;br /&gt;
== How to read this page ==&lt;br /&gt;
* All IDs are 11-bit CAN IDs on the OBD socket (pins 6 and 14, 500 kbit/s). The &amp;quot;request ID&amp;quot; is the header a tool sends to; the &amp;quot;reply ID&amp;quot; is where the module answers.&lt;br /&gt;
* 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.&lt;br /&gt;
* &#039;&#039;&#039;KWP-style&#039;&#039;&#039; modules use services such as &amp;lt;code&amp;gt;1A&amp;lt;/code&amp;gt; (read ECU identification) and &amp;lt;code&amp;gt;18&amp;lt;/code&amp;gt; (read DTCs by status). &#039;&#039;&#039;UDS-style&#039;&#039;&#039; modules use &amp;lt;code&amp;gt;22&amp;lt;/code&amp;gt; (read data by identifier) and &amp;lt;code&amp;gt;19&amp;lt;/code&amp;gt; (read DTCs).&lt;br /&gt;
* 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.&lt;br /&gt;
* Identification strings are ASCII Suzuki part numbers. The first one in each module (&amp;lt;code&amp;gt;1A 8E&amp;lt;/code&amp;gt; or &amp;lt;code&amp;gt;22 F1 01&amp;lt;/code&amp;gt;) has no trailing character; the second (&amp;lt;code&amp;gt;1A 8A&amp;lt;/code&amp;gt; or &amp;lt;code&amp;gt;22 F1 88&amp;lt;/code&amp;gt;) ends in &amp;lt;code&amp;gt;*&amp;lt;/code&amp;gt;. They do not always equal the number printed on the module&#039;s label.&lt;br /&gt;
* Commands marked &#039;&#039;captured&#039;&#039; were seen in a trace. Nothing here has been sent to a module by us except the TPMS requests.&lt;br /&gt;
&lt;br /&gt;
== Device table ==&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! Request ID !! Reply ID !! Style !! Module !! Identification reply (first / second) !! How the module was identified&lt;br /&gt;
|-&lt;br /&gt;
| [[#0x7E0 ECM|0x7E0]] || 0x7E8 || KWP || ECM || 33980-78R0 / 33980-78RC* || Standard engine address&lt;br /&gt;
|-&lt;br /&gt;
| [[#0x261 ABS (inferred)|0x261]] || 0x661 || KWP || ABS (inferred) || 56100-77RA / 56100-78RF* || Only brake module left by elimination&lt;br /&gt;
|-&lt;br /&gt;
| [[#0x263 EPS controller|0x263]] || 0x663 || KWP || EPS controller || 38720-77R0 / 38720-77R0* || Parts catalogue (38720-77R01)&lt;br /&gt;
|-&lt;br /&gt;
| [[#0x271 Body control module|0x271]] || 0x671 || KWP || Body control module || 36775-77R0 / 36775-77RC* || Parts catalogue (36775-77RC2 to RC4)&lt;br /&gt;
|-&lt;br /&gt;
| [[#0x274 Instrument cluster|0x274]] || 0x674 || KWP || Instrument cluster || 34100-78R0 / 34110-78RD* || Rev counter sweep test&lt;br /&gt;
|-&lt;br /&gt;
| [[#0x798 TPMS controller|0x798]] || 0x7A8 || KWP || TPMS controller || 37160-61M0 / 37120-78R0* || Label (Model No. P61M0) and parts catalogue&lt;br /&gt;
|-&lt;br /&gt;
| [[#0x79A Combination switch (lighting and turn)|0x79A]] || 0x7AA || KWP || Combination switch (lighting and turn) || 37210-74PA / 37210-74PE* || Parts catalogue (37210-74PE2)&lt;br /&gt;
|-&lt;br /&gt;
| [[#0x778 Dual sensor brake support (inferred)|0x778]] || 0x788 || KWP || Dual sensor brake support (inferred) || 33990-52R0 / 33990-78R8* || By elimination&lt;br /&gt;
|-&lt;br /&gt;
| [[#0x793 Airbag (SRS) controller|0x793]] || 0x7A3 || UDS || Airbag (SRS) controller || 38910-77R0 / 38910-78RC* || Parts catalogue (38910-78RC0)&lt;br /&gt;
|-&lt;br /&gt;
| [[#0x772 4WD shift controller|0x772]] || 0x782 || UDS || 4WD shift controller || 38885-77R0 / 38885-78R0* || Parts catalogue (38885-78R01)&lt;br /&gt;
|-&lt;br /&gt;
| [[#0x799 E-call controller|0x799]] || 0x7A9 || UDS || E-call controller || 38960-78RA / 38960-78RA* || Parts catalogue (38960-78RA0, RA1)&lt;br /&gt;
|-&lt;br /&gt;
| [[#0x751 Central gateway|0x751]] || 0x761 || UDS || Central gateway || 33580-79R0 / 33580-78R0* || Label (33580-79R01) and parts catalogue&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
Two more addresses, [[#Addresses probed with no reply|0x273 and 0x262]], were probed by the scan tool and did not answer.&lt;br /&gt;
&lt;br /&gt;
The names marked &amp;quot;inferred&amp;quot; are guesses from elimination and part-number series, not confirmed by a label or test.&lt;br /&gt;
&lt;br /&gt;
== 0x7E0 ECM ==&lt;br /&gt;
{{Models|JB74 (2018+, tested on 2021)|untested=JB64, JC74, JB43}}&lt;br /&gt;
&lt;br /&gt;
Request &amp;lt;code&amp;gt;0x7E0&amp;lt;/code&amp;gt;, reply &amp;lt;code&amp;gt;0x7E8&amp;lt;/code&amp;gt;. This is the standard OBD engine address, so standard mode 01 PIDs should be available here, but none were captured.&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! Request !! Reply !! Meaning&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;3E&amp;lt;/code&amp;gt; || &amp;lt;code&amp;gt;7E&amp;lt;/code&amp;gt; || Tester present (captured)&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;1A 8E&amp;lt;/code&amp;gt; || &amp;lt;code&amp;gt;5A 8E&amp;lt;/code&amp;gt; + ASCII &amp;lt;code&amp;gt;33980-78R0&amp;lt;/code&amp;gt; || ECU identification (captured)&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;1A 8A&amp;lt;/code&amp;gt; || &amp;lt;code&amp;gt;5A 8A&amp;lt;/code&amp;gt; + ASCII &amp;lt;code&amp;gt;33980-78RC*&amp;lt;/code&amp;gt; || ECU identification (captured)&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;18 00 FF 00&amp;lt;/code&amp;gt; || &amp;lt;code&amp;gt;58 00&amp;lt;/code&amp;gt; || Read DTCs by status: none stored (captured)&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== 0x261 ABS (inferred) ==&lt;br /&gt;
{{Models|JB74 (2018+, tested on 2021)|untested=JB64, JC74, JB43}}&lt;br /&gt;
&lt;br /&gt;
Request &amp;lt;code&amp;gt;0x261&amp;lt;/code&amp;gt;, reply &amp;lt;code&amp;gt;0x661&amp;lt;/code&amp;gt;. 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.&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! Request !! Reply !! Meaning&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;3E&amp;lt;/code&amp;gt; || &amp;lt;code&amp;gt;7E&amp;lt;/code&amp;gt; || Tester present (captured)&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;1A 8E&amp;lt;/code&amp;gt; || &amp;lt;code&amp;gt;5A 8E&amp;lt;/code&amp;gt; + ASCII &amp;lt;code&amp;gt;56100-77RA&amp;lt;/code&amp;gt; || ECU identification (captured)&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;1A 8A&amp;lt;/code&amp;gt; || &amp;lt;code&amp;gt;5A 8A&amp;lt;/code&amp;gt; + ASCII &amp;lt;code&amp;gt;56100-78RF*&amp;lt;/code&amp;gt; || ECU identification (captured)&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;18 00 FF 00&amp;lt;/code&amp;gt; || &amp;lt;code&amp;gt;58 00&amp;lt;/code&amp;gt; || DTCs: none stored (captured)&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== 0x263 EPS controller ==&lt;br /&gt;
{{Models|JB74 (2018+, tested on 2021)|untested=JB64, JC74, JB43}}&lt;br /&gt;
&lt;br /&gt;
Request &amp;lt;code&amp;gt;0x263&amp;lt;/code&amp;gt;, reply &amp;lt;code&amp;gt;0x663&amp;lt;/code&amp;gt;. Matches parts catalogue entry 38720-77R01 (EPS controller).&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! Request !! Reply !! Meaning&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;3E&amp;lt;/code&amp;gt; || &amp;lt;code&amp;gt;7E&amp;lt;/code&amp;gt; || Tester present (captured)&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;1A 8E&amp;lt;/code&amp;gt; || &amp;lt;code&amp;gt;5A 8E&amp;lt;/code&amp;gt; + ASCII &amp;lt;code&amp;gt;38720-77R0&amp;lt;/code&amp;gt; || ECU identification (captured)&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;1A 8A&amp;lt;/code&amp;gt; || &amp;lt;code&amp;gt;5A 8A&amp;lt;/code&amp;gt; + ASCII &amp;lt;code&amp;gt;38720-77R0*&amp;lt;/code&amp;gt; || ECU identification (captured)&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;18 00 FF 00&amp;lt;/code&amp;gt; || &amp;lt;code&amp;gt;58 00&amp;lt;/code&amp;gt; || DTCs: none stored (captured)&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== 0x271 Body control module ==&lt;br /&gt;
{{Models|JB74 (2018+, tested on 2021)|untested=JB64, JC74, JB43}}&lt;br /&gt;
&lt;br /&gt;
Request &amp;lt;code&amp;gt;0x271&amp;lt;/code&amp;gt;, reply &amp;lt;code&amp;gt;0x671&amp;lt;/code&amp;gt;. Matches parts catalogue entries 36775-77RC2 to RC4 (body control module, RHD).&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! Request !! Reply !! Meaning&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;3E&amp;lt;/code&amp;gt; || &amp;lt;code&amp;gt;7E&amp;lt;/code&amp;gt; || Tester present (captured)&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;1A 8E&amp;lt;/code&amp;gt; || &amp;lt;code&amp;gt;5A 8E&amp;lt;/code&amp;gt; + ASCII &amp;lt;code&amp;gt;36775-77R0&amp;lt;/code&amp;gt; || ECU identification (captured)&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;1A 8A&amp;lt;/code&amp;gt; || &amp;lt;code&amp;gt;5A 8A&amp;lt;/code&amp;gt; + ASCII &amp;lt;code&amp;gt;36775-77RC*&amp;lt;/code&amp;gt; || ECU identification (captured)&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;18 00 FF 00&amp;lt;/code&amp;gt; || &amp;lt;code&amp;gt;58 00&amp;lt;/code&amp;gt; || DTCs: none stored (captured)&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== 0x274 Instrument cluster ==&lt;br /&gt;
{{Models|JB74 (2018+, tested on 2021)|untested=JB64, JC74, JB43}}&lt;br /&gt;
&lt;br /&gt;
Request &amp;lt;code&amp;gt;0x274&amp;lt;/code&amp;gt;, reply &amp;lt;code&amp;gt;0x674&amp;lt;/code&amp;gt;. Confirmed by the rev counter sweep test.&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! Request !! Reply !! Meaning&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;3E&amp;lt;/code&amp;gt; or &amp;lt;code&amp;gt;3E 00&amp;lt;/code&amp;gt; || &amp;lt;code&amp;gt;7E&amp;lt;/code&amp;gt; || Tester present, about every 2.15 s during the sweep test (captured)&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;1A 8E&amp;lt;/code&amp;gt; || &amp;lt;code&amp;gt;5A 8E&amp;lt;/code&amp;gt; + ASCII &amp;lt;code&amp;gt;34100-78R0&amp;lt;/code&amp;gt; || ECU identification (captured)&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;1A 8A&amp;lt;/code&amp;gt; || &amp;lt;code&amp;gt;5A 8A&amp;lt;/code&amp;gt; + ASCII &amp;lt;code&amp;gt;34110-78RD*&amp;lt;/code&amp;gt; (last byte of the reply is &amp;lt;code&amp;gt;06&amp;lt;/code&amp;gt;) || ECU identification (captured)&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;18 00 FF 00&amp;lt;/code&amp;gt; || &amp;lt;code&amp;gt;58 00&amp;lt;/code&amp;gt; || DTCs: none stored (captured)&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;30 01 07 80 40 00 00&amp;lt;/code&amp;gt; || &amp;lt;code&amp;gt;70 01 07&amp;lt;/code&amp;gt; || Starts the rev counter sweep (service 0x30, local ID 01, &amp;quot;short-term adjustment&amp;quot;). The cluster then sweeps up and down by itself (captured)&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;30 01 07 80 00 00 00&amp;lt;/code&amp;gt; || &amp;lt;code&amp;gt;7F 30 22&amp;lt;/code&amp;gt; || Refused (&amp;quot;conditions not correct&amp;quot;). Possibly a stop request sent after the sweep had finished (captured)&lt;br /&gt;
|}&lt;br /&gt;
The meaning of the four control bytes (&amp;lt;code&amp;gt;80 40 00 00&amp;lt;/code&amp;gt;) is not known. Other output tests (gauges, warning lights) have not been captured.&lt;br /&gt;
&lt;br /&gt;
== 0x798 TPMS controller ==&lt;br /&gt;
{{Models|JB74 (2018+, tested on 2021)|untested=JB64, JC74, JB43}}&lt;br /&gt;
&lt;br /&gt;
Request &amp;lt;code&amp;gt;0x798&amp;lt;/code&amp;gt;, reply &amp;lt;code&amp;gt;0x7A8&amp;lt;/code&amp;gt;. The label on the module reads 37160-78R00, &amp;quot;BASE ASSY-TPMS&amp;quot;, Model No. P61M0 (Continental A2C13930301, 433.92 MHz). The full data layout, calibration and app setups are on [[OBD2 Diagnostics reading project]].&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! Request !! Reply !! Meaning&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;3E&amp;lt;/code&amp;gt; || &amp;lt;code&amp;gt;7E&amp;lt;/code&amp;gt; || Tester present (captured)&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;1A 8E&amp;lt;/code&amp;gt; || &amp;lt;code&amp;gt;5A 8E&amp;lt;/code&amp;gt; + ASCII &amp;lt;code&amp;gt;37160-61M0&amp;lt;/code&amp;gt; || ECU identification; matches Model No. P61M0 on the label (captured)&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;1A 8A&amp;lt;/code&amp;gt; || &amp;lt;code&amp;gt;5A 8A&amp;lt;/code&amp;gt; + ASCII &amp;lt;code&amp;gt;37120-78R0*&amp;lt;/code&amp;gt; || ECU identification (captured)&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;18 00 FF 00&amp;lt;/code&amp;gt; || &amp;lt;code&amp;gt;58 00&amp;lt;/code&amp;gt; (no codes) or &amp;lt;code&amp;gt;58 01 9A 31 20&amp;lt;/code&amp;gt; (one code) || DTCs by status. The code &amp;lt;code&amp;gt;9A 31&amp;lt;/code&amp;gt; is probably the left front low pressure warning (inferred). The status byte was &amp;lt;code&amp;gt;20&amp;lt;/code&amp;gt; in the full scan and &amp;lt;code&amp;gt;E0&amp;lt;/code&amp;gt; in earlier captures (captured)&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;21 00&amp;lt;/code&amp;gt; || &amp;lt;code&amp;gt;61 00&amp;lt;/code&amp;gt; + 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)&lt;br /&gt;
|}&lt;br /&gt;
ELM327 setup that works for &amp;lt;code&amp;gt;21 00&amp;lt;/code&amp;gt;: &amp;lt;code&amp;gt;ATSH798&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;ATS0&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;ATL0&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;ATFCSH798&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;ATFCSD300000&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;ATFCSM1&amp;lt;/code&amp;gt;, then &amp;lt;code&amp;gt;2100&amp;lt;/code&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
== 0x79A Combination switch (lighting and turn) ==&lt;br /&gt;
{{Models|JB74 (2018+, tested on 2021)|untested=JB64, JC74, JB43}}&lt;br /&gt;
&lt;br /&gt;
Request &amp;lt;code&amp;gt;0x79A&amp;lt;/code&amp;gt;, reply &amp;lt;code&amp;gt;0x7AA&amp;lt;/code&amp;gt;. Matches parts catalogue entry 37210-74PE2 (switch assembly, lighting and turn, RHD).&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! Request !! Reply !! Meaning&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;3E&amp;lt;/code&amp;gt; || &amp;lt;code&amp;gt;7E&amp;lt;/code&amp;gt; || Tester present (captured)&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;1A 8E&amp;lt;/code&amp;gt; || &amp;lt;code&amp;gt;5A 8E&amp;lt;/code&amp;gt; + ASCII &amp;lt;code&amp;gt;37210-74PA&amp;lt;/code&amp;gt; || ECU identification (captured)&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;1A 8A&amp;lt;/code&amp;gt; || &amp;lt;code&amp;gt;5A 8A&amp;lt;/code&amp;gt; + ASCII &amp;lt;code&amp;gt;37210-74PE*&amp;lt;/code&amp;gt; || ECU identification (captured)&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;18 00 FF 00&amp;lt;/code&amp;gt; || &amp;lt;code&amp;gt;58 00&amp;lt;/code&amp;gt; || DTCs: none stored (captured)&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== 0x778 Dual sensor brake support (inferred) ==&lt;br /&gt;
{{Models|JB74 (2018+, tested on 2021)|untested=JB64, JC74, JB43}}&lt;br /&gt;
&lt;br /&gt;
Request &amp;lt;code&amp;gt;0x778&amp;lt;/code&amp;gt;, reply &amp;lt;code&amp;gt;0x788&amp;lt;/code&amp;gt;. The name is inferred by elimination (the scan report&#039;s last unassigned module). Not confirmed.&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! Request !! Reply !! Meaning&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;3E&amp;lt;/code&amp;gt; || &amp;lt;code&amp;gt;7E&amp;lt;/code&amp;gt; || Tester present (captured)&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;1A 8E&amp;lt;/code&amp;gt; || &amp;lt;code&amp;gt;5A 8E&amp;lt;/code&amp;gt; + ASCII &amp;lt;code&amp;gt;33990-52R0&amp;lt;/code&amp;gt; || ECU identification (captured)&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;1A 8A&amp;lt;/code&amp;gt; || &amp;lt;code&amp;gt;5A 8A&amp;lt;/code&amp;gt; + ASCII &amp;lt;code&amp;gt;33990-78R8*&amp;lt;/code&amp;gt; || ECU identification (captured)&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;18 00 FF 00&amp;lt;/code&amp;gt; || &amp;lt;code&amp;gt;58 00&amp;lt;/code&amp;gt; || DTCs: none stored (captured)&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== 0x793 Airbag (SRS) controller ==&lt;br /&gt;
{{Models|JB74 (2018+, tested on 2021)|untested=JB64, JC74, JB43}}&lt;br /&gt;
&lt;br /&gt;
Request &amp;lt;code&amp;gt;0x793&amp;lt;/code&amp;gt;, reply &amp;lt;code&amp;gt;0x7A3&amp;lt;/code&amp;gt;. Matches parts catalogue entry 38910-78RC0 (airbag controller, VAN).&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! Request !! Reply !! Meaning&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;3E 00&amp;lt;/code&amp;gt; || &amp;lt;code&amp;gt;7E 00&amp;lt;/code&amp;gt; || Tester present (captured)&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;22 F1 01&amp;lt;/code&amp;gt; || &amp;lt;code&amp;gt;62 F1 01&amp;lt;/code&amp;gt; + ASCII &amp;lt;code&amp;gt;38910-77R0&amp;lt;/code&amp;gt; || Identification (captured)&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;22 F1 88&amp;lt;/code&amp;gt; || &amp;lt;code&amp;gt;62 F1 88&amp;lt;/code&amp;gt; + ASCII &amp;lt;code&amp;gt;38910-78RC*&amp;lt;/code&amp;gt; || Identification (captured)&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;19 02 FF&amp;lt;/code&amp;gt; || &amp;lt;code&amp;gt;59 02 4B&amp;lt;/code&amp;gt; || DTCs by status mask: none stored (captured)&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== 0x772 4WD shift controller ==&lt;br /&gt;
Request &amp;lt;code&amp;gt;0x772&amp;lt;/code&amp;gt;, reply &amp;lt;code&amp;gt;0x782&amp;lt;/code&amp;gt;. Matches parts catalogue entry 38885-78R01 (4WD shift controller).&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! Request !! Reply !! Meaning&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;3E&amp;lt;/code&amp;gt; || &amp;lt;code&amp;gt;7F 3E 13&amp;lt;/code&amp;gt; || Refused: incorrect message length. Sent four times by the scan tool (captured)&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;3E 01&amp;lt;/code&amp;gt; || &amp;lt;code&amp;gt;7F 3E 12&amp;lt;/code&amp;gt; || Refused: sub-function not supported. Sent four times (captured)&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;3E 00&amp;lt;/code&amp;gt; || &amp;lt;code&amp;gt;7E 00&amp;lt;/code&amp;gt; || Tester present (captured)&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;22 F1 01&amp;lt;/code&amp;gt; || &amp;lt;code&amp;gt;62 F1 01&amp;lt;/code&amp;gt; + ASCII &amp;lt;code&amp;gt;38885-77R0&amp;lt;/code&amp;gt; || Identification (captured)&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;22 F1 88&amp;lt;/code&amp;gt; || &amp;lt;code&amp;gt;62 F1 88&amp;lt;/code&amp;gt; + ASCII &amp;lt;code&amp;gt;38885-78R0*&amp;lt;/code&amp;gt; || Identification (captured)&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;19 02 FF&amp;lt;/code&amp;gt; || &amp;lt;code&amp;gt;59 02 4B&amp;lt;/code&amp;gt; || DTCs by status mask: none stored (captured)&lt;br /&gt;
|}&lt;br /&gt;
The scan tool tried the KWP-style &amp;lt;code&amp;gt;3E&amp;lt;/code&amp;gt; first and fell back to the UDS form &amp;lt;code&amp;gt;3E 00&amp;lt;/code&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
== 0x799 E-call controller ==&lt;br /&gt;
Request &amp;lt;code&amp;gt;0x799&amp;lt;/code&amp;gt;, reply &amp;lt;code&amp;gt;0x7A9&amp;lt;/code&amp;gt;. Matches parts catalogue entries 38960-78RA0 and RA1 (E-call controller).&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! Request !! Reply !! Meaning&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;3E&amp;lt;/code&amp;gt; || &amp;lt;code&amp;gt;7F 3E 13&amp;lt;/code&amp;gt; || Refused: incorrect message length. Sent four times (captured)&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;3E 01&amp;lt;/code&amp;gt; || &amp;lt;code&amp;gt;7F 3E 12&amp;lt;/code&amp;gt; || Refused: sub-function not supported. Sent four times (captured)&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;3E 00&amp;lt;/code&amp;gt; || &amp;lt;code&amp;gt;7E 00&amp;lt;/code&amp;gt; || Tester present (captured)&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;22 F1 01&amp;lt;/code&amp;gt; || &amp;lt;code&amp;gt;62 F1 01&amp;lt;/code&amp;gt; + ASCII &amp;lt;code&amp;gt;38960-78RA&amp;lt;/code&amp;gt; || Identification (captured)&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;22 F1 88&amp;lt;/code&amp;gt; || &amp;lt;code&amp;gt;62 F1 88&amp;lt;/code&amp;gt; + ASCII &amp;lt;code&amp;gt;38960-78RA*&amp;lt;/code&amp;gt; || Identification (captured)&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;19 02 FF&amp;lt;/code&amp;gt; || &amp;lt;code&amp;gt;59 02 4B 92 4E 00 02&amp;lt;/code&amp;gt; || One stored code record: &amp;lt;code&amp;gt;92 4E 00&amp;lt;/code&amp;gt;, status &amp;lt;code&amp;gt;02&amp;lt;/code&amp;gt;. The Launch report does not list it and its meaning is not known (captured)&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== 0x751 Central gateway ==&lt;br /&gt;
Request &amp;lt;code&amp;gt;0x751&amp;lt;/code&amp;gt;, reply &amp;lt;code&amp;gt;0x761&amp;lt;/code&amp;gt;. The label on the module reads 33580-79R01.&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! Request !! Reply !! Meaning&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;3E 00&amp;lt;/code&amp;gt; || &amp;lt;code&amp;gt;7E 00&amp;lt;/code&amp;gt; || Tester present (captured)&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;22 F1 01&amp;lt;/code&amp;gt; || &amp;lt;code&amp;gt;62 F1 01&amp;lt;/code&amp;gt; + ASCII &amp;lt;code&amp;gt;33580-79R0&amp;lt;/code&amp;gt; || Identification (captured)&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;22 F1 88&amp;lt;/code&amp;gt; || &amp;lt;code&amp;gt;62 F1 88&amp;lt;/code&amp;gt; + ASCII &amp;lt;code&amp;gt;33580-78R0*&amp;lt;/code&amp;gt; || Identification (captured)&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;19 02 FF&amp;lt;/code&amp;gt; || &amp;lt;code&amp;gt;59 02 4B&amp;lt;/code&amp;gt; || DTCs by status mask: none stored (captured)&lt;br /&gt;
|}&lt;br /&gt;
The gateway sits between the OBD socket and the vehicle CAN bus. Whether it forwards requests to the other modules unchanged is not confirmed.&lt;br /&gt;
&lt;br /&gt;
== Addresses probed with no reply ==&lt;br /&gt;
The scan tool sent tester-present (&amp;lt;code&amp;gt;3E&amp;lt;/code&amp;gt;) about eight times each to &amp;lt;code&amp;gt;0x273&amp;lt;/code&amp;gt; and &amp;lt;code&amp;gt;0x262&amp;lt;/code&amp;gt; and received nothing from the expected reply IDs (&amp;lt;code&amp;gt;0x673&amp;lt;/code&amp;gt; and &amp;lt;code&amp;gt;0x662&amp;lt;/code&amp;gt;). They are probably modules this car does not have, such as an automatic transmission or auto-levelling controller. This is a guess.&lt;br /&gt;
&lt;br /&gt;
== ELM327 notes ==&lt;br /&gt;
* Only &amp;lt;code&amp;gt;0x798&amp;lt;/code&amp;gt; has been tested with an ELM327. For other modules, set &amp;lt;code&amp;gt;ATSH&amp;lt;/code&amp;gt; to the request ID and &amp;lt;code&amp;gt;ATFCSH&amp;lt;/code&amp;gt; to the same ID, and you may need &amp;lt;code&amp;gt;ATCRA&amp;lt;/code&amp;gt; with the reply ID, because the reply is not always the request ID plus 8. This is untested.&lt;br /&gt;
* 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.&lt;br /&gt;
* Do not send output-control commands (service &amp;lt;code&amp;gt;30&amp;lt;/code&amp;gt; and similar) from a head-unit app while driving.&lt;br /&gt;
&lt;br /&gt;
== Sources ==&lt;br /&gt;
* Owner PCAN-View captures of a Launch X431 CRP919 full health-check scan and rev counter sweep test, October 2026.&lt;br /&gt;
* Suzuki Jimny parts catalogue 9900B-40312-004 (type 1, October 2021), figures 350A, 351A and 351B.&lt;br /&gt;
* Labels on the TPMS controller and central gateway of the test car.&lt;br /&gt;
&lt;br /&gt;
[[Category:Electrical - gen4]]&lt;/div&gt;</summary>
		<author><name>Mlines</name></author>
	</entry>
	<entry>
		<id>https://www.bigjimny.com/mediawiki/index.php?title=ECU_diagnostic_CAN_addresses&amp;diff=10073</id>
		<title>ECU diagnostic CAN addresses</title>
		<link rel="alternate" type="text/html" href="https://www.bigjimny.com/mediawiki/index.php?title=ECU_diagnostic_CAN_addresses&amp;diff=10073"/>
		<updated>2026-11-01T10:29:13Z</updated>

		<summary type="html">&lt;p&gt;Mlines: /* 0x778 Dual sensor brake support (inferred) */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&amp;lt;div style=&amp;quot;border: 1px solid #c9a227; background-color: #fff8dc; padding: 0.6em 1em; margin: 0 0 1em 0; border-radius: 4px;&amp;quot;&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;Support this project:&#039;&#039;&#039; 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 [https://buymeacoffee.com/bigjimny buymeacoffee.com/bigjimny].&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
= Suzuki Jimny JB74 - CAN bus devices and the commands they answer =&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Status:&#039;&#039;&#039; 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.&lt;br /&gt;
&lt;br /&gt;
== How to read this page ==&lt;br /&gt;
* All IDs are 11-bit CAN IDs on the OBD socket (pins 6 and 14, 500 kbit/s). The &amp;quot;request ID&amp;quot; is the header a tool sends to; the &amp;quot;reply ID&amp;quot; is where the module answers.&lt;br /&gt;
* 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.&lt;br /&gt;
* &#039;&#039;&#039;KWP-style&#039;&#039;&#039; modules use services such as &amp;lt;code&amp;gt;1A&amp;lt;/code&amp;gt; (read ECU identification) and &amp;lt;code&amp;gt;18&amp;lt;/code&amp;gt; (read DTCs by status). &#039;&#039;&#039;UDS-style&#039;&#039;&#039; modules use &amp;lt;code&amp;gt;22&amp;lt;/code&amp;gt; (read data by identifier) and &amp;lt;code&amp;gt;19&amp;lt;/code&amp;gt; (read DTCs).&lt;br /&gt;
* 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.&lt;br /&gt;
* Identification strings are ASCII Suzuki part numbers. The first one in each module (&amp;lt;code&amp;gt;1A 8E&amp;lt;/code&amp;gt; or &amp;lt;code&amp;gt;22 F1 01&amp;lt;/code&amp;gt;) has no trailing character; the second (&amp;lt;code&amp;gt;1A 8A&amp;lt;/code&amp;gt; or &amp;lt;code&amp;gt;22 F1 88&amp;lt;/code&amp;gt;) ends in &amp;lt;code&amp;gt;*&amp;lt;/code&amp;gt;. They do not always equal the number printed on the module&#039;s label.&lt;br /&gt;
* Commands marked &#039;&#039;captured&#039;&#039; were seen in a trace. Nothing here has been sent to a module by us except the TPMS requests.&lt;br /&gt;
&lt;br /&gt;
== Device table ==&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! Request ID !! Reply ID !! Style !! Module !! Identification reply (first / second) !! How the module was identified&lt;br /&gt;
|-&lt;br /&gt;
| [[#0x7E0 ECM|0x7E0]] || 0x7E8 || KWP || ECM || 33980-78R0 / 33980-78RC* || Standard engine address&lt;br /&gt;
|-&lt;br /&gt;
| [[#0x261 ABS (inferred)|0x261]] || 0x661 || KWP || ABS (inferred) || 56100-77RA / 56100-78RF* || Only brake module left by elimination&lt;br /&gt;
|-&lt;br /&gt;
| [[#0x263 EPS controller|0x263]] || 0x663 || KWP || EPS controller || 38720-77R0 / 38720-77R0* || Parts catalogue (38720-77R01)&lt;br /&gt;
|-&lt;br /&gt;
| [[#0x271 Body control module|0x271]] || 0x671 || KWP || Body control module || 36775-77R0 / 36775-77RC* || Parts catalogue (36775-77RC2 to RC4)&lt;br /&gt;
|-&lt;br /&gt;
| [[#0x274 Instrument cluster|0x274]] || 0x674 || KWP || Instrument cluster || 34100-78R0 / 34110-78RD* || Rev counter sweep test&lt;br /&gt;
|-&lt;br /&gt;
| [[#0x798 TPMS controller|0x798]] || 0x7A8 || KWP || TPMS controller || 37160-61M0 / 37120-78R0* || Label (Model No. P61M0) and parts catalogue&lt;br /&gt;
|-&lt;br /&gt;
| [[#0x79A Combination switch (lighting and turn)|0x79A]] || 0x7AA || KWP || Combination switch (lighting and turn) || 37210-74PA / 37210-74PE* || Parts catalogue (37210-74PE2)&lt;br /&gt;
|-&lt;br /&gt;
| [[#0x778 Dual sensor brake support (inferred)|0x778]] || 0x788 || KWP || Dual sensor brake support (inferred) || 33990-52R0 / 33990-78R8* || By elimination&lt;br /&gt;
|-&lt;br /&gt;
| [[#0x793 Airbag (SRS) controller|0x793]] || 0x7A3 || UDS || Airbag (SRS) controller || 38910-77R0 / 38910-78RC* || Parts catalogue (38910-78RC0)&lt;br /&gt;
|-&lt;br /&gt;
| [[#0x772 4WD shift controller|0x772]] || 0x782 || UDS || 4WD shift controller || 38885-77R0 / 38885-78R0* || Parts catalogue (38885-78R01)&lt;br /&gt;
|-&lt;br /&gt;
| [[#0x799 E-call controller|0x799]] || 0x7A9 || UDS || E-call controller || 38960-78RA / 38960-78RA* || Parts catalogue (38960-78RA0, RA1)&lt;br /&gt;
|-&lt;br /&gt;
| [[#0x751 Central gateway|0x751]] || 0x761 || UDS || Central gateway || 33580-79R0 / 33580-78R0* || Label (33580-79R01) and parts catalogue&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
Two more addresses, [[#Addresses probed with no reply|0x273 and 0x262]], were probed by the scan tool and did not answer.&lt;br /&gt;
&lt;br /&gt;
The names marked &amp;quot;inferred&amp;quot; are guesses from elimination and part-number series, not confirmed by a label or test.&lt;br /&gt;
&lt;br /&gt;
== 0x7E0 ECM ==&lt;br /&gt;
{{Models|JB74 (2018+, tested on 2021)|untested=JB64, JC74, JB43}}&lt;br /&gt;
&lt;br /&gt;
Request &amp;lt;code&amp;gt;0x7E0&amp;lt;/code&amp;gt;, reply &amp;lt;code&amp;gt;0x7E8&amp;lt;/code&amp;gt;. This is the standard OBD engine address, so standard mode 01 PIDs should be available here, but none were captured.&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! Request !! Reply !! Meaning&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;3E&amp;lt;/code&amp;gt; || &amp;lt;code&amp;gt;7E&amp;lt;/code&amp;gt; || Tester present (captured)&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;1A 8E&amp;lt;/code&amp;gt; || &amp;lt;code&amp;gt;5A 8E&amp;lt;/code&amp;gt; + ASCII &amp;lt;code&amp;gt;33980-78R0&amp;lt;/code&amp;gt; || ECU identification (captured)&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;1A 8A&amp;lt;/code&amp;gt; || &amp;lt;code&amp;gt;5A 8A&amp;lt;/code&amp;gt; + ASCII &amp;lt;code&amp;gt;33980-78RC*&amp;lt;/code&amp;gt; || ECU identification (captured)&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;18 00 FF 00&amp;lt;/code&amp;gt; || &amp;lt;code&amp;gt;58 00&amp;lt;/code&amp;gt; || Read DTCs by status: none stored (captured)&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== 0x261 ABS (inferred) ==&lt;br /&gt;
{{Models|JB74 (2018+, tested on 2021)|untested=JB64, JC74, JB43}}&lt;br /&gt;
&lt;br /&gt;
Request &amp;lt;code&amp;gt;0x261&amp;lt;/code&amp;gt;, reply &amp;lt;code&amp;gt;0x661&amp;lt;/code&amp;gt;. 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.&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! Request !! Reply !! Meaning&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;3E&amp;lt;/code&amp;gt; || &amp;lt;code&amp;gt;7E&amp;lt;/code&amp;gt; || Tester present (captured)&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;1A 8E&amp;lt;/code&amp;gt; || &amp;lt;code&amp;gt;5A 8E&amp;lt;/code&amp;gt; + ASCII &amp;lt;code&amp;gt;56100-77RA&amp;lt;/code&amp;gt; || ECU identification (captured)&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;1A 8A&amp;lt;/code&amp;gt; || &amp;lt;code&amp;gt;5A 8A&amp;lt;/code&amp;gt; + ASCII &amp;lt;code&amp;gt;56100-78RF*&amp;lt;/code&amp;gt; || ECU identification (captured)&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;18 00 FF 00&amp;lt;/code&amp;gt; || &amp;lt;code&amp;gt;58 00&amp;lt;/code&amp;gt; || DTCs: none stored (captured)&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== 0x263 EPS controller ==&lt;br /&gt;
{{Models|JB74 (2018+, tested on 2021)|untested=JB64, JC74, JB43}}&lt;br /&gt;
&lt;br /&gt;
Request &amp;lt;code&amp;gt;0x263&amp;lt;/code&amp;gt;, reply &amp;lt;code&amp;gt;0x663&amp;lt;/code&amp;gt;. Matches parts catalogue entry 38720-77R01 (EPS controller).&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! Request !! Reply !! Meaning&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;3E&amp;lt;/code&amp;gt; || &amp;lt;code&amp;gt;7E&amp;lt;/code&amp;gt; || Tester present (captured)&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;1A 8E&amp;lt;/code&amp;gt; || &amp;lt;code&amp;gt;5A 8E&amp;lt;/code&amp;gt; + ASCII &amp;lt;code&amp;gt;38720-77R0&amp;lt;/code&amp;gt; || ECU identification (captured)&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;1A 8A&amp;lt;/code&amp;gt; || &amp;lt;code&amp;gt;5A 8A&amp;lt;/code&amp;gt; + ASCII &amp;lt;code&amp;gt;38720-77R0*&amp;lt;/code&amp;gt; || ECU identification (captured)&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;18 00 FF 00&amp;lt;/code&amp;gt; || &amp;lt;code&amp;gt;58 00&amp;lt;/code&amp;gt; || DTCs: none stored (captured)&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== 0x271 Body control module ==&lt;br /&gt;
{{Models|JB74 (2018+, tested on 2021)|untested=JB64, JC74, JB43}}&lt;br /&gt;
&lt;br /&gt;
Request &amp;lt;code&amp;gt;0x271&amp;lt;/code&amp;gt;, reply &amp;lt;code&amp;gt;0x671&amp;lt;/code&amp;gt;. Matches parts catalogue entries 36775-77RC2 to RC4 (body control module, RHD).&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! Request !! Reply !! Meaning&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;3E&amp;lt;/code&amp;gt; || &amp;lt;code&amp;gt;7E&amp;lt;/code&amp;gt; || Tester present (captured)&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;1A 8E&amp;lt;/code&amp;gt; || &amp;lt;code&amp;gt;5A 8E&amp;lt;/code&amp;gt; + ASCII &amp;lt;code&amp;gt;36775-77R0&amp;lt;/code&amp;gt; || ECU identification (captured)&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;1A 8A&amp;lt;/code&amp;gt; || &amp;lt;code&amp;gt;5A 8A&amp;lt;/code&amp;gt; + ASCII &amp;lt;code&amp;gt;36775-77RC*&amp;lt;/code&amp;gt; || ECU identification (captured)&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;18 00 FF 00&amp;lt;/code&amp;gt; || &amp;lt;code&amp;gt;58 00&amp;lt;/code&amp;gt; || DTCs: none stored (captured)&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== 0x274 Instrument cluster ==&lt;br /&gt;
{{Models|JB74 (2018+, tested on 2021)|untested=JB64, JC74, JB43}}&lt;br /&gt;
&lt;br /&gt;
Request &amp;lt;code&amp;gt;0x274&amp;lt;/code&amp;gt;, reply &amp;lt;code&amp;gt;0x674&amp;lt;/code&amp;gt;. Confirmed by the rev counter sweep test.&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! Request !! Reply !! Meaning&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;3E&amp;lt;/code&amp;gt; or &amp;lt;code&amp;gt;3E 00&amp;lt;/code&amp;gt; || &amp;lt;code&amp;gt;7E&amp;lt;/code&amp;gt; || Tester present, about every 2.15 s during the sweep test (captured)&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;1A 8E&amp;lt;/code&amp;gt; || &amp;lt;code&amp;gt;5A 8E&amp;lt;/code&amp;gt; + ASCII &amp;lt;code&amp;gt;34100-78R0&amp;lt;/code&amp;gt; || ECU identification (captured)&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;1A 8A&amp;lt;/code&amp;gt; || &amp;lt;code&amp;gt;5A 8A&amp;lt;/code&amp;gt; + ASCII &amp;lt;code&amp;gt;34110-78RD*&amp;lt;/code&amp;gt; (last byte of the reply is &amp;lt;code&amp;gt;06&amp;lt;/code&amp;gt;) || ECU identification (captured)&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;18 00 FF 00&amp;lt;/code&amp;gt; || &amp;lt;code&amp;gt;58 00&amp;lt;/code&amp;gt; || DTCs: none stored (captured)&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;30 01 07 80 40 00 00&amp;lt;/code&amp;gt; || &amp;lt;code&amp;gt;70 01 07&amp;lt;/code&amp;gt; || Starts the rev counter sweep (service 0x30, local ID 01, &amp;quot;short-term adjustment&amp;quot;). The cluster then sweeps up and down by itself (captured)&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;30 01 07 80 00 00 00&amp;lt;/code&amp;gt; || &amp;lt;code&amp;gt;7F 30 22&amp;lt;/code&amp;gt; || Refused (&amp;quot;conditions not correct&amp;quot;). Possibly a stop request sent after the sweep had finished (captured)&lt;br /&gt;
|}&lt;br /&gt;
The meaning of the four control bytes (&amp;lt;code&amp;gt;80 40 00 00&amp;lt;/code&amp;gt;) is not known. Other output tests (gauges, warning lights) have not been captured.&lt;br /&gt;
&lt;br /&gt;
== 0x798 TPMS controller ==&lt;br /&gt;
{{Models|JB74 (2018+, tested on 2021)|untested=JB64, JC74, JB43}}&lt;br /&gt;
&lt;br /&gt;
Request &amp;lt;code&amp;gt;0x798&amp;lt;/code&amp;gt;, reply &amp;lt;code&amp;gt;0x7A8&amp;lt;/code&amp;gt;. The label on the module reads 37160-78R00, &amp;quot;BASE ASSY-TPMS&amp;quot;, Model No. P61M0 (Continental A2C13930301, 433.92 MHz). The full data layout, calibration and app setups are on [[OBD2 Diagnostics reading project]].&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! Request !! Reply !! Meaning&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;3E&amp;lt;/code&amp;gt; || &amp;lt;code&amp;gt;7E&amp;lt;/code&amp;gt; || Tester present (captured)&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;1A 8E&amp;lt;/code&amp;gt; || &amp;lt;code&amp;gt;5A 8E&amp;lt;/code&amp;gt; + ASCII &amp;lt;code&amp;gt;37160-61M0&amp;lt;/code&amp;gt; || ECU identification; matches Model No. P61M0 on the label (captured)&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;1A 8A&amp;lt;/code&amp;gt; || &amp;lt;code&amp;gt;5A 8A&amp;lt;/code&amp;gt; + ASCII &amp;lt;code&amp;gt;37120-78R0*&amp;lt;/code&amp;gt; || ECU identification (captured)&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;18 00 FF 00&amp;lt;/code&amp;gt; || &amp;lt;code&amp;gt;58 00&amp;lt;/code&amp;gt; (no codes) or &amp;lt;code&amp;gt;58 01 9A 31 20&amp;lt;/code&amp;gt; (one code) || DTCs by status. The code &amp;lt;code&amp;gt;9A 31&amp;lt;/code&amp;gt; is probably the left front low pressure warning (inferred). The status byte was &amp;lt;code&amp;gt;20&amp;lt;/code&amp;gt; in the full scan and &amp;lt;code&amp;gt;E0&amp;lt;/code&amp;gt; in earlier captures (captured)&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;21 00&amp;lt;/code&amp;gt; || &amp;lt;code&amp;gt;61 00&amp;lt;/code&amp;gt; + 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)&lt;br /&gt;
|}&lt;br /&gt;
ELM327 setup that works for &amp;lt;code&amp;gt;21 00&amp;lt;/code&amp;gt;: &amp;lt;code&amp;gt;ATSH798&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;ATS0&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;ATL0&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;ATFCSH798&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;ATFCSD300000&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;ATFCSM1&amp;lt;/code&amp;gt;, then &amp;lt;code&amp;gt;2100&amp;lt;/code&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
== 0x79A Combination switch (lighting and turn) ==&lt;br /&gt;
{{Models|JB74 (2018+, tested on 2021)|untested=JB64, JC74, JB43}}&lt;br /&gt;
&lt;br /&gt;
Request &amp;lt;code&amp;gt;0x79A&amp;lt;/code&amp;gt;, reply &amp;lt;code&amp;gt;0x7AA&amp;lt;/code&amp;gt;. Matches parts catalogue entry 37210-74PE2 (switch assembly, lighting and turn, RHD).&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! Request !! Reply !! Meaning&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;3E&amp;lt;/code&amp;gt; || &amp;lt;code&amp;gt;7E&amp;lt;/code&amp;gt; || Tester present (captured)&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;1A 8E&amp;lt;/code&amp;gt; || &amp;lt;code&amp;gt;5A 8E&amp;lt;/code&amp;gt; + ASCII &amp;lt;code&amp;gt;37210-74PA&amp;lt;/code&amp;gt; || ECU identification (captured)&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;1A 8A&amp;lt;/code&amp;gt; || &amp;lt;code&amp;gt;5A 8A&amp;lt;/code&amp;gt; + ASCII &amp;lt;code&amp;gt;37210-74PE*&amp;lt;/code&amp;gt; || ECU identification (captured)&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;18 00 FF 00&amp;lt;/code&amp;gt; || &amp;lt;code&amp;gt;58 00&amp;lt;/code&amp;gt; || DTCs: none stored (captured)&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== 0x778 Dual sensor brake support (inferred) ==&lt;br /&gt;
{{Models|JB74 (2018+, tested on 2021)|untested=JB64, JC74, JB43}}&lt;br /&gt;
&lt;br /&gt;
Request &amp;lt;code&amp;gt;0x778&amp;lt;/code&amp;gt;, reply &amp;lt;code&amp;gt;0x788&amp;lt;/code&amp;gt;. The name is inferred by elimination (the scan report&#039;s last unassigned module). Not confirmed.&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! Request !! Reply !! Meaning&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;3E&amp;lt;/code&amp;gt; || &amp;lt;code&amp;gt;7E&amp;lt;/code&amp;gt; || Tester present (captured)&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;1A 8E&amp;lt;/code&amp;gt; || &amp;lt;code&amp;gt;5A 8E&amp;lt;/code&amp;gt; + ASCII &amp;lt;code&amp;gt;33990-52R0&amp;lt;/code&amp;gt; || ECU identification (captured)&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;1A 8A&amp;lt;/code&amp;gt; || &amp;lt;code&amp;gt;5A 8A&amp;lt;/code&amp;gt; + ASCII &amp;lt;code&amp;gt;33990-78R8*&amp;lt;/code&amp;gt; || ECU identification (captured)&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;18 00 FF 00&amp;lt;/code&amp;gt; || &amp;lt;code&amp;gt;58 00&amp;lt;/code&amp;gt; || DTCs: none stored (captured)&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== 0x793 Airbag (SRS) controller ==&lt;br /&gt;
Request &amp;lt;code&amp;gt;0x793&amp;lt;/code&amp;gt;, reply &amp;lt;code&amp;gt;0x7A3&amp;lt;/code&amp;gt;. Matches parts catalogue entry 38910-78RC0 (airbag controller, VAN).&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! Request !! Reply !! Meaning&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;3E 00&amp;lt;/code&amp;gt; || &amp;lt;code&amp;gt;7E 00&amp;lt;/code&amp;gt; || Tester present (captured)&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;22 F1 01&amp;lt;/code&amp;gt; || &amp;lt;code&amp;gt;62 F1 01&amp;lt;/code&amp;gt; + ASCII &amp;lt;code&amp;gt;38910-77R0&amp;lt;/code&amp;gt; || Identification (captured)&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;22 F1 88&amp;lt;/code&amp;gt; || &amp;lt;code&amp;gt;62 F1 88&amp;lt;/code&amp;gt; + ASCII &amp;lt;code&amp;gt;38910-78RC*&amp;lt;/code&amp;gt; || Identification (captured)&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;19 02 FF&amp;lt;/code&amp;gt; || &amp;lt;code&amp;gt;59 02 4B&amp;lt;/code&amp;gt; || DTCs by status mask: none stored (captured)&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== 0x772 4WD shift controller ==&lt;br /&gt;
Request &amp;lt;code&amp;gt;0x772&amp;lt;/code&amp;gt;, reply &amp;lt;code&amp;gt;0x782&amp;lt;/code&amp;gt;. Matches parts catalogue entry 38885-78R01 (4WD shift controller).&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! Request !! Reply !! Meaning&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;3E&amp;lt;/code&amp;gt; || &amp;lt;code&amp;gt;7F 3E 13&amp;lt;/code&amp;gt; || Refused: incorrect message length. Sent four times by the scan tool (captured)&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;3E 01&amp;lt;/code&amp;gt; || &amp;lt;code&amp;gt;7F 3E 12&amp;lt;/code&amp;gt; || Refused: sub-function not supported. Sent four times (captured)&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;3E 00&amp;lt;/code&amp;gt; || &amp;lt;code&amp;gt;7E 00&amp;lt;/code&amp;gt; || Tester present (captured)&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;22 F1 01&amp;lt;/code&amp;gt; || &amp;lt;code&amp;gt;62 F1 01&amp;lt;/code&amp;gt; + ASCII &amp;lt;code&amp;gt;38885-77R0&amp;lt;/code&amp;gt; || Identification (captured)&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;22 F1 88&amp;lt;/code&amp;gt; || &amp;lt;code&amp;gt;62 F1 88&amp;lt;/code&amp;gt; + ASCII &amp;lt;code&amp;gt;38885-78R0*&amp;lt;/code&amp;gt; || Identification (captured)&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;19 02 FF&amp;lt;/code&amp;gt; || &amp;lt;code&amp;gt;59 02 4B&amp;lt;/code&amp;gt; || DTCs by status mask: none stored (captured)&lt;br /&gt;
|}&lt;br /&gt;
The scan tool tried the KWP-style &amp;lt;code&amp;gt;3E&amp;lt;/code&amp;gt; first and fell back to the UDS form &amp;lt;code&amp;gt;3E 00&amp;lt;/code&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
== 0x799 E-call controller ==&lt;br /&gt;
Request &amp;lt;code&amp;gt;0x799&amp;lt;/code&amp;gt;, reply &amp;lt;code&amp;gt;0x7A9&amp;lt;/code&amp;gt;. Matches parts catalogue entries 38960-78RA0 and RA1 (E-call controller).&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! Request !! Reply !! Meaning&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;3E&amp;lt;/code&amp;gt; || &amp;lt;code&amp;gt;7F 3E 13&amp;lt;/code&amp;gt; || Refused: incorrect message length. Sent four times (captured)&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;3E 01&amp;lt;/code&amp;gt; || &amp;lt;code&amp;gt;7F 3E 12&amp;lt;/code&amp;gt; || Refused: sub-function not supported. Sent four times (captured)&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;3E 00&amp;lt;/code&amp;gt; || &amp;lt;code&amp;gt;7E 00&amp;lt;/code&amp;gt; || Tester present (captured)&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;22 F1 01&amp;lt;/code&amp;gt; || &amp;lt;code&amp;gt;62 F1 01&amp;lt;/code&amp;gt; + ASCII &amp;lt;code&amp;gt;38960-78RA&amp;lt;/code&amp;gt; || Identification (captured)&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;22 F1 88&amp;lt;/code&amp;gt; || &amp;lt;code&amp;gt;62 F1 88&amp;lt;/code&amp;gt; + ASCII &amp;lt;code&amp;gt;38960-78RA*&amp;lt;/code&amp;gt; || Identification (captured)&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;19 02 FF&amp;lt;/code&amp;gt; || &amp;lt;code&amp;gt;59 02 4B 92 4E 00 02&amp;lt;/code&amp;gt; || One stored code record: &amp;lt;code&amp;gt;92 4E 00&amp;lt;/code&amp;gt;, status &amp;lt;code&amp;gt;02&amp;lt;/code&amp;gt;. The Launch report does not list it and its meaning is not known (captured)&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== 0x751 Central gateway ==&lt;br /&gt;
Request &amp;lt;code&amp;gt;0x751&amp;lt;/code&amp;gt;, reply &amp;lt;code&amp;gt;0x761&amp;lt;/code&amp;gt;. The label on the module reads 33580-79R01.&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! Request !! Reply !! Meaning&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;3E 00&amp;lt;/code&amp;gt; || &amp;lt;code&amp;gt;7E 00&amp;lt;/code&amp;gt; || Tester present (captured)&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;22 F1 01&amp;lt;/code&amp;gt; || &amp;lt;code&amp;gt;62 F1 01&amp;lt;/code&amp;gt; + ASCII &amp;lt;code&amp;gt;33580-79R0&amp;lt;/code&amp;gt; || Identification (captured)&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;22 F1 88&amp;lt;/code&amp;gt; || &amp;lt;code&amp;gt;62 F1 88&amp;lt;/code&amp;gt; + ASCII &amp;lt;code&amp;gt;33580-78R0*&amp;lt;/code&amp;gt; || Identification (captured)&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;19 02 FF&amp;lt;/code&amp;gt; || &amp;lt;code&amp;gt;59 02 4B&amp;lt;/code&amp;gt; || DTCs by status mask: none stored (captured)&lt;br /&gt;
|}&lt;br /&gt;
The gateway sits between the OBD socket and the vehicle CAN bus. Whether it forwards requests to the other modules unchanged is not confirmed.&lt;br /&gt;
&lt;br /&gt;
== Addresses probed with no reply ==&lt;br /&gt;
The scan tool sent tester-present (&amp;lt;code&amp;gt;3E&amp;lt;/code&amp;gt;) about eight times each to &amp;lt;code&amp;gt;0x273&amp;lt;/code&amp;gt; and &amp;lt;code&amp;gt;0x262&amp;lt;/code&amp;gt; and received nothing from the expected reply IDs (&amp;lt;code&amp;gt;0x673&amp;lt;/code&amp;gt; and &amp;lt;code&amp;gt;0x662&amp;lt;/code&amp;gt;). They are probably modules this car does not have, such as an automatic transmission or auto-levelling controller. This is a guess.&lt;br /&gt;
&lt;br /&gt;
== ELM327 notes ==&lt;br /&gt;
* Only &amp;lt;code&amp;gt;0x798&amp;lt;/code&amp;gt; has been tested with an ELM327. For other modules, set &amp;lt;code&amp;gt;ATSH&amp;lt;/code&amp;gt; to the request ID and &amp;lt;code&amp;gt;ATFCSH&amp;lt;/code&amp;gt; to the same ID, and you may need &amp;lt;code&amp;gt;ATCRA&amp;lt;/code&amp;gt; with the reply ID, because the reply is not always the request ID plus 8. This is untested.&lt;br /&gt;
* 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.&lt;br /&gt;
* Do not send output-control commands (service &amp;lt;code&amp;gt;30&amp;lt;/code&amp;gt; and similar) from a head-unit app while driving.&lt;br /&gt;
&lt;br /&gt;
== Sources ==&lt;br /&gt;
* Owner PCAN-View captures of a Launch X431 CRP919 full health-check scan and rev counter sweep test, October 2026.&lt;br /&gt;
* Suzuki Jimny parts catalogue 9900B-40312-004 (type 1, October 2021), figures 350A, 351A and 351B.&lt;br /&gt;
* Labels on the TPMS controller and central gateway of the test car.&lt;br /&gt;
&lt;br /&gt;
[[Category:Electrical - gen4]]&lt;/div&gt;</summary>
		<author><name>Mlines</name></author>
	</entry>
	<entry>
		<id>https://www.bigjimny.com/mediawiki/index.php?title=ECU_diagnostic_CAN_addresses&amp;diff=10072</id>
		<title>ECU diagnostic CAN addresses</title>
		<link rel="alternate" type="text/html" href="https://www.bigjimny.com/mediawiki/index.php?title=ECU_diagnostic_CAN_addresses&amp;diff=10072"/>
		<updated>2026-11-01T10:28:53Z</updated>

		<summary type="html">&lt;p&gt;Mlines: /* 0x79A Combination switch (lighting and turn) */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&amp;lt;div style=&amp;quot;border: 1px solid #c9a227; background-color: #fff8dc; padding: 0.6em 1em; margin: 0 0 1em 0; border-radius: 4px;&amp;quot;&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;Support this project:&#039;&#039;&#039; 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 [https://buymeacoffee.com/bigjimny buymeacoffee.com/bigjimny].&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
= Suzuki Jimny JB74 - CAN bus devices and the commands they answer =&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Status:&#039;&#039;&#039; 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.&lt;br /&gt;
&lt;br /&gt;
== How to read this page ==&lt;br /&gt;
* All IDs are 11-bit CAN IDs on the OBD socket (pins 6 and 14, 500 kbit/s). The &amp;quot;request ID&amp;quot; is the header a tool sends to; the &amp;quot;reply ID&amp;quot; is where the module answers.&lt;br /&gt;
* 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.&lt;br /&gt;
* &#039;&#039;&#039;KWP-style&#039;&#039;&#039; modules use services such as &amp;lt;code&amp;gt;1A&amp;lt;/code&amp;gt; (read ECU identification) and &amp;lt;code&amp;gt;18&amp;lt;/code&amp;gt; (read DTCs by status). &#039;&#039;&#039;UDS-style&#039;&#039;&#039; modules use &amp;lt;code&amp;gt;22&amp;lt;/code&amp;gt; (read data by identifier) and &amp;lt;code&amp;gt;19&amp;lt;/code&amp;gt; (read DTCs).&lt;br /&gt;
* 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.&lt;br /&gt;
* Identification strings are ASCII Suzuki part numbers. The first one in each module (&amp;lt;code&amp;gt;1A 8E&amp;lt;/code&amp;gt; or &amp;lt;code&amp;gt;22 F1 01&amp;lt;/code&amp;gt;) has no trailing character; the second (&amp;lt;code&amp;gt;1A 8A&amp;lt;/code&amp;gt; or &amp;lt;code&amp;gt;22 F1 88&amp;lt;/code&amp;gt;) ends in &amp;lt;code&amp;gt;*&amp;lt;/code&amp;gt;. They do not always equal the number printed on the module&#039;s label.&lt;br /&gt;
* Commands marked &#039;&#039;captured&#039;&#039; were seen in a trace. Nothing here has been sent to a module by us except the TPMS requests.&lt;br /&gt;
&lt;br /&gt;
== Device table ==&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! Request ID !! Reply ID !! Style !! Module !! Identification reply (first / second) !! How the module was identified&lt;br /&gt;
|-&lt;br /&gt;
| [[#0x7E0 ECM|0x7E0]] || 0x7E8 || KWP || ECM || 33980-78R0 / 33980-78RC* || Standard engine address&lt;br /&gt;
|-&lt;br /&gt;
| [[#0x261 ABS (inferred)|0x261]] || 0x661 || KWP || ABS (inferred) || 56100-77RA / 56100-78RF* || Only brake module left by elimination&lt;br /&gt;
|-&lt;br /&gt;
| [[#0x263 EPS controller|0x263]] || 0x663 || KWP || EPS controller || 38720-77R0 / 38720-77R0* || Parts catalogue (38720-77R01)&lt;br /&gt;
|-&lt;br /&gt;
| [[#0x271 Body control module|0x271]] || 0x671 || KWP || Body control module || 36775-77R0 / 36775-77RC* || Parts catalogue (36775-77RC2 to RC4)&lt;br /&gt;
|-&lt;br /&gt;
| [[#0x274 Instrument cluster|0x274]] || 0x674 || KWP || Instrument cluster || 34100-78R0 / 34110-78RD* || Rev counter sweep test&lt;br /&gt;
|-&lt;br /&gt;
| [[#0x798 TPMS controller|0x798]] || 0x7A8 || KWP || TPMS controller || 37160-61M0 / 37120-78R0* || Label (Model No. P61M0) and parts catalogue&lt;br /&gt;
|-&lt;br /&gt;
| [[#0x79A Combination switch (lighting and turn)|0x79A]] || 0x7AA || KWP || Combination switch (lighting and turn) || 37210-74PA / 37210-74PE* || Parts catalogue (37210-74PE2)&lt;br /&gt;
|-&lt;br /&gt;
| [[#0x778 Dual sensor brake support (inferred)|0x778]] || 0x788 || KWP || Dual sensor brake support (inferred) || 33990-52R0 / 33990-78R8* || By elimination&lt;br /&gt;
|-&lt;br /&gt;
| [[#0x793 Airbag (SRS) controller|0x793]] || 0x7A3 || UDS || Airbag (SRS) controller || 38910-77R0 / 38910-78RC* || Parts catalogue (38910-78RC0)&lt;br /&gt;
|-&lt;br /&gt;
| [[#0x772 4WD shift controller|0x772]] || 0x782 || UDS || 4WD shift controller || 38885-77R0 / 38885-78R0* || Parts catalogue (38885-78R01)&lt;br /&gt;
|-&lt;br /&gt;
| [[#0x799 E-call controller|0x799]] || 0x7A9 || UDS || E-call controller || 38960-78RA / 38960-78RA* || Parts catalogue (38960-78RA0, RA1)&lt;br /&gt;
|-&lt;br /&gt;
| [[#0x751 Central gateway|0x751]] || 0x761 || UDS || Central gateway || 33580-79R0 / 33580-78R0* || Label (33580-79R01) and parts catalogue&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
Two more addresses, [[#Addresses probed with no reply|0x273 and 0x262]], were probed by the scan tool and did not answer.&lt;br /&gt;
&lt;br /&gt;
The names marked &amp;quot;inferred&amp;quot; are guesses from elimination and part-number series, not confirmed by a label or test.&lt;br /&gt;
&lt;br /&gt;
== 0x7E0 ECM ==&lt;br /&gt;
{{Models|JB74 (2018+, tested on 2021)|untested=JB64, JC74, JB43}}&lt;br /&gt;
&lt;br /&gt;
Request &amp;lt;code&amp;gt;0x7E0&amp;lt;/code&amp;gt;, reply &amp;lt;code&amp;gt;0x7E8&amp;lt;/code&amp;gt;. This is the standard OBD engine address, so standard mode 01 PIDs should be available here, but none were captured.&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! Request !! Reply !! Meaning&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;3E&amp;lt;/code&amp;gt; || &amp;lt;code&amp;gt;7E&amp;lt;/code&amp;gt; || Tester present (captured)&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;1A 8E&amp;lt;/code&amp;gt; || &amp;lt;code&amp;gt;5A 8E&amp;lt;/code&amp;gt; + ASCII &amp;lt;code&amp;gt;33980-78R0&amp;lt;/code&amp;gt; || ECU identification (captured)&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;1A 8A&amp;lt;/code&amp;gt; || &amp;lt;code&amp;gt;5A 8A&amp;lt;/code&amp;gt; + ASCII &amp;lt;code&amp;gt;33980-78RC*&amp;lt;/code&amp;gt; || ECU identification (captured)&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;18 00 FF 00&amp;lt;/code&amp;gt; || &amp;lt;code&amp;gt;58 00&amp;lt;/code&amp;gt; || Read DTCs by status: none stored (captured)&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== 0x261 ABS (inferred) ==&lt;br /&gt;
{{Models|JB74 (2018+, tested on 2021)|untested=JB64, JC74, JB43}}&lt;br /&gt;
&lt;br /&gt;
Request &amp;lt;code&amp;gt;0x261&amp;lt;/code&amp;gt;, reply &amp;lt;code&amp;gt;0x661&amp;lt;/code&amp;gt;. 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.&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! Request !! Reply !! Meaning&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;3E&amp;lt;/code&amp;gt; || &amp;lt;code&amp;gt;7E&amp;lt;/code&amp;gt; || Tester present (captured)&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;1A 8E&amp;lt;/code&amp;gt; || &amp;lt;code&amp;gt;5A 8E&amp;lt;/code&amp;gt; + ASCII &amp;lt;code&amp;gt;56100-77RA&amp;lt;/code&amp;gt; || ECU identification (captured)&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;1A 8A&amp;lt;/code&amp;gt; || &amp;lt;code&amp;gt;5A 8A&amp;lt;/code&amp;gt; + ASCII &amp;lt;code&amp;gt;56100-78RF*&amp;lt;/code&amp;gt; || ECU identification (captured)&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;18 00 FF 00&amp;lt;/code&amp;gt; || &amp;lt;code&amp;gt;58 00&amp;lt;/code&amp;gt; || DTCs: none stored (captured)&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== 0x263 EPS controller ==&lt;br /&gt;
{{Models|JB74 (2018+, tested on 2021)|untested=JB64, JC74, JB43}}&lt;br /&gt;
&lt;br /&gt;
Request &amp;lt;code&amp;gt;0x263&amp;lt;/code&amp;gt;, reply &amp;lt;code&amp;gt;0x663&amp;lt;/code&amp;gt;. Matches parts catalogue entry 38720-77R01 (EPS controller).&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! Request !! Reply !! Meaning&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;3E&amp;lt;/code&amp;gt; || &amp;lt;code&amp;gt;7E&amp;lt;/code&amp;gt; || Tester present (captured)&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;1A 8E&amp;lt;/code&amp;gt; || &amp;lt;code&amp;gt;5A 8E&amp;lt;/code&amp;gt; + ASCII &amp;lt;code&amp;gt;38720-77R0&amp;lt;/code&amp;gt; || ECU identification (captured)&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;1A 8A&amp;lt;/code&amp;gt; || &amp;lt;code&amp;gt;5A 8A&amp;lt;/code&amp;gt; + ASCII &amp;lt;code&amp;gt;38720-77R0*&amp;lt;/code&amp;gt; || ECU identification (captured)&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;18 00 FF 00&amp;lt;/code&amp;gt; || &amp;lt;code&amp;gt;58 00&amp;lt;/code&amp;gt; || DTCs: none stored (captured)&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== 0x271 Body control module ==&lt;br /&gt;
{{Models|JB74 (2018+, tested on 2021)|untested=JB64, JC74, JB43}}&lt;br /&gt;
&lt;br /&gt;
Request &amp;lt;code&amp;gt;0x271&amp;lt;/code&amp;gt;, reply &amp;lt;code&amp;gt;0x671&amp;lt;/code&amp;gt;. Matches parts catalogue entries 36775-77RC2 to RC4 (body control module, RHD).&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! Request !! Reply !! Meaning&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;3E&amp;lt;/code&amp;gt; || &amp;lt;code&amp;gt;7E&amp;lt;/code&amp;gt; || Tester present (captured)&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;1A 8E&amp;lt;/code&amp;gt; || &amp;lt;code&amp;gt;5A 8E&amp;lt;/code&amp;gt; + ASCII &amp;lt;code&amp;gt;36775-77R0&amp;lt;/code&amp;gt; || ECU identification (captured)&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;1A 8A&amp;lt;/code&amp;gt; || &amp;lt;code&amp;gt;5A 8A&amp;lt;/code&amp;gt; + ASCII &amp;lt;code&amp;gt;36775-77RC*&amp;lt;/code&amp;gt; || ECU identification (captured)&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;18 00 FF 00&amp;lt;/code&amp;gt; || &amp;lt;code&amp;gt;58 00&amp;lt;/code&amp;gt; || DTCs: none stored (captured)&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== 0x274 Instrument cluster ==&lt;br /&gt;
{{Models|JB74 (2018+, tested on 2021)|untested=JB64, JC74, JB43}}&lt;br /&gt;
&lt;br /&gt;
Request &amp;lt;code&amp;gt;0x274&amp;lt;/code&amp;gt;, reply &amp;lt;code&amp;gt;0x674&amp;lt;/code&amp;gt;. Confirmed by the rev counter sweep test.&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! Request !! Reply !! Meaning&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;3E&amp;lt;/code&amp;gt; or &amp;lt;code&amp;gt;3E 00&amp;lt;/code&amp;gt; || &amp;lt;code&amp;gt;7E&amp;lt;/code&amp;gt; || Tester present, about every 2.15 s during the sweep test (captured)&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;1A 8E&amp;lt;/code&amp;gt; || &amp;lt;code&amp;gt;5A 8E&amp;lt;/code&amp;gt; + ASCII &amp;lt;code&amp;gt;34100-78R0&amp;lt;/code&amp;gt; || ECU identification (captured)&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;1A 8A&amp;lt;/code&amp;gt; || &amp;lt;code&amp;gt;5A 8A&amp;lt;/code&amp;gt; + ASCII &amp;lt;code&amp;gt;34110-78RD*&amp;lt;/code&amp;gt; (last byte of the reply is &amp;lt;code&amp;gt;06&amp;lt;/code&amp;gt;) || ECU identification (captured)&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;18 00 FF 00&amp;lt;/code&amp;gt; || &amp;lt;code&amp;gt;58 00&amp;lt;/code&amp;gt; || DTCs: none stored (captured)&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;30 01 07 80 40 00 00&amp;lt;/code&amp;gt; || &amp;lt;code&amp;gt;70 01 07&amp;lt;/code&amp;gt; || Starts the rev counter sweep (service 0x30, local ID 01, &amp;quot;short-term adjustment&amp;quot;). The cluster then sweeps up and down by itself (captured)&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;30 01 07 80 00 00 00&amp;lt;/code&amp;gt; || &amp;lt;code&amp;gt;7F 30 22&amp;lt;/code&amp;gt; || Refused (&amp;quot;conditions not correct&amp;quot;). Possibly a stop request sent after the sweep had finished (captured)&lt;br /&gt;
|}&lt;br /&gt;
The meaning of the four control bytes (&amp;lt;code&amp;gt;80 40 00 00&amp;lt;/code&amp;gt;) is not known. Other output tests (gauges, warning lights) have not been captured.&lt;br /&gt;
&lt;br /&gt;
== 0x798 TPMS controller ==&lt;br /&gt;
{{Models|JB74 (2018+, tested on 2021)|untested=JB64, JC74, JB43}}&lt;br /&gt;
&lt;br /&gt;
Request &amp;lt;code&amp;gt;0x798&amp;lt;/code&amp;gt;, reply &amp;lt;code&amp;gt;0x7A8&amp;lt;/code&amp;gt;. The label on the module reads 37160-78R00, &amp;quot;BASE ASSY-TPMS&amp;quot;, Model No. P61M0 (Continental A2C13930301, 433.92 MHz). The full data layout, calibration and app setups are on [[OBD2 Diagnostics reading project]].&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! Request !! Reply !! Meaning&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;3E&amp;lt;/code&amp;gt; || &amp;lt;code&amp;gt;7E&amp;lt;/code&amp;gt; || Tester present (captured)&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;1A 8E&amp;lt;/code&amp;gt; || &amp;lt;code&amp;gt;5A 8E&amp;lt;/code&amp;gt; + ASCII &amp;lt;code&amp;gt;37160-61M0&amp;lt;/code&amp;gt; || ECU identification; matches Model No. P61M0 on the label (captured)&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;1A 8A&amp;lt;/code&amp;gt; || &amp;lt;code&amp;gt;5A 8A&amp;lt;/code&amp;gt; + ASCII &amp;lt;code&amp;gt;37120-78R0*&amp;lt;/code&amp;gt; || ECU identification (captured)&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;18 00 FF 00&amp;lt;/code&amp;gt; || &amp;lt;code&amp;gt;58 00&amp;lt;/code&amp;gt; (no codes) or &amp;lt;code&amp;gt;58 01 9A 31 20&amp;lt;/code&amp;gt; (one code) || DTCs by status. The code &amp;lt;code&amp;gt;9A 31&amp;lt;/code&amp;gt; is probably the left front low pressure warning (inferred). The status byte was &amp;lt;code&amp;gt;20&amp;lt;/code&amp;gt; in the full scan and &amp;lt;code&amp;gt;E0&amp;lt;/code&amp;gt; in earlier captures (captured)&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;21 00&amp;lt;/code&amp;gt; || &amp;lt;code&amp;gt;61 00&amp;lt;/code&amp;gt; + 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)&lt;br /&gt;
|}&lt;br /&gt;
ELM327 setup that works for &amp;lt;code&amp;gt;21 00&amp;lt;/code&amp;gt;: &amp;lt;code&amp;gt;ATSH798&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;ATS0&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;ATL0&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;ATFCSH798&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;ATFCSD300000&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;ATFCSM1&amp;lt;/code&amp;gt;, then &amp;lt;code&amp;gt;2100&amp;lt;/code&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
== 0x79A Combination switch (lighting and turn) ==&lt;br /&gt;
{{Models|JB74 (2018+, tested on 2021)|untested=JB64, JC74, JB43}}&lt;br /&gt;
&lt;br /&gt;
Request &amp;lt;code&amp;gt;0x79A&amp;lt;/code&amp;gt;, reply &amp;lt;code&amp;gt;0x7AA&amp;lt;/code&amp;gt;. Matches parts catalogue entry 37210-74PE2 (switch assembly, lighting and turn, RHD).&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! Request !! Reply !! Meaning&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;3E&amp;lt;/code&amp;gt; || &amp;lt;code&amp;gt;7E&amp;lt;/code&amp;gt; || Tester present (captured)&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;1A 8E&amp;lt;/code&amp;gt; || &amp;lt;code&amp;gt;5A 8E&amp;lt;/code&amp;gt; + ASCII &amp;lt;code&amp;gt;37210-74PA&amp;lt;/code&amp;gt; || ECU identification (captured)&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;1A 8A&amp;lt;/code&amp;gt; || &amp;lt;code&amp;gt;5A 8A&amp;lt;/code&amp;gt; + ASCII &amp;lt;code&amp;gt;37210-74PE*&amp;lt;/code&amp;gt; || ECU identification (captured)&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;18 00 FF 00&amp;lt;/code&amp;gt; || &amp;lt;code&amp;gt;58 00&amp;lt;/code&amp;gt; || DTCs: none stored (captured)&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== 0x778 Dual sensor brake support (inferred) ==&lt;br /&gt;
Request &amp;lt;code&amp;gt;0x778&amp;lt;/code&amp;gt;, reply &amp;lt;code&amp;gt;0x788&amp;lt;/code&amp;gt;. The name is inferred by elimination (the scan report&#039;s last unassigned module). Not confirmed.&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! Request !! Reply !! Meaning&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;3E&amp;lt;/code&amp;gt; || &amp;lt;code&amp;gt;7E&amp;lt;/code&amp;gt; || Tester present (captured)&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;1A 8E&amp;lt;/code&amp;gt; || &amp;lt;code&amp;gt;5A 8E&amp;lt;/code&amp;gt; + ASCII &amp;lt;code&amp;gt;33990-52R0&amp;lt;/code&amp;gt; || ECU identification (captured)&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;1A 8A&amp;lt;/code&amp;gt; || &amp;lt;code&amp;gt;5A 8A&amp;lt;/code&amp;gt; + ASCII &amp;lt;code&amp;gt;33990-78R8*&amp;lt;/code&amp;gt; || ECU identification (captured)&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;18 00 FF 00&amp;lt;/code&amp;gt; || &amp;lt;code&amp;gt;58 00&amp;lt;/code&amp;gt; || DTCs: none stored (captured)&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== 0x793 Airbag (SRS) controller ==&lt;br /&gt;
Request &amp;lt;code&amp;gt;0x793&amp;lt;/code&amp;gt;, reply &amp;lt;code&amp;gt;0x7A3&amp;lt;/code&amp;gt;. Matches parts catalogue entry 38910-78RC0 (airbag controller, VAN).&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! Request !! Reply !! Meaning&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;3E 00&amp;lt;/code&amp;gt; || &amp;lt;code&amp;gt;7E 00&amp;lt;/code&amp;gt; || Tester present (captured)&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;22 F1 01&amp;lt;/code&amp;gt; || &amp;lt;code&amp;gt;62 F1 01&amp;lt;/code&amp;gt; + ASCII &amp;lt;code&amp;gt;38910-77R0&amp;lt;/code&amp;gt; || Identification (captured)&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;22 F1 88&amp;lt;/code&amp;gt; || &amp;lt;code&amp;gt;62 F1 88&amp;lt;/code&amp;gt; + ASCII &amp;lt;code&amp;gt;38910-78RC*&amp;lt;/code&amp;gt; || Identification (captured)&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;19 02 FF&amp;lt;/code&amp;gt; || &amp;lt;code&amp;gt;59 02 4B&amp;lt;/code&amp;gt; || DTCs by status mask: none stored (captured)&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== 0x772 4WD shift controller ==&lt;br /&gt;
Request &amp;lt;code&amp;gt;0x772&amp;lt;/code&amp;gt;, reply &amp;lt;code&amp;gt;0x782&amp;lt;/code&amp;gt;. Matches parts catalogue entry 38885-78R01 (4WD shift controller).&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! Request !! Reply !! Meaning&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;3E&amp;lt;/code&amp;gt; || &amp;lt;code&amp;gt;7F 3E 13&amp;lt;/code&amp;gt; || Refused: incorrect message length. Sent four times by the scan tool (captured)&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;3E 01&amp;lt;/code&amp;gt; || &amp;lt;code&amp;gt;7F 3E 12&amp;lt;/code&amp;gt; || Refused: sub-function not supported. Sent four times (captured)&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;3E 00&amp;lt;/code&amp;gt; || &amp;lt;code&amp;gt;7E 00&amp;lt;/code&amp;gt; || Tester present (captured)&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;22 F1 01&amp;lt;/code&amp;gt; || &amp;lt;code&amp;gt;62 F1 01&amp;lt;/code&amp;gt; + ASCII &amp;lt;code&amp;gt;38885-77R0&amp;lt;/code&amp;gt; || Identification (captured)&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;22 F1 88&amp;lt;/code&amp;gt; || &amp;lt;code&amp;gt;62 F1 88&amp;lt;/code&amp;gt; + ASCII &amp;lt;code&amp;gt;38885-78R0*&amp;lt;/code&amp;gt; || Identification (captured)&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;19 02 FF&amp;lt;/code&amp;gt; || &amp;lt;code&amp;gt;59 02 4B&amp;lt;/code&amp;gt; || DTCs by status mask: none stored (captured)&lt;br /&gt;
|}&lt;br /&gt;
The scan tool tried the KWP-style &amp;lt;code&amp;gt;3E&amp;lt;/code&amp;gt; first and fell back to the UDS form &amp;lt;code&amp;gt;3E 00&amp;lt;/code&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
== 0x799 E-call controller ==&lt;br /&gt;
Request &amp;lt;code&amp;gt;0x799&amp;lt;/code&amp;gt;, reply &amp;lt;code&amp;gt;0x7A9&amp;lt;/code&amp;gt;. Matches parts catalogue entries 38960-78RA0 and RA1 (E-call controller).&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! Request !! Reply !! Meaning&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;3E&amp;lt;/code&amp;gt; || &amp;lt;code&amp;gt;7F 3E 13&amp;lt;/code&amp;gt; || Refused: incorrect message length. Sent four times (captured)&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;3E 01&amp;lt;/code&amp;gt; || &amp;lt;code&amp;gt;7F 3E 12&amp;lt;/code&amp;gt; || Refused: sub-function not supported. Sent four times (captured)&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;3E 00&amp;lt;/code&amp;gt; || &amp;lt;code&amp;gt;7E 00&amp;lt;/code&amp;gt; || Tester present (captured)&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;22 F1 01&amp;lt;/code&amp;gt; || &amp;lt;code&amp;gt;62 F1 01&amp;lt;/code&amp;gt; + ASCII &amp;lt;code&amp;gt;38960-78RA&amp;lt;/code&amp;gt; || Identification (captured)&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;22 F1 88&amp;lt;/code&amp;gt; || &amp;lt;code&amp;gt;62 F1 88&amp;lt;/code&amp;gt; + ASCII &amp;lt;code&amp;gt;38960-78RA*&amp;lt;/code&amp;gt; || Identification (captured)&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;19 02 FF&amp;lt;/code&amp;gt; || &amp;lt;code&amp;gt;59 02 4B 92 4E 00 02&amp;lt;/code&amp;gt; || One stored code record: &amp;lt;code&amp;gt;92 4E 00&amp;lt;/code&amp;gt;, status &amp;lt;code&amp;gt;02&amp;lt;/code&amp;gt;. The Launch report does not list it and its meaning is not known (captured)&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== 0x751 Central gateway ==&lt;br /&gt;
Request &amp;lt;code&amp;gt;0x751&amp;lt;/code&amp;gt;, reply &amp;lt;code&amp;gt;0x761&amp;lt;/code&amp;gt;. The label on the module reads 33580-79R01.&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! Request !! Reply !! Meaning&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;3E 00&amp;lt;/code&amp;gt; || &amp;lt;code&amp;gt;7E 00&amp;lt;/code&amp;gt; || Tester present (captured)&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;22 F1 01&amp;lt;/code&amp;gt; || &amp;lt;code&amp;gt;62 F1 01&amp;lt;/code&amp;gt; + ASCII &amp;lt;code&amp;gt;33580-79R0&amp;lt;/code&amp;gt; || Identification (captured)&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;22 F1 88&amp;lt;/code&amp;gt; || &amp;lt;code&amp;gt;62 F1 88&amp;lt;/code&amp;gt; + ASCII &amp;lt;code&amp;gt;33580-78R0*&amp;lt;/code&amp;gt; || Identification (captured)&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;19 02 FF&amp;lt;/code&amp;gt; || &amp;lt;code&amp;gt;59 02 4B&amp;lt;/code&amp;gt; || DTCs by status mask: none stored (captured)&lt;br /&gt;
|}&lt;br /&gt;
The gateway sits between the OBD socket and the vehicle CAN bus. Whether it forwards requests to the other modules unchanged is not confirmed.&lt;br /&gt;
&lt;br /&gt;
== Addresses probed with no reply ==&lt;br /&gt;
The scan tool sent tester-present (&amp;lt;code&amp;gt;3E&amp;lt;/code&amp;gt;) about eight times each to &amp;lt;code&amp;gt;0x273&amp;lt;/code&amp;gt; and &amp;lt;code&amp;gt;0x262&amp;lt;/code&amp;gt; and received nothing from the expected reply IDs (&amp;lt;code&amp;gt;0x673&amp;lt;/code&amp;gt; and &amp;lt;code&amp;gt;0x662&amp;lt;/code&amp;gt;). They are probably modules this car does not have, such as an automatic transmission or auto-levelling controller. This is a guess.&lt;br /&gt;
&lt;br /&gt;
== ELM327 notes ==&lt;br /&gt;
* Only &amp;lt;code&amp;gt;0x798&amp;lt;/code&amp;gt; has been tested with an ELM327. For other modules, set &amp;lt;code&amp;gt;ATSH&amp;lt;/code&amp;gt; to the request ID and &amp;lt;code&amp;gt;ATFCSH&amp;lt;/code&amp;gt; to the same ID, and you may need &amp;lt;code&amp;gt;ATCRA&amp;lt;/code&amp;gt; with the reply ID, because the reply is not always the request ID plus 8. This is untested.&lt;br /&gt;
* 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.&lt;br /&gt;
* Do not send output-control commands (service &amp;lt;code&amp;gt;30&amp;lt;/code&amp;gt; and similar) from a head-unit app while driving.&lt;br /&gt;
&lt;br /&gt;
== Sources ==&lt;br /&gt;
* Owner PCAN-View captures of a Launch X431 CRP919 full health-check scan and rev counter sweep test, October 2026.&lt;br /&gt;
* Suzuki Jimny parts catalogue 9900B-40312-004 (type 1, October 2021), figures 350A, 351A and 351B.&lt;br /&gt;
* Labels on the TPMS controller and central gateway of the test car.&lt;br /&gt;
&lt;br /&gt;
[[Category:Electrical - gen4]]&lt;/div&gt;</summary>
		<author><name>Mlines</name></author>
	</entry>
	<entry>
		<id>https://www.bigjimny.com/mediawiki/index.php?title=ECU_diagnostic_CAN_addresses&amp;diff=10071</id>
		<title>ECU diagnostic CAN addresses</title>
		<link rel="alternate" type="text/html" href="https://www.bigjimny.com/mediawiki/index.php?title=ECU_diagnostic_CAN_addresses&amp;diff=10071"/>
		<updated>2026-11-01T10:28:28Z</updated>

		<summary type="html">&lt;p&gt;Mlines: /* 0x798 TPMS controller */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&amp;lt;div style=&amp;quot;border: 1px solid #c9a227; background-color: #fff8dc; padding: 0.6em 1em; margin: 0 0 1em 0; border-radius: 4px;&amp;quot;&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;Support this project:&#039;&#039;&#039; 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 [https://buymeacoffee.com/bigjimny buymeacoffee.com/bigjimny].&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
= Suzuki Jimny JB74 - CAN bus devices and the commands they answer =&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Status:&#039;&#039;&#039; 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.&lt;br /&gt;
&lt;br /&gt;
== How to read this page ==&lt;br /&gt;
* All IDs are 11-bit CAN IDs on the OBD socket (pins 6 and 14, 500 kbit/s). The &amp;quot;request ID&amp;quot; is the header a tool sends to; the &amp;quot;reply ID&amp;quot; is where the module answers.&lt;br /&gt;
* 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.&lt;br /&gt;
* &#039;&#039;&#039;KWP-style&#039;&#039;&#039; modules use services such as &amp;lt;code&amp;gt;1A&amp;lt;/code&amp;gt; (read ECU identification) and &amp;lt;code&amp;gt;18&amp;lt;/code&amp;gt; (read DTCs by status). &#039;&#039;&#039;UDS-style&#039;&#039;&#039; modules use &amp;lt;code&amp;gt;22&amp;lt;/code&amp;gt; (read data by identifier) and &amp;lt;code&amp;gt;19&amp;lt;/code&amp;gt; (read DTCs).&lt;br /&gt;
* 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.&lt;br /&gt;
* Identification strings are ASCII Suzuki part numbers. The first one in each module (&amp;lt;code&amp;gt;1A 8E&amp;lt;/code&amp;gt; or &amp;lt;code&amp;gt;22 F1 01&amp;lt;/code&amp;gt;) has no trailing character; the second (&amp;lt;code&amp;gt;1A 8A&amp;lt;/code&amp;gt; or &amp;lt;code&amp;gt;22 F1 88&amp;lt;/code&amp;gt;) ends in &amp;lt;code&amp;gt;*&amp;lt;/code&amp;gt;. They do not always equal the number printed on the module&#039;s label.&lt;br /&gt;
* Commands marked &#039;&#039;captured&#039;&#039; were seen in a trace. Nothing here has been sent to a module by us except the TPMS requests.&lt;br /&gt;
&lt;br /&gt;
== Device table ==&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! Request ID !! Reply ID !! Style !! Module !! Identification reply (first / second) !! How the module was identified&lt;br /&gt;
|-&lt;br /&gt;
| [[#0x7E0 ECM|0x7E0]] || 0x7E8 || KWP || ECM || 33980-78R0 / 33980-78RC* || Standard engine address&lt;br /&gt;
|-&lt;br /&gt;
| [[#0x261 ABS (inferred)|0x261]] || 0x661 || KWP || ABS (inferred) || 56100-77RA / 56100-78RF* || Only brake module left by elimination&lt;br /&gt;
|-&lt;br /&gt;
| [[#0x263 EPS controller|0x263]] || 0x663 || KWP || EPS controller || 38720-77R0 / 38720-77R0* || Parts catalogue (38720-77R01)&lt;br /&gt;
|-&lt;br /&gt;
| [[#0x271 Body control module|0x271]] || 0x671 || KWP || Body control module || 36775-77R0 / 36775-77RC* || Parts catalogue (36775-77RC2 to RC4)&lt;br /&gt;
|-&lt;br /&gt;
| [[#0x274 Instrument cluster|0x274]] || 0x674 || KWP || Instrument cluster || 34100-78R0 / 34110-78RD* || Rev counter sweep test&lt;br /&gt;
|-&lt;br /&gt;
| [[#0x798 TPMS controller|0x798]] || 0x7A8 || KWP || TPMS controller || 37160-61M0 / 37120-78R0* || Label (Model No. P61M0) and parts catalogue&lt;br /&gt;
|-&lt;br /&gt;
| [[#0x79A Combination switch (lighting and turn)|0x79A]] || 0x7AA || KWP || Combination switch (lighting and turn) || 37210-74PA / 37210-74PE* || Parts catalogue (37210-74PE2)&lt;br /&gt;
|-&lt;br /&gt;
| [[#0x778 Dual sensor brake support (inferred)|0x778]] || 0x788 || KWP || Dual sensor brake support (inferred) || 33990-52R0 / 33990-78R8* || By elimination&lt;br /&gt;
|-&lt;br /&gt;
| [[#0x793 Airbag (SRS) controller|0x793]] || 0x7A3 || UDS || Airbag (SRS) controller || 38910-77R0 / 38910-78RC* || Parts catalogue (38910-78RC0)&lt;br /&gt;
|-&lt;br /&gt;
| [[#0x772 4WD shift controller|0x772]] || 0x782 || UDS || 4WD shift controller || 38885-77R0 / 38885-78R0* || Parts catalogue (38885-78R01)&lt;br /&gt;
|-&lt;br /&gt;
| [[#0x799 E-call controller|0x799]] || 0x7A9 || UDS || E-call controller || 38960-78RA / 38960-78RA* || Parts catalogue (38960-78RA0, RA1)&lt;br /&gt;
|-&lt;br /&gt;
| [[#0x751 Central gateway|0x751]] || 0x761 || UDS || Central gateway || 33580-79R0 / 33580-78R0* || Label (33580-79R01) and parts catalogue&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
Two more addresses, [[#Addresses probed with no reply|0x273 and 0x262]], were probed by the scan tool and did not answer.&lt;br /&gt;
&lt;br /&gt;
The names marked &amp;quot;inferred&amp;quot; are guesses from elimination and part-number series, not confirmed by a label or test.&lt;br /&gt;
&lt;br /&gt;
== 0x7E0 ECM ==&lt;br /&gt;
{{Models|JB74 (2018+, tested on 2021)|untested=JB64, JC74, JB43}}&lt;br /&gt;
&lt;br /&gt;
Request &amp;lt;code&amp;gt;0x7E0&amp;lt;/code&amp;gt;, reply &amp;lt;code&amp;gt;0x7E8&amp;lt;/code&amp;gt;. This is the standard OBD engine address, so standard mode 01 PIDs should be available here, but none were captured.&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! Request !! Reply !! Meaning&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;3E&amp;lt;/code&amp;gt; || &amp;lt;code&amp;gt;7E&amp;lt;/code&amp;gt; || Tester present (captured)&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;1A 8E&amp;lt;/code&amp;gt; || &amp;lt;code&amp;gt;5A 8E&amp;lt;/code&amp;gt; + ASCII &amp;lt;code&amp;gt;33980-78R0&amp;lt;/code&amp;gt; || ECU identification (captured)&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;1A 8A&amp;lt;/code&amp;gt; || &amp;lt;code&amp;gt;5A 8A&amp;lt;/code&amp;gt; + ASCII &amp;lt;code&amp;gt;33980-78RC*&amp;lt;/code&amp;gt; || ECU identification (captured)&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;18 00 FF 00&amp;lt;/code&amp;gt; || &amp;lt;code&amp;gt;58 00&amp;lt;/code&amp;gt; || Read DTCs by status: none stored (captured)&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== 0x261 ABS (inferred) ==&lt;br /&gt;
{{Models|JB74 (2018+, tested on 2021)|untested=JB64, JC74, JB43}}&lt;br /&gt;
&lt;br /&gt;
Request &amp;lt;code&amp;gt;0x261&amp;lt;/code&amp;gt;, reply &amp;lt;code&amp;gt;0x661&amp;lt;/code&amp;gt;. 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.&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! Request !! Reply !! Meaning&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;3E&amp;lt;/code&amp;gt; || &amp;lt;code&amp;gt;7E&amp;lt;/code&amp;gt; || Tester present (captured)&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;1A 8E&amp;lt;/code&amp;gt; || &amp;lt;code&amp;gt;5A 8E&amp;lt;/code&amp;gt; + ASCII &amp;lt;code&amp;gt;56100-77RA&amp;lt;/code&amp;gt; || ECU identification (captured)&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;1A 8A&amp;lt;/code&amp;gt; || &amp;lt;code&amp;gt;5A 8A&amp;lt;/code&amp;gt; + ASCII &amp;lt;code&amp;gt;56100-78RF*&amp;lt;/code&amp;gt; || ECU identification (captured)&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;18 00 FF 00&amp;lt;/code&amp;gt; || &amp;lt;code&amp;gt;58 00&amp;lt;/code&amp;gt; || DTCs: none stored (captured)&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== 0x263 EPS controller ==&lt;br /&gt;
{{Models|JB74 (2018+, tested on 2021)|untested=JB64, JC74, JB43}}&lt;br /&gt;
&lt;br /&gt;
Request &amp;lt;code&amp;gt;0x263&amp;lt;/code&amp;gt;, reply &amp;lt;code&amp;gt;0x663&amp;lt;/code&amp;gt;. Matches parts catalogue entry 38720-77R01 (EPS controller).&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! Request !! Reply !! Meaning&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;3E&amp;lt;/code&amp;gt; || &amp;lt;code&amp;gt;7E&amp;lt;/code&amp;gt; || Tester present (captured)&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;1A 8E&amp;lt;/code&amp;gt; || &amp;lt;code&amp;gt;5A 8E&amp;lt;/code&amp;gt; + ASCII &amp;lt;code&amp;gt;38720-77R0&amp;lt;/code&amp;gt; || ECU identification (captured)&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;1A 8A&amp;lt;/code&amp;gt; || &amp;lt;code&amp;gt;5A 8A&amp;lt;/code&amp;gt; + ASCII &amp;lt;code&amp;gt;38720-77R0*&amp;lt;/code&amp;gt; || ECU identification (captured)&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;18 00 FF 00&amp;lt;/code&amp;gt; || &amp;lt;code&amp;gt;58 00&amp;lt;/code&amp;gt; || DTCs: none stored (captured)&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== 0x271 Body control module ==&lt;br /&gt;
{{Models|JB74 (2018+, tested on 2021)|untested=JB64, JC74, JB43}}&lt;br /&gt;
&lt;br /&gt;
Request &amp;lt;code&amp;gt;0x271&amp;lt;/code&amp;gt;, reply &amp;lt;code&amp;gt;0x671&amp;lt;/code&amp;gt;. Matches parts catalogue entries 36775-77RC2 to RC4 (body control module, RHD).&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! Request !! Reply !! Meaning&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;3E&amp;lt;/code&amp;gt; || &amp;lt;code&amp;gt;7E&amp;lt;/code&amp;gt; || Tester present (captured)&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;1A 8E&amp;lt;/code&amp;gt; || &amp;lt;code&amp;gt;5A 8E&amp;lt;/code&amp;gt; + ASCII &amp;lt;code&amp;gt;36775-77R0&amp;lt;/code&amp;gt; || ECU identification (captured)&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;1A 8A&amp;lt;/code&amp;gt; || &amp;lt;code&amp;gt;5A 8A&amp;lt;/code&amp;gt; + ASCII &amp;lt;code&amp;gt;36775-77RC*&amp;lt;/code&amp;gt; || ECU identification (captured)&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;18 00 FF 00&amp;lt;/code&amp;gt; || &amp;lt;code&amp;gt;58 00&amp;lt;/code&amp;gt; || DTCs: none stored (captured)&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== 0x274 Instrument cluster ==&lt;br /&gt;
{{Models|JB74 (2018+, tested on 2021)|untested=JB64, JC74, JB43}}&lt;br /&gt;
&lt;br /&gt;
Request &amp;lt;code&amp;gt;0x274&amp;lt;/code&amp;gt;, reply &amp;lt;code&amp;gt;0x674&amp;lt;/code&amp;gt;. Confirmed by the rev counter sweep test.&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! Request !! Reply !! Meaning&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;3E&amp;lt;/code&amp;gt; or &amp;lt;code&amp;gt;3E 00&amp;lt;/code&amp;gt; || &amp;lt;code&amp;gt;7E&amp;lt;/code&amp;gt; || Tester present, about every 2.15 s during the sweep test (captured)&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;1A 8E&amp;lt;/code&amp;gt; || &amp;lt;code&amp;gt;5A 8E&amp;lt;/code&amp;gt; + ASCII &amp;lt;code&amp;gt;34100-78R0&amp;lt;/code&amp;gt; || ECU identification (captured)&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;1A 8A&amp;lt;/code&amp;gt; || &amp;lt;code&amp;gt;5A 8A&amp;lt;/code&amp;gt; + ASCII &amp;lt;code&amp;gt;34110-78RD*&amp;lt;/code&amp;gt; (last byte of the reply is &amp;lt;code&amp;gt;06&amp;lt;/code&amp;gt;) || ECU identification (captured)&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;18 00 FF 00&amp;lt;/code&amp;gt; || &amp;lt;code&amp;gt;58 00&amp;lt;/code&amp;gt; || DTCs: none stored (captured)&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;30 01 07 80 40 00 00&amp;lt;/code&amp;gt; || &amp;lt;code&amp;gt;70 01 07&amp;lt;/code&amp;gt; || Starts the rev counter sweep (service 0x30, local ID 01, &amp;quot;short-term adjustment&amp;quot;). The cluster then sweeps up and down by itself (captured)&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;30 01 07 80 00 00 00&amp;lt;/code&amp;gt; || &amp;lt;code&amp;gt;7F 30 22&amp;lt;/code&amp;gt; || Refused (&amp;quot;conditions not correct&amp;quot;). Possibly a stop request sent after the sweep had finished (captured)&lt;br /&gt;
|}&lt;br /&gt;
The meaning of the four control bytes (&amp;lt;code&amp;gt;80 40 00 00&amp;lt;/code&amp;gt;) is not known. Other output tests (gauges, warning lights) have not been captured.&lt;br /&gt;
&lt;br /&gt;
== 0x798 TPMS controller ==&lt;br /&gt;
{{Models|JB74 (2018+, tested on 2021)|untested=JB64, JC74, JB43}}&lt;br /&gt;
&lt;br /&gt;
Request &amp;lt;code&amp;gt;0x798&amp;lt;/code&amp;gt;, reply &amp;lt;code&amp;gt;0x7A8&amp;lt;/code&amp;gt;. The label on the module reads 37160-78R00, &amp;quot;BASE ASSY-TPMS&amp;quot;, Model No. P61M0 (Continental A2C13930301, 433.92 MHz). The full data layout, calibration and app setups are on [[OBD2 Diagnostics reading project]].&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! Request !! Reply !! Meaning&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;3E&amp;lt;/code&amp;gt; || &amp;lt;code&amp;gt;7E&amp;lt;/code&amp;gt; || Tester present (captured)&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;1A 8E&amp;lt;/code&amp;gt; || &amp;lt;code&amp;gt;5A 8E&amp;lt;/code&amp;gt; + ASCII &amp;lt;code&amp;gt;37160-61M0&amp;lt;/code&amp;gt; || ECU identification; matches Model No. P61M0 on the label (captured)&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;1A 8A&amp;lt;/code&amp;gt; || &amp;lt;code&amp;gt;5A 8A&amp;lt;/code&amp;gt; + ASCII &amp;lt;code&amp;gt;37120-78R0*&amp;lt;/code&amp;gt; || ECU identification (captured)&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;18 00 FF 00&amp;lt;/code&amp;gt; || &amp;lt;code&amp;gt;58 00&amp;lt;/code&amp;gt; (no codes) or &amp;lt;code&amp;gt;58 01 9A 31 20&amp;lt;/code&amp;gt; (one code) || DTCs by status. The code &amp;lt;code&amp;gt;9A 31&amp;lt;/code&amp;gt; is probably the left front low pressure warning (inferred). The status byte was &amp;lt;code&amp;gt;20&amp;lt;/code&amp;gt; in the full scan and &amp;lt;code&amp;gt;E0&amp;lt;/code&amp;gt; in earlier captures (captured)&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;21 00&amp;lt;/code&amp;gt; || &amp;lt;code&amp;gt;61 00&amp;lt;/code&amp;gt; + 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)&lt;br /&gt;
|}&lt;br /&gt;
ELM327 setup that works for &amp;lt;code&amp;gt;21 00&amp;lt;/code&amp;gt;: &amp;lt;code&amp;gt;ATSH798&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;ATS0&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;ATL0&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;ATFCSH798&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;ATFCSD300000&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;ATFCSM1&amp;lt;/code&amp;gt;, then &amp;lt;code&amp;gt;2100&amp;lt;/code&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
== 0x79A Combination switch (lighting and turn) ==&lt;br /&gt;
Request &amp;lt;code&amp;gt;0x79A&amp;lt;/code&amp;gt;, reply &amp;lt;code&amp;gt;0x7AA&amp;lt;/code&amp;gt;. Matches parts catalogue entry 37210-74PE2 (switch assembly, lighting and turn, RHD).&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! Request !! Reply !! Meaning&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;3E&amp;lt;/code&amp;gt; || &amp;lt;code&amp;gt;7E&amp;lt;/code&amp;gt; || Tester present (captured)&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;1A 8E&amp;lt;/code&amp;gt; || &amp;lt;code&amp;gt;5A 8E&amp;lt;/code&amp;gt; + ASCII &amp;lt;code&amp;gt;37210-74PA&amp;lt;/code&amp;gt; || ECU identification (captured)&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;1A 8A&amp;lt;/code&amp;gt; || &amp;lt;code&amp;gt;5A 8A&amp;lt;/code&amp;gt; + ASCII &amp;lt;code&amp;gt;37210-74PE*&amp;lt;/code&amp;gt; || ECU identification (captured)&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;18 00 FF 00&amp;lt;/code&amp;gt; || &amp;lt;code&amp;gt;58 00&amp;lt;/code&amp;gt; || DTCs: none stored (captured)&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== 0x778 Dual sensor brake support (inferred) ==&lt;br /&gt;
Request &amp;lt;code&amp;gt;0x778&amp;lt;/code&amp;gt;, reply &amp;lt;code&amp;gt;0x788&amp;lt;/code&amp;gt;. The name is inferred by elimination (the scan report&#039;s last unassigned module). Not confirmed.&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! Request !! Reply !! Meaning&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;3E&amp;lt;/code&amp;gt; || &amp;lt;code&amp;gt;7E&amp;lt;/code&amp;gt; || Tester present (captured)&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;1A 8E&amp;lt;/code&amp;gt; || &amp;lt;code&amp;gt;5A 8E&amp;lt;/code&amp;gt; + ASCII &amp;lt;code&amp;gt;33990-52R0&amp;lt;/code&amp;gt; || ECU identification (captured)&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;1A 8A&amp;lt;/code&amp;gt; || &amp;lt;code&amp;gt;5A 8A&amp;lt;/code&amp;gt; + ASCII &amp;lt;code&amp;gt;33990-78R8*&amp;lt;/code&amp;gt; || ECU identification (captured)&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;18 00 FF 00&amp;lt;/code&amp;gt; || &amp;lt;code&amp;gt;58 00&amp;lt;/code&amp;gt; || DTCs: none stored (captured)&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== 0x793 Airbag (SRS) controller ==&lt;br /&gt;
Request &amp;lt;code&amp;gt;0x793&amp;lt;/code&amp;gt;, reply &amp;lt;code&amp;gt;0x7A3&amp;lt;/code&amp;gt;. Matches parts catalogue entry 38910-78RC0 (airbag controller, VAN).&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! Request !! Reply !! Meaning&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;3E 00&amp;lt;/code&amp;gt; || &amp;lt;code&amp;gt;7E 00&amp;lt;/code&amp;gt; || Tester present (captured)&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;22 F1 01&amp;lt;/code&amp;gt; || &amp;lt;code&amp;gt;62 F1 01&amp;lt;/code&amp;gt; + ASCII &amp;lt;code&amp;gt;38910-77R0&amp;lt;/code&amp;gt; || Identification (captured)&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;22 F1 88&amp;lt;/code&amp;gt; || &amp;lt;code&amp;gt;62 F1 88&amp;lt;/code&amp;gt; + ASCII &amp;lt;code&amp;gt;38910-78RC*&amp;lt;/code&amp;gt; || Identification (captured)&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;19 02 FF&amp;lt;/code&amp;gt; || &amp;lt;code&amp;gt;59 02 4B&amp;lt;/code&amp;gt; || DTCs by status mask: none stored (captured)&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== 0x772 4WD shift controller ==&lt;br /&gt;
Request &amp;lt;code&amp;gt;0x772&amp;lt;/code&amp;gt;, reply &amp;lt;code&amp;gt;0x782&amp;lt;/code&amp;gt;. Matches parts catalogue entry 38885-78R01 (4WD shift controller).&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! Request !! Reply !! Meaning&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;3E&amp;lt;/code&amp;gt; || &amp;lt;code&amp;gt;7F 3E 13&amp;lt;/code&amp;gt; || Refused: incorrect message length. Sent four times by the scan tool (captured)&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;3E 01&amp;lt;/code&amp;gt; || &amp;lt;code&amp;gt;7F 3E 12&amp;lt;/code&amp;gt; || Refused: sub-function not supported. Sent four times (captured)&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;3E 00&amp;lt;/code&amp;gt; || &amp;lt;code&amp;gt;7E 00&amp;lt;/code&amp;gt; || Tester present (captured)&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;22 F1 01&amp;lt;/code&amp;gt; || &amp;lt;code&amp;gt;62 F1 01&amp;lt;/code&amp;gt; + ASCII &amp;lt;code&amp;gt;38885-77R0&amp;lt;/code&amp;gt; || Identification (captured)&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;22 F1 88&amp;lt;/code&amp;gt; || &amp;lt;code&amp;gt;62 F1 88&amp;lt;/code&amp;gt; + ASCII &amp;lt;code&amp;gt;38885-78R0*&amp;lt;/code&amp;gt; || Identification (captured)&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;19 02 FF&amp;lt;/code&amp;gt; || &amp;lt;code&amp;gt;59 02 4B&amp;lt;/code&amp;gt; || DTCs by status mask: none stored (captured)&lt;br /&gt;
|}&lt;br /&gt;
The scan tool tried the KWP-style &amp;lt;code&amp;gt;3E&amp;lt;/code&amp;gt; first and fell back to the UDS form &amp;lt;code&amp;gt;3E 00&amp;lt;/code&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
== 0x799 E-call controller ==&lt;br /&gt;
Request &amp;lt;code&amp;gt;0x799&amp;lt;/code&amp;gt;, reply &amp;lt;code&amp;gt;0x7A9&amp;lt;/code&amp;gt;. Matches parts catalogue entries 38960-78RA0 and RA1 (E-call controller).&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! Request !! Reply !! Meaning&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;3E&amp;lt;/code&amp;gt; || &amp;lt;code&amp;gt;7F 3E 13&amp;lt;/code&amp;gt; || Refused: incorrect message length. Sent four times (captured)&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;3E 01&amp;lt;/code&amp;gt; || &amp;lt;code&amp;gt;7F 3E 12&amp;lt;/code&amp;gt; || Refused: sub-function not supported. Sent four times (captured)&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;3E 00&amp;lt;/code&amp;gt; || &amp;lt;code&amp;gt;7E 00&amp;lt;/code&amp;gt; || Tester present (captured)&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;22 F1 01&amp;lt;/code&amp;gt; || &amp;lt;code&amp;gt;62 F1 01&amp;lt;/code&amp;gt; + ASCII &amp;lt;code&amp;gt;38960-78RA&amp;lt;/code&amp;gt; || Identification (captured)&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;22 F1 88&amp;lt;/code&amp;gt; || &amp;lt;code&amp;gt;62 F1 88&amp;lt;/code&amp;gt; + ASCII &amp;lt;code&amp;gt;38960-78RA*&amp;lt;/code&amp;gt; || Identification (captured)&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;19 02 FF&amp;lt;/code&amp;gt; || &amp;lt;code&amp;gt;59 02 4B 92 4E 00 02&amp;lt;/code&amp;gt; || One stored code record: &amp;lt;code&amp;gt;92 4E 00&amp;lt;/code&amp;gt;, status &amp;lt;code&amp;gt;02&amp;lt;/code&amp;gt;. The Launch report does not list it and its meaning is not known (captured)&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== 0x751 Central gateway ==&lt;br /&gt;
Request &amp;lt;code&amp;gt;0x751&amp;lt;/code&amp;gt;, reply &amp;lt;code&amp;gt;0x761&amp;lt;/code&amp;gt;. The label on the module reads 33580-79R01.&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! Request !! Reply !! Meaning&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;3E 00&amp;lt;/code&amp;gt; || &amp;lt;code&amp;gt;7E 00&amp;lt;/code&amp;gt; || Tester present (captured)&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;22 F1 01&amp;lt;/code&amp;gt; || &amp;lt;code&amp;gt;62 F1 01&amp;lt;/code&amp;gt; + ASCII &amp;lt;code&amp;gt;33580-79R0&amp;lt;/code&amp;gt; || Identification (captured)&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;22 F1 88&amp;lt;/code&amp;gt; || &amp;lt;code&amp;gt;62 F1 88&amp;lt;/code&amp;gt; + ASCII &amp;lt;code&amp;gt;33580-78R0*&amp;lt;/code&amp;gt; || Identification (captured)&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;19 02 FF&amp;lt;/code&amp;gt; || &amp;lt;code&amp;gt;59 02 4B&amp;lt;/code&amp;gt; || DTCs by status mask: none stored (captured)&lt;br /&gt;
|}&lt;br /&gt;
The gateway sits between the OBD socket and the vehicle CAN bus. Whether it forwards requests to the other modules unchanged is not confirmed.&lt;br /&gt;
&lt;br /&gt;
== Addresses probed with no reply ==&lt;br /&gt;
The scan tool sent tester-present (&amp;lt;code&amp;gt;3E&amp;lt;/code&amp;gt;) about eight times each to &amp;lt;code&amp;gt;0x273&amp;lt;/code&amp;gt; and &amp;lt;code&amp;gt;0x262&amp;lt;/code&amp;gt; and received nothing from the expected reply IDs (&amp;lt;code&amp;gt;0x673&amp;lt;/code&amp;gt; and &amp;lt;code&amp;gt;0x662&amp;lt;/code&amp;gt;). They are probably modules this car does not have, such as an automatic transmission or auto-levelling controller. This is a guess.&lt;br /&gt;
&lt;br /&gt;
== ELM327 notes ==&lt;br /&gt;
* Only &amp;lt;code&amp;gt;0x798&amp;lt;/code&amp;gt; has been tested with an ELM327. For other modules, set &amp;lt;code&amp;gt;ATSH&amp;lt;/code&amp;gt; to the request ID and &amp;lt;code&amp;gt;ATFCSH&amp;lt;/code&amp;gt; to the same ID, and you may need &amp;lt;code&amp;gt;ATCRA&amp;lt;/code&amp;gt; with the reply ID, because the reply is not always the request ID plus 8. This is untested.&lt;br /&gt;
* 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.&lt;br /&gt;
* Do not send output-control commands (service &amp;lt;code&amp;gt;30&amp;lt;/code&amp;gt; and similar) from a head-unit app while driving.&lt;br /&gt;
&lt;br /&gt;
== Sources ==&lt;br /&gt;
* Owner PCAN-View captures of a Launch X431 CRP919 full health-check scan and rev counter sweep test, October 2026.&lt;br /&gt;
* Suzuki Jimny parts catalogue 9900B-40312-004 (type 1, October 2021), figures 350A, 351A and 351B.&lt;br /&gt;
* Labels on the TPMS controller and central gateway of the test car.&lt;br /&gt;
&lt;br /&gt;
[[Category:Electrical - gen4]]&lt;/div&gt;</summary>
		<author><name>Mlines</name></author>
	</entry>
	<entry>
		<id>https://www.bigjimny.com/mediawiki/index.php?title=ECU_diagnostic_CAN_addresses&amp;diff=10070</id>
		<title>ECU diagnostic CAN addresses</title>
		<link rel="alternate" type="text/html" href="https://www.bigjimny.com/mediawiki/index.php?title=ECU_diagnostic_CAN_addresses&amp;diff=10070"/>
		<updated>2026-11-01T10:28:13Z</updated>

		<summary type="html">&lt;p&gt;Mlines: /* 0x274 Instrument cluster */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&amp;lt;div style=&amp;quot;border: 1px solid #c9a227; background-color: #fff8dc; padding: 0.6em 1em; margin: 0 0 1em 0; border-radius: 4px;&amp;quot;&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;Support this project:&#039;&#039;&#039; 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 [https://buymeacoffee.com/bigjimny buymeacoffee.com/bigjimny].&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
= Suzuki Jimny JB74 - CAN bus devices and the commands they answer =&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Status:&#039;&#039;&#039; 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.&lt;br /&gt;
&lt;br /&gt;
== How to read this page ==&lt;br /&gt;
* All IDs are 11-bit CAN IDs on the OBD socket (pins 6 and 14, 500 kbit/s). The &amp;quot;request ID&amp;quot; is the header a tool sends to; the &amp;quot;reply ID&amp;quot; is where the module answers.&lt;br /&gt;
* 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.&lt;br /&gt;
* &#039;&#039;&#039;KWP-style&#039;&#039;&#039; modules use services such as &amp;lt;code&amp;gt;1A&amp;lt;/code&amp;gt; (read ECU identification) and &amp;lt;code&amp;gt;18&amp;lt;/code&amp;gt; (read DTCs by status). &#039;&#039;&#039;UDS-style&#039;&#039;&#039; modules use &amp;lt;code&amp;gt;22&amp;lt;/code&amp;gt; (read data by identifier) and &amp;lt;code&amp;gt;19&amp;lt;/code&amp;gt; (read DTCs).&lt;br /&gt;
* 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.&lt;br /&gt;
* Identification strings are ASCII Suzuki part numbers. The first one in each module (&amp;lt;code&amp;gt;1A 8E&amp;lt;/code&amp;gt; or &amp;lt;code&amp;gt;22 F1 01&amp;lt;/code&amp;gt;) has no trailing character; the second (&amp;lt;code&amp;gt;1A 8A&amp;lt;/code&amp;gt; or &amp;lt;code&amp;gt;22 F1 88&amp;lt;/code&amp;gt;) ends in &amp;lt;code&amp;gt;*&amp;lt;/code&amp;gt;. They do not always equal the number printed on the module&#039;s label.&lt;br /&gt;
* Commands marked &#039;&#039;captured&#039;&#039; were seen in a trace. Nothing here has been sent to a module by us except the TPMS requests.&lt;br /&gt;
&lt;br /&gt;
== Device table ==&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! Request ID !! Reply ID !! Style !! Module !! Identification reply (first / second) !! How the module was identified&lt;br /&gt;
|-&lt;br /&gt;
| [[#0x7E0 ECM|0x7E0]] || 0x7E8 || KWP || ECM || 33980-78R0 / 33980-78RC* || Standard engine address&lt;br /&gt;
|-&lt;br /&gt;
| [[#0x261 ABS (inferred)|0x261]] || 0x661 || KWP || ABS (inferred) || 56100-77RA / 56100-78RF* || Only brake module left by elimination&lt;br /&gt;
|-&lt;br /&gt;
| [[#0x263 EPS controller|0x263]] || 0x663 || KWP || EPS controller || 38720-77R0 / 38720-77R0* || Parts catalogue (38720-77R01)&lt;br /&gt;
|-&lt;br /&gt;
| [[#0x271 Body control module|0x271]] || 0x671 || KWP || Body control module || 36775-77R0 / 36775-77RC* || Parts catalogue (36775-77RC2 to RC4)&lt;br /&gt;
|-&lt;br /&gt;
| [[#0x274 Instrument cluster|0x274]] || 0x674 || KWP || Instrument cluster || 34100-78R0 / 34110-78RD* || Rev counter sweep test&lt;br /&gt;
|-&lt;br /&gt;
| [[#0x798 TPMS controller|0x798]] || 0x7A8 || KWP || TPMS controller || 37160-61M0 / 37120-78R0* || Label (Model No. P61M0) and parts catalogue&lt;br /&gt;
|-&lt;br /&gt;
| [[#0x79A Combination switch (lighting and turn)|0x79A]] || 0x7AA || KWP || Combination switch (lighting and turn) || 37210-74PA / 37210-74PE* || Parts catalogue (37210-74PE2)&lt;br /&gt;
|-&lt;br /&gt;
| [[#0x778 Dual sensor brake support (inferred)|0x778]] || 0x788 || KWP || Dual sensor brake support (inferred) || 33990-52R0 / 33990-78R8* || By elimination&lt;br /&gt;
|-&lt;br /&gt;
| [[#0x793 Airbag (SRS) controller|0x793]] || 0x7A3 || UDS || Airbag (SRS) controller || 38910-77R0 / 38910-78RC* || Parts catalogue (38910-78RC0)&lt;br /&gt;
|-&lt;br /&gt;
| [[#0x772 4WD shift controller|0x772]] || 0x782 || UDS || 4WD shift controller || 38885-77R0 / 38885-78R0* || Parts catalogue (38885-78R01)&lt;br /&gt;
|-&lt;br /&gt;
| [[#0x799 E-call controller|0x799]] || 0x7A9 || UDS || E-call controller || 38960-78RA / 38960-78RA* || Parts catalogue (38960-78RA0, RA1)&lt;br /&gt;
|-&lt;br /&gt;
| [[#0x751 Central gateway|0x751]] || 0x761 || UDS || Central gateway || 33580-79R0 / 33580-78R0* || Label (33580-79R01) and parts catalogue&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
Two more addresses, [[#Addresses probed with no reply|0x273 and 0x262]], were probed by the scan tool and did not answer.&lt;br /&gt;
&lt;br /&gt;
The names marked &amp;quot;inferred&amp;quot; are guesses from elimination and part-number series, not confirmed by a label or test.&lt;br /&gt;
&lt;br /&gt;
== 0x7E0 ECM ==&lt;br /&gt;
{{Models|JB74 (2018+, tested on 2021)|untested=JB64, JC74, JB43}}&lt;br /&gt;
&lt;br /&gt;
Request &amp;lt;code&amp;gt;0x7E0&amp;lt;/code&amp;gt;, reply &amp;lt;code&amp;gt;0x7E8&amp;lt;/code&amp;gt;. This is the standard OBD engine address, so standard mode 01 PIDs should be available here, but none were captured.&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! Request !! Reply !! Meaning&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;3E&amp;lt;/code&amp;gt; || &amp;lt;code&amp;gt;7E&amp;lt;/code&amp;gt; || Tester present (captured)&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;1A 8E&amp;lt;/code&amp;gt; || &amp;lt;code&amp;gt;5A 8E&amp;lt;/code&amp;gt; + ASCII &amp;lt;code&amp;gt;33980-78R0&amp;lt;/code&amp;gt; || ECU identification (captured)&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;1A 8A&amp;lt;/code&amp;gt; || &amp;lt;code&amp;gt;5A 8A&amp;lt;/code&amp;gt; + ASCII &amp;lt;code&amp;gt;33980-78RC*&amp;lt;/code&amp;gt; || ECU identification (captured)&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;18 00 FF 00&amp;lt;/code&amp;gt; || &amp;lt;code&amp;gt;58 00&amp;lt;/code&amp;gt; || Read DTCs by status: none stored (captured)&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== 0x261 ABS (inferred) ==&lt;br /&gt;
{{Models|JB74 (2018+, tested on 2021)|untested=JB64, JC74, JB43}}&lt;br /&gt;
&lt;br /&gt;
Request &amp;lt;code&amp;gt;0x261&amp;lt;/code&amp;gt;, reply &amp;lt;code&amp;gt;0x661&amp;lt;/code&amp;gt;. 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.&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! Request !! Reply !! Meaning&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;3E&amp;lt;/code&amp;gt; || &amp;lt;code&amp;gt;7E&amp;lt;/code&amp;gt; || Tester present (captured)&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;1A 8E&amp;lt;/code&amp;gt; || &amp;lt;code&amp;gt;5A 8E&amp;lt;/code&amp;gt; + ASCII &amp;lt;code&amp;gt;56100-77RA&amp;lt;/code&amp;gt; || ECU identification (captured)&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;1A 8A&amp;lt;/code&amp;gt; || &amp;lt;code&amp;gt;5A 8A&amp;lt;/code&amp;gt; + ASCII &amp;lt;code&amp;gt;56100-78RF*&amp;lt;/code&amp;gt; || ECU identification (captured)&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;18 00 FF 00&amp;lt;/code&amp;gt; || &amp;lt;code&amp;gt;58 00&amp;lt;/code&amp;gt; || DTCs: none stored (captured)&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== 0x263 EPS controller ==&lt;br /&gt;
{{Models|JB74 (2018+, tested on 2021)|untested=JB64, JC74, JB43}}&lt;br /&gt;
&lt;br /&gt;
Request &amp;lt;code&amp;gt;0x263&amp;lt;/code&amp;gt;, reply &amp;lt;code&amp;gt;0x663&amp;lt;/code&amp;gt;. Matches parts catalogue entry 38720-77R01 (EPS controller).&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! Request !! Reply !! Meaning&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;3E&amp;lt;/code&amp;gt; || &amp;lt;code&amp;gt;7E&amp;lt;/code&amp;gt; || Tester present (captured)&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;1A 8E&amp;lt;/code&amp;gt; || &amp;lt;code&amp;gt;5A 8E&amp;lt;/code&amp;gt; + ASCII &amp;lt;code&amp;gt;38720-77R0&amp;lt;/code&amp;gt; || ECU identification (captured)&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;1A 8A&amp;lt;/code&amp;gt; || &amp;lt;code&amp;gt;5A 8A&amp;lt;/code&amp;gt; + ASCII &amp;lt;code&amp;gt;38720-77R0*&amp;lt;/code&amp;gt; || ECU identification (captured)&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;18 00 FF 00&amp;lt;/code&amp;gt; || &amp;lt;code&amp;gt;58 00&amp;lt;/code&amp;gt; || DTCs: none stored (captured)&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== 0x271 Body control module ==&lt;br /&gt;
{{Models|JB74 (2018+, tested on 2021)|untested=JB64, JC74, JB43}}&lt;br /&gt;
&lt;br /&gt;
Request &amp;lt;code&amp;gt;0x271&amp;lt;/code&amp;gt;, reply &amp;lt;code&amp;gt;0x671&amp;lt;/code&amp;gt;. Matches parts catalogue entries 36775-77RC2 to RC4 (body control module, RHD).&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! Request !! Reply !! Meaning&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;3E&amp;lt;/code&amp;gt; || &amp;lt;code&amp;gt;7E&amp;lt;/code&amp;gt; || Tester present (captured)&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;1A 8E&amp;lt;/code&amp;gt; || &amp;lt;code&amp;gt;5A 8E&amp;lt;/code&amp;gt; + ASCII &amp;lt;code&amp;gt;36775-77R0&amp;lt;/code&amp;gt; || ECU identification (captured)&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;1A 8A&amp;lt;/code&amp;gt; || &amp;lt;code&amp;gt;5A 8A&amp;lt;/code&amp;gt; + ASCII &amp;lt;code&amp;gt;36775-77RC*&amp;lt;/code&amp;gt; || ECU identification (captured)&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;18 00 FF 00&amp;lt;/code&amp;gt; || &amp;lt;code&amp;gt;58 00&amp;lt;/code&amp;gt; || DTCs: none stored (captured)&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== 0x274 Instrument cluster ==&lt;br /&gt;
{{Models|JB74 (2018+, tested on 2021)|untested=JB64, JC74, JB43}}&lt;br /&gt;
&lt;br /&gt;
Request &amp;lt;code&amp;gt;0x274&amp;lt;/code&amp;gt;, reply &amp;lt;code&amp;gt;0x674&amp;lt;/code&amp;gt;. Confirmed by the rev counter sweep test.&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! Request !! Reply !! Meaning&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;3E&amp;lt;/code&amp;gt; or &amp;lt;code&amp;gt;3E 00&amp;lt;/code&amp;gt; || &amp;lt;code&amp;gt;7E&amp;lt;/code&amp;gt; || Tester present, about every 2.15 s during the sweep test (captured)&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;1A 8E&amp;lt;/code&amp;gt; || &amp;lt;code&amp;gt;5A 8E&amp;lt;/code&amp;gt; + ASCII &amp;lt;code&amp;gt;34100-78R0&amp;lt;/code&amp;gt; || ECU identification (captured)&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;1A 8A&amp;lt;/code&amp;gt; || &amp;lt;code&amp;gt;5A 8A&amp;lt;/code&amp;gt; + ASCII &amp;lt;code&amp;gt;34110-78RD*&amp;lt;/code&amp;gt; (last byte of the reply is &amp;lt;code&amp;gt;06&amp;lt;/code&amp;gt;) || ECU identification (captured)&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;18 00 FF 00&amp;lt;/code&amp;gt; || &amp;lt;code&amp;gt;58 00&amp;lt;/code&amp;gt; || DTCs: none stored (captured)&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;30 01 07 80 40 00 00&amp;lt;/code&amp;gt; || &amp;lt;code&amp;gt;70 01 07&amp;lt;/code&amp;gt; || Starts the rev counter sweep (service 0x30, local ID 01, &amp;quot;short-term adjustment&amp;quot;). The cluster then sweeps up and down by itself (captured)&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;30 01 07 80 00 00 00&amp;lt;/code&amp;gt; || &amp;lt;code&amp;gt;7F 30 22&amp;lt;/code&amp;gt; || Refused (&amp;quot;conditions not correct&amp;quot;). Possibly a stop request sent after the sweep had finished (captured)&lt;br /&gt;
|}&lt;br /&gt;
The meaning of the four control bytes (&amp;lt;code&amp;gt;80 40 00 00&amp;lt;/code&amp;gt;) is not known. Other output tests (gauges, warning lights) have not been captured.&lt;br /&gt;
&lt;br /&gt;
== 0x798 TPMS controller ==&lt;br /&gt;
Request &amp;lt;code&amp;gt;0x798&amp;lt;/code&amp;gt;, reply &amp;lt;code&amp;gt;0x7A8&amp;lt;/code&amp;gt;. The label on the module reads 37160-78R00, &amp;quot;BASE ASSY-TPMS&amp;quot;, Model No. P61M0 (Continental A2C13930301, 433.92 MHz). The full data layout, calibration and app setups are on [[OBD2 Diagnostics reading project]].&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! Request !! Reply !! Meaning&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;3E&amp;lt;/code&amp;gt; || &amp;lt;code&amp;gt;7E&amp;lt;/code&amp;gt; || Tester present (captured)&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;1A 8E&amp;lt;/code&amp;gt; || &amp;lt;code&amp;gt;5A 8E&amp;lt;/code&amp;gt; + ASCII &amp;lt;code&amp;gt;37160-61M0&amp;lt;/code&amp;gt; || ECU identification; matches Model No. P61M0 on the label (captured)&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;1A 8A&amp;lt;/code&amp;gt; || &amp;lt;code&amp;gt;5A 8A&amp;lt;/code&amp;gt; + ASCII &amp;lt;code&amp;gt;37120-78R0*&amp;lt;/code&amp;gt; || ECU identification (captured)&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;18 00 FF 00&amp;lt;/code&amp;gt; || &amp;lt;code&amp;gt;58 00&amp;lt;/code&amp;gt; (no codes) or &amp;lt;code&amp;gt;58 01 9A 31 20&amp;lt;/code&amp;gt; (one code) || DTCs by status. The code &amp;lt;code&amp;gt;9A 31&amp;lt;/code&amp;gt; is probably the left front low pressure warning (inferred). The status byte was &amp;lt;code&amp;gt;20&amp;lt;/code&amp;gt; in the full scan and &amp;lt;code&amp;gt;E0&amp;lt;/code&amp;gt; in earlier captures (captured)&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;21 00&amp;lt;/code&amp;gt; || &amp;lt;code&amp;gt;61 00&amp;lt;/code&amp;gt; + 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)&lt;br /&gt;
|}&lt;br /&gt;
ELM327 setup that works for &amp;lt;code&amp;gt;21 00&amp;lt;/code&amp;gt;: &amp;lt;code&amp;gt;ATSH798&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;ATS0&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;ATL0&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;ATFCSH798&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;ATFCSD300000&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;ATFCSM1&amp;lt;/code&amp;gt;, then &amp;lt;code&amp;gt;2100&amp;lt;/code&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
== 0x79A Combination switch (lighting and turn) ==&lt;br /&gt;
Request &amp;lt;code&amp;gt;0x79A&amp;lt;/code&amp;gt;, reply &amp;lt;code&amp;gt;0x7AA&amp;lt;/code&amp;gt;. Matches parts catalogue entry 37210-74PE2 (switch assembly, lighting and turn, RHD).&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! Request !! Reply !! Meaning&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;3E&amp;lt;/code&amp;gt; || &amp;lt;code&amp;gt;7E&amp;lt;/code&amp;gt; || Tester present (captured)&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;1A 8E&amp;lt;/code&amp;gt; || &amp;lt;code&amp;gt;5A 8E&amp;lt;/code&amp;gt; + ASCII &amp;lt;code&amp;gt;37210-74PA&amp;lt;/code&amp;gt; || ECU identification (captured)&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;1A 8A&amp;lt;/code&amp;gt; || &amp;lt;code&amp;gt;5A 8A&amp;lt;/code&amp;gt; + ASCII &amp;lt;code&amp;gt;37210-74PE*&amp;lt;/code&amp;gt; || ECU identification (captured)&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;18 00 FF 00&amp;lt;/code&amp;gt; || &amp;lt;code&amp;gt;58 00&amp;lt;/code&amp;gt; || DTCs: none stored (captured)&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== 0x778 Dual sensor brake support (inferred) ==&lt;br /&gt;
Request &amp;lt;code&amp;gt;0x778&amp;lt;/code&amp;gt;, reply &amp;lt;code&amp;gt;0x788&amp;lt;/code&amp;gt;. The name is inferred by elimination (the scan report&#039;s last unassigned module). Not confirmed.&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! Request !! Reply !! Meaning&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;3E&amp;lt;/code&amp;gt; || &amp;lt;code&amp;gt;7E&amp;lt;/code&amp;gt; || Tester present (captured)&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;1A 8E&amp;lt;/code&amp;gt; || &amp;lt;code&amp;gt;5A 8E&amp;lt;/code&amp;gt; + ASCII &amp;lt;code&amp;gt;33990-52R0&amp;lt;/code&amp;gt; || ECU identification (captured)&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;1A 8A&amp;lt;/code&amp;gt; || &amp;lt;code&amp;gt;5A 8A&amp;lt;/code&amp;gt; + ASCII &amp;lt;code&amp;gt;33990-78R8*&amp;lt;/code&amp;gt; || ECU identification (captured)&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;18 00 FF 00&amp;lt;/code&amp;gt; || &amp;lt;code&amp;gt;58 00&amp;lt;/code&amp;gt; || DTCs: none stored (captured)&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== 0x793 Airbag (SRS) controller ==&lt;br /&gt;
Request &amp;lt;code&amp;gt;0x793&amp;lt;/code&amp;gt;, reply &amp;lt;code&amp;gt;0x7A3&amp;lt;/code&amp;gt;. Matches parts catalogue entry 38910-78RC0 (airbag controller, VAN).&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! Request !! Reply !! Meaning&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;3E 00&amp;lt;/code&amp;gt; || &amp;lt;code&amp;gt;7E 00&amp;lt;/code&amp;gt; || Tester present (captured)&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;22 F1 01&amp;lt;/code&amp;gt; || &amp;lt;code&amp;gt;62 F1 01&amp;lt;/code&amp;gt; + ASCII &amp;lt;code&amp;gt;38910-77R0&amp;lt;/code&amp;gt; || Identification (captured)&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;22 F1 88&amp;lt;/code&amp;gt; || &amp;lt;code&amp;gt;62 F1 88&amp;lt;/code&amp;gt; + ASCII &amp;lt;code&amp;gt;38910-78RC*&amp;lt;/code&amp;gt; || Identification (captured)&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;19 02 FF&amp;lt;/code&amp;gt; || &amp;lt;code&amp;gt;59 02 4B&amp;lt;/code&amp;gt; || DTCs by status mask: none stored (captured)&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== 0x772 4WD shift controller ==&lt;br /&gt;
Request &amp;lt;code&amp;gt;0x772&amp;lt;/code&amp;gt;, reply &amp;lt;code&amp;gt;0x782&amp;lt;/code&amp;gt;. Matches parts catalogue entry 38885-78R01 (4WD shift controller).&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! Request !! Reply !! Meaning&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;3E&amp;lt;/code&amp;gt; || &amp;lt;code&amp;gt;7F 3E 13&amp;lt;/code&amp;gt; || Refused: incorrect message length. Sent four times by the scan tool (captured)&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;3E 01&amp;lt;/code&amp;gt; || &amp;lt;code&amp;gt;7F 3E 12&amp;lt;/code&amp;gt; || Refused: sub-function not supported. Sent four times (captured)&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;3E 00&amp;lt;/code&amp;gt; || &amp;lt;code&amp;gt;7E 00&amp;lt;/code&amp;gt; || Tester present (captured)&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;22 F1 01&amp;lt;/code&amp;gt; || &amp;lt;code&amp;gt;62 F1 01&amp;lt;/code&amp;gt; + ASCII &amp;lt;code&amp;gt;38885-77R0&amp;lt;/code&amp;gt; || Identification (captured)&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;22 F1 88&amp;lt;/code&amp;gt; || &amp;lt;code&amp;gt;62 F1 88&amp;lt;/code&amp;gt; + ASCII &amp;lt;code&amp;gt;38885-78R0*&amp;lt;/code&amp;gt; || Identification (captured)&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;19 02 FF&amp;lt;/code&amp;gt; || &amp;lt;code&amp;gt;59 02 4B&amp;lt;/code&amp;gt; || DTCs by status mask: none stored (captured)&lt;br /&gt;
|}&lt;br /&gt;
The scan tool tried the KWP-style &amp;lt;code&amp;gt;3E&amp;lt;/code&amp;gt; first and fell back to the UDS form &amp;lt;code&amp;gt;3E 00&amp;lt;/code&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
== 0x799 E-call controller ==&lt;br /&gt;
Request &amp;lt;code&amp;gt;0x799&amp;lt;/code&amp;gt;, reply &amp;lt;code&amp;gt;0x7A9&amp;lt;/code&amp;gt;. Matches parts catalogue entries 38960-78RA0 and RA1 (E-call controller).&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! Request !! Reply !! Meaning&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;3E&amp;lt;/code&amp;gt; || &amp;lt;code&amp;gt;7F 3E 13&amp;lt;/code&amp;gt; || Refused: incorrect message length. Sent four times (captured)&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;3E 01&amp;lt;/code&amp;gt; || &amp;lt;code&amp;gt;7F 3E 12&amp;lt;/code&amp;gt; || Refused: sub-function not supported. Sent four times (captured)&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;3E 00&amp;lt;/code&amp;gt; || &amp;lt;code&amp;gt;7E 00&amp;lt;/code&amp;gt; || Tester present (captured)&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;22 F1 01&amp;lt;/code&amp;gt; || &amp;lt;code&amp;gt;62 F1 01&amp;lt;/code&amp;gt; + ASCII &amp;lt;code&amp;gt;38960-78RA&amp;lt;/code&amp;gt; || Identification (captured)&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;22 F1 88&amp;lt;/code&amp;gt; || &amp;lt;code&amp;gt;62 F1 88&amp;lt;/code&amp;gt; + ASCII &amp;lt;code&amp;gt;38960-78RA*&amp;lt;/code&amp;gt; || Identification (captured)&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;19 02 FF&amp;lt;/code&amp;gt; || &amp;lt;code&amp;gt;59 02 4B 92 4E 00 02&amp;lt;/code&amp;gt; || One stored code record: &amp;lt;code&amp;gt;92 4E 00&amp;lt;/code&amp;gt;, status &amp;lt;code&amp;gt;02&amp;lt;/code&amp;gt;. The Launch report does not list it and its meaning is not known (captured)&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== 0x751 Central gateway ==&lt;br /&gt;
Request &amp;lt;code&amp;gt;0x751&amp;lt;/code&amp;gt;, reply &amp;lt;code&amp;gt;0x761&amp;lt;/code&amp;gt;. The label on the module reads 33580-79R01.&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! Request !! Reply !! Meaning&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;3E 00&amp;lt;/code&amp;gt; || &amp;lt;code&amp;gt;7E 00&amp;lt;/code&amp;gt; || Tester present (captured)&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;22 F1 01&amp;lt;/code&amp;gt; || &amp;lt;code&amp;gt;62 F1 01&amp;lt;/code&amp;gt; + ASCII &amp;lt;code&amp;gt;33580-79R0&amp;lt;/code&amp;gt; || Identification (captured)&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;22 F1 88&amp;lt;/code&amp;gt; || &amp;lt;code&amp;gt;62 F1 88&amp;lt;/code&amp;gt; + ASCII &amp;lt;code&amp;gt;33580-78R0*&amp;lt;/code&amp;gt; || Identification (captured)&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;19 02 FF&amp;lt;/code&amp;gt; || &amp;lt;code&amp;gt;59 02 4B&amp;lt;/code&amp;gt; || DTCs by status mask: none stored (captured)&lt;br /&gt;
|}&lt;br /&gt;
The gateway sits between the OBD socket and the vehicle CAN bus. Whether it forwards requests to the other modules unchanged is not confirmed.&lt;br /&gt;
&lt;br /&gt;
== Addresses probed with no reply ==&lt;br /&gt;
The scan tool sent tester-present (&amp;lt;code&amp;gt;3E&amp;lt;/code&amp;gt;) about eight times each to &amp;lt;code&amp;gt;0x273&amp;lt;/code&amp;gt; and &amp;lt;code&amp;gt;0x262&amp;lt;/code&amp;gt; and received nothing from the expected reply IDs (&amp;lt;code&amp;gt;0x673&amp;lt;/code&amp;gt; and &amp;lt;code&amp;gt;0x662&amp;lt;/code&amp;gt;). They are probably modules this car does not have, such as an automatic transmission or auto-levelling controller. This is a guess.&lt;br /&gt;
&lt;br /&gt;
== ELM327 notes ==&lt;br /&gt;
* Only &amp;lt;code&amp;gt;0x798&amp;lt;/code&amp;gt; has been tested with an ELM327. For other modules, set &amp;lt;code&amp;gt;ATSH&amp;lt;/code&amp;gt; to the request ID and &amp;lt;code&amp;gt;ATFCSH&amp;lt;/code&amp;gt; to the same ID, and you may need &amp;lt;code&amp;gt;ATCRA&amp;lt;/code&amp;gt; with the reply ID, because the reply is not always the request ID plus 8. This is untested.&lt;br /&gt;
* 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.&lt;br /&gt;
* Do not send output-control commands (service &amp;lt;code&amp;gt;30&amp;lt;/code&amp;gt; and similar) from a head-unit app while driving.&lt;br /&gt;
&lt;br /&gt;
== Sources ==&lt;br /&gt;
* Owner PCAN-View captures of a Launch X431 CRP919 full health-check scan and rev counter sweep test, October 2026.&lt;br /&gt;
* Suzuki Jimny parts catalogue 9900B-40312-004 (type 1, October 2021), figures 350A, 351A and 351B.&lt;br /&gt;
* Labels on the TPMS controller and central gateway of the test car.&lt;br /&gt;
&lt;br /&gt;
[[Category:Electrical - gen4]]&lt;/div&gt;</summary>
		<author><name>Mlines</name></author>
	</entry>
	<entry>
		<id>https://www.bigjimny.com/mediawiki/index.php?title=ECU_diagnostic_CAN_addresses&amp;diff=10069</id>
		<title>ECU diagnostic CAN addresses</title>
		<link rel="alternate" type="text/html" href="https://www.bigjimny.com/mediawiki/index.php?title=ECU_diagnostic_CAN_addresses&amp;diff=10069"/>
		<updated>2026-11-01T10:27:55Z</updated>

		<summary type="html">&lt;p&gt;Mlines: /* 0x271 Body control module */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&amp;lt;div style=&amp;quot;border: 1px solid #c9a227; background-color: #fff8dc; padding: 0.6em 1em; margin: 0 0 1em 0; border-radius: 4px;&amp;quot;&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;Support this project:&#039;&#039;&#039; 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 [https://buymeacoffee.com/bigjimny buymeacoffee.com/bigjimny].&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
= Suzuki Jimny JB74 - CAN bus devices and the commands they answer =&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Status:&#039;&#039;&#039; 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.&lt;br /&gt;
&lt;br /&gt;
== How to read this page ==&lt;br /&gt;
* All IDs are 11-bit CAN IDs on the OBD socket (pins 6 and 14, 500 kbit/s). The &amp;quot;request ID&amp;quot; is the header a tool sends to; the &amp;quot;reply ID&amp;quot; is where the module answers.&lt;br /&gt;
* 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.&lt;br /&gt;
* &#039;&#039;&#039;KWP-style&#039;&#039;&#039; modules use services such as &amp;lt;code&amp;gt;1A&amp;lt;/code&amp;gt; (read ECU identification) and &amp;lt;code&amp;gt;18&amp;lt;/code&amp;gt; (read DTCs by status). &#039;&#039;&#039;UDS-style&#039;&#039;&#039; modules use &amp;lt;code&amp;gt;22&amp;lt;/code&amp;gt; (read data by identifier) and &amp;lt;code&amp;gt;19&amp;lt;/code&amp;gt; (read DTCs).&lt;br /&gt;
* 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.&lt;br /&gt;
* Identification strings are ASCII Suzuki part numbers. The first one in each module (&amp;lt;code&amp;gt;1A 8E&amp;lt;/code&amp;gt; or &amp;lt;code&amp;gt;22 F1 01&amp;lt;/code&amp;gt;) has no trailing character; the second (&amp;lt;code&amp;gt;1A 8A&amp;lt;/code&amp;gt; or &amp;lt;code&amp;gt;22 F1 88&amp;lt;/code&amp;gt;) ends in &amp;lt;code&amp;gt;*&amp;lt;/code&amp;gt;. They do not always equal the number printed on the module&#039;s label.&lt;br /&gt;
* Commands marked &#039;&#039;captured&#039;&#039; were seen in a trace. Nothing here has been sent to a module by us except the TPMS requests.&lt;br /&gt;
&lt;br /&gt;
== Device table ==&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! Request ID !! Reply ID !! Style !! Module !! Identification reply (first / second) !! How the module was identified&lt;br /&gt;
|-&lt;br /&gt;
| [[#0x7E0 ECM|0x7E0]] || 0x7E8 || KWP || ECM || 33980-78R0 / 33980-78RC* || Standard engine address&lt;br /&gt;
|-&lt;br /&gt;
| [[#0x261 ABS (inferred)|0x261]] || 0x661 || KWP || ABS (inferred) || 56100-77RA / 56100-78RF* || Only brake module left by elimination&lt;br /&gt;
|-&lt;br /&gt;
| [[#0x263 EPS controller|0x263]] || 0x663 || KWP || EPS controller || 38720-77R0 / 38720-77R0* || Parts catalogue (38720-77R01)&lt;br /&gt;
|-&lt;br /&gt;
| [[#0x271 Body control module|0x271]] || 0x671 || KWP || Body control module || 36775-77R0 / 36775-77RC* || Parts catalogue (36775-77RC2 to RC4)&lt;br /&gt;
|-&lt;br /&gt;
| [[#0x274 Instrument cluster|0x274]] || 0x674 || KWP || Instrument cluster || 34100-78R0 / 34110-78RD* || Rev counter sweep test&lt;br /&gt;
|-&lt;br /&gt;
| [[#0x798 TPMS controller|0x798]] || 0x7A8 || KWP || TPMS controller || 37160-61M0 / 37120-78R0* || Label (Model No. P61M0) and parts catalogue&lt;br /&gt;
|-&lt;br /&gt;
| [[#0x79A Combination switch (lighting and turn)|0x79A]] || 0x7AA || KWP || Combination switch (lighting and turn) || 37210-74PA / 37210-74PE* || Parts catalogue (37210-74PE2)&lt;br /&gt;
|-&lt;br /&gt;
| [[#0x778 Dual sensor brake support (inferred)|0x778]] || 0x788 || KWP || Dual sensor brake support (inferred) || 33990-52R0 / 33990-78R8* || By elimination&lt;br /&gt;
|-&lt;br /&gt;
| [[#0x793 Airbag (SRS) controller|0x793]] || 0x7A3 || UDS || Airbag (SRS) controller || 38910-77R0 / 38910-78RC* || Parts catalogue (38910-78RC0)&lt;br /&gt;
|-&lt;br /&gt;
| [[#0x772 4WD shift controller|0x772]] || 0x782 || UDS || 4WD shift controller || 38885-77R0 / 38885-78R0* || Parts catalogue (38885-78R01)&lt;br /&gt;
|-&lt;br /&gt;
| [[#0x799 E-call controller|0x799]] || 0x7A9 || UDS || E-call controller || 38960-78RA / 38960-78RA* || Parts catalogue (38960-78RA0, RA1)&lt;br /&gt;
|-&lt;br /&gt;
| [[#0x751 Central gateway|0x751]] || 0x761 || UDS || Central gateway || 33580-79R0 / 33580-78R0* || Label (33580-79R01) and parts catalogue&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
Two more addresses, [[#Addresses probed with no reply|0x273 and 0x262]], were probed by the scan tool and did not answer.&lt;br /&gt;
&lt;br /&gt;
The names marked &amp;quot;inferred&amp;quot; are guesses from elimination and part-number series, not confirmed by a label or test.&lt;br /&gt;
&lt;br /&gt;
== 0x7E0 ECM ==&lt;br /&gt;
{{Models|JB74 (2018+, tested on 2021)|untested=JB64, JC74, JB43}}&lt;br /&gt;
&lt;br /&gt;
Request &amp;lt;code&amp;gt;0x7E0&amp;lt;/code&amp;gt;, reply &amp;lt;code&amp;gt;0x7E8&amp;lt;/code&amp;gt;. This is the standard OBD engine address, so standard mode 01 PIDs should be available here, but none were captured.&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! Request !! Reply !! Meaning&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;3E&amp;lt;/code&amp;gt; || &amp;lt;code&amp;gt;7E&amp;lt;/code&amp;gt; || Tester present (captured)&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;1A 8E&amp;lt;/code&amp;gt; || &amp;lt;code&amp;gt;5A 8E&amp;lt;/code&amp;gt; + ASCII &amp;lt;code&amp;gt;33980-78R0&amp;lt;/code&amp;gt; || ECU identification (captured)&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;1A 8A&amp;lt;/code&amp;gt; || &amp;lt;code&amp;gt;5A 8A&amp;lt;/code&amp;gt; + ASCII &amp;lt;code&amp;gt;33980-78RC*&amp;lt;/code&amp;gt; || ECU identification (captured)&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;18 00 FF 00&amp;lt;/code&amp;gt; || &amp;lt;code&amp;gt;58 00&amp;lt;/code&amp;gt; || Read DTCs by status: none stored (captured)&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== 0x261 ABS (inferred) ==&lt;br /&gt;
{{Models|JB74 (2018+, tested on 2021)|untested=JB64, JC74, JB43}}&lt;br /&gt;
&lt;br /&gt;
Request &amp;lt;code&amp;gt;0x261&amp;lt;/code&amp;gt;, reply &amp;lt;code&amp;gt;0x661&amp;lt;/code&amp;gt;. 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.&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! Request !! Reply !! Meaning&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;3E&amp;lt;/code&amp;gt; || &amp;lt;code&amp;gt;7E&amp;lt;/code&amp;gt; || Tester present (captured)&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;1A 8E&amp;lt;/code&amp;gt; || &amp;lt;code&amp;gt;5A 8E&amp;lt;/code&amp;gt; + ASCII &amp;lt;code&amp;gt;56100-77RA&amp;lt;/code&amp;gt; || ECU identification (captured)&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;1A 8A&amp;lt;/code&amp;gt; || &amp;lt;code&amp;gt;5A 8A&amp;lt;/code&amp;gt; + ASCII &amp;lt;code&amp;gt;56100-78RF*&amp;lt;/code&amp;gt; || ECU identification (captured)&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;18 00 FF 00&amp;lt;/code&amp;gt; || &amp;lt;code&amp;gt;58 00&amp;lt;/code&amp;gt; || DTCs: none stored (captured)&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== 0x263 EPS controller ==&lt;br /&gt;
{{Models|JB74 (2018+, tested on 2021)|untested=JB64, JC74, JB43}}&lt;br /&gt;
&lt;br /&gt;
Request &amp;lt;code&amp;gt;0x263&amp;lt;/code&amp;gt;, reply &amp;lt;code&amp;gt;0x663&amp;lt;/code&amp;gt;. Matches parts catalogue entry 38720-77R01 (EPS controller).&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! Request !! Reply !! Meaning&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;3E&amp;lt;/code&amp;gt; || &amp;lt;code&amp;gt;7E&amp;lt;/code&amp;gt; || Tester present (captured)&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;1A 8E&amp;lt;/code&amp;gt; || &amp;lt;code&amp;gt;5A 8E&amp;lt;/code&amp;gt; + ASCII &amp;lt;code&amp;gt;38720-77R0&amp;lt;/code&amp;gt; || ECU identification (captured)&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;1A 8A&amp;lt;/code&amp;gt; || &amp;lt;code&amp;gt;5A 8A&amp;lt;/code&amp;gt; + ASCII &amp;lt;code&amp;gt;38720-77R0*&amp;lt;/code&amp;gt; || ECU identification (captured)&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;18 00 FF 00&amp;lt;/code&amp;gt; || &amp;lt;code&amp;gt;58 00&amp;lt;/code&amp;gt; || DTCs: none stored (captured)&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== 0x271 Body control module ==&lt;br /&gt;
{{Models|JB74 (2018+, tested on 2021)|untested=JB64, JC74, JB43}}&lt;br /&gt;
&lt;br /&gt;
Request &amp;lt;code&amp;gt;0x271&amp;lt;/code&amp;gt;, reply &amp;lt;code&amp;gt;0x671&amp;lt;/code&amp;gt;. Matches parts catalogue entries 36775-77RC2 to RC4 (body control module, RHD).&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! Request !! Reply !! Meaning&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;3E&amp;lt;/code&amp;gt; || &amp;lt;code&amp;gt;7E&amp;lt;/code&amp;gt; || Tester present (captured)&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;1A 8E&amp;lt;/code&amp;gt; || &amp;lt;code&amp;gt;5A 8E&amp;lt;/code&amp;gt; + ASCII &amp;lt;code&amp;gt;36775-77R0&amp;lt;/code&amp;gt; || ECU identification (captured)&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;1A 8A&amp;lt;/code&amp;gt; || &amp;lt;code&amp;gt;5A 8A&amp;lt;/code&amp;gt; + ASCII &amp;lt;code&amp;gt;36775-77RC*&amp;lt;/code&amp;gt; || ECU identification (captured)&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;18 00 FF 00&amp;lt;/code&amp;gt; || &amp;lt;code&amp;gt;58 00&amp;lt;/code&amp;gt; || DTCs: none stored (captured)&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== 0x274 Instrument cluster ==&lt;br /&gt;
Request &amp;lt;code&amp;gt;0x274&amp;lt;/code&amp;gt;, reply &amp;lt;code&amp;gt;0x674&amp;lt;/code&amp;gt;. Confirmed by the rev counter sweep test.&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! Request !! Reply !! Meaning&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;3E&amp;lt;/code&amp;gt; or &amp;lt;code&amp;gt;3E 00&amp;lt;/code&amp;gt; || &amp;lt;code&amp;gt;7E&amp;lt;/code&amp;gt; || Tester present, about every 2.15 s during the sweep test (captured)&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;1A 8E&amp;lt;/code&amp;gt; || &amp;lt;code&amp;gt;5A 8E&amp;lt;/code&amp;gt; + ASCII &amp;lt;code&amp;gt;34100-78R0&amp;lt;/code&amp;gt; || ECU identification (captured)&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;1A 8A&amp;lt;/code&amp;gt; || &amp;lt;code&amp;gt;5A 8A&amp;lt;/code&amp;gt; + ASCII &amp;lt;code&amp;gt;34110-78RD*&amp;lt;/code&amp;gt; (last byte of the reply is &amp;lt;code&amp;gt;06&amp;lt;/code&amp;gt;) || ECU identification (captured)&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;18 00 FF 00&amp;lt;/code&amp;gt; || &amp;lt;code&amp;gt;58 00&amp;lt;/code&amp;gt; || DTCs: none stored (captured)&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;30 01 07 80 40 00 00&amp;lt;/code&amp;gt; || &amp;lt;code&amp;gt;70 01 07&amp;lt;/code&amp;gt; || Starts the rev counter sweep (service 0x30, local ID 01, &amp;quot;short-term adjustment&amp;quot;). The cluster then sweeps up and down by itself (captured)&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;30 01 07 80 00 00 00&amp;lt;/code&amp;gt; || &amp;lt;code&amp;gt;7F 30 22&amp;lt;/code&amp;gt; || Refused (&amp;quot;conditions not correct&amp;quot;). Possibly a stop request sent after the sweep had finished (captured)&lt;br /&gt;
|}&lt;br /&gt;
The meaning of the four control bytes (&amp;lt;code&amp;gt;80 40 00 00&amp;lt;/code&amp;gt;) is not known. Other output tests (gauges, warning lights) have not been captured.&lt;br /&gt;
&lt;br /&gt;
== 0x798 TPMS controller ==&lt;br /&gt;
Request &amp;lt;code&amp;gt;0x798&amp;lt;/code&amp;gt;, reply &amp;lt;code&amp;gt;0x7A8&amp;lt;/code&amp;gt;. The label on the module reads 37160-78R00, &amp;quot;BASE ASSY-TPMS&amp;quot;, Model No. P61M0 (Continental A2C13930301, 433.92 MHz). The full data layout, calibration and app setups are on [[OBD2 Diagnostics reading project]].&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! Request !! Reply !! Meaning&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;3E&amp;lt;/code&amp;gt; || &amp;lt;code&amp;gt;7E&amp;lt;/code&amp;gt; || Tester present (captured)&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;1A 8E&amp;lt;/code&amp;gt; || &amp;lt;code&amp;gt;5A 8E&amp;lt;/code&amp;gt; + ASCII &amp;lt;code&amp;gt;37160-61M0&amp;lt;/code&amp;gt; || ECU identification; matches Model No. P61M0 on the label (captured)&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;1A 8A&amp;lt;/code&amp;gt; || &amp;lt;code&amp;gt;5A 8A&amp;lt;/code&amp;gt; + ASCII &amp;lt;code&amp;gt;37120-78R0*&amp;lt;/code&amp;gt; || ECU identification (captured)&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;18 00 FF 00&amp;lt;/code&amp;gt; || &amp;lt;code&amp;gt;58 00&amp;lt;/code&amp;gt; (no codes) or &amp;lt;code&amp;gt;58 01 9A 31 20&amp;lt;/code&amp;gt; (one code) || DTCs by status. The code &amp;lt;code&amp;gt;9A 31&amp;lt;/code&amp;gt; is probably the left front low pressure warning (inferred). The status byte was &amp;lt;code&amp;gt;20&amp;lt;/code&amp;gt; in the full scan and &amp;lt;code&amp;gt;E0&amp;lt;/code&amp;gt; in earlier captures (captured)&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;21 00&amp;lt;/code&amp;gt; || &amp;lt;code&amp;gt;61 00&amp;lt;/code&amp;gt; + 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)&lt;br /&gt;
|}&lt;br /&gt;
ELM327 setup that works for &amp;lt;code&amp;gt;21 00&amp;lt;/code&amp;gt;: &amp;lt;code&amp;gt;ATSH798&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;ATS0&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;ATL0&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;ATFCSH798&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;ATFCSD300000&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;ATFCSM1&amp;lt;/code&amp;gt;, then &amp;lt;code&amp;gt;2100&amp;lt;/code&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
== 0x79A Combination switch (lighting and turn) ==&lt;br /&gt;
Request &amp;lt;code&amp;gt;0x79A&amp;lt;/code&amp;gt;, reply &amp;lt;code&amp;gt;0x7AA&amp;lt;/code&amp;gt;. Matches parts catalogue entry 37210-74PE2 (switch assembly, lighting and turn, RHD).&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! Request !! Reply !! Meaning&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;3E&amp;lt;/code&amp;gt; || &amp;lt;code&amp;gt;7E&amp;lt;/code&amp;gt; || Tester present (captured)&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;1A 8E&amp;lt;/code&amp;gt; || &amp;lt;code&amp;gt;5A 8E&amp;lt;/code&amp;gt; + ASCII &amp;lt;code&amp;gt;37210-74PA&amp;lt;/code&amp;gt; || ECU identification (captured)&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;1A 8A&amp;lt;/code&amp;gt; || &amp;lt;code&amp;gt;5A 8A&amp;lt;/code&amp;gt; + ASCII &amp;lt;code&amp;gt;37210-74PE*&amp;lt;/code&amp;gt; || ECU identification (captured)&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;18 00 FF 00&amp;lt;/code&amp;gt; || &amp;lt;code&amp;gt;58 00&amp;lt;/code&amp;gt; || DTCs: none stored (captured)&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== 0x778 Dual sensor brake support (inferred) ==&lt;br /&gt;
Request &amp;lt;code&amp;gt;0x778&amp;lt;/code&amp;gt;, reply &amp;lt;code&amp;gt;0x788&amp;lt;/code&amp;gt;. The name is inferred by elimination (the scan report&#039;s last unassigned module). Not confirmed.&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! Request !! Reply !! Meaning&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;3E&amp;lt;/code&amp;gt; || &amp;lt;code&amp;gt;7E&amp;lt;/code&amp;gt; || Tester present (captured)&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;1A 8E&amp;lt;/code&amp;gt; || &amp;lt;code&amp;gt;5A 8E&amp;lt;/code&amp;gt; + ASCII &amp;lt;code&amp;gt;33990-52R0&amp;lt;/code&amp;gt; || ECU identification (captured)&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;1A 8A&amp;lt;/code&amp;gt; || &amp;lt;code&amp;gt;5A 8A&amp;lt;/code&amp;gt; + ASCII &amp;lt;code&amp;gt;33990-78R8*&amp;lt;/code&amp;gt; || ECU identification (captured)&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;18 00 FF 00&amp;lt;/code&amp;gt; || &amp;lt;code&amp;gt;58 00&amp;lt;/code&amp;gt; || DTCs: none stored (captured)&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== 0x793 Airbag (SRS) controller ==&lt;br /&gt;
Request &amp;lt;code&amp;gt;0x793&amp;lt;/code&amp;gt;, reply &amp;lt;code&amp;gt;0x7A3&amp;lt;/code&amp;gt;. Matches parts catalogue entry 38910-78RC0 (airbag controller, VAN).&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! Request !! Reply !! Meaning&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;3E 00&amp;lt;/code&amp;gt; || &amp;lt;code&amp;gt;7E 00&amp;lt;/code&amp;gt; || Tester present (captured)&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;22 F1 01&amp;lt;/code&amp;gt; || &amp;lt;code&amp;gt;62 F1 01&amp;lt;/code&amp;gt; + ASCII &amp;lt;code&amp;gt;38910-77R0&amp;lt;/code&amp;gt; || Identification (captured)&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;22 F1 88&amp;lt;/code&amp;gt; || &amp;lt;code&amp;gt;62 F1 88&amp;lt;/code&amp;gt; + ASCII &amp;lt;code&amp;gt;38910-78RC*&amp;lt;/code&amp;gt; || Identification (captured)&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;19 02 FF&amp;lt;/code&amp;gt; || &amp;lt;code&amp;gt;59 02 4B&amp;lt;/code&amp;gt; || DTCs by status mask: none stored (captured)&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== 0x772 4WD shift controller ==&lt;br /&gt;
Request &amp;lt;code&amp;gt;0x772&amp;lt;/code&amp;gt;, reply &amp;lt;code&amp;gt;0x782&amp;lt;/code&amp;gt;. Matches parts catalogue entry 38885-78R01 (4WD shift controller).&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! Request !! Reply !! Meaning&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;3E&amp;lt;/code&amp;gt; || &amp;lt;code&amp;gt;7F 3E 13&amp;lt;/code&amp;gt; || Refused: incorrect message length. Sent four times by the scan tool (captured)&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;3E 01&amp;lt;/code&amp;gt; || &amp;lt;code&amp;gt;7F 3E 12&amp;lt;/code&amp;gt; || Refused: sub-function not supported. Sent four times (captured)&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;3E 00&amp;lt;/code&amp;gt; || &amp;lt;code&amp;gt;7E 00&amp;lt;/code&amp;gt; || Tester present (captured)&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;22 F1 01&amp;lt;/code&amp;gt; || &amp;lt;code&amp;gt;62 F1 01&amp;lt;/code&amp;gt; + ASCII &amp;lt;code&amp;gt;38885-77R0&amp;lt;/code&amp;gt; || Identification (captured)&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;22 F1 88&amp;lt;/code&amp;gt; || &amp;lt;code&amp;gt;62 F1 88&amp;lt;/code&amp;gt; + ASCII &amp;lt;code&amp;gt;38885-78R0*&amp;lt;/code&amp;gt; || Identification (captured)&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;19 02 FF&amp;lt;/code&amp;gt; || &amp;lt;code&amp;gt;59 02 4B&amp;lt;/code&amp;gt; || DTCs by status mask: none stored (captured)&lt;br /&gt;
|}&lt;br /&gt;
The scan tool tried the KWP-style &amp;lt;code&amp;gt;3E&amp;lt;/code&amp;gt; first and fell back to the UDS form &amp;lt;code&amp;gt;3E 00&amp;lt;/code&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
== 0x799 E-call controller ==&lt;br /&gt;
Request &amp;lt;code&amp;gt;0x799&amp;lt;/code&amp;gt;, reply &amp;lt;code&amp;gt;0x7A9&amp;lt;/code&amp;gt;. Matches parts catalogue entries 38960-78RA0 and RA1 (E-call controller).&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! Request !! Reply !! Meaning&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;3E&amp;lt;/code&amp;gt; || &amp;lt;code&amp;gt;7F 3E 13&amp;lt;/code&amp;gt; || Refused: incorrect message length. Sent four times (captured)&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;3E 01&amp;lt;/code&amp;gt; || &amp;lt;code&amp;gt;7F 3E 12&amp;lt;/code&amp;gt; || Refused: sub-function not supported. Sent four times (captured)&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;3E 00&amp;lt;/code&amp;gt; || &amp;lt;code&amp;gt;7E 00&amp;lt;/code&amp;gt; || Tester present (captured)&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;22 F1 01&amp;lt;/code&amp;gt; || &amp;lt;code&amp;gt;62 F1 01&amp;lt;/code&amp;gt; + ASCII &amp;lt;code&amp;gt;38960-78RA&amp;lt;/code&amp;gt; || Identification (captured)&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;22 F1 88&amp;lt;/code&amp;gt; || &amp;lt;code&amp;gt;62 F1 88&amp;lt;/code&amp;gt; + ASCII &amp;lt;code&amp;gt;38960-78RA*&amp;lt;/code&amp;gt; || Identification (captured)&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;19 02 FF&amp;lt;/code&amp;gt; || &amp;lt;code&amp;gt;59 02 4B 92 4E 00 02&amp;lt;/code&amp;gt; || One stored code record: &amp;lt;code&amp;gt;92 4E 00&amp;lt;/code&amp;gt;, status &amp;lt;code&amp;gt;02&amp;lt;/code&amp;gt;. The Launch report does not list it and its meaning is not known (captured)&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== 0x751 Central gateway ==&lt;br /&gt;
Request &amp;lt;code&amp;gt;0x751&amp;lt;/code&amp;gt;, reply &amp;lt;code&amp;gt;0x761&amp;lt;/code&amp;gt;. The label on the module reads 33580-79R01.&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! Request !! Reply !! Meaning&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;3E 00&amp;lt;/code&amp;gt; || &amp;lt;code&amp;gt;7E 00&amp;lt;/code&amp;gt; || Tester present (captured)&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;22 F1 01&amp;lt;/code&amp;gt; || &amp;lt;code&amp;gt;62 F1 01&amp;lt;/code&amp;gt; + ASCII &amp;lt;code&amp;gt;33580-79R0&amp;lt;/code&amp;gt; || Identification (captured)&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;22 F1 88&amp;lt;/code&amp;gt; || &amp;lt;code&amp;gt;62 F1 88&amp;lt;/code&amp;gt; + ASCII &amp;lt;code&amp;gt;33580-78R0*&amp;lt;/code&amp;gt; || Identification (captured)&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;19 02 FF&amp;lt;/code&amp;gt; || &amp;lt;code&amp;gt;59 02 4B&amp;lt;/code&amp;gt; || DTCs by status mask: none stored (captured)&lt;br /&gt;
|}&lt;br /&gt;
The gateway sits between the OBD socket and the vehicle CAN bus. Whether it forwards requests to the other modules unchanged is not confirmed.&lt;br /&gt;
&lt;br /&gt;
== Addresses probed with no reply ==&lt;br /&gt;
The scan tool sent tester-present (&amp;lt;code&amp;gt;3E&amp;lt;/code&amp;gt;) about eight times each to &amp;lt;code&amp;gt;0x273&amp;lt;/code&amp;gt; and &amp;lt;code&amp;gt;0x262&amp;lt;/code&amp;gt; and received nothing from the expected reply IDs (&amp;lt;code&amp;gt;0x673&amp;lt;/code&amp;gt; and &amp;lt;code&amp;gt;0x662&amp;lt;/code&amp;gt;). They are probably modules this car does not have, such as an automatic transmission or auto-levelling controller. This is a guess.&lt;br /&gt;
&lt;br /&gt;
== ELM327 notes ==&lt;br /&gt;
* Only &amp;lt;code&amp;gt;0x798&amp;lt;/code&amp;gt; has been tested with an ELM327. For other modules, set &amp;lt;code&amp;gt;ATSH&amp;lt;/code&amp;gt; to the request ID and &amp;lt;code&amp;gt;ATFCSH&amp;lt;/code&amp;gt; to the same ID, and you may need &amp;lt;code&amp;gt;ATCRA&amp;lt;/code&amp;gt; with the reply ID, because the reply is not always the request ID plus 8. This is untested.&lt;br /&gt;
* 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.&lt;br /&gt;
* Do not send output-control commands (service &amp;lt;code&amp;gt;30&amp;lt;/code&amp;gt; and similar) from a head-unit app while driving.&lt;br /&gt;
&lt;br /&gt;
== Sources ==&lt;br /&gt;
* Owner PCAN-View captures of a Launch X431 CRP919 full health-check scan and rev counter sweep test, October 2026.&lt;br /&gt;
* Suzuki Jimny parts catalogue 9900B-40312-004 (type 1, October 2021), figures 350A, 351A and 351B.&lt;br /&gt;
* Labels on the TPMS controller and central gateway of the test car.&lt;br /&gt;
&lt;br /&gt;
[[Category:Electrical - gen4]]&lt;/div&gt;</summary>
		<author><name>Mlines</name></author>
	</entry>
	<entry>
		<id>https://www.bigjimny.com/mediawiki/index.php?title=ECU_diagnostic_CAN_addresses&amp;diff=10068</id>
		<title>ECU diagnostic CAN addresses</title>
		<link rel="alternate" type="text/html" href="https://www.bigjimny.com/mediawiki/index.php?title=ECU_diagnostic_CAN_addresses&amp;diff=10068"/>
		<updated>2026-11-01T10:27:13Z</updated>

		<summary type="html">&lt;p&gt;Mlines: /* 0x263 EPS controller */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&amp;lt;div style=&amp;quot;border: 1px solid #c9a227; background-color: #fff8dc; padding: 0.6em 1em; margin: 0 0 1em 0; border-radius: 4px;&amp;quot;&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;Support this project:&#039;&#039;&#039; 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 [https://buymeacoffee.com/bigjimny buymeacoffee.com/bigjimny].&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
= Suzuki Jimny JB74 - CAN bus devices and the commands they answer =&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Status:&#039;&#039;&#039; 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.&lt;br /&gt;
&lt;br /&gt;
== How to read this page ==&lt;br /&gt;
* All IDs are 11-bit CAN IDs on the OBD socket (pins 6 and 14, 500 kbit/s). The &amp;quot;request ID&amp;quot; is the header a tool sends to; the &amp;quot;reply ID&amp;quot; is where the module answers.&lt;br /&gt;
* 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.&lt;br /&gt;
* &#039;&#039;&#039;KWP-style&#039;&#039;&#039; modules use services such as &amp;lt;code&amp;gt;1A&amp;lt;/code&amp;gt; (read ECU identification) and &amp;lt;code&amp;gt;18&amp;lt;/code&amp;gt; (read DTCs by status). &#039;&#039;&#039;UDS-style&#039;&#039;&#039; modules use &amp;lt;code&amp;gt;22&amp;lt;/code&amp;gt; (read data by identifier) and &amp;lt;code&amp;gt;19&amp;lt;/code&amp;gt; (read DTCs).&lt;br /&gt;
* 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.&lt;br /&gt;
* Identification strings are ASCII Suzuki part numbers. The first one in each module (&amp;lt;code&amp;gt;1A 8E&amp;lt;/code&amp;gt; or &amp;lt;code&amp;gt;22 F1 01&amp;lt;/code&amp;gt;) has no trailing character; the second (&amp;lt;code&amp;gt;1A 8A&amp;lt;/code&amp;gt; or &amp;lt;code&amp;gt;22 F1 88&amp;lt;/code&amp;gt;) ends in &amp;lt;code&amp;gt;*&amp;lt;/code&amp;gt;. They do not always equal the number printed on the module&#039;s label.&lt;br /&gt;
* Commands marked &#039;&#039;captured&#039;&#039; were seen in a trace. Nothing here has been sent to a module by us except the TPMS requests.&lt;br /&gt;
&lt;br /&gt;
== Device table ==&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! Request ID !! Reply ID !! Style !! Module !! Identification reply (first / second) !! How the module was identified&lt;br /&gt;
|-&lt;br /&gt;
| [[#0x7E0 ECM|0x7E0]] || 0x7E8 || KWP || ECM || 33980-78R0 / 33980-78RC* || Standard engine address&lt;br /&gt;
|-&lt;br /&gt;
| [[#0x261 ABS (inferred)|0x261]] || 0x661 || KWP || ABS (inferred) || 56100-77RA / 56100-78RF* || Only brake module left by elimination&lt;br /&gt;
|-&lt;br /&gt;
| [[#0x263 EPS controller|0x263]] || 0x663 || KWP || EPS controller || 38720-77R0 / 38720-77R0* || Parts catalogue (38720-77R01)&lt;br /&gt;
|-&lt;br /&gt;
| [[#0x271 Body control module|0x271]] || 0x671 || KWP || Body control module || 36775-77R0 / 36775-77RC* || Parts catalogue (36775-77RC2 to RC4)&lt;br /&gt;
|-&lt;br /&gt;
| [[#0x274 Instrument cluster|0x274]] || 0x674 || KWP || Instrument cluster || 34100-78R0 / 34110-78RD* || Rev counter sweep test&lt;br /&gt;
|-&lt;br /&gt;
| [[#0x798 TPMS controller|0x798]] || 0x7A8 || KWP || TPMS controller || 37160-61M0 / 37120-78R0* || Label (Model No. P61M0) and parts catalogue&lt;br /&gt;
|-&lt;br /&gt;
| [[#0x79A Combination switch (lighting and turn)|0x79A]] || 0x7AA || KWP || Combination switch (lighting and turn) || 37210-74PA / 37210-74PE* || Parts catalogue (37210-74PE2)&lt;br /&gt;
|-&lt;br /&gt;
| [[#0x778 Dual sensor brake support (inferred)|0x778]] || 0x788 || KWP || Dual sensor brake support (inferred) || 33990-52R0 / 33990-78R8* || By elimination&lt;br /&gt;
|-&lt;br /&gt;
| [[#0x793 Airbag (SRS) controller|0x793]] || 0x7A3 || UDS || Airbag (SRS) controller || 38910-77R0 / 38910-78RC* || Parts catalogue (38910-78RC0)&lt;br /&gt;
|-&lt;br /&gt;
| [[#0x772 4WD shift controller|0x772]] || 0x782 || UDS || 4WD shift controller || 38885-77R0 / 38885-78R0* || Parts catalogue (38885-78R01)&lt;br /&gt;
|-&lt;br /&gt;
| [[#0x799 E-call controller|0x799]] || 0x7A9 || UDS || E-call controller || 38960-78RA / 38960-78RA* || Parts catalogue (38960-78RA0, RA1)&lt;br /&gt;
|-&lt;br /&gt;
| [[#0x751 Central gateway|0x751]] || 0x761 || UDS || Central gateway || 33580-79R0 / 33580-78R0* || Label (33580-79R01) and parts catalogue&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
Two more addresses, [[#Addresses probed with no reply|0x273 and 0x262]], were probed by the scan tool and did not answer.&lt;br /&gt;
&lt;br /&gt;
The names marked &amp;quot;inferred&amp;quot; are guesses from elimination and part-number series, not confirmed by a label or test.&lt;br /&gt;
&lt;br /&gt;
== 0x7E0 ECM ==&lt;br /&gt;
{{Models|JB74 (2018+, tested on 2021)|untested=JB64, JC74, JB43}}&lt;br /&gt;
&lt;br /&gt;
Request &amp;lt;code&amp;gt;0x7E0&amp;lt;/code&amp;gt;, reply &amp;lt;code&amp;gt;0x7E8&amp;lt;/code&amp;gt;. This is the standard OBD engine address, so standard mode 01 PIDs should be available here, but none were captured.&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! Request !! Reply !! Meaning&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;3E&amp;lt;/code&amp;gt; || &amp;lt;code&amp;gt;7E&amp;lt;/code&amp;gt; || Tester present (captured)&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;1A 8E&amp;lt;/code&amp;gt; || &amp;lt;code&amp;gt;5A 8E&amp;lt;/code&amp;gt; + ASCII &amp;lt;code&amp;gt;33980-78R0&amp;lt;/code&amp;gt; || ECU identification (captured)&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;1A 8A&amp;lt;/code&amp;gt; || &amp;lt;code&amp;gt;5A 8A&amp;lt;/code&amp;gt; + ASCII &amp;lt;code&amp;gt;33980-78RC*&amp;lt;/code&amp;gt; || ECU identification (captured)&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;18 00 FF 00&amp;lt;/code&amp;gt; || &amp;lt;code&amp;gt;58 00&amp;lt;/code&amp;gt; || Read DTCs by status: none stored (captured)&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== 0x261 ABS (inferred) ==&lt;br /&gt;
{{Models|JB74 (2018+, tested on 2021)|untested=JB64, JC74, JB43}}&lt;br /&gt;
&lt;br /&gt;
Request &amp;lt;code&amp;gt;0x261&amp;lt;/code&amp;gt;, reply &amp;lt;code&amp;gt;0x661&amp;lt;/code&amp;gt;. 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.&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! Request !! Reply !! Meaning&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;3E&amp;lt;/code&amp;gt; || &amp;lt;code&amp;gt;7E&amp;lt;/code&amp;gt; || Tester present (captured)&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;1A 8E&amp;lt;/code&amp;gt; || &amp;lt;code&amp;gt;5A 8E&amp;lt;/code&amp;gt; + ASCII &amp;lt;code&amp;gt;56100-77RA&amp;lt;/code&amp;gt; || ECU identification (captured)&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;1A 8A&amp;lt;/code&amp;gt; || &amp;lt;code&amp;gt;5A 8A&amp;lt;/code&amp;gt; + ASCII &amp;lt;code&amp;gt;56100-78RF*&amp;lt;/code&amp;gt; || ECU identification (captured)&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;18 00 FF 00&amp;lt;/code&amp;gt; || &amp;lt;code&amp;gt;58 00&amp;lt;/code&amp;gt; || DTCs: none stored (captured)&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== 0x263 EPS controller ==&lt;br /&gt;
{{Models|JB74 (2018+, tested on 2021)|untested=JB64, JC74, JB43}}&lt;br /&gt;
&lt;br /&gt;
Request &amp;lt;code&amp;gt;0x263&amp;lt;/code&amp;gt;, reply &amp;lt;code&amp;gt;0x663&amp;lt;/code&amp;gt;. Matches parts catalogue entry 38720-77R01 (EPS controller).&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! Request !! Reply !! Meaning&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;3E&amp;lt;/code&amp;gt; || &amp;lt;code&amp;gt;7E&amp;lt;/code&amp;gt; || Tester present (captured)&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;1A 8E&amp;lt;/code&amp;gt; || &amp;lt;code&amp;gt;5A 8E&amp;lt;/code&amp;gt; + ASCII &amp;lt;code&amp;gt;38720-77R0&amp;lt;/code&amp;gt; || ECU identification (captured)&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;1A 8A&amp;lt;/code&amp;gt; || &amp;lt;code&amp;gt;5A 8A&amp;lt;/code&amp;gt; + ASCII &amp;lt;code&amp;gt;38720-77R0*&amp;lt;/code&amp;gt; || ECU identification (captured)&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;18 00 FF 00&amp;lt;/code&amp;gt; || &amp;lt;code&amp;gt;58 00&amp;lt;/code&amp;gt; || DTCs: none stored (captured)&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== 0x271 Body control module ==&lt;br /&gt;
Request &amp;lt;code&amp;gt;0x271&amp;lt;/code&amp;gt;, reply &amp;lt;code&amp;gt;0x671&amp;lt;/code&amp;gt;. Matches parts catalogue entries 36775-77RC2 to RC4 (body control module, RHD).&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! Request !! Reply !! Meaning&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;3E&amp;lt;/code&amp;gt; || &amp;lt;code&amp;gt;7E&amp;lt;/code&amp;gt; || Tester present (captured)&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;1A 8E&amp;lt;/code&amp;gt; || &amp;lt;code&amp;gt;5A 8E&amp;lt;/code&amp;gt; + ASCII &amp;lt;code&amp;gt;36775-77R0&amp;lt;/code&amp;gt; || ECU identification (captured)&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;1A 8A&amp;lt;/code&amp;gt; || &amp;lt;code&amp;gt;5A 8A&amp;lt;/code&amp;gt; + ASCII &amp;lt;code&amp;gt;36775-77RC*&amp;lt;/code&amp;gt; || ECU identification (captured)&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;18 00 FF 00&amp;lt;/code&amp;gt; || &amp;lt;code&amp;gt;58 00&amp;lt;/code&amp;gt; || DTCs: none stored (captured)&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== 0x274 Instrument cluster ==&lt;br /&gt;
Request &amp;lt;code&amp;gt;0x274&amp;lt;/code&amp;gt;, reply &amp;lt;code&amp;gt;0x674&amp;lt;/code&amp;gt;. Confirmed by the rev counter sweep test.&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! Request !! Reply !! Meaning&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;3E&amp;lt;/code&amp;gt; or &amp;lt;code&amp;gt;3E 00&amp;lt;/code&amp;gt; || &amp;lt;code&amp;gt;7E&amp;lt;/code&amp;gt; || Tester present, about every 2.15 s during the sweep test (captured)&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;1A 8E&amp;lt;/code&amp;gt; || &amp;lt;code&amp;gt;5A 8E&amp;lt;/code&amp;gt; + ASCII &amp;lt;code&amp;gt;34100-78R0&amp;lt;/code&amp;gt; || ECU identification (captured)&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;1A 8A&amp;lt;/code&amp;gt; || &amp;lt;code&amp;gt;5A 8A&amp;lt;/code&amp;gt; + ASCII &amp;lt;code&amp;gt;34110-78RD*&amp;lt;/code&amp;gt; (last byte of the reply is &amp;lt;code&amp;gt;06&amp;lt;/code&amp;gt;) || ECU identification (captured)&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;18 00 FF 00&amp;lt;/code&amp;gt; || &amp;lt;code&amp;gt;58 00&amp;lt;/code&amp;gt; || DTCs: none stored (captured)&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;30 01 07 80 40 00 00&amp;lt;/code&amp;gt; || &amp;lt;code&amp;gt;70 01 07&amp;lt;/code&amp;gt; || Starts the rev counter sweep (service 0x30, local ID 01, &amp;quot;short-term adjustment&amp;quot;). The cluster then sweeps up and down by itself (captured)&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;30 01 07 80 00 00 00&amp;lt;/code&amp;gt; || &amp;lt;code&amp;gt;7F 30 22&amp;lt;/code&amp;gt; || Refused (&amp;quot;conditions not correct&amp;quot;). Possibly a stop request sent after the sweep had finished (captured)&lt;br /&gt;
|}&lt;br /&gt;
The meaning of the four control bytes (&amp;lt;code&amp;gt;80 40 00 00&amp;lt;/code&amp;gt;) is not known. Other output tests (gauges, warning lights) have not been captured.&lt;br /&gt;
&lt;br /&gt;
== 0x798 TPMS controller ==&lt;br /&gt;
Request &amp;lt;code&amp;gt;0x798&amp;lt;/code&amp;gt;, reply &amp;lt;code&amp;gt;0x7A8&amp;lt;/code&amp;gt;. The label on the module reads 37160-78R00, &amp;quot;BASE ASSY-TPMS&amp;quot;, Model No. P61M0 (Continental A2C13930301, 433.92 MHz). The full data layout, calibration and app setups are on [[OBD2 Diagnostics reading project]].&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! Request !! Reply !! Meaning&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;3E&amp;lt;/code&amp;gt; || &amp;lt;code&amp;gt;7E&amp;lt;/code&amp;gt; || Tester present (captured)&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;1A 8E&amp;lt;/code&amp;gt; || &amp;lt;code&amp;gt;5A 8E&amp;lt;/code&amp;gt; + ASCII &amp;lt;code&amp;gt;37160-61M0&amp;lt;/code&amp;gt; || ECU identification; matches Model No. P61M0 on the label (captured)&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;1A 8A&amp;lt;/code&amp;gt; || &amp;lt;code&amp;gt;5A 8A&amp;lt;/code&amp;gt; + ASCII &amp;lt;code&amp;gt;37120-78R0*&amp;lt;/code&amp;gt; || ECU identification (captured)&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;18 00 FF 00&amp;lt;/code&amp;gt; || &amp;lt;code&amp;gt;58 00&amp;lt;/code&amp;gt; (no codes) or &amp;lt;code&amp;gt;58 01 9A 31 20&amp;lt;/code&amp;gt; (one code) || DTCs by status. The code &amp;lt;code&amp;gt;9A 31&amp;lt;/code&amp;gt; is probably the left front low pressure warning (inferred). The status byte was &amp;lt;code&amp;gt;20&amp;lt;/code&amp;gt; in the full scan and &amp;lt;code&amp;gt;E0&amp;lt;/code&amp;gt; in earlier captures (captured)&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;21 00&amp;lt;/code&amp;gt; || &amp;lt;code&amp;gt;61 00&amp;lt;/code&amp;gt; + 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)&lt;br /&gt;
|}&lt;br /&gt;
ELM327 setup that works for &amp;lt;code&amp;gt;21 00&amp;lt;/code&amp;gt;: &amp;lt;code&amp;gt;ATSH798&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;ATS0&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;ATL0&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;ATFCSH798&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;ATFCSD300000&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;ATFCSM1&amp;lt;/code&amp;gt;, then &amp;lt;code&amp;gt;2100&amp;lt;/code&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
== 0x79A Combination switch (lighting and turn) ==&lt;br /&gt;
Request &amp;lt;code&amp;gt;0x79A&amp;lt;/code&amp;gt;, reply &amp;lt;code&amp;gt;0x7AA&amp;lt;/code&amp;gt;. Matches parts catalogue entry 37210-74PE2 (switch assembly, lighting and turn, RHD).&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! Request !! Reply !! Meaning&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;3E&amp;lt;/code&amp;gt; || &amp;lt;code&amp;gt;7E&amp;lt;/code&amp;gt; || Tester present (captured)&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;1A 8E&amp;lt;/code&amp;gt; || &amp;lt;code&amp;gt;5A 8E&amp;lt;/code&amp;gt; + ASCII &amp;lt;code&amp;gt;37210-74PA&amp;lt;/code&amp;gt; || ECU identification (captured)&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;1A 8A&amp;lt;/code&amp;gt; || &amp;lt;code&amp;gt;5A 8A&amp;lt;/code&amp;gt; + ASCII &amp;lt;code&amp;gt;37210-74PE*&amp;lt;/code&amp;gt; || ECU identification (captured)&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;18 00 FF 00&amp;lt;/code&amp;gt; || &amp;lt;code&amp;gt;58 00&amp;lt;/code&amp;gt; || DTCs: none stored (captured)&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== 0x778 Dual sensor brake support (inferred) ==&lt;br /&gt;
Request &amp;lt;code&amp;gt;0x778&amp;lt;/code&amp;gt;, reply &amp;lt;code&amp;gt;0x788&amp;lt;/code&amp;gt;. The name is inferred by elimination (the scan report&#039;s last unassigned module). Not confirmed.&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! Request !! Reply !! Meaning&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;3E&amp;lt;/code&amp;gt; || &amp;lt;code&amp;gt;7E&amp;lt;/code&amp;gt; || Tester present (captured)&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;1A 8E&amp;lt;/code&amp;gt; || &amp;lt;code&amp;gt;5A 8E&amp;lt;/code&amp;gt; + ASCII &amp;lt;code&amp;gt;33990-52R0&amp;lt;/code&amp;gt; || ECU identification (captured)&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;1A 8A&amp;lt;/code&amp;gt; || &amp;lt;code&amp;gt;5A 8A&amp;lt;/code&amp;gt; + ASCII &amp;lt;code&amp;gt;33990-78R8*&amp;lt;/code&amp;gt; || ECU identification (captured)&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;18 00 FF 00&amp;lt;/code&amp;gt; || &amp;lt;code&amp;gt;58 00&amp;lt;/code&amp;gt; || DTCs: none stored (captured)&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== 0x793 Airbag (SRS) controller ==&lt;br /&gt;
Request &amp;lt;code&amp;gt;0x793&amp;lt;/code&amp;gt;, reply &amp;lt;code&amp;gt;0x7A3&amp;lt;/code&amp;gt;. Matches parts catalogue entry 38910-78RC0 (airbag controller, VAN).&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! Request !! Reply !! Meaning&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;3E 00&amp;lt;/code&amp;gt; || &amp;lt;code&amp;gt;7E 00&amp;lt;/code&amp;gt; || Tester present (captured)&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;22 F1 01&amp;lt;/code&amp;gt; || &amp;lt;code&amp;gt;62 F1 01&amp;lt;/code&amp;gt; + ASCII &amp;lt;code&amp;gt;38910-77R0&amp;lt;/code&amp;gt; || Identification (captured)&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;22 F1 88&amp;lt;/code&amp;gt; || &amp;lt;code&amp;gt;62 F1 88&amp;lt;/code&amp;gt; + ASCII &amp;lt;code&amp;gt;38910-78RC*&amp;lt;/code&amp;gt; || Identification (captured)&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;19 02 FF&amp;lt;/code&amp;gt; || &amp;lt;code&amp;gt;59 02 4B&amp;lt;/code&amp;gt; || DTCs by status mask: none stored (captured)&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== 0x772 4WD shift controller ==&lt;br /&gt;
Request &amp;lt;code&amp;gt;0x772&amp;lt;/code&amp;gt;, reply &amp;lt;code&amp;gt;0x782&amp;lt;/code&amp;gt;. Matches parts catalogue entry 38885-78R01 (4WD shift controller).&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! Request !! Reply !! Meaning&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;3E&amp;lt;/code&amp;gt; || &amp;lt;code&amp;gt;7F 3E 13&amp;lt;/code&amp;gt; || Refused: incorrect message length. Sent four times by the scan tool (captured)&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;3E 01&amp;lt;/code&amp;gt; || &amp;lt;code&amp;gt;7F 3E 12&amp;lt;/code&amp;gt; || Refused: sub-function not supported. Sent four times (captured)&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;3E 00&amp;lt;/code&amp;gt; || &amp;lt;code&amp;gt;7E 00&amp;lt;/code&amp;gt; || Tester present (captured)&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;22 F1 01&amp;lt;/code&amp;gt; || &amp;lt;code&amp;gt;62 F1 01&amp;lt;/code&amp;gt; + ASCII &amp;lt;code&amp;gt;38885-77R0&amp;lt;/code&amp;gt; || Identification (captured)&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;22 F1 88&amp;lt;/code&amp;gt; || &amp;lt;code&amp;gt;62 F1 88&amp;lt;/code&amp;gt; + ASCII &amp;lt;code&amp;gt;38885-78R0*&amp;lt;/code&amp;gt; || Identification (captured)&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;19 02 FF&amp;lt;/code&amp;gt; || &amp;lt;code&amp;gt;59 02 4B&amp;lt;/code&amp;gt; || DTCs by status mask: none stored (captured)&lt;br /&gt;
|}&lt;br /&gt;
The scan tool tried the KWP-style &amp;lt;code&amp;gt;3E&amp;lt;/code&amp;gt; first and fell back to the UDS form &amp;lt;code&amp;gt;3E 00&amp;lt;/code&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
== 0x799 E-call controller ==&lt;br /&gt;
Request &amp;lt;code&amp;gt;0x799&amp;lt;/code&amp;gt;, reply &amp;lt;code&amp;gt;0x7A9&amp;lt;/code&amp;gt;. Matches parts catalogue entries 38960-78RA0 and RA1 (E-call controller).&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! Request !! Reply !! Meaning&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;3E&amp;lt;/code&amp;gt; || &amp;lt;code&amp;gt;7F 3E 13&amp;lt;/code&amp;gt; || Refused: incorrect message length. Sent four times (captured)&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;3E 01&amp;lt;/code&amp;gt; || &amp;lt;code&amp;gt;7F 3E 12&amp;lt;/code&amp;gt; || Refused: sub-function not supported. Sent four times (captured)&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;3E 00&amp;lt;/code&amp;gt; || &amp;lt;code&amp;gt;7E 00&amp;lt;/code&amp;gt; || Tester present (captured)&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;22 F1 01&amp;lt;/code&amp;gt; || &amp;lt;code&amp;gt;62 F1 01&amp;lt;/code&amp;gt; + ASCII &amp;lt;code&amp;gt;38960-78RA&amp;lt;/code&amp;gt; || Identification (captured)&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;22 F1 88&amp;lt;/code&amp;gt; || &amp;lt;code&amp;gt;62 F1 88&amp;lt;/code&amp;gt; + ASCII &amp;lt;code&amp;gt;38960-78RA*&amp;lt;/code&amp;gt; || Identification (captured)&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;19 02 FF&amp;lt;/code&amp;gt; || &amp;lt;code&amp;gt;59 02 4B 92 4E 00 02&amp;lt;/code&amp;gt; || One stored code record: &amp;lt;code&amp;gt;92 4E 00&amp;lt;/code&amp;gt;, status &amp;lt;code&amp;gt;02&amp;lt;/code&amp;gt;. The Launch report does not list it and its meaning is not known (captured)&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== 0x751 Central gateway ==&lt;br /&gt;
Request &amp;lt;code&amp;gt;0x751&amp;lt;/code&amp;gt;, reply &amp;lt;code&amp;gt;0x761&amp;lt;/code&amp;gt;. The label on the module reads 33580-79R01.&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! Request !! Reply !! Meaning&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;3E 00&amp;lt;/code&amp;gt; || &amp;lt;code&amp;gt;7E 00&amp;lt;/code&amp;gt; || Tester present (captured)&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;22 F1 01&amp;lt;/code&amp;gt; || &amp;lt;code&amp;gt;62 F1 01&amp;lt;/code&amp;gt; + ASCII &amp;lt;code&amp;gt;33580-79R0&amp;lt;/code&amp;gt; || Identification (captured)&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;22 F1 88&amp;lt;/code&amp;gt; || &amp;lt;code&amp;gt;62 F1 88&amp;lt;/code&amp;gt; + ASCII &amp;lt;code&amp;gt;33580-78R0*&amp;lt;/code&amp;gt; || Identification (captured)&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;19 02 FF&amp;lt;/code&amp;gt; || &amp;lt;code&amp;gt;59 02 4B&amp;lt;/code&amp;gt; || DTCs by status mask: none stored (captured)&lt;br /&gt;
|}&lt;br /&gt;
The gateway sits between the OBD socket and the vehicle CAN bus. Whether it forwards requests to the other modules unchanged is not confirmed.&lt;br /&gt;
&lt;br /&gt;
== Addresses probed with no reply ==&lt;br /&gt;
The scan tool sent tester-present (&amp;lt;code&amp;gt;3E&amp;lt;/code&amp;gt;) about eight times each to &amp;lt;code&amp;gt;0x273&amp;lt;/code&amp;gt; and &amp;lt;code&amp;gt;0x262&amp;lt;/code&amp;gt; and received nothing from the expected reply IDs (&amp;lt;code&amp;gt;0x673&amp;lt;/code&amp;gt; and &amp;lt;code&amp;gt;0x662&amp;lt;/code&amp;gt;). They are probably modules this car does not have, such as an automatic transmission or auto-levelling controller. This is a guess.&lt;br /&gt;
&lt;br /&gt;
== ELM327 notes ==&lt;br /&gt;
* Only &amp;lt;code&amp;gt;0x798&amp;lt;/code&amp;gt; has been tested with an ELM327. For other modules, set &amp;lt;code&amp;gt;ATSH&amp;lt;/code&amp;gt; to the request ID and &amp;lt;code&amp;gt;ATFCSH&amp;lt;/code&amp;gt; to the same ID, and you may need &amp;lt;code&amp;gt;ATCRA&amp;lt;/code&amp;gt; with the reply ID, because the reply is not always the request ID plus 8. This is untested.&lt;br /&gt;
* 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.&lt;br /&gt;
* Do not send output-control commands (service &amp;lt;code&amp;gt;30&amp;lt;/code&amp;gt; and similar) from a head-unit app while driving.&lt;br /&gt;
&lt;br /&gt;
== Sources ==&lt;br /&gt;
* Owner PCAN-View captures of a Launch X431 CRP919 full health-check scan and rev counter sweep test, October 2026.&lt;br /&gt;
* Suzuki Jimny parts catalogue 9900B-40312-004 (type 1, October 2021), figures 350A, 351A and 351B.&lt;br /&gt;
* Labels on the TPMS controller and central gateway of the test car.&lt;br /&gt;
&lt;br /&gt;
[[Category:Electrical - gen4]]&lt;/div&gt;</summary>
		<author><name>Mlines</name></author>
	</entry>
	<entry>
		<id>https://www.bigjimny.com/mediawiki/index.php?title=ECU_diagnostic_CAN_addresses&amp;diff=10067</id>
		<title>ECU diagnostic CAN addresses</title>
		<link rel="alternate" type="text/html" href="https://www.bigjimny.com/mediawiki/index.php?title=ECU_diagnostic_CAN_addresses&amp;diff=10067"/>
		<updated>2026-11-01T10:27:00Z</updated>

		<summary type="html">&lt;p&gt;Mlines: /* 0x261 ABS (inferred) */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&amp;lt;div style=&amp;quot;border: 1px solid #c9a227; background-color: #fff8dc; padding: 0.6em 1em; margin: 0 0 1em 0; border-radius: 4px;&amp;quot;&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;Support this project:&#039;&#039;&#039; 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 [https://buymeacoffee.com/bigjimny buymeacoffee.com/bigjimny].&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
= Suzuki Jimny JB74 - CAN bus devices and the commands they answer =&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Status:&#039;&#039;&#039; 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.&lt;br /&gt;
&lt;br /&gt;
== How to read this page ==&lt;br /&gt;
* All IDs are 11-bit CAN IDs on the OBD socket (pins 6 and 14, 500 kbit/s). The &amp;quot;request ID&amp;quot; is the header a tool sends to; the &amp;quot;reply ID&amp;quot; is where the module answers.&lt;br /&gt;
* 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.&lt;br /&gt;
* &#039;&#039;&#039;KWP-style&#039;&#039;&#039; modules use services such as &amp;lt;code&amp;gt;1A&amp;lt;/code&amp;gt; (read ECU identification) and &amp;lt;code&amp;gt;18&amp;lt;/code&amp;gt; (read DTCs by status). &#039;&#039;&#039;UDS-style&#039;&#039;&#039; modules use &amp;lt;code&amp;gt;22&amp;lt;/code&amp;gt; (read data by identifier) and &amp;lt;code&amp;gt;19&amp;lt;/code&amp;gt; (read DTCs).&lt;br /&gt;
* 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.&lt;br /&gt;
* Identification strings are ASCII Suzuki part numbers. The first one in each module (&amp;lt;code&amp;gt;1A 8E&amp;lt;/code&amp;gt; or &amp;lt;code&amp;gt;22 F1 01&amp;lt;/code&amp;gt;) has no trailing character; the second (&amp;lt;code&amp;gt;1A 8A&amp;lt;/code&amp;gt; or &amp;lt;code&amp;gt;22 F1 88&amp;lt;/code&amp;gt;) ends in &amp;lt;code&amp;gt;*&amp;lt;/code&amp;gt;. They do not always equal the number printed on the module&#039;s label.&lt;br /&gt;
* Commands marked &#039;&#039;captured&#039;&#039; were seen in a trace. Nothing here has been sent to a module by us except the TPMS requests.&lt;br /&gt;
&lt;br /&gt;
== Device table ==&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! Request ID !! Reply ID !! Style !! Module !! Identification reply (first / second) !! How the module was identified&lt;br /&gt;
|-&lt;br /&gt;
| [[#0x7E0 ECM|0x7E0]] || 0x7E8 || KWP || ECM || 33980-78R0 / 33980-78RC* || Standard engine address&lt;br /&gt;
|-&lt;br /&gt;
| [[#0x261 ABS (inferred)|0x261]] || 0x661 || KWP || ABS (inferred) || 56100-77RA / 56100-78RF* || Only brake module left by elimination&lt;br /&gt;
|-&lt;br /&gt;
| [[#0x263 EPS controller|0x263]] || 0x663 || KWP || EPS controller || 38720-77R0 / 38720-77R0* || Parts catalogue (38720-77R01)&lt;br /&gt;
|-&lt;br /&gt;
| [[#0x271 Body control module|0x271]] || 0x671 || KWP || Body control module || 36775-77R0 / 36775-77RC* || Parts catalogue (36775-77RC2 to RC4)&lt;br /&gt;
|-&lt;br /&gt;
| [[#0x274 Instrument cluster|0x274]] || 0x674 || KWP || Instrument cluster || 34100-78R0 / 34110-78RD* || Rev counter sweep test&lt;br /&gt;
|-&lt;br /&gt;
| [[#0x798 TPMS controller|0x798]] || 0x7A8 || KWP || TPMS controller || 37160-61M0 / 37120-78R0* || Label (Model No. P61M0) and parts catalogue&lt;br /&gt;
|-&lt;br /&gt;
| [[#0x79A Combination switch (lighting and turn)|0x79A]] || 0x7AA || KWP || Combination switch (lighting and turn) || 37210-74PA / 37210-74PE* || Parts catalogue (37210-74PE2)&lt;br /&gt;
|-&lt;br /&gt;
| [[#0x778 Dual sensor brake support (inferred)|0x778]] || 0x788 || KWP || Dual sensor brake support (inferred) || 33990-52R0 / 33990-78R8* || By elimination&lt;br /&gt;
|-&lt;br /&gt;
| [[#0x793 Airbag (SRS) controller|0x793]] || 0x7A3 || UDS || Airbag (SRS) controller || 38910-77R0 / 38910-78RC* || Parts catalogue (38910-78RC0)&lt;br /&gt;
|-&lt;br /&gt;
| [[#0x772 4WD shift controller|0x772]] || 0x782 || UDS || 4WD shift controller || 38885-77R0 / 38885-78R0* || Parts catalogue (38885-78R01)&lt;br /&gt;
|-&lt;br /&gt;
| [[#0x799 E-call controller|0x799]] || 0x7A9 || UDS || E-call controller || 38960-78RA / 38960-78RA* || Parts catalogue (38960-78RA0, RA1)&lt;br /&gt;
|-&lt;br /&gt;
| [[#0x751 Central gateway|0x751]] || 0x761 || UDS || Central gateway || 33580-79R0 / 33580-78R0* || Label (33580-79R01) and parts catalogue&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
Two more addresses, [[#Addresses probed with no reply|0x273 and 0x262]], were probed by the scan tool and did not answer.&lt;br /&gt;
&lt;br /&gt;
The names marked &amp;quot;inferred&amp;quot; are guesses from elimination and part-number series, not confirmed by a label or test.&lt;br /&gt;
&lt;br /&gt;
== 0x7E0 ECM ==&lt;br /&gt;
{{Models|JB74 (2018+, tested on 2021)|untested=JB64, JC74, JB43}}&lt;br /&gt;
&lt;br /&gt;
Request &amp;lt;code&amp;gt;0x7E0&amp;lt;/code&amp;gt;, reply &amp;lt;code&amp;gt;0x7E8&amp;lt;/code&amp;gt;. This is the standard OBD engine address, so standard mode 01 PIDs should be available here, but none were captured.&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! Request !! Reply !! Meaning&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;3E&amp;lt;/code&amp;gt; || &amp;lt;code&amp;gt;7E&amp;lt;/code&amp;gt; || Tester present (captured)&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;1A 8E&amp;lt;/code&amp;gt; || &amp;lt;code&amp;gt;5A 8E&amp;lt;/code&amp;gt; + ASCII &amp;lt;code&amp;gt;33980-78R0&amp;lt;/code&amp;gt; || ECU identification (captured)&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;1A 8A&amp;lt;/code&amp;gt; || &amp;lt;code&amp;gt;5A 8A&amp;lt;/code&amp;gt; + ASCII &amp;lt;code&amp;gt;33980-78RC*&amp;lt;/code&amp;gt; || ECU identification (captured)&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;18 00 FF 00&amp;lt;/code&amp;gt; || &amp;lt;code&amp;gt;58 00&amp;lt;/code&amp;gt; || Read DTCs by status: none stored (captured)&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== 0x261 ABS (inferred) ==&lt;br /&gt;
{{Models|JB74 (2018+, tested on 2021)|untested=JB64, JC74, JB43}}&lt;br /&gt;
&lt;br /&gt;
Request &amp;lt;code&amp;gt;0x261&amp;lt;/code&amp;gt;, reply &amp;lt;code&amp;gt;0x661&amp;lt;/code&amp;gt;. 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.&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! Request !! Reply !! Meaning&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;3E&amp;lt;/code&amp;gt; || &amp;lt;code&amp;gt;7E&amp;lt;/code&amp;gt; || Tester present (captured)&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;1A 8E&amp;lt;/code&amp;gt; || &amp;lt;code&amp;gt;5A 8E&amp;lt;/code&amp;gt; + ASCII &amp;lt;code&amp;gt;56100-77RA&amp;lt;/code&amp;gt; || ECU identification (captured)&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;1A 8A&amp;lt;/code&amp;gt; || &amp;lt;code&amp;gt;5A 8A&amp;lt;/code&amp;gt; + ASCII &amp;lt;code&amp;gt;56100-78RF*&amp;lt;/code&amp;gt; || ECU identification (captured)&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;18 00 FF 00&amp;lt;/code&amp;gt; || &amp;lt;code&amp;gt;58 00&amp;lt;/code&amp;gt; || DTCs: none stored (captured)&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== 0x263 EPS controller ==&lt;br /&gt;
Request &amp;lt;code&amp;gt;0x263&amp;lt;/code&amp;gt;, reply &amp;lt;code&amp;gt;0x663&amp;lt;/code&amp;gt;. Matches parts catalogue entry 38720-77R01 (EPS controller).&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! Request !! Reply !! Meaning&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;3E&amp;lt;/code&amp;gt; || &amp;lt;code&amp;gt;7E&amp;lt;/code&amp;gt; || Tester present (captured)&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;1A 8E&amp;lt;/code&amp;gt; || &amp;lt;code&amp;gt;5A 8E&amp;lt;/code&amp;gt; + ASCII &amp;lt;code&amp;gt;38720-77R0&amp;lt;/code&amp;gt; || ECU identification (captured)&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;1A 8A&amp;lt;/code&amp;gt; || &amp;lt;code&amp;gt;5A 8A&amp;lt;/code&amp;gt; + ASCII &amp;lt;code&amp;gt;38720-77R0*&amp;lt;/code&amp;gt; || ECU identification (captured)&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;18 00 FF 00&amp;lt;/code&amp;gt; || &amp;lt;code&amp;gt;58 00&amp;lt;/code&amp;gt; || DTCs: none stored (captured)&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== 0x271 Body control module ==&lt;br /&gt;
Request &amp;lt;code&amp;gt;0x271&amp;lt;/code&amp;gt;, reply &amp;lt;code&amp;gt;0x671&amp;lt;/code&amp;gt;. Matches parts catalogue entries 36775-77RC2 to RC4 (body control module, RHD).&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! Request !! Reply !! Meaning&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;3E&amp;lt;/code&amp;gt; || &amp;lt;code&amp;gt;7E&amp;lt;/code&amp;gt; || Tester present (captured)&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;1A 8E&amp;lt;/code&amp;gt; || &amp;lt;code&amp;gt;5A 8E&amp;lt;/code&amp;gt; + ASCII &amp;lt;code&amp;gt;36775-77R0&amp;lt;/code&amp;gt; || ECU identification (captured)&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;1A 8A&amp;lt;/code&amp;gt; || &amp;lt;code&amp;gt;5A 8A&amp;lt;/code&amp;gt; + ASCII &amp;lt;code&amp;gt;36775-77RC*&amp;lt;/code&amp;gt; || ECU identification (captured)&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;18 00 FF 00&amp;lt;/code&amp;gt; || &amp;lt;code&amp;gt;58 00&amp;lt;/code&amp;gt; || DTCs: none stored (captured)&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== 0x274 Instrument cluster ==&lt;br /&gt;
Request &amp;lt;code&amp;gt;0x274&amp;lt;/code&amp;gt;, reply &amp;lt;code&amp;gt;0x674&amp;lt;/code&amp;gt;. Confirmed by the rev counter sweep test.&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! Request !! Reply !! Meaning&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;3E&amp;lt;/code&amp;gt; or &amp;lt;code&amp;gt;3E 00&amp;lt;/code&amp;gt; || &amp;lt;code&amp;gt;7E&amp;lt;/code&amp;gt; || Tester present, about every 2.15 s during the sweep test (captured)&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;1A 8E&amp;lt;/code&amp;gt; || &amp;lt;code&amp;gt;5A 8E&amp;lt;/code&amp;gt; + ASCII &amp;lt;code&amp;gt;34100-78R0&amp;lt;/code&amp;gt; || ECU identification (captured)&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;1A 8A&amp;lt;/code&amp;gt; || &amp;lt;code&amp;gt;5A 8A&amp;lt;/code&amp;gt; + ASCII &amp;lt;code&amp;gt;34110-78RD*&amp;lt;/code&amp;gt; (last byte of the reply is &amp;lt;code&amp;gt;06&amp;lt;/code&amp;gt;) || ECU identification (captured)&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;18 00 FF 00&amp;lt;/code&amp;gt; || &amp;lt;code&amp;gt;58 00&amp;lt;/code&amp;gt; || DTCs: none stored (captured)&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;30 01 07 80 40 00 00&amp;lt;/code&amp;gt; || &amp;lt;code&amp;gt;70 01 07&amp;lt;/code&amp;gt; || Starts the rev counter sweep (service 0x30, local ID 01, &amp;quot;short-term adjustment&amp;quot;). The cluster then sweeps up and down by itself (captured)&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;30 01 07 80 00 00 00&amp;lt;/code&amp;gt; || &amp;lt;code&amp;gt;7F 30 22&amp;lt;/code&amp;gt; || Refused (&amp;quot;conditions not correct&amp;quot;). Possibly a stop request sent after the sweep had finished (captured)&lt;br /&gt;
|}&lt;br /&gt;
The meaning of the four control bytes (&amp;lt;code&amp;gt;80 40 00 00&amp;lt;/code&amp;gt;) is not known. Other output tests (gauges, warning lights) have not been captured.&lt;br /&gt;
&lt;br /&gt;
== 0x798 TPMS controller ==&lt;br /&gt;
Request &amp;lt;code&amp;gt;0x798&amp;lt;/code&amp;gt;, reply &amp;lt;code&amp;gt;0x7A8&amp;lt;/code&amp;gt;. The label on the module reads 37160-78R00, &amp;quot;BASE ASSY-TPMS&amp;quot;, Model No. P61M0 (Continental A2C13930301, 433.92 MHz). The full data layout, calibration and app setups are on [[OBD2 Diagnostics reading project]].&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! Request !! Reply !! Meaning&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;3E&amp;lt;/code&amp;gt; || &amp;lt;code&amp;gt;7E&amp;lt;/code&amp;gt; || Tester present (captured)&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;1A 8E&amp;lt;/code&amp;gt; || &amp;lt;code&amp;gt;5A 8E&amp;lt;/code&amp;gt; + ASCII &amp;lt;code&amp;gt;37160-61M0&amp;lt;/code&amp;gt; || ECU identification; matches Model No. P61M0 on the label (captured)&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;1A 8A&amp;lt;/code&amp;gt; || &amp;lt;code&amp;gt;5A 8A&amp;lt;/code&amp;gt; + ASCII &amp;lt;code&amp;gt;37120-78R0*&amp;lt;/code&amp;gt; || ECU identification (captured)&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;18 00 FF 00&amp;lt;/code&amp;gt; || &amp;lt;code&amp;gt;58 00&amp;lt;/code&amp;gt; (no codes) or &amp;lt;code&amp;gt;58 01 9A 31 20&amp;lt;/code&amp;gt; (one code) || DTCs by status. The code &amp;lt;code&amp;gt;9A 31&amp;lt;/code&amp;gt; is probably the left front low pressure warning (inferred). The status byte was &amp;lt;code&amp;gt;20&amp;lt;/code&amp;gt; in the full scan and &amp;lt;code&amp;gt;E0&amp;lt;/code&amp;gt; in earlier captures (captured)&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;21 00&amp;lt;/code&amp;gt; || &amp;lt;code&amp;gt;61 00&amp;lt;/code&amp;gt; + 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)&lt;br /&gt;
|}&lt;br /&gt;
ELM327 setup that works for &amp;lt;code&amp;gt;21 00&amp;lt;/code&amp;gt;: &amp;lt;code&amp;gt;ATSH798&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;ATS0&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;ATL0&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;ATFCSH798&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;ATFCSD300000&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;ATFCSM1&amp;lt;/code&amp;gt;, then &amp;lt;code&amp;gt;2100&amp;lt;/code&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
== 0x79A Combination switch (lighting and turn) ==&lt;br /&gt;
Request &amp;lt;code&amp;gt;0x79A&amp;lt;/code&amp;gt;, reply &amp;lt;code&amp;gt;0x7AA&amp;lt;/code&amp;gt;. Matches parts catalogue entry 37210-74PE2 (switch assembly, lighting and turn, RHD).&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! Request !! Reply !! Meaning&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;3E&amp;lt;/code&amp;gt; || &amp;lt;code&amp;gt;7E&amp;lt;/code&amp;gt; || Tester present (captured)&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;1A 8E&amp;lt;/code&amp;gt; || &amp;lt;code&amp;gt;5A 8E&amp;lt;/code&amp;gt; + ASCII &amp;lt;code&amp;gt;37210-74PA&amp;lt;/code&amp;gt; || ECU identification (captured)&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;1A 8A&amp;lt;/code&amp;gt; || &amp;lt;code&amp;gt;5A 8A&amp;lt;/code&amp;gt; + ASCII &amp;lt;code&amp;gt;37210-74PE*&amp;lt;/code&amp;gt; || ECU identification (captured)&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;18 00 FF 00&amp;lt;/code&amp;gt; || &amp;lt;code&amp;gt;58 00&amp;lt;/code&amp;gt; || DTCs: none stored (captured)&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== 0x778 Dual sensor brake support (inferred) ==&lt;br /&gt;
Request &amp;lt;code&amp;gt;0x778&amp;lt;/code&amp;gt;, reply &amp;lt;code&amp;gt;0x788&amp;lt;/code&amp;gt;. The name is inferred by elimination (the scan report&#039;s last unassigned module). Not confirmed.&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! Request !! Reply !! Meaning&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;3E&amp;lt;/code&amp;gt; || &amp;lt;code&amp;gt;7E&amp;lt;/code&amp;gt; || Tester present (captured)&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;1A 8E&amp;lt;/code&amp;gt; || &amp;lt;code&amp;gt;5A 8E&amp;lt;/code&amp;gt; + ASCII &amp;lt;code&amp;gt;33990-52R0&amp;lt;/code&amp;gt; || ECU identification (captured)&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;1A 8A&amp;lt;/code&amp;gt; || &amp;lt;code&amp;gt;5A 8A&amp;lt;/code&amp;gt; + ASCII &amp;lt;code&amp;gt;33990-78R8*&amp;lt;/code&amp;gt; || ECU identification (captured)&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;18 00 FF 00&amp;lt;/code&amp;gt; || &amp;lt;code&amp;gt;58 00&amp;lt;/code&amp;gt; || DTCs: none stored (captured)&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== 0x793 Airbag (SRS) controller ==&lt;br /&gt;
Request &amp;lt;code&amp;gt;0x793&amp;lt;/code&amp;gt;, reply &amp;lt;code&amp;gt;0x7A3&amp;lt;/code&amp;gt;. Matches parts catalogue entry 38910-78RC0 (airbag controller, VAN).&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! Request !! Reply !! Meaning&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;3E 00&amp;lt;/code&amp;gt; || &amp;lt;code&amp;gt;7E 00&amp;lt;/code&amp;gt; || Tester present (captured)&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;22 F1 01&amp;lt;/code&amp;gt; || &amp;lt;code&amp;gt;62 F1 01&amp;lt;/code&amp;gt; + ASCII &amp;lt;code&amp;gt;38910-77R0&amp;lt;/code&amp;gt; || Identification (captured)&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;22 F1 88&amp;lt;/code&amp;gt; || &amp;lt;code&amp;gt;62 F1 88&amp;lt;/code&amp;gt; + ASCII &amp;lt;code&amp;gt;38910-78RC*&amp;lt;/code&amp;gt; || Identification (captured)&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;19 02 FF&amp;lt;/code&amp;gt; || &amp;lt;code&amp;gt;59 02 4B&amp;lt;/code&amp;gt; || DTCs by status mask: none stored (captured)&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== 0x772 4WD shift controller ==&lt;br /&gt;
Request &amp;lt;code&amp;gt;0x772&amp;lt;/code&amp;gt;, reply &amp;lt;code&amp;gt;0x782&amp;lt;/code&amp;gt;. Matches parts catalogue entry 38885-78R01 (4WD shift controller).&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! Request !! Reply !! Meaning&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;3E&amp;lt;/code&amp;gt; || &amp;lt;code&amp;gt;7F 3E 13&amp;lt;/code&amp;gt; || Refused: incorrect message length. Sent four times by the scan tool (captured)&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;3E 01&amp;lt;/code&amp;gt; || &amp;lt;code&amp;gt;7F 3E 12&amp;lt;/code&amp;gt; || Refused: sub-function not supported. Sent four times (captured)&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;3E 00&amp;lt;/code&amp;gt; || &amp;lt;code&amp;gt;7E 00&amp;lt;/code&amp;gt; || Tester present (captured)&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;22 F1 01&amp;lt;/code&amp;gt; || &amp;lt;code&amp;gt;62 F1 01&amp;lt;/code&amp;gt; + ASCII &amp;lt;code&amp;gt;38885-77R0&amp;lt;/code&amp;gt; || Identification (captured)&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;22 F1 88&amp;lt;/code&amp;gt; || &amp;lt;code&amp;gt;62 F1 88&amp;lt;/code&amp;gt; + ASCII &amp;lt;code&amp;gt;38885-78R0*&amp;lt;/code&amp;gt; || Identification (captured)&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;19 02 FF&amp;lt;/code&amp;gt; || &amp;lt;code&amp;gt;59 02 4B&amp;lt;/code&amp;gt; || DTCs by status mask: none stored (captured)&lt;br /&gt;
|}&lt;br /&gt;
The scan tool tried the KWP-style &amp;lt;code&amp;gt;3E&amp;lt;/code&amp;gt; first and fell back to the UDS form &amp;lt;code&amp;gt;3E 00&amp;lt;/code&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
== 0x799 E-call controller ==&lt;br /&gt;
Request &amp;lt;code&amp;gt;0x799&amp;lt;/code&amp;gt;, reply &amp;lt;code&amp;gt;0x7A9&amp;lt;/code&amp;gt;. Matches parts catalogue entries 38960-78RA0 and RA1 (E-call controller).&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! Request !! Reply !! Meaning&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;3E&amp;lt;/code&amp;gt; || &amp;lt;code&amp;gt;7F 3E 13&amp;lt;/code&amp;gt; || Refused: incorrect message length. Sent four times (captured)&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;3E 01&amp;lt;/code&amp;gt; || &amp;lt;code&amp;gt;7F 3E 12&amp;lt;/code&amp;gt; || Refused: sub-function not supported. Sent four times (captured)&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;3E 00&amp;lt;/code&amp;gt; || &amp;lt;code&amp;gt;7E 00&amp;lt;/code&amp;gt; || Tester present (captured)&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;22 F1 01&amp;lt;/code&amp;gt; || &amp;lt;code&amp;gt;62 F1 01&amp;lt;/code&amp;gt; + ASCII &amp;lt;code&amp;gt;38960-78RA&amp;lt;/code&amp;gt; || Identification (captured)&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;22 F1 88&amp;lt;/code&amp;gt; || &amp;lt;code&amp;gt;62 F1 88&amp;lt;/code&amp;gt; + ASCII &amp;lt;code&amp;gt;38960-78RA*&amp;lt;/code&amp;gt; || Identification (captured)&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;19 02 FF&amp;lt;/code&amp;gt; || &amp;lt;code&amp;gt;59 02 4B 92 4E 00 02&amp;lt;/code&amp;gt; || One stored code record: &amp;lt;code&amp;gt;92 4E 00&amp;lt;/code&amp;gt;, status &amp;lt;code&amp;gt;02&amp;lt;/code&amp;gt;. The Launch report does not list it and its meaning is not known (captured)&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== 0x751 Central gateway ==&lt;br /&gt;
Request &amp;lt;code&amp;gt;0x751&amp;lt;/code&amp;gt;, reply &amp;lt;code&amp;gt;0x761&amp;lt;/code&amp;gt;. The label on the module reads 33580-79R01.&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! Request !! Reply !! Meaning&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;3E 00&amp;lt;/code&amp;gt; || &amp;lt;code&amp;gt;7E 00&amp;lt;/code&amp;gt; || Tester present (captured)&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;22 F1 01&amp;lt;/code&amp;gt; || &amp;lt;code&amp;gt;62 F1 01&amp;lt;/code&amp;gt; + ASCII &amp;lt;code&amp;gt;33580-79R0&amp;lt;/code&amp;gt; || Identification (captured)&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;22 F1 88&amp;lt;/code&amp;gt; || &amp;lt;code&amp;gt;62 F1 88&amp;lt;/code&amp;gt; + ASCII &amp;lt;code&amp;gt;33580-78R0*&amp;lt;/code&amp;gt; || Identification (captured)&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;19 02 FF&amp;lt;/code&amp;gt; || &amp;lt;code&amp;gt;59 02 4B&amp;lt;/code&amp;gt; || DTCs by status mask: none stored (captured)&lt;br /&gt;
|}&lt;br /&gt;
The gateway sits between the OBD socket and the vehicle CAN bus. Whether it forwards requests to the other modules unchanged is not confirmed.&lt;br /&gt;
&lt;br /&gt;
== Addresses probed with no reply ==&lt;br /&gt;
The scan tool sent tester-present (&amp;lt;code&amp;gt;3E&amp;lt;/code&amp;gt;) about eight times each to &amp;lt;code&amp;gt;0x273&amp;lt;/code&amp;gt; and &amp;lt;code&amp;gt;0x262&amp;lt;/code&amp;gt; and received nothing from the expected reply IDs (&amp;lt;code&amp;gt;0x673&amp;lt;/code&amp;gt; and &amp;lt;code&amp;gt;0x662&amp;lt;/code&amp;gt;). They are probably modules this car does not have, such as an automatic transmission or auto-levelling controller. This is a guess.&lt;br /&gt;
&lt;br /&gt;
== ELM327 notes ==&lt;br /&gt;
* Only &amp;lt;code&amp;gt;0x798&amp;lt;/code&amp;gt; has been tested with an ELM327. For other modules, set &amp;lt;code&amp;gt;ATSH&amp;lt;/code&amp;gt; to the request ID and &amp;lt;code&amp;gt;ATFCSH&amp;lt;/code&amp;gt; to the same ID, and you may need &amp;lt;code&amp;gt;ATCRA&amp;lt;/code&amp;gt; with the reply ID, because the reply is not always the request ID plus 8. This is untested.&lt;br /&gt;
* 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.&lt;br /&gt;
* Do not send output-control commands (service &amp;lt;code&amp;gt;30&amp;lt;/code&amp;gt; and similar) from a head-unit app while driving.&lt;br /&gt;
&lt;br /&gt;
== Sources ==&lt;br /&gt;
* Owner PCAN-View captures of a Launch X431 CRP919 full health-check scan and rev counter sweep test, October 2026.&lt;br /&gt;
* Suzuki Jimny parts catalogue 9900B-40312-004 (type 1, October 2021), figures 350A, 351A and 351B.&lt;br /&gt;
* Labels on the TPMS controller and central gateway of the test car.&lt;br /&gt;
&lt;br /&gt;
[[Category:Electrical - gen4]]&lt;/div&gt;</summary>
		<author><name>Mlines</name></author>
	</entry>
	<entry>
		<id>https://www.bigjimny.com/mediawiki/index.php?title=ECU_diagnostic_CAN_addresses&amp;diff=10066</id>
		<title>ECU diagnostic CAN addresses</title>
		<link rel="alternate" type="text/html" href="https://www.bigjimny.com/mediawiki/index.php?title=ECU_diagnostic_CAN_addresses&amp;diff=10066"/>
		<updated>2026-11-01T10:26:34Z</updated>

		<summary type="html">&lt;p&gt;Mlines: /* 0x7E0 ECM */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&amp;lt;div style=&amp;quot;border: 1px solid #c9a227; background-color: #fff8dc; padding: 0.6em 1em; margin: 0 0 1em 0; border-radius: 4px;&amp;quot;&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;Support this project:&#039;&#039;&#039; 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 [https://buymeacoffee.com/bigjimny buymeacoffee.com/bigjimny].&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
= Suzuki Jimny JB74 - CAN bus devices and the commands they answer =&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Status:&#039;&#039;&#039; 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.&lt;br /&gt;
&lt;br /&gt;
== How to read this page ==&lt;br /&gt;
* All IDs are 11-bit CAN IDs on the OBD socket (pins 6 and 14, 500 kbit/s). The &amp;quot;request ID&amp;quot; is the header a tool sends to; the &amp;quot;reply ID&amp;quot; is where the module answers.&lt;br /&gt;
* 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.&lt;br /&gt;
* &#039;&#039;&#039;KWP-style&#039;&#039;&#039; modules use services such as &amp;lt;code&amp;gt;1A&amp;lt;/code&amp;gt; (read ECU identification) and &amp;lt;code&amp;gt;18&amp;lt;/code&amp;gt; (read DTCs by status). &#039;&#039;&#039;UDS-style&#039;&#039;&#039; modules use &amp;lt;code&amp;gt;22&amp;lt;/code&amp;gt; (read data by identifier) and &amp;lt;code&amp;gt;19&amp;lt;/code&amp;gt; (read DTCs).&lt;br /&gt;
* 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.&lt;br /&gt;
* Identification strings are ASCII Suzuki part numbers. The first one in each module (&amp;lt;code&amp;gt;1A 8E&amp;lt;/code&amp;gt; or &amp;lt;code&amp;gt;22 F1 01&amp;lt;/code&amp;gt;) has no trailing character; the second (&amp;lt;code&amp;gt;1A 8A&amp;lt;/code&amp;gt; or &amp;lt;code&amp;gt;22 F1 88&amp;lt;/code&amp;gt;) ends in &amp;lt;code&amp;gt;*&amp;lt;/code&amp;gt;. They do not always equal the number printed on the module&#039;s label.&lt;br /&gt;
* Commands marked &#039;&#039;captured&#039;&#039; were seen in a trace. Nothing here has been sent to a module by us except the TPMS requests.&lt;br /&gt;
&lt;br /&gt;
== Device table ==&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! Request ID !! Reply ID !! Style !! Module !! Identification reply (first / second) !! How the module was identified&lt;br /&gt;
|-&lt;br /&gt;
| [[#0x7E0 ECM|0x7E0]] || 0x7E8 || KWP || ECM || 33980-78R0 / 33980-78RC* || Standard engine address&lt;br /&gt;
|-&lt;br /&gt;
| [[#0x261 ABS (inferred)|0x261]] || 0x661 || KWP || ABS (inferred) || 56100-77RA / 56100-78RF* || Only brake module left by elimination&lt;br /&gt;
|-&lt;br /&gt;
| [[#0x263 EPS controller|0x263]] || 0x663 || KWP || EPS controller || 38720-77R0 / 38720-77R0* || Parts catalogue (38720-77R01)&lt;br /&gt;
|-&lt;br /&gt;
| [[#0x271 Body control module|0x271]] || 0x671 || KWP || Body control module || 36775-77R0 / 36775-77RC* || Parts catalogue (36775-77RC2 to RC4)&lt;br /&gt;
|-&lt;br /&gt;
| [[#0x274 Instrument cluster|0x274]] || 0x674 || KWP || Instrument cluster || 34100-78R0 / 34110-78RD* || Rev counter sweep test&lt;br /&gt;
|-&lt;br /&gt;
| [[#0x798 TPMS controller|0x798]] || 0x7A8 || KWP || TPMS controller || 37160-61M0 / 37120-78R0* || Label (Model No. P61M0) and parts catalogue&lt;br /&gt;
|-&lt;br /&gt;
| [[#0x79A Combination switch (lighting and turn)|0x79A]] || 0x7AA || KWP || Combination switch (lighting and turn) || 37210-74PA / 37210-74PE* || Parts catalogue (37210-74PE2)&lt;br /&gt;
|-&lt;br /&gt;
| [[#0x778 Dual sensor brake support (inferred)|0x778]] || 0x788 || KWP || Dual sensor brake support (inferred) || 33990-52R0 / 33990-78R8* || By elimination&lt;br /&gt;
|-&lt;br /&gt;
| [[#0x793 Airbag (SRS) controller|0x793]] || 0x7A3 || UDS || Airbag (SRS) controller || 38910-77R0 / 38910-78RC* || Parts catalogue (38910-78RC0)&lt;br /&gt;
|-&lt;br /&gt;
| [[#0x772 4WD shift controller|0x772]] || 0x782 || UDS || 4WD shift controller || 38885-77R0 / 38885-78R0* || Parts catalogue (38885-78R01)&lt;br /&gt;
|-&lt;br /&gt;
| [[#0x799 E-call controller|0x799]] || 0x7A9 || UDS || E-call controller || 38960-78RA / 38960-78RA* || Parts catalogue (38960-78RA0, RA1)&lt;br /&gt;
|-&lt;br /&gt;
| [[#0x751 Central gateway|0x751]] || 0x761 || UDS || Central gateway || 33580-79R0 / 33580-78R0* || Label (33580-79R01) and parts catalogue&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
Two more addresses, [[#Addresses probed with no reply|0x273 and 0x262]], were probed by the scan tool and did not answer.&lt;br /&gt;
&lt;br /&gt;
The names marked &amp;quot;inferred&amp;quot; are guesses from elimination and part-number series, not confirmed by a label or test.&lt;br /&gt;
&lt;br /&gt;
== 0x7E0 ECM ==&lt;br /&gt;
{{Models|JB74 (2018+, tested on 2021)|untested=JB64, JC74, JB43}}&lt;br /&gt;
&lt;br /&gt;
Request &amp;lt;code&amp;gt;0x7E0&amp;lt;/code&amp;gt;, reply &amp;lt;code&amp;gt;0x7E8&amp;lt;/code&amp;gt;. This is the standard OBD engine address, so standard mode 01 PIDs should be available here, but none were captured.&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! Request !! Reply !! Meaning&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;3E&amp;lt;/code&amp;gt; || &amp;lt;code&amp;gt;7E&amp;lt;/code&amp;gt; || Tester present (captured)&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;1A 8E&amp;lt;/code&amp;gt; || &amp;lt;code&amp;gt;5A 8E&amp;lt;/code&amp;gt; + ASCII &amp;lt;code&amp;gt;33980-78R0&amp;lt;/code&amp;gt; || ECU identification (captured)&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;1A 8A&amp;lt;/code&amp;gt; || &amp;lt;code&amp;gt;5A 8A&amp;lt;/code&amp;gt; + ASCII &amp;lt;code&amp;gt;33980-78RC*&amp;lt;/code&amp;gt; || ECU identification (captured)&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;18 00 FF 00&amp;lt;/code&amp;gt; || &amp;lt;code&amp;gt;58 00&amp;lt;/code&amp;gt; || Read DTCs by status: none stored (captured)&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== 0x261 ABS (inferred) ==&lt;br /&gt;
Request &amp;lt;code&amp;gt;0x261&amp;lt;/code&amp;gt;, reply &amp;lt;code&amp;gt;0x661&amp;lt;/code&amp;gt;. 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.&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! Request !! Reply !! Meaning&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;3E&amp;lt;/code&amp;gt; || &amp;lt;code&amp;gt;7E&amp;lt;/code&amp;gt; || Tester present (captured)&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;1A 8E&amp;lt;/code&amp;gt; || &amp;lt;code&amp;gt;5A 8E&amp;lt;/code&amp;gt; + ASCII &amp;lt;code&amp;gt;56100-77RA&amp;lt;/code&amp;gt; || ECU identification (captured)&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;1A 8A&amp;lt;/code&amp;gt; || &amp;lt;code&amp;gt;5A 8A&amp;lt;/code&amp;gt; + ASCII &amp;lt;code&amp;gt;56100-78RF*&amp;lt;/code&amp;gt; || ECU identification (captured)&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;18 00 FF 00&amp;lt;/code&amp;gt; || &amp;lt;code&amp;gt;58 00&amp;lt;/code&amp;gt; || DTCs: none stored (captured)&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== 0x263 EPS controller ==&lt;br /&gt;
Request &amp;lt;code&amp;gt;0x263&amp;lt;/code&amp;gt;, reply &amp;lt;code&amp;gt;0x663&amp;lt;/code&amp;gt;. Matches parts catalogue entry 38720-77R01 (EPS controller).&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! Request !! Reply !! Meaning&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;3E&amp;lt;/code&amp;gt; || &amp;lt;code&amp;gt;7E&amp;lt;/code&amp;gt; || Tester present (captured)&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;1A 8E&amp;lt;/code&amp;gt; || &amp;lt;code&amp;gt;5A 8E&amp;lt;/code&amp;gt; + ASCII &amp;lt;code&amp;gt;38720-77R0&amp;lt;/code&amp;gt; || ECU identification (captured)&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;1A 8A&amp;lt;/code&amp;gt; || &amp;lt;code&amp;gt;5A 8A&amp;lt;/code&amp;gt; + ASCII &amp;lt;code&amp;gt;38720-77R0*&amp;lt;/code&amp;gt; || ECU identification (captured)&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;18 00 FF 00&amp;lt;/code&amp;gt; || &amp;lt;code&amp;gt;58 00&amp;lt;/code&amp;gt; || DTCs: none stored (captured)&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== 0x271 Body control module ==&lt;br /&gt;
Request &amp;lt;code&amp;gt;0x271&amp;lt;/code&amp;gt;, reply &amp;lt;code&amp;gt;0x671&amp;lt;/code&amp;gt;. Matches parts catalogue entries 36775-77RC2 to RC4 (body control module, RHD).&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! Request !! Reply !! Meaning&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;3E&amp;lt;/code&amp;gt; || &amp;lt;code&amp;gt;7E&amp;lt;/code&amp;gt; || Tester present (captured)&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;1A 8E&amp;lt;/code&amp;gt; || &amp;lt;code&amp;gt;5A 8E&amp;lt;/code&amp;gt; + ASCII &amp;lt;code&amp;gt;36775-77R0&amp;lt;/code&amp;gt; || ECU identification (captured)&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;1A 8A&amp;lt;/code&amp;gt; || &amp;lt;code&amp;gt;5A 8A&amp;lt;/code&amp;gt; + ASCII &amp;lt;code&amp;gt;36775-77RC*&amp;lt;/code&amp;gt; || ECU identification (captured)&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;18 00 FF 00&amp;lt;/code&amp;gt; || &amp;lt;code&amp;gt;58 00&amp;lt;/code&amp;gt; || DTCs: none stored (captured)&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== 0x274 Instrument cluster ==&lt;br /&gt;
Request &amp;lt;code&amp;gt;0x274&amp;lt;/code&amp;gt;, reply &amp;lt;code&amp;gt;0x674&amp;lt;/code&amp;gt;. Confirmed by the rev counter sweep test.&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! Request !! Reply !! Meaning&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;3E&amp;lt;/code&amp;gt; or &amp;lt;code&amp;gt;3E 00&amp;lt;/code&amp;gt; || &amp;lt;code&amp;gt;7E&amp;lt;/code&amp;gt; || Tester present, about every 2.15 s during the sweep test (captured)&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;1A 8E&amp;lt;/code&amp;gt; || &amp;lt;code&amp;gt;5A 8E&amp;lt;/code&amp;gt; + ASCII &amp;lt;code&amp;gt;34100-78R0&amp;lt;/code&amp;gt; || ECU identification (captured)&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;1A 8A&amp;lt;/code&amp;gt; || &amp;lt;code&amp;gt;5A 8A&amp;lt;/code&amp;gt; + ASCII &amp;lt;code&amp;gt;34110-78RD*&amp;lt;/code&amp;gt; (last byte of the reply is &amp;lt;code&amp;gt;06&amp;lt;/code&amp;gt;) || ECU identification (captured)&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;18 00 FF 00&amp;lt;/code&amp;gt; || &amp;lt;code&amp;gt;58 00&amp;lt;/code&amp;gt; || DTCs: none stored (captured)&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;30 01 07 80 40 00 00&amp;lt;/code&amp;gt; || &amp;lt;code&amp;gt;70 01 07&amp;lt;/code&amp;gt; || Starts the rev counter sweep (service 0x30, local ID 01, &amp;quot;short-term adjustment&amp;quot;). The cluster then sweeps up and down by itself (captured)&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;30 01 07 80 00 00 00&amp;lt;/code&amp;gt; || &amp;lt;code&amp;gt;7F 30 22&amp;lt;/code&amp;gt; || Refused (&amp;quot;conditions not correct&amp;quot;). Possibly a stop request sent after the sweep had finished (captured)&lt;br /&gt;
|}&lt;br /&gt;
The meaning of the four control bytes (&amp;lt;code&amp;gt;80 40 00 00&amp;lt;/code&amp;gt;) is not known. Other output tests (gauges, warning lights) have not been captured.&lt;br /&gt;
&lt;br /&gt;
== 0x798 TPMS controller ==&lt;br /&gt;
Request &amp;lt;code&amp;gt;0x798&amp;lt;/code&amp;gt;, reply &amp;lt;code&amp;gt;0x7A8&amp;lt;/code&amp;gt;. The label on the module reads 37160-78R00, &amp;quot;BASE ASSY-TPMS&amp;quot;, Model No. P61M0 (Continental A2C13930301, 433.92 MHz). The full data layout, calibration and app setups are on [[OBD2 Diagnostics reading project]].&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! Request !! Reply !! Meaning&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;3E&amp;lt;/code&amp;gt; || &amp;lt;code&amp;gt;7E&amp;lt;/code&amp;gt; || Tester present (captured)&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;1A 8E&amp;lt;/code&amp;gt; || &amp;lt;code&amp;gt;5A 8E&amp;lt;/code&amp;gt; + ASCII &amp;lt;code&amp;gt;37160-61M0&amp;lt;/code&amp;gt; || ECU identification; matches Model No. P61M0 on the label (captured)&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;1A 8A&amp;lt;/code&amp;gt; || &amp;lt;code&amp;gt;5A 8A&amp;lt;/code&amp;gt; + ASCII &amp;lt;code&amp;gt;37120-78R0*&amp;lt;/code&amp;gt; || ECU identification (captured)&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;18 00 FF 00&amp;lt;/code&amp;gt; || &amp;lt;code&amp;gt;58 00&amp;lt;/code&amp;gt; (no codes) or &amp;lt;code&amp;gt;58 01 9A 31 20&amp;lt;/code&amp;gt; (one code) || DTCs by status. The code &amp;lt;code&amp;gt;9A 31&amp;lt;/code&amp;gt; is probably the left front low pressure warning (inferred). The status byte was &amp;lt;code&amp;gt;20&amp;lt;/code&amp;gt; in the full scan and &amp;lt;code&amp;gt;E0&amp;lt;/code&amp;gt; in earlier captures (captured)&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;21 00&amp;lt;/code&amp;gt; || &amp;lt;code&amp;gt;61 00&amp;lt;/code&amp;gt; + 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)&lt;br /&gt;
|}&lt;br /&gt;
ELM327 setup that works for &amp;lt;code&amp;gt;21 00&amp;lt;/code&amp;gt;: &amp;lt;code&amp;gt;ATSH798&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;ATS0&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;ATL0&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;ATFCSH798&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;ATFCSD300000&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;ATFCSM1&amp;lt;/code&amp;gt;, then &amp;lt;code&amp;gt;2100&amp;lt;/code&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
== 0x79A Combination switch (lighting and turn) ==&lt;br /&gt;
Request &amp;lt;code&amp;gt;0x79A&amp;lt;/code&amp;gt;, reply &amp;lt;code&amp;gt;0x7AA&amp;lt;/code&amp;gt;. Matches parts catalogue entry 37210-74PE2 (switch assembly, lighting and turn, RHD).&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! Request !! Reply !! Meaning&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;3E&amp;lt;/code&amp;gt; || &amp;lt;code&amp;gt;7E&amp;lt;/code&amp;gt; || Tester present (captured)&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;1A 8E&amp;lt;/code&amp;gt; || &amp;lt;code&amp;gt;5A 8E&amp;lt;/code&amp;gt; + ASCII &amp;lt;code&amp;gt;37210-74PA&amp;lt;/code&amp;gt; || ECU identification (captured)&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;1A 8A&amp;lt;/code&amp;gt; || &amp;lt;code&amp;gt;5A 8A&amp;lt;/code&amp;gt; + ASCII &amp;lt;code&amp;gt;37210-74PE*&amp;lt;/code&amp;gt; || ECU identification (captured)&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;18 00 FF 00&amp;lt;/code&amp;gt; || &amp;lt;code&amp;gt;58 00&amp;lt;/code&amp;gt; || DTCs: none stored (captured)&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== 0x778 Dual sensor brake support (inferred) ==&lt;br /&gt;
Request &amp;lt;code&amp;gt;0x778&amp;lt;/code&amp;gt;, reply &amp;lt;code&amp;gt;0x788&amp;lt;/code&amp;gt;. The name is inferred by elimination (the scan report&#039;s last unassigned module). Not confirmed.&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! Request !! Reply !! Meaning&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;3E&amp;lt;/code&amp;gt; || &amp;lt;code&amp;gt;7E&amp;lt;/code&amp;gt; || Tester present (captured)&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;1A 8E&amp;lt;/code&amp;gt; || &amp;lt;code&amp;gt;5A 8E&amp;lt;/code&amp;gt; + ASCII &amp;lt;code&amp;gt;33990-52R0&amp;lt;/code&amp;gt; || ECU identification (captured)&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;1A 8A&amp;lt;/code&amp;gt; || &amp;lt;code&amp;gt;5A 8A&amp;lt;/code&amp;gt; + ASCII &amp;lt;code&amp;gt;33990-78R8*&amp;lt;/code&amp;gt; || ECU identification (captured)&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;18 00 FF 00&amp;lt;/code&amp;gt; || &amp;lt;code&amp;gt;58 00&amp;lt;/code&amp;gt; || DTCs: none stored (captured)&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== 0x793 Airbag (SRS) controller ==&lt;br /&gt;
Request &amp;lt;code&amp;gt;0x793&amp;lt;/code&amp;gt;, reply &amp;lt;code&amp;gt;0x7A3&amp;lt;/code&amp;gt;. Matches parts catalogue entry 38910-78RC0 (airbag controller, VAN).&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! Request !! Reply !! Meaning&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;3E 00&amp;lt;/code&amp;gt; || &amp;lt;code&amp;gt;7E 00&amp;lt;/code&amp;gt; || Tester present (captured)&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;22 F1 01&amp;lt;/code&amp;gt; || &amp;lt;code&amp;gt;62 F1 01&amp;lt;/code&amp;gt; + ASCII &amp;lt;code&amp;gt;38910-77R0&amp;lt;/code&amp;gt; || Identification (captured)&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;22 F1 88&amp;lt;/code&amp;gt; || &amp;lt;code&amp;gt;62 F1 88&amp;lt;/code&amp;gt; + ASCII &amp;lt;code&amp;gt;38910-78RC*&amp;lt;/code&amp;gt; || Identification (captured)&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;19 02 FF&amp;lt;/code&amp;gt; || &amp;lt;code&amp;gt;59 02 4B&amp;lt;/code&amp;gt; || DTCs by status mask: none stored (captured)&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== 0x772 4WD shift controller ==&lt;br /&gt;
Request &amp;lt;code&amp;gt;0x772&amp;lt;/code&amp;gt;, reply &amp;lt;code&amp;gt;0x782&amp;lt;/code&amp;gt;. Matches parts catalogue entry 38885-78R01 (4WD shift controller).&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! Request !! Reply !! Meaning&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;3E&amp;lt;/code&amp;gt; || &amp;lt;code&amp;gt;7F 3E 13&amp;lt;/code&amp;gt; || Refused: incorrect message length. Sent four times by the scan tool (captured)&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;3E 01&amp;lt;/code&amp;gt; || &amp;lt;code&amp;gt;7F 3E 12&amp;lt;/code&amp;gt; || Refused: sub-function not supported. Sent four times (captured)&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;3E 00&amp;lt;/code&amp;gt; || &amp;lt;code&amp;gt;7E 00&amp;lt;/code&amp;gt; || Tester present (captured)&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;22 F1 01&amp;lt;/code&amp;gt; || &amp;lt;code&amp;gt;62 F1 01&amp;lt;/code&amp;gt; + ASCII &amp;lt;code&amp;gt;38885-77R0&amp;lt;/code&amp;gt; || Identification (captured)&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;22 F1 88&amp;lt;/code&amp;gt; || &amp;lt;code&amp;gt;62 F1 88&amp;lt;/code&amp;gt; + ASCII &amp;lt;code&amp;gt;38885-78R0*&amp;lt;/code&amp;gt; || Identification (captured)&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;19 02 FF&amp;lt;/code&amp;gt; || &amp;lt;code&amp;gt;59 02 4B&amp;lt;/code&amp;gt; || DTCs by status mask: none stored (captured)&lt;br /&gt;
|}&lt;br /&gt;
The scan tool tried the KWP-style &amp;lt;code&amp;gt;3E&amp;lt;/code&amp;gt; first and fell back to the UDS form &amp;lt;code&amp;gt;3E 00&amp;lt;/code&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
== 0x799 E-call controller ==&lt;br /&gt;
Request &amp;lt;code&amp;gt;0x799&amp;lt;/code&amp;gt;, reply &amp;lt;code&amp;gt;0x7A9&amp;lt;/code&amp;gt;. Matches parts catalogue entries 38960-78RA0 and RA1 (E-call controller).&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! Request !! Reply !! Meaning&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;3E&amp;lt;/code&amp;gt; || &amp;lt;code&amp;gt;7F 3E 13&amp;lt;/code&amp;gt; || Refused: incorrect message length. Sent four times (captured)&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;3E 01&amp;lt;/code&amp;gt; || &amp;lt;code&amp;gt;7F 3E 12&amp;lt;/code&amp;gt; || Refused: sub-function not supported. Sent four times (captured)&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;3E 00&amp;lt;/code&amp;gt; || &amp;lt;code&amp;gt;7E 00&amp;lt;/code&amp;gt; || Tester present (captured)&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;22 F1 01&amp;lt;/code&amp;gt; || &amp;lt;code&amp;gt;62 F1 01&amp;lt;/code&amp;gt; + ASCII &amp;lt;code&amp;gt;38960-78RA&amp;lt;/code&amp;gt; || Identification (captured)&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;22 F1 88&amp;lt;/code&amp;gt; || &amp;lt;code&amp;gt;62 F1 88&amp;lt;/code&amp;gt; + ASCII &amp;lt;code&amp;gt;38960-78RA*&amp;lt;/code&amp;gt; || Identification (captured)&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;19 02 FF&amp;lt;/code&amp;gt; || &amp;lt;code&amp;gt;59 02 4B 92 4E 00 02&amp;lt;/code&amp;gt; || One stored code record: &amp;lt;code&amp;gt;92 4E 00&amp;lt;/code&amp;gt;, status &amp;lt;code&amp;gt;02&amp;lt;/code&amp;gt;. The Launch report does not list it and its meaning is not known (captured)&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== 0x751 Central gateway ==&lt;br /&gt;
Request &amp;lt;code&amp;gt;0x751&amp;lt;/code&amp;gt;, reply &amp;lt;code&amp;gt;0x761&amp;lt;/code&amp;gt;. The label on the module reads 33580-79R01.&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! Request !! Reply !! Meaning&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;3E 00&amp;lt;/code&amp;gt; || &amp;lt;code&amp;gt;7E 00&amp;lt;/code&amp;gt; || Tester present (captured)&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;22 F1 01&amp;lt;/code&amp;gt; || &amp;lt;code&amp;gt;62 F1 01&amp;lt;/code&amp;gt; + ASCII &amp;lt;code&amp;gt;33580-79R0&amp;lt;/code&amp;gt; || Identification (captured)&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;22 F1 88&amp;lt;/code&amp;gt; || &amp;lt;code&amp;gt;62 F1 88&amp;lt;/code&amp;gt; + ASCII &amp;lt;code&amp;gt;33580-78R0*&amp;lt;/code&amp;gt; || Identification (captured)&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;19 02 FF&amp;lt;/code&amp;gt; || &amp;lt;code&amp;gt;59 02 4B&amp;lt;/code&amp;gt; || DTCs by status mask: none stored (captured)&lt;br /&gt;
|}&lt;br /&gt;
The gateway sits between the OBD socket and the vehicle CAN bus. Whether it forwards requests to the other modules unchanged is not confirmed.&lt;br /&gt;
&lt;br /&gt;
== Addresses probed with no reply ==&lt;br /&gt;
The scan tool sent tester-present (&amp;lt;code&amp;gt;3E&amp;lt;/code&amp;gt;) about eight times each to &amp;lt;code&amp;gt;0x273&amp;lt;/code&amp;gt; and &amp;lt;code&amp;gt;0x262&amp;lt;/code&amp;gt; and received nothing from the expected reply IDs (&amp;lt;code&amp;gt;0x673&amp;lt;/code&amp;gt; and &amp;lt;code&amp;gt;0x662&amp;lt;/code&amp;gt;). They are probably modules this car does not have, such as an automatic transmission or auto-levelling controller. This is a guess.&lt;br /&gt;
&lt;br /&gt;
== ELM327 notes ==&lt;br /&gt;
* Only &amp;lt;code&amp;gt;0x798&amp;lt;/code&amp;gt; has been tested with an ELM327. For other modules, set &amp;lt;code&amp;gt;ATSH&amp;lt;/code&amp;gt; to the request ID and &amp;lt;code&amp;gt;ATFCSH&amp;lt;/code&amp;gt; to the same ID, and you may need &amp;lt;code&amp;gt;ATCRA&amp;lt;/code&amp;gt; with the reply ID, because the reply is not always the request ID plus 8. This is untested.&lt;br /&gt;
* 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.&lt;br /&gt;
* Do not send output-control commands (service &amp;lt;code&amp;gt;30&amp;lt;/code&amp;gt; and similar) from a head-unit app while driving.&lt;br /&gt;
&lt;br /&gt;
== Sources ==&lt;br /&gt;
* Owner PCAN-View captures of a Launch X431 CRP919 full health-check scan and rev counter sweep test, October 2026.&lt;br /&gt;
* Suzuki Jimny parts catalogue 9900B-40312-004 (type 1, October 2021), figures 350A, 351A and 351B.&lt;br /&gt;
* Labels on the TPMS controller and central gateway of the test car.&lt;br /&gt;
&lt;br /&gt;
[[Category:Electrical - gen4]]&lt;/div&gt;</summary>
		<author><name>Mlines</name></author>
	</entry>
	<entry>
		<id>https://www.bigjimny.com/mediawiki/index.php?title=ECU_diagnostic_CAN_addresses&amp;diff=10065</id>
		<title>ECU diagnostic CAN addresses</title>
		<link rel="alternate" type="text/html" href="https://www.bigjimny.com/mediawiki/index.php?title=ECU_diagnostic_CAN_addresses&amp;diff=10065"/>
		<updated>2026-11-01T10:25:25Z</updated>

		<summary type="html">&lt;p&gt;Mlines: /* 0x7E0 ECM */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&amp;lt;div style=&amp;quot;border: 1px solid #c9a227; background-color: #fff8dc; padding: 0.6em 1em; margin: 0 0 1em 0; border-radius: 4px;&amp;quot;&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;Support this project:&#039;&#039;&#039; 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 [https://buymeacoffee.com/bigjimny buymeacoffee.com/bigjimny].&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
= Suzuki Jimny JB74 - CAN bus devices and the commands they answer =&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Status:&#039;&#039;&#039; 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.&lt;br /&gt;
&lt;br /&gt;
== How to read this page ==&lt;br /&gt;
* All IDs are 11-bit CAN IDs on the OBD socket (pins 6 and 14, 500 kbit/s). The &amp;quot;request ID&amp;quot; is the header a tool sends to; the &amp;quot;reply ID&amp;quot; is where the module answers.&lt;br /&gt;
* 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.&lt;br /&gt;
* &#039;&#039;&#039;KWP-style&#039;&#039;&#039; modules use services such as &amp;lt;code&amp;gt;1A&amp;lt;/code&amp;gt; (read ECU identification) and &amp;lt;code&amp;gt;18&amp;lt;/code&amp;gt; (read DTCs by status). &#039;&#039;&#039;UDS-style&#039;&#039;&#039; modules use &amp;lt;code&amp;gt;22&amp;lt;/code&amp;gt; (read data by identifier) and &amp;lt;code&amp;gt;19&amp;lt;/code&amp;gt; (read DTCs).&lt;br /&gt;
* 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.&lt;br /&gt;
* Identification strings are ASCII Suzuki part numbers. The first one in each module (&amp;lt;code&amp;gt;1A 8E&amp;lt;/code&amp;gt; or &amp;lt;code&amp;gt;22 F1 01&amp;lt;/code&amp;gt;) has no trailing character; the second (&amp;lt;code&amp;gt;1A 8A&amp;lt;/code&amp;gt; or &amp;lt;code&amp;gt;22 F1 88&amp;lt;/code&amp;gt;) ends in &amp;lt;code&amp;gt;*&amp;lt;/code&amp;gt;. They do not always equal the number printed on the module&#039;s label.&lt;br /&gt;
* Commands marked &#039;&#039;captured&#039;&#039; were seen in a trace. Nothing here has been sent to a module by us except the TPMS requests.&lt;br /&gt;
&lt;br /&gt;
== Device table ==&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! Request ID !! Reply ID !! Style !! Module !! Identification reply (first / second) !! How the module was identified&lt;br /&gt;
|-&lt;br /&gt;
| [[#0x7E0 ECM|0x7E0]] || 0x7E8 || KWP || ECM || 33980-78R0 / 33980-78RC* || Standard engine address&lt;br /&gt;
|-&lt;br /&gt;
| [[#0x261 ABS (inferred)|0x261]] || 0x661 || KWP || ABS (inferred) || 56100-77RA / 56100-78RF* || Only brake module left by elimination&lt;br /&gt;
|-&lt;br /&gt;
| [[#0x263 EPS controller|0x263]] || 0x663 || KWP || EPS controller || 38720-77R0 / 38720-77R0* || Parts catalogue (38720-77R01)&lt;br /&gt;
|-&lt;br /&gt;
| [[#0x271 Body control module|0x271]] || 0x671 || KWP || Body control module || 36775-77R0 / 36775-77RC* || Parts catalogue (36775-77RC2 to RC4)&lt;br /&gt;
|-&lt;br /&gt;
| [[#0x274 Instrument cluster|0x274]] || 0x674 || KWP || Instrument cluster || 34100-78R0 / 34110-78RD* || Rev counter sweep test&lt;br /&gt;
|-&lt;br /&gt;
| [[#0x798 TPMS controller|0x798]] || 0x7A8 || KWP || TPMS controller || 37160-61M0 / 37120-78R0* || Label (Model No. P61M0) and parts catalogue&lt;br /&gt;
|-&lt;br /&gt;
| [[#0x79A Combination switch (lighting and turn)|0x79A]] || 0x7AA || KWP || Combination switch (lighting and turn) || 37210-74PA / 37210-74PE* || Parts catalogue (37210-74PE2)&lt;br /&gt;
|-&lt;br /&gt;
| [[#0x778 Dual sensor brake support (inferred)|0x778]] || 0x788 || KWP || Dual sensor brake support (inferred) || 33990-52R0 / 33990-78R8* || By elimination&lt;br /&gt;
|-&lt;br /&gt;
| [[#0x793 Airbag (SRS) controller|0x793]] || 0x7A3 || UDS || Airbag (SRS) controller || 38910-77R0 / 38910-78RC* || Parts catalogue (38910-78RC0)&lt;br /&gt;
|-&lt;br /&gt;
| [[#0x772 4WD shift controller|0x772]] || 0x782 || UDS || 4WD shift controller || 38885-77R0 / 38885-78R0* || Parts catalogue (38885-78R01)&lt;br /&gt;
|-&lt;br /&gt;
| [[#0x799 E-call controller|0x799]] || 0x7A9 || UDS || E-call controller || 38960-78RA / 38960-78RA* || Parts catalogue (38960-78RA0, RA1)&lt;br /&gt;
|-&lt;br /&gt;
| [[#0x751 Central gateway|0x751]] || 0x761 || UDS || Central gateway || 33580-79R0 / 33580-78R0* || Label (33580-79R01) and parts catalogue&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
Two more addresses, [[#Addresses probed with no reply|0x273 and 0x262]], were probed by the scan tool and did not answer.&lt;br /&gt;
&lt;br /&gt;
The names marked &amp;quot;inferred&amp;quot; are guesses from elimination and part-number series, not confirmed by a label or test.&lt;br /&gt;
&lt;br /&gt;
== 0x7E0 ECM ==&lt;br /&gt;
{{Models|JB74 (2018+, tested on 2021)|untested=JB64, JC74}}&lt;br /&gt;
&lt;br /&gt;
Request &amp;lt;code&amp;gt;0x7E0&amp;lt;/code&amp;gt;, reply &amp;lt;code&amp;gt;0x7E8&amp;lt;/code&amp;gt;. This is the standard OBD engine address, so standard mode 01 PIDs should be available here, but none were captured.&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! Request !! Reply !! Meaning&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;3E&amp;lt;/code&amp;gt; || &amp;lt;code&amp;gt;7E&amp;lt;/code&amp;gt; || Tester present (captured)&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;1A 8E&amp;lt;/code&amp;gt; || &amp;lt;code&amp;gt;5A 8E&amp;lt;/code&amp;gt; + ASCII &amp;lt;code&amp;gt;33980-78R0&amp;lt;/code&amp;gt; || ECU identification (captured)&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;1A 8A&amp;lt;/code&amp;gt; || &amp;lt;code&amp;gt;5A 8A&amp;lt;/code&amp;gt; + ASCII &amp;lt;code&amp;gt;33980-78RC*&amp;lt;/code&amp;gt; || ECU identification (captured)&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;18 00 FF 00&amp;lt;/code&amp;gt; || &amp;lt;code&amp;gt;58 00&amp;lt;/code&amp;gt; || Read DTCs by status: none stored (captured)&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== 0x261 ABS (inferred) ==&lt;br /&gt;
Request &amp;lt;code&amp;gt;0x261&amp;lt;/code&amp;gt;, reply &amp;lt;code&amp;gt;0x661&amp;lt;/code&amp;gt;. 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.&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! Request !! Reply !! Meaning&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;3E&amp;lt;/code&amp;gt; || &amp;lt;code&amp;gt;7E&amp;lt;/code&amp;gt; || Tester present (captured)&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;1A 8E&amp;lt;/code&amp;gt; || &amp;lt;code&amp;gt;5A 8E&amp;lt;/code&amp;gt; + ASCII &amp;lt;code&amp;gt;56100-77RA&amp;lt;/code&amp;gt; || ECU identification (captured)&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;1A 8A&amp;lt;/code&amp;gt; || &amp;lt;code&amp;gt;5A 8A&amp;lt;/code&amp;gt; + ASCII &amp;lt;code&amp;gt;56100-78RF*&amp;lt;/code&amp;gt; || ECU identification (captured)&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;18 00 FF 00&amp;lt;/code&amp;gt; || &amp;lt;code&amp;gt;58 00&amp;lt;/code&amp;gt; || DTCs: none stored (captured)&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== 0x263 EPS controller ==&lt;br /&gt;
Request &amp;lt;code&amp;gt;0x263&amp;lt;/code&amp;gt;, reply &amp;lt;code&amp;gt;0x663&amp;lt;/code&amp;gt;. Matches parts catalogue entry 38720-77R01 (EPS controller).&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! Request !! Reply !! Meaning&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;3E&amp;lt;/code&amp;gt; || &amp;lt;code&amp;gt;7E&amp;lt;/code&amp;gt; || Tester present (captured)&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;1A 8E&amp;lt;/code&amp;gt; || &amp;lt;code&amp;gt;5A 8E&amp;lt;/code&amp;gt; + ASCII &amp;lt;code&amp;gt;38720-77R0&amp;lt;/code&amp;gt; || ECU identification (captured)&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;1A 8A&amp;lt;/code&amp;gt; || &amp;lt;code&amp;gt;5A 8A&amp;lt;/code&amp;gt; + ASCII &amp;lt;code&amp;gt;38720-77R0*&amp;lt;/code&amp;gt; || ECU identification (captured)&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;18 00 FF 00&amp;lt;/code&amp;gt; || &amp;lt;code&amp;gt;58 00&amp;lt;/code&amp;gt; || DTCs: none stored (captured)&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== 0x271 Body control module ==&lt;br /&gt;
Request &amp;lt;code&amp;gt;0x271&amp;lt;/code&amp;gt;, reply &amp;lt;code&amp;gt;0x671&amp;lt;/code&amp;gt;. Matches parts catalogue entries 36775-77RC2 to RC4 (body control module, RHD).&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! Request !! Reply !! Meaning&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;3E&amp;lt;/code&amp;gt; || &amp;lt;code&amp;gt;7E&amp;lt;/code&amp;gt; || Tester present (captured)&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;1A 8E&amp;lt;/code&amp;gt; || &amp;lt;code&amp;gt;5A 8E&amp;lt;/code&amp;gt; + ASCII &amp;lt;code&amp;gt;36775-77R0&amp;lt;/code&amp;gt; || ECU identification (captured)&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;1A 8A&amp;lt;/code&amp;gt; || &amp;lt;code&amp;gt;5A 8A&amp;lt;/code&amp;gt; + ASCII &amp;lt;code&amp;gt;36775-77RC*&amp;lt;/code&amp;gt; || ECU identification (captured)&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;18 00 FF 00&amp;lt;/code&amp;gt; || &amp;lt;code&amp;gt;58 00&amp;lt;/code&amp;gt; || DTCs: none stored (captured)&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== 0x274 Instrument cluster ==&lt;br /&gt;
Request &amp;lt;code&amp;gt;0x274&amp;lt;/code&amp;gt;, reply &amp;lt;code&amp;gt;0x674&amp;lt;/code&amp;gt;. Confirmed by the rev counter sweep test.&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! Request !! Reply !! Meaning&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;3E&amp;lt;/code&amp;gt; or &amp;lt;code&amp;gt;3E 00&amp;lt;/code&amp;gt; || &amp;lt;code&amp;gt;7E&amp;lt;/code&amp;gt; || Tester present, about every 2.15 s during the sweep test (captured)&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;1A 8E&amp;lt;/code&amp;gt; || &amp;lt;code&amp;gt;5A 8E&amp;lt;/code&amp;gt; + ASCII &amp;lt;code&amp;gt;34100-78R0&amp;lt;/code&amp;gt; || ECU identification (captured)&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;1A 8A&amp;lt;/code&amp;gt; || &amp;lt;code&amp;gt;5A 8A&amp;lt;/code&amp;gt; + ASCII &amp;lt;code&amp;gt;34110-78RD*&amp;lt;/code&amp;gt; (last byte of the reply is &amp;lt;code&amp;gt;06&amp;lt;/code&amp;gt;) || ECU identification (captured)&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;18 00 FF 00&amp;lt;/code&amp;gt; || &amp;lt;code&amp;gt;58 00&amp;lt;/code&amp;gt; || DTCs: none stored (captured)&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;30 01 07 80 40 00 00&amp;lt;/code&amp;gt; || &amp;lt;code&amp;gt;70 01 07&amp;lt;/code&amp;gt; || Starts the rev counter sweep (service 0x30, local ID 01, &amp;quot;short-term adjustment&amp;quot;). The cluster then sweeps up and down by itself (captured)&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;30 01 07 80 00 00 00&amp;lt;/code&amp;gt; || &amp;lt;code&amp;gt;7F 30 22&amp;lt;/code&amp;gt; || Refused (&amp;quot;conditions not correct&amp;quot;). Possibly a stop request sent after the sweep had finished (captured)&lt;br /&gt;
|}&lt;br /&gt;
The meaning of the four control bytes (&amp;lt;code&amp;gt;80 40 00 00&amp;lt;/code&amp;gt;) is not known. Other output tests (gauges, warning lights) have not been captured.&lt;br /&gt;
&lt;br /&gt;
== 0x798 TPMS controller ==&lt;br /&gt;
Request &amp;lt;code&amp;gt;0x798&amp;lt;/code&amp;gt;, reply &amp;lt;code&amp;gt;0x7A8&amp;lt;/code&amp;gt;. The label on the module reads 37160-78R00, &amp;quot;BASE ASSY-TPMS&amp;quot;, Model No. P61M0 (Continental A2C13930301, 433.92 MHz). The full data layout, calibration and app setups are on [[OBD2 Diagnostics reading project]].&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! Request !! Reply !! Meaning&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;3E&amp;lt;/code&amp;gt; || &amp;lt;code&amp;gt;7E&amp;lt;/code&amp;gt; || Tester present (captured)&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;1A 8E&amp;lt;/code&amp;gt; || &amp;lt;code&amp;gt;5A 8E&amp;lt;/code&amp;gt; + ASCII &amp;lt;code&amp;gt;37160-61M0&amp;lt;/code&amp;gt; || ECU identification; matches Model No. P61M0 on the label (captured)&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;1A 8A&amp;lt;/code&amp;gt; || &amp;lt;code&amp;gt;5A 8A&amp;lt;/code&amp;gt; + ASCII &amp;lt;code&amp;gt;37120-78R0*&amp;lt;/code&amp;gt; || ECU identification (captured)&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;18 00 FF 00&amp;lt;/code&amp;gt; || &amp;lt;code&amp;gt;58 00&amp;lt;/code&amp;gt; (no codes) or &amp;lt;code&amp;gt;58 01 9A 31 20&amp;lt;/code&amp;gt; (one code) || DTCs by status. The code &amp;lt;code&amp;gt;9A 31&amp;lt;/code&amp;gt; is probably the left front low pressure warning (inferred). The status byte was &amp;lt;code&amp;gt;20&amp;lt;/code&amp;gt; in the full scan and &amp;lt;code&amp;gt;E0&amp;lt;/code&amp;gt; in earlier captures (captured)&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;21 00&amp;lt;/code&amp;gt; || &amp;lt;code&amp;gt;61 00&amp;lt;/code&amp;gt; + 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)&lt;br /&gt;
|}&lt;br /&gt;
ELM327 setup that works for &amp;lt;code&amp;gt;21 00&amp;lt;/code&amp;gt;: &amp;lt;code&amp;gt;ATSH798&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;ATS0&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;ATL0&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;ATFCSH798&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;ATFCSD300000&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;ATFCSM1&amp;lt;/code&amp;gt;, then &amp;lt;code&amp;gt;2100&amp;lt;/code&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
== 0x79A Combination switch (lighting and turn) ==&lt;br /&gt;
Request &amp;lt;code&amp;gt;0x79A&amp;lt;/code&amp;gt;, reply &amp;lt;code&amp;gt;0x7AA&amp;lt;/code&amp;gt;. Matches parts catalogue entry 37210-74PE2 (switch assembly, lighting and turn, RHD).&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! Request !! Reply !! Meaning&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;3E&amp;lt;/code&amp;gt; || &amp;lt;code&amp;gt;7E&amp;lt;/code&amp;gt; || Tester present (captured)&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;1A 8E&amp;lt;/code&amp;gt; || &amp;lt;code&amp;gt;5A 8E&amp;lt;/code&amp;gt; + ASCII &amp;lt;code&amp;gt;37210-74PA&amp;lt;/code&amp;gt; || ECU identification (captured)&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;1A 8A&amp;lt;/code&amp;gt; || &amp;lt;code&amp;gt;5A 8A&amp;lt;/code&amp;gt; + ASCII &amp;lt;code&amp;gt;37210-74PE*&amp;lt;/code&amp;gt; || ECU identification (captured)&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;18 00 FF 00&amp;lt;/code&amp;gt; || &amp;lt;code&amp;gt;58 00&amp;lt;/code&amp;gt; || DTCs: none stored (captured)&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== 0x778 Dual sensor brake support (inferred) ==&lt;br /&gt;
Request &amp;lt;code&amp;gt;0x778&amp;lt;/code&amp;gt;, reply &amp;lt;code&amp;gt;0x788&amp;lt;/code&amp;gt;. The name is inferred by elimination (the scan report&#039;s last unassigned module). Not confirmed.&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! Request !! Reply !! Meaning&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;3E&amp;lt;/code&amp;gt; || &amp;lt;code&amp;gt;7E&amp;lt;/code&amp;gt; || Tester present (captured)&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;1A 8E&amp;lt;/code&amp;gt; || &amp;lt;code&amp;gt;5A 8E&amp;lt;/code&amp;gt; + ASCII &amp;lt;code&amp;gt;33990-52R0&amp;lt;/code&amp;gt; || ECU identification (captured)&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;1A 8A&amp;lt;/code&amp;gt; || &amp;lt;code&amp;gt;5A 8A&amp;lt;/code&amp;gt; + ASCII &amp;lt;code&amp;gt;33990-78R8*&amp;lt;/code&amp;gt; || ECU identification (captured)&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;18 00 FF 00&amp;lt;/code&amp;gt; || &amp;lt;code&amp;gt;58 00&amp;lt;/code&amp;gt; || DTCs: none stored (captured)&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== 0x793 Airbag (SRS) controller ==&lt;br /&gt;
Request &amp;lt;code&amp;gt;0x793&amp;lt;/code&amp;gt;, reply &amp;lt;code&amp;gt;0x7A3&amp;lt;/code&amp;gt;. Matches parts catalogue entry 38910-78RC0 (airbag controller, VAN).&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! Request !! Reply !! Meaning&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;3E 00&amp;lt;/code&amp;gt; || &amp;lt;code&amp;gt;7E 00&amp;lt;/code&amp;gt; || Tester present (captured)&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;22 F1 01&amp;lt;/code&amp;gt; || &amp;lt;code&amp;gt;62 F1 01&amp;lt;/code&amp;gt; + ASCII &amp;lt;code&amp;gt;38910-77R0&amp;lt;/code&amp;gt; || Identification (captured)&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;22 F1 88&amp;lt;/code&amp;gt; || &amp;lt;code&amp;gt;62 F1 88&amp;lt;/code&amp;gt; + ASCII &amp;lt;code&amp;gt;38910-78RC*&amp;lt;/code&amp;gt; || Identification (captured)&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;19 02 FF&amp;lt;/code&amp;gt; || &amp;lt;code&amp;gt;59 02 4B&amp;lt;/code&amp;gt; || DTCs by status mask: none stored (captured)&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== 0x772 4WD shift controller ==&lt;br /&gt;
Request &amp;lt;code&amp;gt;0x772&amp;lt;/code&amp;gt;, reply &amp;lt;code&amp;gt;0x782&amp;lt;/code&amp;gt;. Matches parts catalogue entry 38885-78R01 (4WD shift controller).&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! Request !! Reply !! Meaning&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;3E&amp;lt;/code&amp;gt; || &amp;lt;code&amp;gt;7F 3E 13&amp;lt;/code&amp;gt; || Refused: incorrect message length. Sent four times by the scan tool (captured)&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;3E 01&amp;lt;/code&amp;gt; || &amp;lt;code&amp;gt;7F 3E 12&amp;lt;/code&amp;gt; || Refused: sub-function not supported. Sent four times (captured)&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;3E 00&amp;lt;/code&amp;gt; || &amp;lt;code&amp;gt;7E 00&amp;lt;/code&amp;gt; || Tester present (captured)&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;22 F1 01&amp;lt;/code&amp;gt; || &amp;lt;code&amp;gt;62 F1 01&amp;lt;/code&amp;gt; + ASCII &amp;lt;code&amp;gt;38885-77R0&amp;lt;/code&amp;gt; || Identification (captured)&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;22 F1 88&amp;lt;/code&amp;gt; || &amp;lt;code&amp;gt;62 F1 88&amp;lt;/code&amp;gt; + ASCII &amp;lt;code&amp;gt;38885-78R0*&amp;lt;/code&amp;gt; || Identification (captured)&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;19 02 FF&amp;lt;/code&amp;gt; || &amp;lt;code&amp;gt;59 02 4B&amp;lt;/code&amp;gt; || DTCs by status mask: none stored (captured)&lt;br /&gt;
|}&lt;br /&gt;
The scan tool tried the KWP-style &amp;lt;code&amp;gt;3E&amp;lt;/code&amp;gt; first and fell back to the UDS form &amp;lt;code&amp;gt;3E 00&amp;lt;/code&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
== 0x799 E-call controller ==&lt;br /&gt;
Request &amp;lt;code&amp;gt;0x799&amp;lt;/code&amp;gt;, reply &amp;lt;code&amp;gt;0x7A9&amp;lt;/code&amp;gt;. Matches parts catalogue entries 38960-78RA0 and RA1 (E-call controller).&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! Request !! Reply !! Meaning&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;3E&amp;lt;/code&amp;gt; || &amp;lt;code&amp;gt;7F 3E 13&amp;lt;/code&amp;gt; || Refused: incorrect message length. Sent four times (captured)&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;3E 01&amp;lt;/code&amp;gt; || &amp;lt;code&amp;gt;7F 3E 12&amp;lt;/code&amp;gt; || Refused: sub-function not supported. Sent four times (captured)&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;3E 00&amp;lt;/code&amp;gt; || &amp;lt;code&amp;gt;7E 00&amp;lt;/code&amp;gt; || Tester present (captured)&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;22 F1 01&amp;lt;/code&amp;gt; || &amp;lt;code&amp;gt;62 F1 01&amp;lt;/code&amp;gt; + ASCII &amp;lt;code&amp;gt;38960-78RA&amp;lt;/code&amp;gt; || Identification (captured)&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;22 F1 88&amp;lt;/code&amp;gt; || &amp;lt;code&amp;gt;62 F1 88&amp;lt;/code&amp;gt; + ASCII &amp;lt;code&amp;gt;38960-78RA*&amp;lt;/code&amp;gt; || Identification (captured)&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;19 02 FF&amp;lt;/code&amp;gt; || &amp;lt;code&amp;gt;59 02 4B 92 4E 00 02&amp;lt;/code&amp;gt; || One stored code record: &amp;lt;code&amp;gt;92 4E 00&amp;lt;/code&amp;gt;, status &amp;lt;code&amp;gt;02&amp;lt;/code&amp;gt;. The Launch report does not list it and its meaning is not known (captured)&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== 0x751 Central gateway ==&lt;br /&gt;
Request &amp;lt;code&amp;gt;0x751&amp;lt;/code&amp;gt;, reply &amp;lt;code&amp;gt;0x761&amp;lt;/code&amp;gt;. The label on the module reads 33580-79R01.&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! Request !! Reply !! Meaning&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;3E 00&amp;lt;/code&amp;gt; || &amp;lt;code&amp;gt;7E 00&amp;lt;/code&amp;gt; || Tester present (captured)&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;22 F1 01&amp;lt;/code&amp;gt; || &amp;lt;code&amp;gt;62 F1 01&amp;lt;/code&amp;gt; + ASCII &amp;lt;code&amp;gt;33580-79R0&amp;lt;/code&amp;gt; || Identification (captured)&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;22 F1 88&amp;lt;/code&amp;gt; || &amp;lt;code&amp;gt;62 F1 88&amp;lt;/code&amp;gt; + ASCII &amp;lt;code&amp;gt;33580-78R0*&amp;lt;/code&amp;gt; || Identification (captured)&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;19 02 FF&amp;lt;/code&amp;gt; || &amp;lt;code&amp;gt;59 02 4B&amp;lt;/code&amp;gt; || DTCs by status mask: none stored (captured)&lt;br /&gt;
|}&lt;br /&gt;
The gateway sits between the OBD socket and the vehicle CAN bus. Whether it forwards requests to the other modules unchanged is not confirmed.&lt;br /&gt;
&lt;br /&gt;
== Addresses probed with no reply ==&lt;br /&gt;
The scan tool sent tester-present (&amp;lt;code&amp;gt;3E&amp;lt;/code&amp;gt;) about eight times each to &amp;lt;code&amp;gt;0x273&amp;lt;/code&amp;gt; and &amp;lt;code&amp;gt;0x262&amp;lt;/code&amp;gt; and received nothing from the expected reply IDs (&amp;lt;code&amp;gt;0x673&amp;lt;/code&amp;gt; and &amp;lt;code&amp;gt;0x662&amp;lt;/code&amp;gt;). They are probably modules this car does not have, such as an automatic transmission or auto-levelling controller. This is a guess.&lt;br /&gt;
&lt;br /&gt;
== ELM327 notes ==&lt;br /&gt;
* Only &amp;lt;code&amp;gt;0x798&amp;lt;/code&amp;gt; has been tested with an ELM327. For other modules, set &amp;lt;code&amp;gt;ATSH&amp;lt;/code&amp;gt; to the request ID and &amp;lt;code&amp;gt;ATFCSH&amp;lt;/code&amp;gt; to the same ID, and you may need &amp;lt;code&amp;gt;ATCRA&amp;lt;/code&amp;gt; with the reply ID, because the reply is not always the request ID plus 8. This is untested.&lt;br /&gt;
* 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.&lt;br /&gt;
* Do not send output-control commands (service &amp;lt;code&amp;gt;30&amp;lt;/code&amp;gt; and similar) from a head-unit app while driving.&lt;br /&gt;
&lt;br /&gt;
== Sources ==&lt;br /&gt;
* Owner PCAN-View captures of a Launch X431 CRP919 full health-check scan and rev counter sweep test, October 2026.&lt;br /&gt;
* Suzuki Jimny parts catalogue 9900B-40312-004 (type 1, October 2021), figures 350A, 351A and 351B.&lt;br /&gt;
* Labels on the TPMS controller and central gateway of the test car.&lt;br /&gt;
&lt;br /&gt;
[[Category:Electrical - gen4]]&lt;/div&gt;</summary>
		<author><name>Mlines</name></author>
	</entry>
	<entry>
		<id>https://www.bigjimny.com/mediawiki/index.php?title=ECU_diagnostic_CAN_addresses&amp;diff=10064</id>
		<title>ECU diagnostic CAN addresses</title>
		<link rel="alternate" type="text/html" href="https://www.bigjimny.com/mediawiki/index.php?title=ECU_diagnostic_CAN_addresses&amp;diff=10064"/>
		<updated>2026-11-01T10:16:24Z</updated>

		<summary type="html">&lt;p&gt;Mlines: /* 0x7E0 ECM */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&amp;lt;div style=&amp;quot;border: 1px solid #c9a227; background-color: #fff8dc; padding: 0.6em 1em; margin: 0 0 1em 0; border-radius: 4px;&amp;quot;&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;Support this project:&#039;&#039;&#039; 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 [https://buymeacoffee.com/bigjimny buymeacoffee.com/bigjimny].&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
= Suzuki Jimny JB74 - CAN bus devices and the commands they answer =&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Status:&#039;&#039;&#039; 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.&lt;br /&gt;
&lt;br /&gt;
== How to read this page ==&lt;br /&gt;
* All IDs are 11-bit CAN IDs on the OBD socket (pins 6 and 14, 500 kbit/s). The &amp;quot;request ID&amp;quot; is the header a tool sends to; the &amp;quot;reply ID&amp;quot; is where the module answers.&lt;br /&gt;
* 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.&lt;br /&gt;
* &#039;&#039;&#039;KWP-style&#039;&#039;&#039; modules use services such as &amp;lt;code&amp;gt;1A&amp;lt;/code&amp;gt; (read ECU identification) and &amp;lt;code&amp;gt;18&amp;lt;/code&amp;gt; (read DTCs by status). &#039;&#039;&#039;UDS-style&#039;&#039;&#039; modules use &amp;lt;code&amp;gt;22&amp;lt;/code&amp;gt; (read data by identifier) and &amp;lt;code&amp;gt;19&amp;lt;/code&amp;gt; (read DTCs).&lt;br /&gt;
* 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.&lt;br /&gt;
* Identification strings are ASCII Suzuki part numbers. The first one in each module (&amp;lt;code&amp;gt;1A 8E&amp;lt;/code&amp;gt; or &amp;lt;code&amp;gt;22 F1 01&amp;lt;/code&amp;gt;) has no trailing character; the second (&amp;lt;code&amp;gt;1A 8A&amp;lt;/code&amp;gt; or &amp;lt;code&amp;gt;22 F1 88&amp;lt;/code&amp;gt;) ends in &amp;lt;code&amp;gt;*&amp;lt;/code&amp;gt;. They do not always equal the number printed on the module&#039;s label.&lt;br /&gt;
* Commands marked &#039;&#039;captured&#039;&#039; were seen in a trace. Nothing here has been sent to a module by us except the TPMS requests.&lt;br /&gt;
&lt;br /&gt;
== Device table ==&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! Request ID !! Reply ID !! Style !! Module !! Identification reply (first / second) !! How the module was identified&lt;br /&gt;
|-&lt;br /&gt;
| [[#0x7E0 ECM|0x7E0]] || 0x7E8 || KWP || ECM || 33980-78R0 / 33980-78RC* || Standard engine address&lt;br /&gt;
|-&lt;br /&gt;
| [[#0x261 ABS (inferred)|0x261]] || 0x661 || KWP || ABS (inferred) || 56100-77RA / 56100-78RF* || Only brake module left by elimination&lt;br /&gt;
|-&lt;br /&gt;
| [[#0x263 EPS controller|0x263]] || 0x663 || KWP || EPS controller || 38720-77R0 / 38720-77R0* || Parts catalogue (38720-77R01)&lt;br /&gt;
|-&lt;br /&gt;
| [[#0x271 Body control module|0x271]] || 0x671 || KWP || Body control module || 36775-77R0 / 36775-77RC* || Parts catalogue (36775-77RC2 to RC4)&lt;br /&gt;
|-&lt;br /&gt;
| [[#0x274 Instrument cluster|0x274]] || 0x674 || KWP || Instrument cluster || 34100-78R0 / 34110-78RD* || Rev counter sweep test&lt;br /&gt;
|-&lt;br /&gt;
| [[#0x798 TPMS controller|0x798]] || 0x7A8 || KWP || TPMS controller || 37160-61M0 / 37120-78R0* || Label (Model No. P61M0) and parts catalogue&lt;br /&gt;
|-&lt;br /&gt;
| [[#0x79A Combination switch (lighting and turn)|0x79A]] || 0x7AA || KWP || Combination switch (lighting and turn) || 37210-74PA / 37210-74PE* || Parts catalogue (37210-74PE2)&lt;br /&gt;
|-&lt;br /&gt;
| [[#0x778 Dual sensor brake support (inferred)|0x778]] || 0x788 || KWP || Dual sensor brake support (inferred) || 33990-52R0 / 33990-78R8* || By elimination&lt;br /&gt;
|-&lt;br /&gt;
| [[#0x793 Airbag (SRS) controller|0x793]] || 0x7A3 || UDS || Airbag (SRS) controller || 38910-77R0 / 38910-78RC* || Parts catalogue (38910-78RC0)&lt;br /&gt;
|-&lt;br /&gt;
| [[#0x772 4WD shift controller|0x772]] || 0x782 || UDS || 4WD shift controller || 38885-77R0 / 38885-78R0* || Parts catalogue (38885-78R01)&lt;br /&gt;
|-&lt;br /&gt;
| [[#0x799 E-call controller|0x799]] || 0x7A9 || UDS || E-call controller || 38960-78RA / 38960-78RA* || Parts catalogue (38960-78RA0, RA1)&lt;br /&gt;
|-&lt;br /&gt;
| [[#0x751 Central gateway|0x751]] || 0x761 || UDS || Central gateway || 33580-79R0 / 33580-78R0* || Label (33580-79R01) and parts catalogue&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
Two more addresses, [[#Addresses probed with no reply|0x273 and 0x262]], were probed by the scan tool and did not answer.&lt;br /&gt;
&lt;br /&gt;
The names marked &amp;quot;inferred&amp;quot; are guesses from elimination and part-number series, not confirmed by a label or test.&lt;br /&gt;
&lt;br /&gt;
== 0x7E0 ECM ==&lt;br /&gt;
{{Models|JB74 (2018+, tested on 2021)|untested=JB64, JC74}}&lt;br /&gt;
Request &amp;lt;code&amp;gt;0x7E0&amp;lt;/code&amp;gt;, reply &amp;lt;code&amp;gt;0x7E8&amp;lt;/code&amp;gt;. This is the standard OBD engine address, so standard mode 01 PIDs should be available here, but none were captured.&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! Request !! Reply !! Meaning&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;3E&amp;lt;/code&amp;gt; || &amp;lt;code&amp;gt;7E&amp;lt;/code&amp;gt; || Tester present (captured)&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;1A 8E&amp;lt;/code&amp;gt; || &amp;lt;code&amp;gt;5A 8E&amp;lt;/code&amp;gt; + ASCII &amp;lt;code&amp;gt;33980-78R0&amp;lt;/code&amp;gt; || ECU identification (captured)&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;1A 8A&amp;lt;/code&amp;gt; || &amp;lt;code&amp;gt;5A 8A&amp;lt;/code&amp;gt; + ASCII &amp;lt;code&amp;gt;33980-78RC*&amp;lt;/code&amp;gt; || ECU identification (captured)&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;18 00 FF 00&amp;lt;/code&amp;gt; || &amp;lt;code&amp;gt;58 00&amp;lt;/code&amp;gt; || Read DTCs by status: none stored (captured)&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== 0x261 ABS (inferred) ==&lt;br /&gt;
Request &amp;lt;code&amp;gt;0x261&amp;lt;/code&amp;gt;, reply &amp;lt;code&amp;gt;0x661&amp;lt;/code&amp;gt;. 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.&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! Request !! Reply !! Meaning&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;3E&amp;lt;/code&amp;gt; || &amp;lt;code&amp;gt;7E&amp;lt;/code&amp;gt; || Tester present (captured)&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;1A 8E&amp;lt;/code&amp;gt; || &amp;lt;code&amp;gt;5A 8E&amp;lt;/code&amp;gt; + ASCII &amp;lt;code&amp;gt;56100-77RA&amp;lt;/code&amp;gt; || ECU identification (captured)&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;1A 8A&amp;lt;/code&amp;gt; || &amp;lt;code&amp;gt;5A 8A&amp;lt;/code&amp;gt; + ASCII &amp;lt;code&amp;gt;56100-78RF*&amp;lt;/code&amp;gt; || ECU identification (captured)&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;18 00 FF 00&amp;lt;/code&amp;gt; || &amp;lt;code&amp;gt;58 00&amp;lt;/code&amp;gt; || DTCs: none stored (captured)&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== 0x263 EPS controller ==&lt;br /&gt;
Request &amp;lt;code&amp;gt;0x263&amp;lt;/code&amp;gt;, reply &amp;lt;code&amp;gt;0x663&amp;lt;/code&amp;gt;. Matches parts catalogue entry 38720-77R01 (EPS controller).&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! Request !! Reply !! Meaning&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;3E&amp;lt;/code&amp;gt; || &amp;lt;code&amp;gt;7E&amp;lt;/code&amp;gt; || Tester present (captured)&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;1A 8E&amp;lt;/code&amp;gt; || &amp;lt;code&amp;gt;5A 8E&amp;lt;/code&amp;gt; + ASCII &amp;lt;code&amp;gt;38720-77R0&amp;lt;/code&amp;gt; || ECU identification (captured)&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;1A 8A&amp;lt;/code&amp;gt; || &amp;lt;code&amp;gt;5A 8A&amp;lt;/code&amp;gt; + ASCII &amp;lt;code&amp;gt;38720-77R0*&amp;lt;/code&amp;gt; || ECU identification (captured)&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;18 00 FF 00&amp;lt;/code&amp;gt; || &amp;lt;code&amp;gt;58 00&amp;lt;/code&amp;gt; || DTCs: none stored (captured)&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== 0x271 Body control module ==&lt;br /&gt;
Request &amp;lt;code&amp;gt;0x271&amp;lt;/code&amp;gt;, reply &amp;lt;code&amp;gt;0x671&amp;lt;/code&amp;gt;. Matches parts catalogue entries 36775-77RC2 to RC4 (body control module, RHD).&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! Request !! Reply !! Meaning&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;3E&amp;lt;/code&amp;gt; || &amp;lt;code&amp;gt;7E&amp;lt;/code&amp;gt; || Tester present (captured)&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;1A 8E&amp;lt;/code&amp;gt; || &amp;lt;code&amp;gt;5A 8E&amp;lt;/code&amp;gt; + ASCII &amp;lt;code&amp;gt;36775-77R0&amp;lt;/code&amp;gt; || ECU identification (captured)&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;1A 8A&amp;lt;/code&amp;gt; || &amp;lt;code&amp;gt;5A 8A&amp;lt;/code&amp;gt; + ASCII &amp;lt;code&amp;gt;36775-77RC*&amp;lt;/code&amp;gt; || ECU identification (captured)&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;18 00 FF 00&amp;lt;/code&amp;gt; || &amp;lt;code&amp;gt;58 00&amp;lt;/code&amp;gt; || DTCs: none stored (captured)&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== 0x274 Instrument cluster ==&lt;br /&gt;
Request &amp;lt;code&amp;gt;0x274&amp;lt;/code&amp;gt;, reply &amp;lt;code&amp;gt;0x674&amp;lt;/code&amp;gt;. Confirmed by the rev counter sweep test.&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! Request !! Reply !! Meaning&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;3E&amp;lt;/code&amp;gt; or &amp;lt;code&amp;gt;3E 00&amp;lt;/code&amp;gt; || &amp;lt;code&amp;gt;7E&amp;lt;/code&amp;gt; || Tester present, about every 2.15 s during the sweep test (captured)&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;1A 8E&amp;lt;/code&amp;gt; || &amp;lt;code&amp;gt;5A 8E&amp;lt;/code&amp;gt; + ASCII &amp;lt;code&amp;gt;34100-78R0&amp;lt;/code&amp;gt; || ECU identification (captured)&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;1A 8A&amp;lt;/code&amp;gt; || &amp;lt;code&amp;gt;5A 8A&amp;lt;/code&amp;gt; + ASCII &amp;lt;code&amp;gt;34110-78RD*&amp;lt;/code&amp;gt; (last byte of the reply is &amp;lt;code&amp;gt;06&amp;lt;/code&amp;gt;) || ECU identification (captured)&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;18 00 FF 00&amp;lt;/code&amp;gt; || &amp;lt;code&amp;gt;58 00&amp;lt;/code&amp;gt; || DTCs: none stored (captured)&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;30 01 07 80 40 00 00&amp;lt;/code&amp;gt; || &amp;lt;code&amp;gt;70 01 07&amp;lt;/code&amp;gt; || Starts the rev counter sweep (service 0x30, local ID 01, &amp;quot;short-term adjustment&amp;quot;). The cluster then sweeps up and down by itself (captured)&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;30 01 07 80 00 00 00&amp;lt;/code&amp;gt; || &amp;lt;code&amp;gt;7F 30 22&amp;lt;/code&amp;gt; || Refused (&amp;quot;conditions not correct&amp;quot;). Possibly a stop request sent after the sweep had finished (captured)&lt;br /&gt;
|}&lt;br /&gt;
The meaning of the four control bytes (&amp;lt;code&amp;gt;80 40 00 00&amp;lt;/code&amp;gt;) is not known. Other output tests (gauges, warning lights) have not been captured.&lt;br /&gt;
&lt;br /&gt;
== 0x798 TPMS controller ==&lt;br /&gt;
Request &amp;lt;code&amp;gt;0x798&amp;lt;/code&amp;gt;, reply &amp;lt;code&amp;gt;0x7A8&amp;lt;/code&amp;gt;. The label on the module reads 37160-78R00, &amp;quot;BASE ASSY-TPMS&amp;quot;, Model No. P61M0 (Continental A2C13930301, 433.92 MHz). The full data layout, calibration and app setups are on [[OBD2 Diagnostics reading project]].&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! Request !! Reply !! Meaning&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;3E&amp;lt;/code&amp;gt; || &amp;lt;code&amp;gt;7E&amp;lt;/code&amp;gt; || Tester present (captured)&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;1A 8E&amp;lt;/code&amp;gt; || &amp;lt;code&amp;gt;5A 8E&amp;lt;/code&amp;gt; + ASCII &amp;lt;code&amp;gt;37160-61M0&amp;lt;/code&amp;gt; || ECU identification; matches Model No. P61M0 on the label (captured)&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;1A 8A&amp;lt;/code&amp;gt; || &amp;lt;code&amp;gt;5A 8A&amp;lt;/code&amp;gt; + ASCII &amp;lt;code&amp;gt;37120-78R0*&amp;lt;/code&amp;gt; || ECU identification (captured)&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;18 00 FF 00&amp;lt;/code&amp;gt; || &amp;lt;code&amp;gt;58 00&amp;lt;/code&amp;gt; (no codes) or &amp;lt;code&amp;gt;58 01 9A 31 20&amp;lt;/code&amp;gt; (one code) || DTCs by status. The code &amp;lt;code&amp;gt;9A 31&amp;lt;/code&amp;gt; is probably the left front low pressure warning (inferred). The status byte was &amp;lt;code&amp;gt;20&amp;lt;/code&amp;gt; in the full scan and &amp;lt;code&amp;gt;E0&amp;lt;/code&amp;gt; in earlier captures (captured)&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;21 00&amp;lt;/code&amp;gt; || &amp;lt;code&amp;gt;61 00&amp;lt;/code&amp;gt; + 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)&lt;br /&gt;
|}&lt;br /&gt;
ELM327 setup that works for &amp;lt;code&amp;gt;21 00&amp;lt;/code&amp;gt;: &amp;lt;code&amp;gt;ATSH798&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;ATS0&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;ATL0&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;ATFCSH798&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;ATFCSD300000&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;ATFCSM1&amp;lt;/code&amp;gt;, then &amp;lt;code&amp;gt;2100&amp;lt;/code&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
== 0x79A Combination switch (lighting and turn) ==&lt;br /&gt;
Request &amp;lt;code&amp;gt;0x79A&amp;lt;/code&amp;gt;, reply &amp;lt;code&amp;gt;0x7AA&amp;lt;/code&amp;gt;. Matches parts catalogue entry 37210-74PE2 (switch assembly, lighting and turn, RHD).&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! Request !! Reply !! Meaning&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;3E&amp;lt;/code&amp;gt; || &amp;lt;code&amp;gt;7E&amp;lt;/code&amp;gt; || Tester present (captured)&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;1A 8E&amp;lt;/code&amp;gt; || &amp;lt;code&amp;gt;5A 8E&amp;lt;/code&amp;gt; + ASCII &amp;lt;code&amp;gt;37210-74PA&amp;lt;/code&amp;gt; || ECU identification (captured)&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;1A 8A&amp;lt;/code&amp;gt; || &amp;lt;code&amp;gt;5A 8A&amp;lt;/code&amp;gt; + ASCII &amp;lt;code&amp;gt;37210-74PE*&amp;lt;/code&amp;gt; || ECU identification (captured)&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;18 00 FF 00&amp;lt;/code&amp;gt; || &amp;lt;code&amp;gt;58 00&amp;lt;/code&amp;gt; || DTCs: none stored (captured)&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== 0x778 Dual sensor brake support (inferred) ==&lt;br /&gt;
Request &amp;lt;code&amp;gt;0x778&amp;lt;/code&amp;gt;, reply &amp;lt;code&amp;gt;0x788&amp;lt;/code&amp;gt;. The name is inferred by elimination (the scan report&#039;s last unassigned module). Not confirmed.&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! Request !! Reply !! Meaning&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;3E&amp;lt;/code&amp;gt; || &amp;lt;code&amp;gt;7E&amp;lt;/code&amp;gt; || Tester present (captured)&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;1A 8E&amp;lt;/code&amp;gt; || &amp;lt;code&amp;gt;5A 8E&amp;lt;/code&amp;gt; + ASCII &amp;lt;code&amp;gt;33990-52R0&amp;lt;/code&amp;gt; || ECU identification (captured)&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;1A 8A&amp;lt;/code&amp;gt; || &amp;lt;code&amp;gt;5A 8A&amp;lt;/code&amp;gt; + ASCII &amp;lt;code&amp;gt;33990-78R8*&amp;lt;/code&amp;gt; || ECU identification (captured)&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;18 00 FF 00&amp;lt;/code&amp;gt; || &amp;lt;code&amp;gt;58 00&amp;lt;/code&amp;gt; || DTCs: none stored (captured)&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== 0x793 Airbag (SRS) controller ==&lt;br /&gt;
Request &amp;lt;code&amp;gt;0x793&amp;lt;/code&amp;gt;, reply &amp;lt;code&amp;gt;0x7A3&amp;lt;/code&amp;gt;. Matches parts catalogue entry 38910-78RC0 (airbag controller, VAN).&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! Request !! Reply !! Meaning&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;3E 00&amp;lt;/code&amp;gt; || &amp;lt;code&amp;gt;7E 00&amp;lt;/code&amp;gt; || Tester present (captured)&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;22 F1 01&amp;lt;/code&amp;gt; || &amp;lt;code&amp;gt;62 F1 01&amp;lt;/code&amp;gt; + ASCII &amp;lt;code&amp;gt;38910-77R0&amp;lt;/code&amp;gt; || Identification (captured)&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;22 F1 88&amp;lt;/code&amp;gt; || &amp;lt;code&amp;gt;62 F1 88&amp;lt;/code&amp;gt; + ASCII &amp;lt;code&amp;gt;38910-78RC*&amp;lt;/code&amp;gt; || Identification (captured)&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;19 02 FF&amp;lt;/code&amp;gt; || &amp;lt;code&amp;gt;59 02 4B&amp;lt;/code&amp;gt; || DTCs by status mask: none stored (captured)&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== 0x772 4WD shift controller ==&lt;br /&gt;
Request &amp;lt;code&amp;gt;0x772&amp;lt;/code&amp;gt;, reply &amp;lt;code&amp;gt;0x782&amp;lt;/code&amp;gt;. Matches parts catalogue entry 38885-78R01 (4WD shift controller).&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! Request !! Reply !! Meaning&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;3E&amp;lt;/code&amp;gt; || &amp;lt;code&amp;gt;7F 3E 13&amp;lt;/code&amp;gt; || Refused: incorrect message length. Sent four times by the scan tool (captured)&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;3E 01&amp;lt;/code&amp;gt; || &amp;lt;code&amp;gt;7F 3E 12&amp;lt;/code&amp;gt; || Refused: sub-function not supported. Sent four times (captured)&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;3E 00&amp;lt;/code&amp;gt; || &amp;lt;code&amp;gt;7E 00&amp;lt;/code&amp;gt; || Tester present (captured)&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;22 F1 01&amp;lt;/code&amp;gt; || &amp;lt;code&amp;gt;62 F1 01&amp;lt;/code&amp;gt; + ASCII &amp;lt;code&amp;gt;38885-77R0&amp;lt;/code&amp;gt; || Identification (captured)&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;22 F1 88&amp;lt;/code&amp;gt; || &amp;lt;code&amp;gt;62 F1 88&amp;lt;/code&amp;gt; + ASCII &amp;lt;code&amp;gt;38885-78R0*&amp;lt;/code&amp;gt; || Identification (captured)&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;19 02 FF&amp;lt;/code&amp;gt; || &amp;lt;code&amp;gt;59 02 4B&amp;lt;/code&amp;gt; || DTCs by status mask: none stored (captured)&lt;br /&gt;
|}&lt;br /&gt;
The scan tool tried the KWP-style &amp;lt;code&amp;gt;3E&amp;lt;/code&amp;gt; first and fell back to the UDS form &amp;lt;code&amp;gt;3E 00&amp;lt;/code&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
== 0x799 E-call controller ==&lt;br /&gt;
Request &amp;lt;code&amp;gt;0x799&amp;lt;/code&amp;gt;, reply &amp;lt;code&amp;gt;0x7A9&amp;lt;/code&amp;gt;. Matches parts catalogue entries 38960-78RA0 and RA1 (E-call controller).&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! Request !! Reply !! Meaning&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;3E&amp;lt;/code&amp;gt; || &amp;lt;code&amp;gt;7F 3E 13&amp;lt;/code&amp;gt; || Refused: incorrect message length. Sent four times (captured)&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;3E 01&amp;lt;/code&amp;gt; || &amp;lt;code&amp;gt;7F 3E 12&amp;lt;/code&amp;gt; || Refused: sub-function not supported. Sent four times (captured)&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;3E 00&amp;lt;/code&amp;gt; || &amp;lt;code&amp;gt;7E 00&amp;lt;/code&amp;gt; || Tester present (captured)&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;22 F1 01&amp;lt;/code&amp;gt; || &amp;lt;code&amp;gt;62 F1 01&amp;lt;/code&amp;gt; + ASCII &amp;lt;code&amp;gt;38960-78RA&amp;lt;/code&amp;gt; || Identification (captured)&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;22 F1 88&amp;lt;/code&amp;gt; || &amp;lt;code&amp;gt;62 F1 88&amp;lt;/code&amp;gt; + ASCII &amp;lt;code&amp;gt;38960-78RA*&amp;lt;/code&amp;gt; || Identification (captured)&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;19 02 FF&amp;lt;/code&amp;gt; || &amp;lt;code&amp;gt;59 02 4B 92 4E 00 02&amp;lt;/code&amp;gt; || One stored code record: &amp;lt;code&amp;gt;92 4E 00&amp;lt;/code&amp;gt;, status &amp;lt;code&amp;gt;02&amp;lt;/code&amp;gt;. The Launch report does not list it and its meaning is not known (captured)&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== 0x751 Central gateway ==&lt;br /&gt;
Request &amp;lt;code&amp;gt;0x751&amp;lt;/code&amp;gt;, reply &amp;lt;code&amp;gt;0x761&amp;lt;/code&amp;gt;. The label on the module reads 33580-79R01.&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! Request !! Reply !! Meaning&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;3E 00&amp;lt;/code&amp;gt; || &amp;lt;code&amp;gt;7E 00&amp;lt;/code&amp;gt; || Tester present (captured)&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;22 F1 01&amp;lt;/code&amp;gt; || &amp;lt;code&amp;gt;62 F1 01&amp;lt;/code&amp;gt; + ASCII &amp;lt;code&amp;gt;33580-79R0&amp;lt;/code&amp;gt; || Identification (captured)&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;22 F1 88&amp;lt;/code&amp;gt; || &amp;lt;code&amp;gt;62 F1 88&amp;lt;/code&amp;gt; + ASCII &amp;lt;code&amp;gt;33580-78R0*&amp;lt;/code&amp;gt; || Identification (captured)&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;19 02 FF&amp;lt;/code&amp;gt; || &amp;lt;code&amp;gt;59 02 4B&amp;lt;/code&amp;gt; || DTCs by status mask: none stored (captured)&lt;br /&gt;
|}&lt;br /&gt;
The gateway sits between the OBD socket and the vehicle CAN bus. Whether it forwards requests to the other modules unchanged is not confirmed.&lt;br /&gt;
&lt;br /&gt;
== Addresses probed with no reply ==&lt;br /&gt;
The scan tool sent tester-present (&amp;lt;code&amp;gt;3E&amp;lt;/code&amp;gt;) about eight times each to &amp;lt;code&amp;gt;0x273&amp;lt;/code&amp;gt; and &amp;lt;code&amp;gt;0x262&amp;lt;/code&amp;gt; and received nothing from the expected reply IDs (&amp;lt;code&amp;gt;0x673&amp;lt;/code&amp;gt; and &amp;lt;code&amp;gt;0x662&amp;lt;/code&amp;gt;). They are probably modules this car does not have, such as an automatic transmission or auto-levelling controller. This is a guess.&lt;br /&gt;
&lt;br /&gt;
== ELM327 notes ==&lt;br /&gt;
* Only &amp;lt;code&amp;gt;0x798&amp;lt;/code&amp;gt; has been tested with an ELM327. For other modules, set &amp;lt;code&amp;gt;ATSH&amp;lt;/code&amp;gt; to the request ID and &amp;lt;code&amp;gt;ATFCSH&amp;lt;/code&amp;gt; to the same ID, and you may need &amp;lt;code&amp;gt;ATCRA&amp;lt;/code&amp;gt; with the reply ID, because the reply is not always the request ID plus 8. This is untested.&lt;br /&gt;
* 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.&lt;br /&gt;
* Do not send output-control commands (service &amp;lt;code&amp;gt;30&amp;lt;/code&amp;gt; and similar) from a head-unit app while driving.&lt;br /&gt;
&lt;br /&gt;
== Sources ==&lt;br /&gt;
* Owner PCAN-View captures of a Launch X431 CRP919 full health-check scan and rev counter sweep test, October 2026.&lt;br /&gt;
* Suzuki Jimny parts catalogue 9900B-40312-004 (type 1, October 2021), figures 350A, 351A and 351B.&lt;br /&gt;
* Labels on the TPMS controller and central gateway of the test car.&lt;br /&gt;
&lt;br /&gt;
[[Category:Electrical - gen4]]&lt;/div&gt;</summary>
		<author><name>Mlines</name></author>
	</entry>
	<entry>
		<id>https://www.bigjimny.com/mediawiki/index.php?title=ECU_diagnostic_CAN_addresses&amp;diff=10063</id>
		<title>ECU diagnostic CAN addresses</title>
		<link rel="alternate" type="text/html" href="https://www.bigjimny.com/mediawiki/index.php?title=ECU_diagnostic_CAN_addresses&amp;diff=10063"/>
		<updated>2026-11-01T10:14:31Z</updated>

		<summary type="html">&lt;p&gt;Mlines: Created page with &amp;quot;&amp;lt;div style=&amp;quot;border: 1px solid #c9a227; background-color: #fff8dc; padding: 0.6em 1em; margin: 0 0 1em 0; border-radius: 4px;&amp;quot;&amp;gt; &amp;#039;&amp;#039;&amp;#039;Support this project:&amp;#039;&amp;#039;&amp;#039; The information on t...&amp;quot;&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&amp;lt;div style=&amp;quot;border: 1px solid #c9a227; background-color: #fff8dc; padding: 0.6em 1em; margin: 0 0 1em 0; border-radius: 4px;&amp;quot;&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;Support this project:&#039;&#039;&#039; 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 [https://buymeacoffee.com/bigjimny buymeacoffee.com/bigjimny].&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
= Suzuki Jimny JB74 - CAN bus devices and the commands they answer =&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Status:&#039;&#039;&#039; 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.&lt;br /&gt;
&lt;br /&gt;
== How to read this page ==&lt;br /&gt;
* All IDs are 11-bit CAN IDs on the OBD socket (pins 6 and 14, 500 kbit/s). The &amp;quot;request ID&amp;quot; is the header a tool sends to; the &amp;quot;reply ID&amp;quot; is where the module answers.&lt;br /&gt;
* 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.&lt;br /&gt;
* &#039;&#039;&#039;KWP-style&#039;&#039;&#039; modules use services such as &amp;lt;code&amp;gt;1A&amp;lt;/code&amp;gt; (read ECU identification) and &amp;lt;code&amp;gt;18&amp;lt;/code&amp;gt; (read DTCs by status). &#039;&#039;&#039;UDS-style&#039;&#039;&#039; modules use &amp;lt;code&amp;gt;22&amp;lt;/code&amp;gt; (read data by identifier) and &amp;lt;code&amp;gt;19&amp;lt;/code&amp;gt; (read DTCs).&lt;br /&gt;
* 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.&lt;br /&gt;
* Identification strings are ASCII Suzuki part numbers. The first one in each module (&amp;lt;code&amp;gt;1A 8E&amp;lt;/code&amp;gt; or &amp;lt;code&amp;gt;22 F1 01&amp;lt;/code&amp;gt;) has no trailing character; the second (&amp;lt;code&amp;gt;1A 8A&amp;lt;/code&amp;gt; or &amp;lt;code&amp;gt;22 F1 88&amp;lt;/code&amp;gt;) ends in &amp;lt;code&amp;gt;*&amp;lt;/code&amp;gt;. They do not always equal the number printed on the module&#039;s label.&lt;br /&gt;
* Commands marked &#039;&#039;captured&#039;&#039; were seen in a trace. Nothing here has been sent to a module by us except the TPMS requests.&lt;br /&gt;
&lt;br /&gt;
== Device table ==&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! Request ID !! Reply ID !! Style !! Module !! Identification reply (first / second) !! How the module was identified&lt;br /&gt;
|-&lt;br /&gt;
| [[#0x7E0 ECM|0x7E0]] || 0x7E8 || KWP || ECM || 33980-78R0 / 33980-78RC* || Standard engine address&lt;br /&gt;
|-&lt;br /&gt;
| [[#0x261 ABS (inferred)|0x261]] || 0x661 || KWP || ABS (inferred) || 56100-77RA / 56100-78RF* || Only brake module left by elimination&lt;br /&gt;
|-&lt;br /&gt;
| [[#0x263 EPS controller|0x263]] || 0x663 || KWP || EPS controller || 38720-77R0 / 38720-77R0* || Parts catalogue (38720-77R01)&lt;br /&gt;
|-&lt;br /&gt;
| [[#0x271 Body control module|0x271]] || 0x671 || KWP || Body control module || 36775-77R0 / 36775-77RC* || Parts catalogue (36775-77RC2 to RC4)&lt;br /&gt;
|-&lt;br /&gt;
| [[#0x274 Instrument cluster|0x274]] || 0x674 || KWP || Instrument cluster || 34100-78R0 / 34110-78RD* || Rev counter sweep test&lt;br /&gt;
|-&lt;br /&gt;
| [[#0x798 TPMS controller|0x798]] || 0x7A8 || KWP || TPMS controller || 37160-61M0 / 37120-78R0* || Label (Model No. P61M0) and parts catalogue&lt;br /&gt;
|-&lt;br /&gt;
| [[#0x79A Combination switch (lighting and turn)|0x79A]] || 0x7AA || KWP || Combination switch (lighting and turn) || 37210-74PA / 37210-74PE* || Parts catalogue (37210-74PE2)&lt;br /&gt;
|-&lt;br /&gt;
| [[#0x778 Dual sensor brake support (inferred)|0x778]] || 0x788 || KWP || Dual sensor brake support (inferred) || 33990-52R0 / 33990-78R8* || By elimination&lt;br /&gt;
|-&lt;br /&gt;
| [[#0x793 Airbag (SRS) controller|0x793]] || 0x7A3 || UDS || Airbag (SRS) controller || 38910-77R0 / 38910-78RC* || Parts catalogue (38910-78RC0)&lt;br /&gt;
|-&lt;br /&gt;
| [[#0x772 4WD shift controller|0x772]] || 0x782 || UDS || 4WD shift controller || 38885-77R0 / 38885-78R0* || Parts catalogue (38885-78R01)&lt;br /&gt;
|-&lt;br /&gt;
| [[#0x799 E-call controller|0x799]] || 0x7A9 || UDS || E-call controller || 38960-78RA / 38960-78RA* || Parts catalogue (38960-78RA0, RA1)&lt;br /&gt;
|-&lt;br /&gt;
| [[#0x751 Central gateway|0x751]] || 0x761 || UDS || Central gateway || 33580-79R0 / 33580-78R0* || Label (33580-79R01) and parts catalogue&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
Two more addresses, [[#Addresses probed with no reply|0x273 and 0x262]], were probed by the scan tool and did not answer.&lt;br /&gt;
&lt;br /&gt;
The names marked &amp;quot;inferred&amp;quot; are guesses from elimination and part-number series, not confirmed by a label or test.&lt;br /&gt;
&lt;br /&gt;
== 0x7E0 ECM ==&lt;br /&gt;
Request &amp;lt;code&amp;gt;0x7E0&amp;lt;/code&amp;gt;, reply &amp;lt;code&amp;gt;0x7E8&amp;lt;/code&amp;gt;. This is the standard OBD engine address, so standard mode 01 PIDs should be available here, but none were captured.&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! Request !! Reply !! Meaning&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;3E&amp;lt;/code&amp;gt; || &amp;lt;code&amp;gt;7E&amp;lt;/code&amp;gt; || Tester present (captured)&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;1A 8E&amp;lt;/code&amp;gt; || &amp;lt;code&amp;gt;5A 8E&amp;lt;/code&amp;gt; + ASCII &amp;lt;code&amp;gt;33980-78R0&amp;lt;/code&amp;gt; || ECU identification (captured)&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;1A 8A&amp;lt;/code&amp;gt; || &amp;lt;code&amp;gt;5A 8A&amp;lt;/code&amp;gt; + ASCII &amp;lt;code&amp;gt;33980-78RC*&amp;lt;/code&amp;gt; || ECU identification (captured)&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;18 00 FF 00&amp;lt;/code&amp;gt; || &amp;lt;code&amp;gt;58 00&amp;lt;/code&amp;gt; || Read DTCs by status: none stored (captured)&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== 0x261 ABS (inferred) ==&lt;br /&gt;
Request &amp;lt;code&amp;gt;0x261&amp;lt;/code&amp;gt;, reply &amp;lt;code&amp;gt;0x661&amp;lt;/code&amp;gt;. 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.&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! Request !! Reply !! Meaning&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;3E&amp;lt;/code&amp;gt; || &amp;lt;code&amp;gt;7E&amp;lt;/code&amp;gt; || Tester present (captured)&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;1A 8E&amp;lt;/code&amp;gt; || &amp;lt;code&amp;gt;5A 8E&amp;lt;/code&amp;gt; + ASCII &amp;lt;code&amp;gt;56100-77RA&amp;lt;/code&amp;gt; || ECU identification (captured)&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;1A 8A&amp;lt;/code&amp;gt; || &amp;lt;code&amp;gt;5A 8A&amp;lt;/code&amp;gt; + ASCII &amp;lt;code&amp;gt;56100-78RF*&amp;lt;/code&amp;gt; || ECU identification (captured)&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;18 00 FF 00&amp;lt;/code&amp;gt; || &amp;lt;code&amp;gt;58 00&amp;lt;/code&amp;gt; || DTCs: none stored (captured)&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== 0x263 EPS controller ==&lt;br /&gt;
Request &amp;lt;code&amp;gt;0x263&amp;lt;/code&amp;gt;, reply &amp;lt;code&amp;gt;0x663&amp;lt;/code&amp;gt;. Matches parts catalogue entry 38720-77R01 (EPS controller).&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! Request !! Reply !! Meaning&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;3E&amp;lt;/code&amp;gt; || &amp;lt;code&amp;gt;7E&amp;lt;/code&amp;gt; || Tester present (captured)&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;1A 8E&amp;lt;/code&amp;gt; || &amp;lt;code&amp;gt;5A 8E&amp;lt;/code&amp;gt; + ASCII &amp;lt;code&amp;gt;38720-77R0&amp;lt;/code&amp;gt; || ECU identification (captured)&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;1A 8A&amp;lt;/code&amp;gt; || &amp;lt;code&amp;gt;5A 8A&amp;lt;/code&amp;gt; + ASCII &amp;lt;code&amp;gt;38720-77R0*&amp;lt;/code&amp;gt; || ECU identification (captured)&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;18 00 FF 00&amp;lt;/code&amp;gt; || &amp;lt;code&amp;gt;58 00&amp;lt;/code&amp;gt; || DTCs: none stored (captured)&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== 0x271 Body control module ==&lt;br /&gt;
Request &amp;lt;code&amp;gt;0x271&amp;lt;/code&amp;gt;, reply &amp;lt;code&amp;gt;0x671&amp;lt;/code&amp;gt;. Matches parts catalogue entries 36775-77RC2 to RC4 (body control module, RHD).&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! Request !! Reply !! Meaning&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;3E&amp;lt;/code&amp;gt; || &amp;lt;code&amp;gt;7E&amp;lt;/code&amp;gt; || Tester present (captured)&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;1A 8E&amp;lt;/code&amp;gt; || &amp;lt;code&amp;gt;5A 8E&amp;lt;/code&amp;gt; + ASCII &amp;lt;code&amp;gt;36775-77R0&amp;lt;/code&amp;gt; || ECU identification (captured)&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;1A 8A&amp;lt;/code&amp;gt; || &amp;lt;code&amp;gt;5A 8A&amp;lt;/code&amp;gt; + ASCII &amp;lt;code&amp;gt;36775-77RC*&amp;lt;/code&amp;gt; || ECU identification (captured)&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;18 00 FF 00&amp;lt;/code&amp;gt; || &amp;lt;code&amp;gt;58 00&amp;lt;/code&amp;gt; || DTCs: none stored (captured)&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== 0x274 Instrument cluster ==&lt;br /&gt;
Request &amp;lt;code&amp;gt;0x274&amp;lt;/code&amp;gt;, reply &amp;lt;code&amp;gt;0x674&amp;lt;/code&amp;gt;. Confirmed by the rev counter sweep test.&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! Request !! Reply !! Meaning&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;3E&amp;lt;/code&amp;gt; or &amp;lt;code&amp;gt;3E 00&amp;lt;/code&amp;gt; || &amp;lt;code&amp;gt;7E&amp;lt;/code&amp;gt; || Tester present, about every 2.15 s during the sweep test (captured)&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;1A 8E&amp;lt;/code&amp;gt; || &amp;lt;code&amp;gt;5A 8E&amp;lt;/code&amp;gt; + ASCII &amp;lt;code&amp;gt;34100-78R0&amp;lt;/code&amp;gt; || ECU identification (captured)&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;1A 8A&amp;lt;/code&amp;gt; || &amp;lt;code&amp;gt;5A 8A&amp;lt;/code&amp;gt; + ASCII &amp;lt;code&amp;gt;34110-78RD*&amp;lt;/code&amp;gt; (last byte of the reply is &amp;lt;code&amp;gt;06&amp;lt;/code&amp;gt;) || ECU identification (captured)&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;18 00 FF 00&amp;lt;/code&amp;gt; || &amp;lt;code&amp;gt;58 00&amp;lt;/code&amp;gt; || DTCs: none stored (captured)&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;30 01 07 80 40 00 00&amp;lt;/code&amp;gt; || &amp;lt;code&amp;gt;70 01 07&amp;lt;/code&amp;gt; || Starts the rev counter sweep (service 0x30, local ID 01, &amp;quot;short-term adjustment&amp;quot;). The cluster then sweeps up and down by itself (captured)&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;30 01 07 80 00 00 00&amp;lt;/code&amp;gt; || &amp;lt;code&amp;gt;7F 30 22&amp;lt;/code&amp;gt; || Refused (&amp;quot;conditions not correct&amp;quot;). Possibly a stop request sent after the sweep had finished (captured)&lt;br /&gt;
|}&lt;br /&gt;
The meaning of the four control bytes (&amp;lt;code&amp;gt;80 40 00 00&amp;lt;/code&amp;gt;) is not known. Other output tests (gauges, warning lights) have not been captured.&lt;br /&gt;
&lt;br /&gt;
== 0x798 TPMS controller ==&lt;br /&gt;
Request &amp;lt;code&amp;gt;0x798&amp;lt;/code&amp;gt;, reply &amp;lt;code&amp;gt;0x7A8&amp;lt;/code&amp;gt;. The label on the module reads 37160-78R00, &amp;quot;BASE ASSY-TPMS&amp;quot;, Model No. P61M0 (Continental A2C13930301, 433.92 MHz). The full data layout, calibration and app setups are on [[OBD2 Diagnostics reading project]].&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! Request !! Reply !! Meaning&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;3E&amp;lt;/code&amp;gt; || &amp;lt;code&amp;gt;7E&amp;lt;/code&amp;gt; || Tester present (captured)&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;1A 8E&amp;lt;/code&amp;gt; || &amp;lt;code&amp;gt;5A 8E&amp;lt;/code&amp;gt; + ASCII &amp;lt;code&amp;gt;37160-61M0&amp;lt;/code&amp;gt; || ECU identification; matches Model No. P61M0 on the label (captured)&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;1A 8A&amp;lt;/code&amp;gt; || &amp;lt;code&amp;gt;5A 8A&amp;lt;/code&amp;gt; + ASCII &amp;lt;code&amp;gt;37120-78R0*&amp;lt;/code&amp;gt; || ECU identification (captured)&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;18 00 FF 00&amp;lt;/code&amp;gt; || &amp;lt;code&amp;gt;58 00&amp;lt;/code&amp;gt; (no codes) or &amp;lt;code&amp;gt;58 01 9A 31 20&amp;lt;/code&amp;gt; (one code) || DTCs by status. The code &amp;lt;code&amp;gt;9A 31&amp;lt;/code&amp;gt; is probably the left front low pressure warning (inferred). The status byte was &amp;lt;code&amp;gt;20&amp;lt;/code&amp;gt; in the full scan and &amp;lt;code&amp;gt;E0&amp;lt;/code&amp;gt; in earlier captures (captured)&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;21 00&amp;lt;/code&amp;gt; || &amp;lt;code&amp;gt;61 00&amp;lt;/code&amp;gt; + 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)&lt;br /&gt;
|}&lt;br /&gt;
ELM327 setup that works for &amp;lt;code&amp;gt;21 00&amp;lt;/code&amp;gt;: &amp;lt;code&amp;gt;ATSH798&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;ATS0&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;ATL0&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;ATFCSH798&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;ATFCSD300000&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;ATFCSM1&amp;lt;/code&amp;gt;, then &amp;lt;code&amp;gt;2100&amp;lt;/code&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
== 0x79A Combination switch (lighting and turn) ==&lt;br /&gt;
Request &amp;lt;code&amp;gt;0x79A&amp;lt;/code&amp;gt;, reply &amp;lt;code&amp;gt;0x7AA&amp;lt;/code&amp;gt;. Matches parts catalogue entry 37210-74PE2 (switch assembly, lighting and turn, RHD).&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! Request !! Reply !! Meaning&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;3E&amp;lt;/code&amp;gt; || &amp;lt;code&amp;gt;7E&amp;lt;/code&amp;gt; || Tester present (captured)&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;1A 8E&amp;lt;/code&amp;gt; || &amp;lt;code&amp;gt;5A 8E&amp;lt;/code&amp;gt; + ASCII &amp;lt;code&amp;gt;37210-74PA&amp;lt;/code&amp;gt; || ECU identification (captured)&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;1A 8A&amp;lt;/code&amp;gt; || &amp;lt;code&amp;gt;5A 8A&amp;lt;/code&amp;gt; + ASCII &amp;lt;code&amp;gt;37210-74PE*&amp;lt;/code&amp;gt; || ECU identification (captured)&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;18 00 FF 00&amp;lt;/code&amp;gt; || &amp;lt;code&amp;gt;58 00&amp;lt;/code&amp;gt; || DTCs: none stored (captured)&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== 0x778 Dual sensor brake support (inferred) ==&lt;br /&gt;
Request &amp;lt;code&amp;gt;0x778&amp;lt;/code&amp;gt;, reply &amp;lt;code&amp;gt;0x788&amp;lt;/code&amp;gt;. The name is inferred by elimination (the scan report&#039;s last unassigned module). Not confirmed.&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! Request !! Reply !! Meaning&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;3E&amp;lt;/code&amp;gt; || &amp;lt;code&amp;gt;7E&amp;lt;/code&amp;gt; || Tester present (captured)&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;1A 8E&amp;lt;/code&amp;gt; || &amp;lt;code&amp;gt;5A 8E&amp;lt;/code&amp;gt; + ASCII &amp;lt;code&amp;gt;33990-52R0&amp;lt;/code&amp;gt; || ECU identification (captured)&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;1A 8A&amp;lt;/code&amp;gt; || &amp;lt;code&amp;gt;5A 8A&amp;lt;/code&amp;gt; + ASCII &amp;lt;code&amp;gt;33990-78R8*&amp;lt;/code&amp;gt; || ECU identification (captured)&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;18 00 FF 00&amp;lt;/code&amp;gt; || &amp;lt;code&amp;gt;58 00&amp;lt;/code&amp;gt; || DTCs: none stored (captured)&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== 0x793 Airbag (SRS) controller ==&lt;br /&gt;
Request &amp;lt;code&amp;gt;0x793&amp;lt;/code&amp;gt;, reply &amp;lt;code&amp;gt;0x7A3&amp;lt;/code&amp;gt;. Matches parts catalogue entry 38910-78RC0 (airbag controller, VAN).&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! Request !! Reply !! Meaning&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;3E 00&amp;lt;/code&amp;gt; || &amp;lt;code&amp;gt;7E 00&amp;lt;/code&amp;gt; || Tester present (captured)&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;22 F1 01&amp;lt;/code&amp;gt; || &amp;lt;code&amp;gt;62 F1 01&amp;lt;/code&amp;gt; + ASCII &amp;lt;code&amp;gt;38910-77R0&amp;lt;/code&amp;gt; || Identification (captured)&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;22 F1 88&amp;lt;/code&amp;gt; || &amp;lt;code&amp;gt;62 F1 88&amp;lt;/code&amp;gt; + ASCII &amp;lt;code&amp;gt;38910-78RC*&amp;lt;/code&amp;gt; || Identification (captured)&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;19 02 FF&amp;lt;/code&amp;gt; || &amp;lt;code&amp;gt;59 02 4B&amp;lt;/code&amp;gt; || DTCs by status mask: none stored (captured)&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== 0x772 4WD shift controller ==&lt;br /&gt;
Request &amp;lt;code&amp;gt;0x772&amp;lt;/code&amp;gt;, reply &amp;lt;code&amp;gt;0x782&amp;lt;/code&amp;gt;. Matches parts catalogue entry 38885-78R01 (4WD shift controller).&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! Request !! Reply !! Meaning&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;3E&amp;lt;/code&amp;gt; || &amp;lt;code&amp;gt;7F 3E 13&amp;lt;/code&amp;gt; || Refused: incorrect message length. Sent four times by the scan tool (captured)&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;3E 01&amp;lt;/code&amp;gt; || &amp;lt;code&amp;gt;7F 3E 12&amp;lt;/code&amp;gt; || Refused: sub-function not supported. Sent four times (captured)&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;3E 00&amp;lt;/code&amp;gt; || &amp;lt;code&amp;gt;7E 00&amp;lt;/code&amp;gt; || Tester present (captured)&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;22 F1 01&amp;lt;/code&amp;gt; || &amp;lt;code&amp;gt;62 F1 01&amp;lt;/code&amp;gt; + ASCII &amp;lt;code&amp;gt;38885-77R0&amp;lt;/code&amp;gt; || Identification (captured)&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;22 F1 88&amp;lt;/code&amp;gt; || &amp;lt;code&amp;gt;62 F1 88&amp;lt;/code&amp;gt; + ASCII &amp;lt;code&amp;gt;38885-78R0*&amp;lt;/code&amp;gt; || Identification (captured)&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;19 02 FF&amp;lt;/code&amp;gt; || &amp;lt;code&amp;gt;59 02 4B&amp;lt;/code&amp;gt; || DTCs by status mask: none stored (captured)&lt;br /&gt;
|}&lt;br /&gt;
The scan tool tried the KWP-style &amp;lt;code&amp;gt;3E&amp;lt;/code&amp;gt; first and fell back to the UDS form &amp;lt;code&amp;gt;3E 00&amp;lt;/code&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
== 0x799 E-call controller ==&lt;br /&gt;
Request &amp;lt;code&amp;gt;0x799&amp;lt;/code&amp;gt;, reply &amp;lt;code&amp;gt;0x7A9&amp;lt;/code&amp;gt;. Matches parts catalogue entries 38960-78RA0 and RA1 (E-call controller).&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! Request !! Reply !! Meaning&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;3E&amp;lt;/code&amp;gt; || &amp;lt;code&amp;gt;7F 3E 13&amp;lt;/code&amp;gt; || Refused: incorrect message length. Sent four times (captured)&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;3E 01&amp;lt;/code&amp;gt; || &amp;lt;code&amp;gt;7F 3E 12&amp;lt;/code&amp;gt; || Refused: sub-function not supported. Sent four times (captured)&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;3E 00&amp;lt;/code&amp;gt; || &amp;lt;code&amp;gt;7E 00&amp;lt;/code&amp;gt; || Tester present (captured)&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;22 F1 01&amp;lt;/code&amp;gt; || &amp;lt;code&amp;gt;62 F1 01&amp;lt;/code&amp;gt; + ASCII &amp;lt;code&amp;gt;38960-78RA&amp;lt;/code&amp;gt; || Identification (captured)&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;22 F1 88&amp;lt;/code&amp;gt; || &amp;lt;code&amp;gt;62 F1 88&amp;lt;/code&amp;gt; + ASCII &amp;lt;code&amp;gt;38960-78RA*&amp;lt;/code&amp;gt; || Identification (captured)&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;19 02 FF&amp;lt;/code&amp;gt; || &amp;lt;code&amp;gt;59 02 4B 92 4E 00 02&amp;lt;/code&amp;gt; || One stored code record: &amp;lt;code&amp;gt;92 4E 00&amp;lt;/code&amp;gt;, status &amp;lt;code&amp;gt;02&amp;lt;/code&amp;gt;. The Launch report does not list it and its meaning is not known (captured)&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== 0x751 Central gateway ==&lt;br /&gt;
Request &amp;lt;code&amp;gt;0x751&amp;lt;/code&amp;gt;, reply &amp;lt;code&amp;gt;0x761&amp;lt;/code&amp;gt;. The label on the module reads 33580-79R01.&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! Request !! Reply !! Meaning&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;3E 00&amp;lt;/code&amp;gt; || &amp;lt;code&amp;gt;7E 00&amp;lt;/code&amp;gt; || Tester present (captured)&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;22 F1 01&amp;lt;/code&amp;gt; || &amp;lt;code&amp;gt;62 F1 01&amp;lt;/code&amp;gt; + ASCII &amp;lt;code&amp;gt;33580-79R0&amp;lt;/code&amp;gt; || Identification (captured)&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;22 F1 88&amp;lt;/code&amp;gt; || &amp;lt;code&amp;gt;62 F1 88&amp;lt;/code&amp;gt; + ASCII &amp;lt;code&amp;gt;33580-78R0*&amp;lt;/code&amp;gt; || Identification (captured)&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;19 02 FF&amp;lt;/code&amp;gt; || &amp;lt;code&amp;gt;59 02 4B&amp;lt;/code&amp;gt; || DTCs by status mask: none stored (captured)&lt;br /&gt;
|}&lt;br /&gt;
The gateway sits between the OBD socket and the vehicle CAN bus. Whether it forwards requests to the other modules unchanged is not confirmed.&lt;br /&gt;
&lt;br /&gt;
== Addresses probed with no reply ==&lt;br /&gt;
The scan tool sent tester-present (&amp;lt;code&amp;gt;3E&amp;lt;/code&amp;gt;) about eight times each to &amp;lt;code&amp;gt;0x273&amp;lt;/code&amp;gt; and &amp;lt;code&amp;gt;0x262&amp;lt;/code&amp;gt; and received nothing from the expected reply IDs (&amp;lt;code&amp;gt;0x673&amp;lt;/code&amp;gt; and &amp;lt;code&amp;gt;0x662&amp;lt;/code&amp;gt;). They are probably modules this car does not have, such as an automatic transmission or auto-levelling controller. This is a guess.&lt;br /&gt;
&lt;br /&gt;
== ELM327 notes ==&lt;br /&gt;
* Only &amp;lt;code&amp;gt;0x798&amp;lt;/code&amp;gt; has been tested with an ELM327. For other modules, set &amp;lt;code&amp;gt;ATSH&amp;lt;/code&amp;gt; to the request ID and &amp;lt;code&amp;gt;ATFCSH&amp;lt;/code&amp;gt; to the same ID, and you may need &amp;lt;code&amp;gt;ATCRA&amp;lt;/code&amp;gt; with the reply ID, because the reply is not always the request ID plus 8. This is untested.&lt;br /&gt;
* 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.&lt;br /&gt;
* Do not send output-control commands (service &amp;lt;code&amp;gt;30&amp;lt;/code&amp;gt; and similar) from a head-unit app while driving.&lt;br /&gt;
&lt;br /&gt;
== Sources ==&lt;br /&gt;
* Owner PCAN-View captures of a Launch X431 CRP919 full health-check scan and rev counter sweep test, October 2026.&lt;br /&gt;
* Suzuki Jimny parts catalogue 9900B-40312-004 (type 1, October 2021), figures 350A, 351A and 351B.&lt;br /&gt;
* Labels on the TPMS controller and central gateway of the test car.&lt;br /&gt;
&lt;br /&gt;
[[Category:Electrical - gen4]]&lt;/div&gt;</summary>
		<author><name>Mlines</name></author>
	</entry>
	<entry>
		<id>https://www.bigjimny.com/mediawiki/index.php?title=Template:Models&amp;diff=10062</id>
		<title>Template:Models</title>
		<link rel="alternate" type="text/html" href="https://www.bigjimny.com/mediawiki/index.php?title=Template:Models&amp;diff=10062"/>
		<updated>2026-11-01T10:12:31Z</updated>

		<summary type="html">&lt;p&gt;Mlines: Created page with &amp;quot;&amp;lt;span style=&amp;quot;font-size:90%; color:#555;&amp;quot;&amp;gt;&amp;#039;&amp;#039;&amp;#039;Models:&amp;#039;&amp;#039;&amp;#039; {{{1}}}{{#if:{{{untested|}}}|&amp;amp;nbsp;— &amp;#039;&amp;#039;untested on: {{{untested}}}&amp;#039;&amp;#039;}}&amp;lt;/span&amp;gt;&amp;quot;&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&amp;lt;span style=&amp;quot;font-size:90%; color:#555;&amp;quot;&amp;gt;&#039;&#039;&#039;Models:&#039;&#039;&#039; {{{1}}}{{#if:{{{untested|}}}|&amp;amp;nbsp;— &#039;&#039;untested on: {{{untested}}}&#039;&#039;}}&amp;lt;/span&amp;gt;&lt;/div&gt;</summary>
		<author><name>Mlines</name></author>
	</entry>
	<entry>
		<id>https://www.bigjimny.com/mediawiki/index.php?title=OBD2_Diagnostics_reading_project&amp;diff=10061</id>
		<title>OBD2 Diagnostics reading project</title>
		<link rel="alternate" type="text/html" href="https://www.bigjimny.com/mediawiki/index.php?title=OBD2_Diagnostics_reading_project&amp;diff=10061"/>
		<updated>2026-10-29T21:04:19Z</updated>

		<summary type="html">&lt;p&gt;Mlines: /* Other modules found by a full scan */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;= Suzuki Jimny JB74 (2018+) - Reading TPMS data over the diagnostic CAN link =&lt;br /&gt;
&lt;br /&gt;
{{Donate}}&lt;br /&gt;
== Overview ==&lt;br /&gt;
Purpose-built diagnostic tools (Autel, Launch and similar) already support Suzuki comprehensively. There is also a trend towards replacing the factory head unit with an Android media unit that can run apps to read and display information from the car&#039;s electronics. These units are not Suzuki-specific, so this project aims to learn how to read vehicle data (starting with the factory TPMS) and show it on the head unit.&lt;br /&gt;
&lt;br /&gt;
=== Equipment ===&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! Role !! Item&lt;br /&gt;
|-&lt;br /&gt;
| Head unit || XTRONS PX90&lt;br /&gt;
|-&lt;br /&gt;
| OBD-II Bluetooth dongle 1 || Generic ELM-based (Chinese)&lt;br /&gt;
|-&lt;br /&gt;
| OBD-II Bluetooth dongle 2 || Veepeak OBDCheck BLE+&lt;br /&gt;
|-&lt;br /&gt;
| CAN bus monitor (Windows) || PCAN-View (PEAK-System)&lt;br /&gt;
|-&lt;br /&gt;
| Diagnostic tool 1 || Launch X431 CRP919&lt;br /&gt;
|-&lt;br /&gt;
| Diagnostic tool 2 || SZ Viewer app&lt;br /&gt;
|-&lt;br /&gt;
| Head-unit apps being tried || Torque, RealDash&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== Method ===&lt;br /&gt;
# The diagnostic tools (Launch X431, SZ Viewer) have comprehensive Suzuki support, so they are used to generate the CAN bus requests.&lt;br /&gt;
# PCAN-View is connected to the OBD socket to capture the requests and the module&#039;s replies, which are then decoded by hand.&lt;br /&gt;
# The decoded requests are recreated in the head-unit apps so the head unit can ask the car for the same data directly.&lt;br /&gt;
&#039;&#039;&#039;Status:&#039;&#039;&#039; work in progress. Based on one RHD UK-market 2021 Jimny with factory TPMS, owner-made PCAN-View captures, and the Suzuki wiring diagrams (A-8 CAN communication and A-8 Central Gateway/DLC). Items marked &#039;&#039;unconfirmed&#039;&#039; are not yet verified.&lt;br /&gt;
&lt;br /&gt;
== Summary ==&lt;br /&gt;
* The TPMS control module answers an ordinary diagnostic request on the OBD socket. It does not broadcast tyre data.&lt;br /&gt;
* Request ID &#039;&#039;&#039;0x798&#039;&#039;&#039;, reply ID &#039;&#039;&#039;0x7A8&#039;&#039;&#039;, 11-bit CAN, 500 kbit/s, ISO-TP framing.&lt;br /&gt;
* Service &#039;&#039;&#039;0x21&#039;&#039;&#039; (read data by local identifier), identifier &#039;&#039;&#039;0x00&#039;&#039;&#039;, returns 102 bytes containing all four sensor records.&lt;br /&gt;
* The OBD socket is fed by a central gateway, so only diagnostic traffic is visible on it.&lt;br /&gt;
&lt;br /&gt;
== DLC (OBD socket) wiring ==&lt;br /&gt;
The service-manual diagram numbers the DLC terminals differently from SAE J1962. In all five cases on the diagram, manual terminal &#039;&#039;n&#039;&#039; matches standard pin &#039;&#039;17 - n&#039;&#039;.&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! Manual terminal !! Standard pin !! Function !! Wire / source on diagram&lt;br /&gt;
|-&lt;br /&gt;
| 1 || 16 || Battery +12 V || GRY, fuse No.49 &amp;quot;DOME2&amp;quot; (10 A)&lt;br /&gt;
|-&lt;br /&gt;
| 12 || 5 || Signal ground || BLK&lt;br /&gt;
|-&lt;br /&gt;
| 13 || 4 || Chassis ground || BLK&lt;br /&gt;
|-&lt;br /&gt;
| 11 || 6 || CAN-H (from standard assignment) || BLU, gateway pin 8&lt;br /&gt;
|-&lt;br /&gt;
| 3 || 14 || CAN-L (from standard assignment) || WHT, gateway pin 7&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
Use pins &#039;&#039;&#039;6&#039;&#039;&#039; and &#039;&#039;&#039;14&#039;&#039;&#039; for a CAN adapter. The diagram does not label CAN-H and CAN-L itself.&lt;br /&gt;
&lt;br /&gt;
=== Cross-check with other reports ===&lt;br /&gt;
A BigJimny forum thread (&amp;quot;JB74 OBD2 connection&amp;quot;, December 2020) describes a 2020 JB74 whose OBD plug had pins 4, 5, 6, 14, 15 and 16 wired, with pin 7 (K-line) not wired. The poster, quoting an older Suzuki pinout, lists pin 6 as a blue wire (CAN-H) and pin 14 as a white wire (CAN-L). This matches the table above: a blue CAN wire on pin 6 and a white one on pin 14.&lt;br /&gt;
&lt;br /&gt;
* The CAN-H/CAN-L assignment in that thread comes from a pinout reference that the poster says predates the JB74, so it is a report, not a measurement.&lt;br /&gt;
* No wire for standard pin 7 (K-line) appears on the diagram page above, and the forum report also found it unwired. K-line is therefore unlikely to be available on the JB74 socket.&lt;br /&gt;
* On the forum poster&#039;s car, pin 15 was also wired; the diagram page above shows no wire for it. This may be a market or model-year difference.&lt;br /&gt;
&lt;br /&gt;
== Network layout ==&lt;br /&gt;
The DLC is not on the vehicle bus directly. The &#039;&#039;&#039;central gateway control module&#039;&#039;&#039; joins the vehicle CAN bus (its pins 20 and 21, RED/WHT) and provides a separate CAN pair to the DLC (its pins 8 and 7, BLU/WHT).&lt;br /&gt;
&lt;br /&gt;
Modules on the vehicle bus (diagram): ECM, 4WD control module, TCM (A/T models), BCM, ESP control module, headlight auto levelling module (if equipped), dual sensor brake support control module (if equipped), P/S control module, steering angle sensor, TPMS control module / receiver (if equipped), combination meter, SDM, combination switch.&lt;br /&gt;
&lt;br /&gt;
Gateway power: fuse No.60 &amp;quot;IG1 SIG&amp;quot; (10 A) and fuse No.52 &amp;quot;CONT&amp;quot; (5 A). Treat the ignition as needing to be on.&lt;br /&gt;
&lt;br /&gt;
Observation: two captures from the DLC contained only IDs 0x798 and 0x7A8 (plus two error frames). No broadcast traffic from other modules was seen, so passive listening on the DLC will not show TPMS data.&lt;br /&gt;
&lt;br /&gt;
== Diagnostic requests seen ==&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! Request !! Reply !! Meaning&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;3E&amp;lt;/code&amp;gt; || &amp;lt;code&amp;gt;7E&amp;lt;/code&amp;gt; || Tester present&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;1A 8A&amp;lt;/code&amp;gt; || &amp;lt;code&amp;gt;5A 8A&amp;lt;/code&amp;gt; + ASCII &amp;lt;code&amp;gt;37120-78R0*&amp;lt;/code&amp;gt; || ECU identification&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;1A 8E&amp;lt;/code&amp;gt; || &amp;lt;code&amp;gt;5A 8E&amp;lt;/code&amp;gt; + ASCII &amp;lt;code&amp;gt;37160-61M0&amp;lt;/code&amp;gt; || ECU identification: matches the &amp;quot;Model No. P61M0&amp;quot; printed on the TPMS controller label&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;18 00 FF 00&amp;lt;/code&amp;gt; || &amp;lt;code&amp;gt;58 00&amp;lt;/code&amp;gt; or &amp;lt;code&amp;gt;58 01 9A 31 E0&amp;lt;/code&amp;gt; || Read DTCs by status (second form = one code reported; not decoded)&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;21 00&amp;lt;/code&amp;gt; || &amp;lt;code&amp;gt;61 00&amp;lt;/code&amp;gt; + 100 bytes || Sensor data block (repeated about twice a second by the scan tool)&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
Part labels on the test car: TPMS controller 37160-78R00, &amp;quot;BASE ASSY-TPMS&amp;quot;, Model No. P61M0, Continental A2C13930301, 433.92 MHz; central gateway controller 33580-79R01. The &amp;lt;code&amp;gt;1A 8E&amp;lt;/code&amp;gt; reply (37160-61M0) matches the TPMS controller&#039;s base number and model number; the &amp;lt;code&amp;gt;1A 8A&amp;lt;/code&amp;gt; reply (37120-78R0*) shares &amp;quot;78R0&amp;quot; with its full part number but its meaning is not confirmed&lt;br /&gt;
&lt;br /&gt;
== Reading it with an ELM327 ==&lt;br /&gt;
Terminal commands, one at a time (CR line ending):&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
ATZ&lt;br /&gt;
ATSP6&lt;br /&gt;
ATSH798&lt;br /&gt;
ATS0&lt;br /&gt;
ATL0&lt;br /&gt;
ATFCSH798&lt;br /&gt;
ATFCSD300000&lt;br /&gt;
ATFCSM1&lt;br /&gt;
2100&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
* &amp;lt;code&amp;gt;ATSH798&amp;lt;/code&amp;gt; sets the request address. The reply address (0x7A8) is worked out automatically.&lt;br /&gt;
* &amp;lt;code&amp;gt;ATFCSH798 / ATFCSD300000 / ATFCSM1&amp;lt;/code&amp;gt; make the adapter send the ISO-TP flow-control frame (30 00 00) itself.&lt;br /&gt;
* &amp;lt;code&amp;gt;ATS0&amp;lt;/code&amp;gt; removes the spaces between bytes.Without it, the generic Chinese ELM327-based dongle (dongle 1) reported &amp;lt;code&amp;gt;BUFFER FULL&amp;lt;/code&amp;gt; near byte 81.&lt;br /&gt;
* Expected output: a length line (&amp;lt;code&amp;gt;066&amp;lt;/code&amp;gt; = 102 bytes) and numbered lines &amp;lt;code&amp;gt;0:&amp;lt;/code&amp;gt; to &amp;lt;code&amp;gt;E:&amp;lt;/code&amp;gt;.&lt;br /&gt;
* With default settings dongle 1 returned only the first line (&amp;lt;code&amp;gt;61 00 xx 01 00 00&amp;lt;/code&amp;gt;).&lt;br /&gt;
&lt;br /&gt;
== Reply layout (21 00) ==&lt;br /&gt;
Byte positions count the &amp;lt;code&amp;gt;61&amp;lt;/code&amp;gt; as byte 0.&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! Bytes !! Content&lt;br /&gt;
|-&lt;br /&gt;
| 0-1 || &amp;lt;code&amp;gt;61 00&amp;lt;/code&amp;gt; (positive reply)&lt;br /&gt;
|-&lt;br /&gt;
| 2 || Varies 117-142. Looks like system voltage x 10 (&#039;&#039;unconfirmed&#039;&#039;)&lt;br /&gt;
|-&lt;br /&gt;
| 12-21 || Sensor record 1: front left&lt;br /&gt;
|-&lt;br /&gt;
| 22-31 || Sensor record 2: rear left&lt;br /&gt;
|-&lt;br /&gt;
| 32-41 || Sensor record 3: rear right&lt;br /&gt;
|-&lt;br /&gt;
| 42-51 || Sensor record 4: front right&lt;br /&gt;
|-&lt;br /&gt;
| 56-71 || Four 4-byte sensor-ID entries whose contents change (meaning unknown)&lt;br /&gt;
|-&lt;br /&gt;
| other || Not decoded&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== Sensor record (10 bytes) ===&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! Offset !! Content&lt;br /&gt;
|-&lt;br /&gt;
| +0 to +3 || Sensor ID&lt;br /&gt;
|-&lt;br /&gt;
| +4 || Position flag&lt;br /&gt;
|-&lt;br /&gt;
| +5 || Value 57-74. Behaves like temperature, possibly with an offset of 40 (&#039;&#039;unconfirmed&#039;&#039;)&lt;br /&gt;
|-&lt;br /&gt;
| +6 || Pressure candidate (see calibration)&lt;br /&gt;
|-&lt;br /&gt;
| +7, +8 || Not understood&lt;br /&gt;
|-&lt;br /&gt;
| +9 || Always 0&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! Wheel !! Sensor ID !! Position flag&lt;br /&gt;
|-&lt;br /&gt;
| Front left || 4E AA 09 43 || 0x10&lt;br /&gt;
|-&lt;br /&gt;
| Rear left || DD 91 B5 25 || 0x20&lt;br /&gt;
|-&lt;br /&gt;
| Rear right || 4E AA 03 19 || 0x18&lt;br /&gt;
|-&lt;br /&gt;
| Front right || 4E AA 09 C9 || 0x08&lt;br /&gt;
|}&lt;br /&gt;
Sensor IDs are specific to one car. Yours will differ.&lt;br /&gt;
&lt;br /&gt;
== Calibration ==&lt;br /&gt;
Byte +6 against gauge readings (bar). The five deflation-test counts were reconstructed from the app&#039;s displayed values.&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! Raw !! Gauge (bar) !! Raw x 0.01372&lt;br /&gt;
|-&lt;br /&gt;
| 136 (rear left) || 1.868 || 1.866&lt;br /&gt;
|-&lt;br /&gt;
| 131 (rear right) || 1.795 || 1.797&lt;br /&gt;
|-&lt;br /&gt;
| 131 (front right) || 1.795 || 1.797&lt;br /&gt;
|-&lt;br /&gt;
| 126 || 1.73 || 1.729&lt;br /&gt;
|-&lt;br /&gt;
| 119 || 1.63 || 1.633&lt;br /&gt;
|-&lt;br /&gt;
| 112 || 1.54 || 1.537&lt;br /&gt;
|-&lt;br /&gt;
| 101 || 1.39 || 1.386&lt;br /&gt;
|-&lt;br /&gt;
| 96 || 1.29 || 1.317&lt;br /&gt;
|}&lt;br /&gt;
The last five rows are from one tyre during a slow deflation (assumed front left).&lt;br /&gt;
* bar = raw x 0.01372&lt;br /&gt;
* psi = raw x 0.199&lt;br /&gt;
&lt;br /&gt;
No offset is needed, which suggests the byte holds gauge pressure. All points are within 0.004 bar except the lowest (0.027 bar off), which may be sensor update lag or slight non-linearity. More readings at low and high pressure are needed.&lt;br /&gt;
&lt;br /&gt;
== Torque Pro custom PIDs ==&lt;br /&gt;
Common fields for every wheel:&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! Field !! Value&lt;br /&gt;
|-&lt;br /&gt;
| Header || 798&lt;br /&gt;
|-&lt;br /&gt;
| Mode and PID || 2100&lt;br /&gt;
|-&lt;br /&gt;
| Diagnostic start command || &amp;lt;code&amp;gt;ATS0, ATL0, ATFCSH798, ATFCSD300000, ATFCSM1&amp;lt;/code&amp;gt; (comma-separated)&lt;br /&gt;
|-&lt;br /&gt;
| Unit / min / max || bar, 0, 4 (or psi, 0, 60)&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
Equation uses a letter for each data byte. &amp;lt;code&amp;gt;A&amp;lt;/code&amp;gt; is the first byte after &amp;lt;code&amp;gt;61 00&amp;lt;/code&amp;gt; (reply byte 2).&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! Wheel !! Byte +5 (temperature?) !! Byte +6 (pressure candidate)&lt;br /&gt;
|-&lt;br /&gt;
| Front left || P || Q&lt;br /&gt;
|-&lt;br /&gt;
| Front right || AT || AU&lt;br /&gt;
|-&lt;br /&gt;
| Rear left || Z || AA&lt;br /&gt;
|-&lt;br /&gt;
| Rear right || AJ || AK&lt;br /&gt;
|}&lt;br /&gt;
Example: &amp;lt;code&amp;gt;Q*0.01372&amp;lt;/code&amp;gt;. Letters must be upper case. Whether Torque accepts two-letter variables is &#039;&#039;unconfirmed&#039;&#039;.&lt;br /&gt;
&lt;br /&gt;
=== Known problem ===&lt;br /&gt;
Using dongle 1 (generic Chinese ELM327-based) with Torque Pro on the XTRONS PX90, Torque read bytes &amp;lt;code&amp;gt;A&amp;lt;/code&amp;gt; to &amp;lt;code&amp;gt;D&amp;lt;/code&amp;gt; (first line of the reply) correctly, but every byte from &amp;lt;code&amp;gt;E&amp;lt;/code&amp;gt; onward returned -1, even though a terminal received the full 102 bytes with the same commands. The start-command field is applied (adding &amp;lt;code&amp;gt;ATH1&amp;lt;/code&amp;gt; changed the output). Tried without success: turning off &amp;quot;Faster communication&amp;quot;, removing &amp;lt;code&amp;gt;ATS0&amp;lt;/code&amp;gt;. Not yet tried: &amp;lt;code&amp;gt;ATAT0, ATSTFF&amp;lt;/code&amp;gt; timeout settings, other apps, and the Veepeak OBDCheck BLE+ (dongle 2).. Unresolved.&lt;br /&gt;
The same result occurred with the Veepeak OBDCheck BLE+ (dongle 2). Car Scanner Pro does not have this problem (see below).&lt;br /&gt;
&lt;br /&gt;
== Car Scanner Pro (working) ==&lt;br /&gt;
Car Scanner Pro reads all the bytes where Torque Pro fails. Custom PID settings used:&lt;br /&gt;
* Header: 798&lt;br /&gt;
* Request: 2100&lt;br /&gt;
* Start command (backslash-separated): &amp;lt;code&amp;gt;ATAT0\ATSTFF\ATS0\ATL0\ATFCSH798\ATFCSD300000\ATFCSM1&amp;lt;/code&amp;gt;&lt;br /&gt;
* Equations use the same letters as the table above, for example &amp;lt;code&amp;gt;Q*0.01372&amp;lt;/code&amp;gt; for front left (bar)&lt;br /&gt;
&lt;br /&gt;
The start command has not yet been shortened. Adapter: Both dongle 1 (generic ELM327-based) and dongle 2 (Veepeak OBDCheck BLE+) work with Car Scanner Pro.&lt;br /&gt;
== Other modules found by a full scan ==&lt;br /&gt;
A full health-check scan with a Launch X431 CRP919, captured with PCAN-View on the OBD socket, shows 12 modules answering on the DLC. Every module that replied is listed here. The reply ID is not always the request ID plus 8.&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! Request !! Reply !! Protocol !! Identification replies !! Module !! How identified&lt;br /&gt;
|-&lt;br /&gt;
| 0x7E0 || 0x7E8 || KWP || 33980-78R0, 33980-78RC* || ECM || Standard engine address&lt;br /&gt;
|-&lt;br /&gt;
| 0x261 || 0x661 || KWP || 56100-77RA, 56100-78RF* || ABS (inferred) || Only brake module left by elimination&lt;br /&gt;
|-&lt;br /&gt;
| 0x263 || 0x663 || KWP || 38720-77R0, 38720-77R0* || EPS controller || Parts catalogue&lt;br /&gt;
|-&lt;br /&gt;
| 0x271 || 0x671 || KWP || 36775-77R0, 36775-77RC* || Body control module || Parts catalogue&lt;br /&gt;
|-&lt;br /&gt;
| 0x274 || 0x674 || KWP || 34100-78R0, 34110-78RD* || Instrument cluster || Rev counter sweep test&lt;br /&gt;
|-&lt;br /&gt;
| 0x798 || 0x7A8 || KWP || 37160-61M0, 37120-78R0* || TPMS controller || Label and parts catalogue&lt;br /&gt;
|-&lt;br /&gt;
| 0x79A || 0x7AA || KWP || 37210-74PA, 37210-74PE* || Lighting and turn switch || Parts catalogue&lt;br /&gt;
|-&lt;br /&gt;
| 0x778 || 0x788 || KWP || 33990-52R0, 33990-78R8* || Dual sensor brake support || Parts catalogue&lt;br /&gt;
|-&lt;br /&gt;
| 0x793 || 0x7A3 || UDS || 38910-77R0, 38910-78RC* || Airbag (SRS) controller || Parts catalogue&lt;br /&gt;
|-&lt;br /&gt;
| 0x772 || 0x782 || UDS || 38885-77R0, 38885-78R0* || 4WD shift controller || Parts catalogue&lt;br /&gt;
|-&lt;br /&gt;
| 0x799 || 0x7A9 || UDS || 38960-78RA, 38960-78RA* || E-call controller || Parts catalogue&lt;br /&gt;
|-&lt;br /&gt;
| 0x751 || 0x761 || UDS || 33580-79R0, 33580-78R0* || Central gateway || Label and parts catalogue&lt;br /&gt;
|}&lt;br /&gt;
Reply ID offsets: engine +0x08; 0x261 to 0x274 +0x400; all others +0x10.&lt;br /&gt;
&lt;br /&gt;
* KWP-style modules answer &amp;lt;code&amp;gt;1A 8E&amp;lt;/code&amp;gt; and &amp;lt;code&amp;gt;1A 8A&amp;lt;/code&amp;gt; (identification) and &amp;lt;code&amp;gt;18 00 FF 00&amp;lt;/code&amp;gt; (DTCs). UDS-style modules answer &amp;lt;code&amp;gt;22 F1 01&amp;lt;/code&amp;gt; and &amp;lt;code&amp;gt;22 F1 88&amp;lt;/code&amp;gt; (identification) and &amp;lt;code&amp;gt;19 02 FF&amp;lt;/code&amp;gt; (DTCs).&lt;br /&gt;
* Requests to 0x273 and 0x262 (tester present) got no reply, so those modules are probably not fitted.&lt;br /&gt;
* The &amp;quot;probable&amp;quot; and &amp;quot;possible&amp;quot; names are guesses from the part-number series and are not confirmed.&lt;br /&gt;
&lt;br /&gt;
=== Instrument cluster output test (0x274 / 0x674) ===&lt;br /&gt;
A rev counter sweep commanded by the Launch X431 appears as a single KWP output-control request, after which the cluster sweeps the needle up and down by itself:&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! Request !! Reply !! Notes&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;3E 00&amp;lt;/code&amp;gt; || &amp;lt;code&amp;gt;7E&amp;lt;/code&amp;gt; || Tester present, about every 2.15 s&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;30 01 07 80 40 00 00&amp;lt;/code&amp;gt; || &amp;lt;code&amp;gt;70 01 07&amp;lt;/code&amp;gt; || Starts the sweep (service 0x30, local ID 01, &amp;quot;short-term adjustment&amp;quot;)&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;30 01 07 80 00 00 00&amp;lt;/code&amp;gt; || &amp;lt;code&amp;gt;7F 30 22&amp;lt;/code&amp;gt; || Refused (&amp;quot;conditions not correct&amp;quot;); possibly a stop request sent after the sweep had finished&lt;br /&gt;
|}&lt;br /&gt;
The meaning of the four control bytes (80 40 00 00) is not known.&lt;br /&gt;
&lt;br /&gt;
== Open questions ==&lt;br /&gt;
* Meaning of reply bytes +5, +7, +8 and the unexplained regions.&lt;br /&gt;
* A reliable pressure scale and offset (more gauge readings needed).&lt;br /&gt;
* Whether other Suzuki modules use addresses near 0x798 (not checked).&lt;br /&gt;
* Why Torque stops after the first line.&lt;br /&gt;
&lt;br /&gt;
== Sources ==&lt;br /&gt;
* Owner PCAN-View captures, October 2026.&lt;br /&gt;
* Suzuki wiring diagrams: A-8 CAN communication system; A-8 Central Gateway Control and DLC System (RHD).&lt;br /&gt;
* Forum thread &amp;quot;Jimny JB74 (2019+) - Torque Pro PID for TPMS&amp;quot;.&lt;br /&gt;
* BigJimny forum thread &amp;quot;JB74 OBD2 connection&amp;quot; (December 2020).&lt;br /&gt;
&lt;br /&gt;
[[Category:Jimny technical]]&lt;br /&gt;
[[Category:JB74]]&lt;br /&gt;
[[Category:Electrical - gen3]]&lt;br /&gt;
[[Category:FAQ - gen3]]&lt;br /&gt;
[[Category:Howto - gen3]]&lt;br /&gt;
&lt;br /&gt;
[[Category:Electrical - gen4]]&lt;br /&gt;
[[Category:FAQ - gen4]]&lt;br /&gt;
[[Category:Howto - gen4]]&lt;/div&gt;</summary>
		<author><name>Mlines</name></author>
	</entry>
	<entry>
		<id>https://www.bigjimny.com/mediawiki/index.php?title=OBD2_Diagnostics_reading_project&amp;diff=10060</id>
		<title>OBD2 Diagnostics reading project</title>
		<link rel="alternate" type="text/html" href="https://www.bigjimny.com/mediawiki/index.php?title=OBD2_Diagnostics_reading_project&amp;diff=10060"/>
		<updated>2026-10-29T20:31:59Z</updated>

		<summary type="html">&lt;p&gt;Mlines: /* Other modules found by a full scan */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;= Suzuki Jimny JB74 (2018+) - Reading TPMS data over the diagnostic CAN link =&lt;br /&gt;
&lt;br /&gt;
{{Donate}}&lt;br /&gt;
== Overview ==&lt;br /&gt;
Purpose-built diagnostic tools (Autel, Launch and similar) already support Suzuki comprehensively. There is also a trend towards replacing the factory head unit with an Android media unit that can run apps to read and display information from the car&#039;s electronics. These units are not Suzuki-specific, so this project aims to learn how to read vehicle data (starting with the factory TPMS) and show it on the head unit.&lt;br /&gt;
&lt;br /&gt;
=== Equipment ===&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! Role !! Item&lt;br /&gt;
|-&lt;br /&gt;
| Head unit || XTRONS PX90&lt;br /&gt;
|-&lt;br /&gt;
| OBD-II Bluetooth dongle 1 || Generic ELM-based (Chinese)&lt;br /&gt;
|-&lt;br /&gt;
| OBD-II Bluetooth dongle 2 || Veepeak OBDCheck BLE+&lt;br /&gt;
|-&lt;br /&gt;
| CAN bus monitor (Windows) || PCAN-View (PEAK-System)&lt;br /&gt;
|-&lt;br /&gt;
| Diagnostic tool 1 || Launch X431 CRP919&lt;br /&gt;
|-&lt;br /&gt;
| Diagnostic tool 2 || SZ Viewer app&lt;br /&gt;
|-&lt;br /&gt;
| Head-unit apps being tried || Torque, RealDash&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== Method ===&lt;br /&gt;
# The diagnostic tools (Launch X431, SZ Viewer) have comprehensive Suzuki support, so they are used to generate the CAN bus requests.&lt;br /&gt;
# PCAN-View is connected to the OBD socket to capture the requests and the module&#039;s replies, which are then decoded by hand.&lt;br /&gt;
# The decoded requests are recreated in the head-unit apps so the head unit can ask the car for the same data directly.&lt;br /&gt;
&#039;&#039;&#039;Status:&#039;&#039;&#039; work in progress. Based on one RHD UK-market 2021 Jimny with factory TPMS, owner-made PCAN-View captures, and the Suzuki wiring diagrams (A-8 CAN communication and A-8 Central Gateway/DLC). Items marked &#039;&#039;unconfirmed&#039;&#039; are not yet verified.&lt;br /&gt;
&lt;br /&gt;
== Summary ==&lt;br /&gt;
* The TPMS control module answers an ordinary diagnostic request on the OBD socket. It does not broadcast tyre data.&lt;br /&gt;
* Request ID &#039;&#039;&#039;0x798&#039;&#039;&#039;, reply ID &#039;&#039;&#039;0x7A8&#039;&#039;&#039;, 11-bit CAN, 500 kbit/s, ISO-TP framing.&lt;br /&gt;
* Service &#039;&#039;&#039;0x21&#039;&#039;&#039; (read data by local identifier), identifier &#039;&#039;&#039;0x00&#039;&#039;&#039;, returns 102 bytes containing all four sensor records.&lt;br /&gt;
* The OBD socket is fed by a central gateway, so only diagnostic traffic is visible on it.&lt;br /&gt;
&lt;br /&gt;
== DLC (OBD socket) wiring ==&lt;br /&gt;
The service-manual diagram numbers the DLC terminals differently from SAE J1962. In all five cases on the diagram, manual terminal &#039;&#039;n&#039;&#039; matches standard pin &#039;&#039;17 - n&#039;&#039;.&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! Manual terminal !! Standard pin !! Function !! Wire / source on diagram&lt;br /&gt;
|-&lt;br /&gt;
| 1 || 16 || Battery +12 V || GRY, fuse No.49 &amp;quot;DOME2&amp;quot; (10 A)&lt;br /&gt;
|-&lt;br /&gt;
| 12 || 5 || Signal ground || BLK&lt;br /&gt;
|-&lt;br /&gt;
| 13 || 4 || Chassis ground || BLK&lt;br /&gt;
|-&lt;br /&gt;
| 11 || 6 || CAN-H (from standard assignment) || BLU, gateway pin 8&lt;br /&gt;
|-&lt;br /&gt;
| 3 || 14 || CAN-L (from standard assignment) || WHT, gateway pin 7&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
Use pins &#039;&#039;&#039;6&#039;&#039;&#039; and &#039;&#039;&#039;14&#039;&#039;&#039; for a CAN adapter. The diagram does not label CAN-H and CAN-L itself.&lt;br /&gt;
&lt;br /&gt;
=== Cross-check with other reports ===&lt;br /&gt;
A BigJimny forum thread (&amp;quot;JB74 OBD2 connection&amp;quot;, December 2020) describes a 2020 JB74 whose OBD plug had pins 4, 5, 6, 14, 15 and 16 wired, with pin 7 (K-line) not wired. The poster, quoting an older Suzuki pinout, lists pin 6 as a blue wire (CAN-H) and pin 14 as a white wire (CAN-L). This matches the table above: a blue CAN wire on pin 6 and a white one on pin 14.&lt;br /&gt;
&lt;br /&gt;
* The CAN-H/CAN-L assignment in that thread comes from a pinout reference that the poster says predates the JB74, so it is a report, not a measurement.&lt;br /&gt;
* No wire for standard pin 7 (K-line) appears on the diagram page above, and the forum report also found it unwired. K-line is therefore unlikely to be available on the JB74 socket.&lt;br /&gt;
* On the forum poster&#039;s car, pin 15 was also wired; the diagram page above shows no wire for it. This may be a market or model-year difference.&lt;br /&gt;
&lt;br /&gt;
== Network layout ==&lt;br /&gt;
The DLC is not on the vehicle bus directly. The &#039;&#039;&#039;central gateway control module&#039;&#039;&#039; joins the vehicle CAN bus (its pins 20 and 21, RED/WHT) and provides a separate CAN pair to the DLC (its pins 8 and 7, BLU/WHT).&lt;br /&gt;
&lt;br /&gt;
Modules on the vehicle bus (diagram): ECM, 4WD control module, TCM (A/T models), BCM, ESP control module, headlight auto levelling module (if equipped), dual sensor brake support control module (if equipped), P/S control module, steering angle sensor, TPMS control module / receiver (if equipped), combination meter, SDM, combination switch.&lt;br /&gt;
&lt;br /&gt;
Gateway power: fuse No.60 &amp;quot;IG1 SIG&amp;quot; (10 A) and fuse No.52 &amp;quot;CONT&amp;quot; (5 A). Treat the ignition as needing to be on.&lt;br /&gt;
&lt;br /&gt;
Observation: two captures from the DLC contained only IDs 0x798 and 0x7A8 (plus two error frames). No broadcast traffic from other modules was seen, so passive listening on the DLC will not show TPMS data.&lt;br /&gt;
&lt;br /&gt;
== Diagnostic requests seen ==&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! Request !! Reply !! Meaning&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;3E&amp;lt;/code&amp;gt; || &amp;lt;code&amp;gt;7E&amp;lt;/code&amp;gt; || Tester present&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;1A 8A&amp;lt;/code&amp;gt; || &amp;lt;code&amp;gt;5A 8A&amp;lt;/code&amp;gt; + ASCII &amp;lt;code&amp;gt;37120-78R0*&amp;lt;/code&amp;gt; || ECU identification&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;1A 8E&amp;lt;/code&amp;gt; || &amp;lt;code&amp;gt;5A 8E&amp;lt;/code&amp;gt; + ASCII &amp;lt;code&amp;gt;37160-61M0&amp;lt;/code&amp;gt; || ECU identification: matches the &amp;quot;Model No. P61M0&amp;quot; printed on the TPMS controller label&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;18 00 FF 00&amp;lt;/code&amp;gt; || &amp;lt;code&amp;gt;58 00&amp;lt;/code&amp;gt; or &amp;lt;code&amp;gt;58 01 9A 31 E0&amp;lt;/code&amp;gt; || Read DTCs by status (second form = one code reported; not decoded)&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;21 00&amp;lt;/code&amp;gt; || &amp;lt;code&amp;gt;61 00&amp;lt;/code&amp;gt; + 100 bytes || Sensor data block (repeated about twice a second by the scan tool)&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
Part labels on the test car: TPMS controller 37160-78R00, &amp;quot;BASE ASSY-TPMS&amp;quot;, Model No. P61M0, Continental A2C13930301, 433.92 MHz; central gateway controller 33580-79R01. The &amp;lt;code&amp;gt;1A 8E&amp;lt;/code&amp;gt; reply (37160-61M0) matches the TPMS controller&#039;s base number and model number; the &amp;lt;code&amp;gt;1A 8A&amp;lt;/code&amp;gt; reply (37120-78R0*) shares &amp;quot;78R0&amp;quot; with its full part number but its meaning is not confirmed&lt;br /&gt;
&lt;br /&gt;
== Reading it with an ELM327 ==&lt;br /&gt;
Terminal commands, one at a time (CR line ending):&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
ATZ&lt;br /&gt;
ATSP6&lt;br /&gt;
ATSH798&lt;br /&gt;
ATS0&lt;br /&gt;
ATL0&lt;br /&gt;
ATFCSH798&lt;br /&gt;
ATFCSD300000&lt;br /&gt;
ATFCSM1&lt;br /&gt;
2100&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
* &amp;lt;code&amp;gt;ATSH798&amp;lt;/code&amp;gt; sets the request address. The reply address (0x7A8) is worked out automatically.&lt;br /&gt;
* &amp;lt;code&amp;gt;ATFCSH798 / ATFCSD300000 / ATFCSM1&amp;lt;/code&amp;gt; make the adapter send the ISO-TP flow-control frame (30 00 00) itself.&lt;br /&gt;
* &amp;lt;code&amp;gt;ATS0&amp;lt;/code&amp;gt; removes the spaces between bytes.Without it, the generic Chinese ELM327-based dongle (dongle 1) reported &amp;lt;code&amp;gt;BUFFER FULL&amp;lt;/code&amp;gt; near byte 81.&lt;br /&gt;
* Expected output: a length line (&amp;lt;code&amp;gt;066&amp;lt;/code&amp;gt; = 102 bytes) and numbered lines &amp;lt;code&amp;gt;0:&amp;lt;/code&amp;gt; to &amp;lt;code&amp;gt;E:&amp;lt;/code&amp;gt;.&lt;br /&gt;
* With default settings dongle 1 returned only the first line (&amp;lt;code&amp;gt;61 00 xx 01 00 00&amp;lt;/code&amp;gt;).&lt;br /&gt;
&lt;br /&gt;
== Reply layout (21 00) ==&lt;br /&gt;
Byte positions count the &amp;lt;code&amp;gt;61&amp;lt;/code&amp;gt; as byte 0.&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! Bytes !! Content&lt;br /&gt;
|-&lt;br /&gt;
| 0-1 || &amp;lt;code&amp;gt;61 00&amp;lt;/code&amp;gt; (positive reply)&lt;br /&gt;
|-&lt;br /&gt;
| 2 || Varies 117-142. Looks like system voltage x 10 (&#039;&#039;unconfirmed&#039;&#039;)&lt;br /&gt;
|-&lt;br /&gt;
| 12-21 || Sensor record 1: front left&lt;br /&gt;
|-&lt;br /&gt;
| 22-31 || Sensor record 2: rear left&lt;br /&gt;
|-&lt;br /&gt;
| 32-41 || Sensor record 3: rear right&lt;br /&gt;
|-&lt;br /&gt;
| 42-51 || Sensor record 4: front right&lt;br /&gt;
|-&lt;br /&gt;
| 56-71 || Four 4-byte sensor-ID entries whose contents change (meaning unknown)&lt;br /&gt;
|-&lt;br /&gt;
| other || Not decoded&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== Sensor record (10 bytes) ===&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! Offset !! Content&lt;br /&gt;
|-&lt;br /&gt;
| +0 to +3 || Sensor ID&lt;br /&gt;
|-&lt;br /&gt;
| +4 || Position flag&lt;br /&gt;
|-&lt;br /&gt;
| +5 || Value 57-74. Behaves like temperature, possibly with an offset of 40 (&#039;&#039;unconfirmed&#039;&#039;)&lt;br /&gt;
|-&lt;br /&gt;
| +6 || Pressure candidate (see calibration)&lt;br /&gt;
|-&lt;br /&gt;
| +7, +8 || Not understood&lt;br /&gt;
|-&lt;br /&gt;
| +9 || Always 0&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! Wheel !! Sensor ID !! Position flag&lt;br /&gt;
|-&lt;br /&gt;
| Front left || 4E AA 09 43 || 0x10&lt;br /&gt;
|-&lt;br /&gt;
| Rear left || DD 91 B5 25 || 0x20&lt;br /&gt;
|-&lt;br /&gt;
| Rear right || 4E AA 03 19 || 0x18&lt;br /&gt;
|-&lt;br /&gt;
| Front right || 4E AA 09 C9 || 0x08&lt;br /&gt;
|}&lt;br /&gt;
Sensor IDs are specific to one car. Yours will differ.&lt;br /&gt;
&lt;br /&gt;
== Calibration ==&lt;br /&gt;
Byte +6 against gauge readings (bar). The five deflation-test counts were reconstructed from the app&#039;s displayed values.&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! Raw !! Gauge (bar) !! Raw x 0.01372&lt;br /&gt;
|-&lt;br /&gt;
| 136 (rear left) || 1.868 || 1.866&lt;br /&gt;
|-&lt;br /&gt;
| 131 (rear right) || 1.795 || 1.797&lt;br /&gt;
|-&lt;br /&gt;
| 131 (front right) || 1.795 || 1.797&lt;br /&gt;
|-&lt;br /&gt;
| 126 || 1.73 || 1.729&lt;br /&gt;
|-&lt;br /&gt;
| 119 || 1.63 || 1.633&lt;br /&gt;
|-&lt;br /&gt;
| 112 || 1.54 || 1.537&lt;br /&gt;
|-&lt;br /&gt;
| 101 || 1.39 || 1.386&lt;br /&gt;
|-&lt;br /&gt;
| 96 || 1.29 || 1.317&lt;br /&gt;
|}&lt;br /&gt;
The last five rows are from one tyre during a slow deflation (assumed front left).&lt;br /&gt;
* bar = raw x 0.01372&lt;br /&gt;
* psi = raw x 0.199&lt;br /&gt;
&lt;br /&gt;
No offset is needed, which suggests the byte holds gauge pressure. All points are within 0.004 bar except the lowest (0.027 bar off), which may be sensor update lag or slight non-linearity. More readings at low and high pressure are needed.&lt;br /&gt;
&lt;br /&gt;
== Torque Pro custom PIDs ==&lt;br /&gt;
Common fields for every wheel:&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! Field !! Value&lt;br /&gt;
|-&lt;br /&gt;
| Header || 798&lt;br /&gt;
|-&lt;br /&gt;
| Mode and PID || 2100&lt;br /&gt;
|-&lt;br /&gt;
| Diagnostic start command || &amp;lt;code&amp;gt;ATS0, ATL0, ATFCSH798, ATFCSD300000, ATFCSM1&amp;lt;/code&amp;gt; (comma-separated)&lt;br /&gt;
|-&lt;br /&gt;
| Unit / min / max || bar, 0, 4 (or psi, 0, 60)&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
Equation uses a letter for each data byte. &amp;lt;code&amp;gt;A&amp;lt;/code&amp;gt; is the first byte after &amp;lt;code&amp;gt;61 00&amp;lt;/code&amp;gt; (reply byte 2).&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! Wheel !! Byte +5 (temperature?) !! Byte +6 (pressure candidate)&lt;br /&gt;
|-&lt;br /&gt;
| Front left || P || Q&lt;br /&gt;
|-&lt;br /&gt;
| Front right || AT || AU&lt;br /&gt;
|-&lt;br /&gt;
| Rear left || Z || AA&lt;br /&gt;
|-&lt;br /&gt;
| Rear right || AJ || AK&lt;br /&gt;
|}&lt;br /&gt;
Example: &amp;lt;code&amp;gt;Q*0.01372&amp;lt;/code&amp;gt;. Letters must be upper case. Whether Torque accepts two-letter variables is &#039;&#039;unconfirmed&#039;&#039;.&lt;br /&gt;
&lt;br /&gt;
=== Known problem ===&lt;br /&gt;
Using dongle 1 (generic Chinese ELM327-based) with Torque Pro on the XTRONS PX90, Torque read bytes &amp;lt;code&amp;gt;A&amp;lt;/code&amp;gt; to &amp;lt;code&amp;gt;D&amp;lt;/code&amp;gt; (first line of the reply) correctly, but every byte from &amp;lt;code&amp;gt;E&amp;lt;/code&amp;gt; onward returned -1, even though a terminal received the full 102 bytes with the same commands. The start-command field is applied (adding &amp;lt;code&amp;gt;ATH1&amp;lt;/code&amp;gt; changed the output). Tried without success: turning off &amp;quot;Faster communication&amp;quot;, removing &amp;lt;code&amp;gt;ATS0&amp;lt;/code&amp;gt;. Not yet tried: &amp;lt;code&amp;gt;ATAT0, ATSTFF&amp;lt;/code&amp;gt; timeout settings, other apps, and the Veepeak OBDCheck BLE+ (dongle 2).. Unresolved.&lt;br /&gt;
The same result occurred with the Veepeak OBDCheck BLE+ (dongle 2). Car Scanner Pro does not have this problem (see below).&lt;br /&gt;
&lt;br /&gt;
== Car Scanner Pro (working) ==&lt;br /&gt;
Car Scanner Pro reads all the bytes where Torque Pro fails. Custom PID settings used:&lt;br /&gt;
* Header: 798&lt;br /&gt;
* Request: 2100&lt;br /&gt;
* Start command (backslash-separated): &amp;lt;code&amp;gt;ATAT0\ATSTFF\ATS0\ATL0\ATFCSH798\ATFCSD300000\ATFCSM1&amp;lt;/code&amp;gt;&lt;br /&gt;
* Equations use the same letters as the table above, for example &amp;lt;code&amp;gt;Q*0.01372&amp;lt;/code&amp;gt; for front left (bar)&lt;br /&gt;
&lt;br /&gt;
The start command has not yet been shortened. Adapter: Both dongle 1 (generic ELM327-based) and dongle 2 (Veepeak OBDCheck BLE+) work with Car Scanner Pro.&lt;br /&gt;
== Other modules found by a full scan ==&lt;br /&gt;
A full health-check scan with a Launch X431 CRP919, captured with PCAN-View on the OBD socket, shows 12 modules answering on the DLC. Every module that replied is listed here. The reply ID is not always the request ID plus 8.&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! Request !! Reply !! Protocol !! Identification replies !! Module !! How identified&lt;br /&gt;
|-&lt;br /&gt;
| 0x7E0 || 0x7E8 || KWP || 33980-78R0, 33980-78RC* || ECM || Standard engine address&lt;br /&gt;
|-&lt;br /&gt;
| 0x261 || 0x661 || KWP || 56100-77RA, 56100-78RF* || ABS (inferred) || Only brake module left by elimination&lt;br /&gt;
|-&lt;br /&gt;
| 0x263 || 0x663 || KWP || 38720-77R0, 38720-77R0* || EPS controller || Parts catalogue&lt;br /&gt;
|-&lt;br /&gt;
| 0x271 || 0x671 || KWP || 36775-77R0, 36775-77RC* || Body control module || Parts catalogue&lt;br /&gt;
|-&lt;br /&gt;
| 0x274 || 0x674 || KWP || 34100-78R0, 34110-78RD* || Instrument cluster || Rev counter sweep test&lt;br /&gt;
|-&lt;br /&gt;
| 0x798 || 0x7A8 || KWP || 37160-61M0, 37120-78R0* || TPMS controller || Label and parts catalogue&lt;br /&gt;
|-&lt;br /&gt;
| 0x79A || 0x7AA || KWP || 37210-74PA, 37210-74PE* || Lighting and turn switch || Parts catalogue&lt;br /&gt;
|-&lt;br /&gt;
| 0x778 || 0x788 || KWP || 33990-52R0, 33990-78R8* || Dual sensor brake support (inferred) || By elimination&lt;br /&gt;
|-&lt;br /&gt;
| 0x793 || 0x7A3 || UDS || 38910-77R0, 38910-78RC* || Airbag (SRS) controller || Parts catalogue&lt;br /&gt;
|-&lt;br /&gt;
| 0x772 || 0x782 || UDS || 38885-77R0, 38885-78R0* || 4WD shift controller || Parts catalogue&lt;br /&gt;
|-&lt;br /&gt;
| 0x799 || 0x7A9 || UDS || 38960-78RA, 38960-78RA* || E-call controller || Parts catalogue&lt;br /&gt;
|-&lt;br /&gt;
| 0x751 || 0x761 || UDS || 33580-79R0, 33580-78R0* || Central gateway || Label and parts catalogue&lt;br /&gt;
|}&lt;br /&gt;
Reply ID offsets: engine +0x08; 0x261 to 0x274 +0x400; all others +0x10.&lt;br /&gt;
&lt;br /&gt;
* KWP-style modules answer &amp;lt;code&amp;gt;1A 8E&amp;lt;/code&amp;gt; and &amp;lt;code&amp;gt;1A 8A&amp;lt;/code&amp;gt; (identification) and &amp;lt;code&amp;gt;18 00 FF 00&amp;lt;/code&amp;gt; (DTCs). UDS-style modules answer &amp;lt;code&amp;gt;22 F1 01&amp;lt;/code&amp;gt; and &amp;lt;code&amp;gt;22 F1 88&amp;lt;/code&amp;gt; (identification) and &amp;lt;code&amp;gt;19 02 FF&amp;lt;/code&amp;gt; (DTCs).&lt;br /&gt;
* Requests to 0x273 and 0x262 (tester present) got no reply, so those modules are probably not fitted.&lt;br /&gt;
* The &amp;quot;probable&amp;quot; and &amp;quot;possible&amp;quot; names are guesses from the part-number series and are not confirmed.&lt;br /&gt;
&lt;br /&gt;
=== Instrument cluster output test (0x274 / 0x674) ===&lt;br /&gt;
A rev counter sweep commanded by the Launch X431 appears as a single KWP output-control request, after which the cluster sweeps the needle up and down by itself:&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! Request !! Reply !! Notes&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;3E 00&amp;lt;/code&amp;gt; || &amp;lt;code&amp;gt;7E&amp;lt;/code&amp;gt; || Tester present, about every 2.15 s&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;30 01 07 80 40 00 00&amp;lt;/code&amp;gt; || &amp;lt;code&amp;gt;70 01 07&amp;lt;/code&amp;gt; || Starts the sweep (service 0x30, local ID 01, &amp;quot;short-term adjustment&amp;quot;)&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;30 01 07 80 00 00 00&amp;lt;/code&amp;gt; || &amp;lt;code&amp;gt;7F 30 22&amp;lt;/code&amp;gt; || Refused (&amp;quot;conditions not correct&amp;quot;); possibly a stop request sent after the sweep had finished&lt;br /&gt;
|}&lt;br /&gt;
The meaning of the four control bytes (80 40 00 00) is not known.&lt;br /&gt;
&lt;br /&gt;
== Open questions ==&lt;br /&gt;
* Meaning of reply bytes +5, +7, +8 and the unexplained regions.&lt;br /&gt;
* A reliable pressure scale and offset (more gauge readings needed).&lt;br /&gt;
* Whether other Suzuki modules use addresses near 0x798 (not checked).&lt;br /&gt;
* Why Torque stops after the first line.&lt;br /&gt;
&lt;br /&gt;
== Sources ==&lt;br /&gt;
* Owner PCAN-View captures, October 2026.&lt;br /&gt;
* Suzuki wiring diagrams: A-8 CAN communication system; A-8 Central Gateway Control and DLC System (RHD).&lt;br /&gt;
* Forum thread &amp;quot;Jimny JB74 (2019+) - Torque Pro PID for TPMS&amp;quot;.&lt;br /&gt;
* BigJimny forum thread &amp;quot;JB74 OBD2 connection&amp;quot; (December 2020).&lt;br /&gt;
&lt;br /&gt;
[[Category:Jimny technical]]&lt;br /&gt;
[[Category:JB74]]&lt;br /&gt;
[[Category:Electrical - gen3]]&lt;br /&gt;
[[Category:FAQ - gen3]]&lt;br /&gt;
[[Category:Howto - gen3]]&lt;br /&gt;
&lt;br /&gt;
[[Category:Electrical - gen4]]&lt;br /&gt;
[[Category:FAQ - gen4]]&lt;br /&gt;
[[Category:Howto - gen4]]&lt;/div&gt;</summary>
		<author><name>Mlines</name></author>
	</entry>
</feed>