Jeep Wrangler Forum banner

1 - 20 of 41 Posts

·
Registered
Joined
·
22 Posts
Discussion Starter #1
I've figured out how to program the tire size and pressure settings in JK vehicle ECUs (Electronic Control Units) via OBDII without depending on a commercial programmer.

I've done this on a 2018 JK.

This is done via the OBDII DLC (Data Link Connector) by the driver's left knee.

The basic low level protocol is ISO 15765-4 CAN, 11 bit ID, 500 kbaud. There is an addition protocol layer on top of or next to that that is similar to Keyword Protocol 2000, ISO 14230-3.

For tire size it appears that the speedometer ratio is in the TIPM (Totally Integrated Power Module) in "local identifier" 0x0c. That value is also programmed in the TCM (Transmission Control Module) in local identifier 0xb1. Plus there are a couple other rather cryptic values in that same location.

The general command stream for tire size is:

01C 3E 02 to unkn2, tester present
7DF 3E 02 to general, tester present

620 10 92 to tipm, diagnostic session control

to tipm, write local ID 0x0c
620 3B 0C 0E 92 03 E8 0F A0 p1 p2 FF FF 00 03 11 1B A0 01 00 01 02

01C 3E 02 to unkn2, tester present
7DF 3E 02 to general, tester present

620 10 92 to tipm, diagnostic session control

7E1 10 92 to tcm, diagnostic session control

write tcm local ID 0xb1
7E1 3B B1 6A 64 34 72 05 01 00 0A 02 00 05 10 27 27 01 06 02 02 0C 00 00 01 00 02 00 02 00 00 4F 01 92 0E E8 03 A0 0F p2 p1 23 00 qq rr 41 56 43 2D

784 11 82 to unkn4, reset

620 11 82 to tipm, reset

784 11 82 to unkn4, reset

7E0 11 82 to ecm, reset


All of the above values are in hexidecimal. The first three digit number in each line is the CID (Controller Identifier, i.e. addresses the TIPM, TCM, ECM, etc.) The second number is the SID (Service Identifier). The third number is the PID (Parameter Identifier). On data write the PID is followed by the data bytes as above.

The variable parameters for tire diameter are p1, p2, qq, and rr above. The appropriate p1 and p2 values are easy to calculate. P1 is the most significant byte and p2 is the least significant byte of a value that I'll call 'pp'.

pp = diameter (in inches) * 80 – 8

So for 32.75 inch diameter we have:

pp = 32.75 * 80 – 8
= 2612

Converting that to hex we have 0x0a34. The most significant byte, p1 = 0x0a. The least significant byte p2 = 0x34.

Note that the diameter should be the rolling diameter and not the unloaded diameter of the tire. An unloaded 34 inch tire has a rolling diameter of 32.75 inches once you put the weight of the vehicle on it.

I was not able to find a formula for the qq and rr values. The qq value might be a signed analog value and the rr might be flags. I don't know. So I just have a table of some observed values.

Diameter (inches) qq rr (hex)
31.2875 35 29

32.0 21 9d
32.25 e3 ad
32.5 eb 3d
32.75 ee cd

33.0 f7 5d
34.0 cf 9d
35.0 d5 5d

I was able to do the above with cheap commonly available OBDII interfaces. One was a Bafx and the other was the OBDLink SX USB. The Bafx uses a knock-off of the ELM327 chip. The OBDLink uses the STN1110 chip. One difficulty is that neither of them do multiframe writes correctly. The STN is a little better than the ELM. I had to hack around using tricks like going in and out of Auto Format (caf0/caf1) and Response (r0/r1) modes. It would be possible to create a clean interface using a Raspberry Pi and CAN bus interface but I was able to get by with the ELM/STN for my purposes.

- Happy Trails
 

·
Registered
Joined
·
925 Posts
This is awesome!

If you could write some code to re-program the fan engagement temperatures, you could make some really good money.
 

·
Registered
Joined
·
22 Posts
Discussion Starter #3
This is awesome!

If you could write some code to re-program the fan engagement temperatures, you could make some really good money.

Thanks.

I know a bit about the cooling system. I've never heard of a need to change the fan turn-on temperature. In what circumstances would that be desirable?
 

·
Registered
Joined
·
925 Posts
What really is desirable will be subjective and may rightfully spark a good argument.

What has happened over the last decade or two, that many manufacturers have raised coolant temperatures to meet their emission and fuel economy targets. Former Daimler-Chrysler, now FCA is one of those companies.

While this practice might have been determined to be a perfectly safe, it puts the cooling system closer to it's limits and in my opinion rightfully raises valid concerns.

As a result many people including myself may wish to see their engines running cooler, however to this day the only way to accomplish this is via expensive tuning solutions. Coughing up hundreds of dollars is difficult, especially if all someone needs is to adjust the fan engagement temperature.

So if someone could come up with a different, more economical way to adjust fan engagement temperatures, then that could be a win for everyone.

It MUST be noted, that fan engagement is generally a well MISunderstood subject. People wrongfully think that fan is effectively used only under low speed operation. However that is wrong. Fan ASSIST is very real and is used even under high speed operations and this is exactly where reprogramming the fan engagement schedule of Pentastar might bring a solution to those who believe that Pentastar should benefit from cooler running temperatures.

So I can only encourage you trying to come up with a solution. I believe it can generate some healthy sales for you.

The only danger that I see for your 'investment', that some other low budget diagnostic scan manufacturer could in future include this function in their existing platform. E.g. I'm thinking about Appcar DiagFCA, that has received amended functions since it's initial release and now features a rather broad functionality.

Further, hopefully the fan tuning part will be accessible without having to unlock the ECM. I'm sure you know our ECMs are locked for tuning from 2016- on.
 

·
Registered
Joined
·
22 Posts
Discussion Starter #5
What really is desirable will be subjective and may rightfully spark a good argument.

What has happened over the last decade or two, that many manufacturers have raised coolant temperatures...

......

...Further, hopefully the fan tuning part will be accessible without having to unlock the ECM. I'm sure you know our ECMs are locked for tuning from 2016- on.
Well I'm not looking for an argument. :)

How much have they raised the coolant temperature? I don't see that it is close to a system limit.

I don't know but it seems that one couldn't just change the coolant temperature without perhaps having to adjust mixture too. Maybe the ECM would automatically do that, but I don't know.

I'm not looking for sales. :) (That would be like... work. I don't need that noise.) I posted this to help other and also hoping that others would contribute, thus helping us all.

I hadn't heard of the commercial programmer you mentioned. Looks pretty good. Reasonably priced. But still VIN-locked. I suspect that with time our community could come up with an open source equivalent.
 

·
Registered
Joined
·
701 Posts
Admitting being brand new to this "tuning" thing but why is there this level of involvement to accomplish the adjustment? Isn't this ability already available in a scroll and click form on my OBD JScan?
 

·
Registered
Joined
·
22 Posts
Discussion Starter #9
Admitting being brand new to this "tuning" thing but why is there this level of involvement to accomplish the adjustment? Isn't this ability already available in a scroll and click form on my OBD JScan?
I suspect your JScan allows you to read all sorts of information from the vehicle but doesn't allow you to write settings - such as tire diameter, tire pressure limit, axle ratio, etc. - to the vehicle.
 

·
Registered
Joined
·
4,603 Posts
I suspect your JScan allows you to read all sorts of information from the vehicle but doesn't allow you to write settings - such as tire diameter, tire pressure limit, axle ratio, etc. - to the vehicle.

That would be incorrect. Jscan DOES indeed allow you to write..... even tire pressure limits, axle ratio, tire diameter.... etc.


Jscan has already essentially done what you have done but has included much more in terms of adjustment, and they have placed it into a neat little package and given it a UI which even simple people handle.
 

·
Registered
Joined
·
701 Posts
Thanks for the replies. Bob S how did you know I am "simple"


socal22 you have any Cherry 2000's laying around?
 

·
Registered
Joined
·
22 Posts
Discussion Starter #12
That would be incorrect. Jscan DOES indeed allow you to write..... even tire pressure limits, axle ratio, tire diameter.... etc.


Jscan has already essentially done what you have done but has included much more in terms of adjustment, and they have placed it into a neat little package and given it a UI which even simple people handle.
Yes, the Jscan appears to be capable of making those settings. There are numerous other products that are also capable of making those settings. From what I've seen they cost anywhere from $170 to $3000.

My motivation was in supporting an open source free version.

The Jscan appears to offer a lower price break. You need a $30 interface dongle plus a license for their (his) app. It's not easy to find out from the Jscan documentation (such as it is) how much a license costs. From digging through reviews it appears you can buy a license for $20. So for about $50 it appears that you can have a solution with Jscan.

The programmers I see most commonly recommended in the forums are on the order of $170. If I had encountered the Jscan before hand I might have given it a shot.

With the availability of this lower cost apparent solution there is less motivation to create an open source alternative. And the overlap between the off-roading community and the open source community might be rather small. But in the long run I suspect there will be open source programmers.

I'll cite these caveats about Jscan:

There is basically no documentation on Jscan. You have to install and run the app to see what it can do. You have to install and run the app to find out how much a license costs.

It is rather amateurish. The author is appears to be one eastern european fellow. English is not his first language. Thus the dearth of documentation apparently.

He has offered one limited instructional video. He mentions that if you change a certain setting you also have to turn the vehicle off then on, issue another command, then turn the vehicle off then on again. I didn't see documentation of that in the app or elsewhere. Then in the video he later remembers, oh, you also have to do some other command.

The recommended interface dongles all appear to be ELM327 based. The ELM327 doesn't handle flow control or acknowledgement on multiframe writes. He hacked around that. It will probably work most of the time but there is a definite possibility that it will put your ECUs in a weird state.
 

·
Registered
Joined
·
4,603 Posts
Yes, the Jscan appears to be capable of making those settings. There are numerous other products that are also capable of making those settings. From what I've seen they cost anywhere from $170 to $3000.

My motivation was in supporting an open source free version.

The Jscan appears to offer a lower price break. You need a $30 interface dongle plus a license for their (his) app. It's not easy to find out from the Jscan documentation (such as it is) how much a license costs. From digging through reviews it appears you can buy a license for $20. So for about $50 it appears that you can have a solution with Jscan.

The programmers I see most commonly recommended in the forums are on the order of $170. If I had encountered the Jscan before hand I might have given it a shot.

With the availability of this lower cost apparent solution there is less motivation to create an open source alternative. And the overlap between the off-roading community and the open source community might be rather small. But in the long run I suspect there will be open source programmers.

I'll cite these caveats about Jscan:

There is basically no documentation on Jscan. You have to install and run the app to see what it can do. You have to install and run the app to find out how much a license costs.

It is rather amateurish. The author is appears to be one eastern european fellow. English is not his first language. Thus the dearth of documentation apparently.

He has offered one limited instructional video. He mentions that if you change a certain setting you also have to turn the vehicle off then on, issue another command, then turn the vehicle off then on again. I didn't see documentation of that in the app or elsewhere. Then in the video he later remembers, oh, you also have to do some other command.

The recommended interface dongles all appear to be ELM327 based. The ELM327 doesn't handle flow control or acknowledgement on multiframe writes. He hacked around that. It will probably work most of the time but there is a definite possibility that it will put your ECUs in a weird state.

It would have been a lot simpler if you just said:
" I was wrong. Thank you for correcting me Bob" ;)

I understand it's probably a bit of a hobby of yours and you more then likely had a bit of fun hacking the system, but as you can see, there is really no sense in it from a practical point of view anymore. Jscan is cheap and it does far more than even the $400 tuners. It's even being updated (on average) about once every 2 weeks with new features.
 

·
Super Moderator
Joined
·
22,077 Posts

·
Registered
Joined
·
259 Posts
Well, I'm a happy user of JScan. It had a bit of a rough launch, but the developer worked out all of the issues in a timely manner and has done continued work to add improvements and new features.

He has recently added a Trail View, that allows you to engage front and rear lockers independently from the screen and show some other information. I haven't gotten to use that yet, but looking forward to giving it a try.

ben
 

·
Premium Member
Joined
·
934 Posts
Well, I'm a happy user of JScan. It had a bit of a rough launch, but the developer worked out all of the issues in a timely manner and has done continued work to add improvements and new features.

He has recently added a Trail View, that allows you to engage front and rear lockers independently from the screen and show some other information. I haven't gotten to use that yet, but looking forward to giving it a try.

ben
I have used trail view and like it. The most recent update added swaybar disconnect. I’m happy with JScan for sure. Just today I updated my tire size to reflect my new pizza cutters.
 

·
Registered
Joined
·
883 Posts
Wow, tough crowd... As if these guys wouldn't trip over themselves to get their hands on a totally free option.

Personally I think it's cool you're digging into this and sharing your findings. (OSS dev here, for what it's worth, though I lack the time to commit to anything new... and I'd be terrified of bricking my Jeep.)
 

·
Registered
Joined
·
22 Posts
Discussion Starter #19
Wow, tough crowd... As if these guys wouldn't trip over themselves to get their hands on a totally free option.

Personally I think it's cool you're digging into this and sharing your findings. (OSS dev here, for what it's worth, though I lack the time to commit to anything new... and I'd be terrified of bricking my Jeep.)
;) Thanks.

There have been a couple other threads on OBDII programming:
https://www.wranglerforum.com/f202/hacking-the-can-interior-bus-466730.html
https://www.wranglerforum.com/f202/hacking-the-obd-ii-diagnostic-port-1113194.html
dcgibbons did a lot of good work. I'm certainly open to cooperating with other developers.

Part of my motivation was also to put downward pressure on the prices of the commercial programmers. Originally I bought a commercial programmer for about $180. I knew that there was little more to them than there is to the cheap ELM327 interfaces. And then they are VIN-locked to one vehicle. We can do better than that.

Jscan is probably going to put downward price pressure on the market. We'll see if some of the prices decrease.
 

·
Super Moderator
Joined
·
4,583 Posts
;) Thanks.

There have been a couple other threads on OBDII programming:
https://www.wranglerforum.com/f202/hacking-the-can-interior-bus-466730.html
https://www.wranglerforum.com/f202/hacking-the-obd-ii-diagnostic-port-1113194.html
dcgibbons did a lot of good work. I'm certainly open to cooperating with other developers.

Part of my motivation was also to put downward pressure on the prices of the commercial programmers. Originally I bought a commercial programmer for about $180. I knew that there was little more to them than there is to the cheap ELM327 interfaces. And then they are VIN-locked to one vehicle. We can do better than that.

Jscan is probably going to put downward price pressure on the market. We'll see if some of the prices decrease.
I also think it is great that you are posting this info on here to try to help people out and / share the knowledge.
I am a simple sort of guy when it comes to this, so I would rather have a simple widget that does what I need it to do easily and repeatedly. But there are uses for this knowledge. So it is great that you are putting this knowledge out there.
 
1 - 20 of 41 Posts
Top