Please don't use image hosting services like Image Shack. Here's why.

Having trouble logging in? Please delete http://www.matthewsvolvosite.com cookies in your browser. Here's how.

How to read 1996-1997 Volvo 850 mileage with an ELM327

Help, Advice and DIY Tutorials on Volvo's extremely popular car line -- Volvo's 1990s "bread and butter" cars -- powered by the ubiquitous and durable Volvo inline 5-cylinder engine.
1992 - 1997 850, 850 R, 850 T5-R, 850 T5, 850 GLT
1997 - 2000 S70, S70 AWD
1997 - 2000 V70, V70 AWD
1997 - 2000 V70-XC
1997 - 2004 C70
User avatar
esl_97_850_T5
Posts: 191
Joined: Tue Jun 19, 2012 4:53 pm
Year and Model: 1998 S70 GLT
Location: Chattanooga, TN
Flag: United States of America

How to read 1996-1997 Volvo 850 mileage with an ELM327

Postby esl_97_850_T5 » Sat May 25, 2013 2:27 pm

Contrary to conventional wisdom here and on other Volvo sites, the mileage of the 1996 and 1997 Volvo 850 cars can be read from the COMBI (Instrument Panel computer) using an ELM327 device. It does not require a Volvo Scan Tool (VST) or other high cost scanner.

If you have an ELM327 v1.4 or higher, and if you can already use the ELM327 to communicate with the Volvo 850 to obtain the emission diagnostics DTCs via the ELM327 commands:

>0100
>0101
>03

then you should be able to read (the raw data containing) the mileage(s) with the following commands:

>ATZ
>ATL1
>ATE1
>ATH1
>ATAL
>ATKW0
>ATTA 13
>ATIIA 51
>ATWM 82 51 13 A1
>ATSI
>ATSH 84 51 13
>B90300
>B90400

If you cut and paste those commands and the ELM327's responses -- most especially the B90300 and B90400 commands and their responses -- into the "Paste Volvo 850 communication here" box at:

http://jonesrh.info/volvo850/kwpd3b0_interpreter.html

It will attempt to interpret the communication and display (what is thought to be) the "Vehicle Mileage" and the "Mileage at Service Light Reset".

It could be that I've misinterpreted the meaning of those 2 mileages and that they need to be added together to come up with the "Vehicle Mileage". You'll just have to try it and see.

Keep in mind that these two mileages do not include any "lost miles" that were impossible to record because the ABS module was not supplying a proper speed signal to the COMBI. It could be that some of the other B9nn data can be used to estimate those "lost miles".

[Note: I use the term ECU to generally refer to "electronic control unit", ie, all the car's computers or computer-like modules, rather than the more common usage as "engine control unit" to refer strictly to the engine's computer.]

For lots more information on how to retrieve all the COMBI's (ie, ECU 51's) B9nn data, suggestions how it might be interpreted, and ideas on how to guess the "lost miles", refer to:

http://jonesrh.info/volvo850/elm327_reads_volvo_850_mileage.html

or check out all the pages and .rtf files that feed from my "Volvo 850 OBDII" portal:

http://jonesrh.info/volvo850/index.html

I think you'll find stuff there that is, as of today 2013-05-25, found nowhere else on the net. It should answer a great number of your questions about how to communicate with 1996-1997 Volvo 850 non-engine ECUs.

There's enough information there -- even now, with the portal only partially complete -- so others can see how to add 96-97 Volvo 850 non-emission diagnostics capabilities to existing mass produced scan tools and/or standalone software packages that utilize either an ELM327 based device or a VAG/COM KKL like device.

If you dig into the FAQ, you'll probably find how to also -- with the ELM327 -- read and clear DTCs for the ABS (ECU 01), COMBI (ECU 51), SRS (ECU 58), AW 50/42 Transmission (ECU 6E), Power Seat Left (ECU 2E), and Power Seat Right (ECU 2F).

Eventually, I'd like to figure out how to properly clear the 3 Service Reset Interval limits in order to do a Service Light Reset, in addition to updating the B904 mileage that seems to be the Mileage at Service Light Reset.

In the near future, I'll focus on adding more interpretation capability to kwpd3b0_interpreter.html. It may occasionally be temporarily broken, since I do live testing. However, in those situations the interpreter should be working again within an hour or less.

I'll tentatively plan on checking this thread every week or so (if I have internet access). It would be nice to get some feedback on my various hypotheses of what the ECU 51 B9nn data means. The best way for me to get the feedback is for you to add easy-to-see, explanatory comments to the ELM327 logs that you submit for automatic, quick interpretation at:
http://jonesrh.info/volvo850/kwpd3b0_interpreter.html
And this thread is the other obvious feedback vehicle.

Questions I'd like to get answered

The following are the questions I'd like answered using crowd source data from 1996-1997 Volvo 850 (and 1998-1999 S70/C70 family) owners:

1. Does B903 reflect the Total Vehicle Miles (minus "lost miles")? Or must B903 and B904 be added together?
2. How does B90A factor in to a dealer (ie, VST) reported mileage, if any? Does it "manipulate" the mileage at all?
3. Does B90A reflect Months Vehicle Speed Signal is Missing (from the ABS)? Or is it an Hours figure like the author of Brick-Diag suggests?
4. Is B901 the Country Code? What values do you see for B901 data besides A4 hex = 164 decimal, which presumably means USA?
5. What other values are there for B905, besides 10 hex (which I'm assuming implies 16000 kilometers)?
6. Do all owners see a value in B905 which tends to equate to kilometers, even when they own a vehicle manufactured for the US and other non-metric country?
7. Do all owners see B906 (1/4 Days since Service Light Reset) and B904 (Mileage at Service Light Reset) correlating very highly with the last known Service Light Reset a) as recorded in a CarFax, if pre-owned at that time, or b) as your accurate (to the exact day +/- 1) maintenance records indicate, if you owned the vehicle at the time of the Service Light Reset?
8. Does anyone have experience with recording B903, B904, B905, B906, B907, B908, and B909 soon before and soon after the Service light begins its illuminating after at least one of its Service Reminder Interval limits have been reached? If so, that would help to establish more confidence that:
a) B903 and B904 are used to see if the B905 limit is reached,
b) B906 is used to see if the B907 limit is reached, and/or
c) B908 is used to see if the B909 limit is reached.
9. Does anyone have a B90B value other than FF hex? If so, have you ever had any ABS problems that caused the speedometer to act flaky? Another way to word this is question is: Does B90B mean "MANIPULATED=YES"? If not, what does it mean?
10. Another B90B question. This one to determine if it really is used to indicate whether the Turbo gauge exists in your dash. If you have a Turbo gauge, does your B90B value = FF hex? If you do not have a Turbo gauge, is your B90B value = 00?
11. Does everyone see 3 values in B90C that can be interpreted as temperatures that reflect the bottom tick mark, 1/3 position, and 1/2 (horizontal) position of the Temp gauge?
12. Does anyone see how any of the B9nn data can be interpreted as 5000 / 7000 RPM?
13. What does B90D mean? Is it something relating to "Speed Warning"? Have you ever had a "Speed Warning"? If so, what are your ECU 51 DTCs as shown when using the AE0100 command instead of a B90300 command? [The DTCs come after the "xx 13 51 EE 01" and before the checksum byte, ie, the last hex byte displayed. At least that's how they would appear if ATH1 was used to show the headers.]
14. For B90E, does everyone see either C3 hex = 195 or CD hex = 205? If not, what do you see?

Reason I started a new thread

I've chosen to start a brand new thread relating to the 96-97 Volvo 850 mileage reading from the COMBI, since this one should be more ELM327 oriented.

There's already the good jimmy57 2011-10-25 22:45 post's instructions in the
http://www.matthewsvolvosite.com/forums/viewtopic.php?t=43723&p=212426#p212488
"How do I retrieve the correct mileage on 1996 850" thread that details how to read the mileage using the VST.

And there's already takane2's "Playing with the OBD-ii... got the mileage?" 2010-03-24 thread relating to how to supposedly read the 96-97 850 mileage by pulsing OBDII pin 7 with a flashing LED tool. But I strongly distrust and disapprove of the "takane2, OBDII pin 7, flashing LED tool" hack, since it causes -- 100% of the time -- a brand new ECU 51 DTC 06 on my 1997 Volvo 850 T5 with Motronic 4.3. I never got takane2's method to work. It might work for Motronic 4.4, but considering that this is a 3 year old thread and very few people have successfully used takane2's method to read their 1996-1997 850 mileage from the COMBI, I'd suggest avoiding it, avoiding any possible damage it might do, and using the method of reading ECU 51 B903 and B904 mentioned here.

And, lastly, there's the "How to read your actual miles from the ECU" thread on how to read the Volvo 850 mileage on the pre-96 Volvo 850. That one's covered very thoroughly. But it's for pre-1996 cars and doesn't have anything to do with the 1996-1997 cars that this thread is focused on. So the pre-1996 cars should be off limits in this thread.

I'm not certain how applicable this 1996-1997 Volvo 850 mileage reading approach is to the later, 850-like, 1998-1999 S70/C70, etc. cars.

My view is that this thread should be very ELM327 Volvo 850 (and maybe S70/C70, etc, if they apply) focused. I see it as a place to discuss not just the COMBI's mileage, and not just the COMBI's B9nn data and A5nn data, but all the 850 ECUs communication via the Volvo 850's keyword D3B0 protocol. So it could also include discussion of reading and clearing those ECUs DTCs, and how the DTCs that appear in the keyword D3B0 protocol messages relate to those 3 digit codes that appear in the Volvo literature. I wouldn't mind if it also included examples of ELM327 OBDII emission diagnostics communication.

How to read and clear DTCs for ABS, COMBI, AW 50/42, SRS, and Power Seats

At present, the best place on my site to see how to read and clear DTCs is at:

http://jonesrh.info/volvo850/volvo_850_obdii_faq.rtf

Request to incorporate into other scanners and scanning software

I would love for this ELM327 info to be incorporated into Brick-Diag, since Brick-Diag seems like the most promising, seemingly affordable software with some VST-subset functionality. And I would love for the mileage reading and even the ELM327 capability to be merged into Vol-FCR. And, I would love for the mileage reading and non-emission diagnostics DTC reading and clearing to be incorporated into the (already ELM327 capable) Android Torque app.

But, if it isn't and/or if you just don't have the money to pay for them, then with the above minimal ELM327 commands (at the top of this post), an affordable ELM327 based device, and the info at the pages feeding from http://jonesrh.info/volvo850/index.html, you should be able -- on your own -- to read the mileage, read the DTCs, and reset (at least some of) the DTCs for the 1996-1997 Volvo 850 ABS, COMBI, SRS, AW 50/42, and Power Seats.

Thanks

This is my thanks to the many fine contributions at Matthews Volvo Site that have been indispensable when debugging some problems that I've had on my 1997 Volvo 850 T5.

I'm also deeply indebted to rkam for his very useful description of the Motronic 4.4 protocol in the very first post of his "Diagnose and communication" thread at ECUPROJECT.COM:
http://forum.ecuproject.com/showthread.php?1664-Diagnose-and-communication
Without that description, I have doubts whether my Volvo 850 OBDII portal would exist today. That Motronic 4.4 protocol is the one I call the Volvo keyword D3B0 protocol (or sometimes refer to it as KWPD3B0 or KWP6227). Its high level command set possibilities (that rkam clearly lists) is the same basic protocol used by the 1996-1997 Volvo 850 ABS, COMBI, SRS, AW 50/42, and Power Seats.

I'm also thankful for the Brick-Diag Kombi screens posted at:
http://gallery.volvo-welt.de/v/daniel2345/05.07.2009-0.0.0.32/
They were helpful in interpreting the COMBI B9nn data.

And, last but not least, I'm very thankful for the excellent ELM327 product and the very thorough ELM327 data sheet at:
http://www.elmelectronics.com/DSheets/ELM327DS.pdf
It is an easy to understand manual.

Enjoy.
1998 Volvo S70 GLT - 198K miles - new daily driver
1997 Volvo 854 T5 - 146K miles - needs timing belt, radiator, ...

User avatar
matthew1
Site Admin
Posts: 7905
Joined: Sat Sep 14, 2002 5:03 pm
Year and Model: 850 T5, 1997
Location: Denver, Colorado, US
Flag: United States of America
Contact:

Re: How to read 1996-1997 Volvo 850 mileage with an ELM327

Postby matthew1 » Sat May 25, 2013 5:43 pm

ESL, this is an outstanding post. I've had a bluetooth ELM327 for several months, but haven't found time to play with it.

I'm going to Sticky this for a couple days so that all our 850, S70, V70, C70 & V70-XC Forum (1992-2000) users have time to see it.
Please buy from MVS sponsors. It keeps this site on the web.
Like this spam-free, organized forum? Thank a moderator.
Thanks for choosing MVS!
How to help MVS.

1997 850 T5, MBC, injectors, R bumper, strut brace, dying paint
2004 V70 R [gone]

User avatar
jreed
Posts: 901
Joined: Sun Mar 08, 2009 11:43 am
Year and Model: '97 Volvo 855 GLT
Location: Research Triangle, North Carolina
Flag: United States of America

Re: How to read 1996-1997 Volvo 850 mileage with an ELM327

Postby jreed » Mon May 27, 2013 11:49 am

This is one of the most inspiring posts I've seen! Thank you. I have a lot of reading to do to get up to speed. My previous car-communication efforts have been pretty limited (a commonplace off-the-shelf OBDII code reader and a little homebrew LED+switch code reader for reading and clearing the ECC codes which I wrote up here: viewtopic.php?f=1&t=50443#p251189 ). I'm looking forward to studying this material and getting more involved. Thanks again!! :)
1997 855 GLT (Light Pressure Turbo) still going strong. Previous: 1986 240 GL rusted out in '06, 1985 Saab 900T rusted out in '95, 1975 Saab 99 rusted out in '95, 1973 Saab 99 rusted out in '94

User avatar
esl_97_850_T5
Posts: 191
Joined: Tue Jun 19, 2012 4:53 pm
Year and Model: 1998 S70 GLT
Location: Chattanooga, TN
Flag: United States of America

Re: How to read 1996-1997 Volvo 850 mileage with an ELM327

Postby esl_97_850_T5 » Wed Jun 12, 2013 9:25 am

For those of you who may have had problems getting the ELM327 setup and communicating via Hyperterminal (or some other terminal emulator), I've done several things:

1. Added a page to assist in getting the ELM327 drivers and simple scanner software setup on WinXP. Some of it will be applicable to later Windows versions. That page is based on some excellent, already existent instructions elsewhere on the net. I've simply added my spin to them, and included a section of how I recovered from my initial failed attempts at ELM327 setup when following the instructions from the vendor. Hopefully, the page will help you get to the point where you can run OBDII emission diagnostics via the ELM327. Much of the info on that page is actually applicable to many types of vehicles. It isn't Volvo 850 specific. The page is titled "How to Setup an ELM327 on WinXP" and resides at:

http://jonesrh.info/volvo850/elm327_setup_on_winxp.html

2. Added some details in the Volvo 850 OBDII FAQ on how to setup Hyperterminal for communicating to the Volvo 850 via an ELM327. You can access the FAQ via http://jonesrh.info/volvo850/index.html in its Volvo 850 OBDII portal pull-down menu, where there is a Volvo 850 OBDII FAQ link. The FAQ is an .rtf file at present.

Search the FAQ for the question: Q. How do I setup Hyperterminal on WinXP to talk with and record the ELM327 conversation? Something in that question's answer might help you.

3. Updated all HTML pages or .rtf files which feed from the Volvo 850 OBDII portal pull-down menu, including some of what I've learned while experimenting with the Realterm terminal emulator. I'll be adding more on Realterm in the coming days, since it appears to be the most promising route to quickly automate (or semi-automate) the scanning of the Volvo 850 (without resorting to building a program from scratch).

4. Added yet another page, titled "ELM327 Commands to Scan a Volvo 850" and residing at:

http://jonesrh.info/volvo850/elm327_volvo_850_scan.html

that has two lists of ELM327 commands and Volvo 850 destined requests.

- The "full blown scan" list which: a) scans all the Volvo 850 "OBDII port 7 accessible" data that I know about involving the COMBI, SRS, ABS, AW 50-42, and Power Seats, b) scans the OBDII emission diagnostic data, and c) includes all DTCs from both of those sets.

- the "quick summary scan" list which simply: a) scans to see any DTCs, either emission diagnostic DTCs, or DTCs from the COMBI, SRS, ABS, AW 50-42, and Power Seats, and b) scans the COMBI's B9nn and A5nn data.

Those two lists are outstanding "cheat sheets" for driving the ELM327, either interactively or via some sort of program control, to communicate via the Volvo special keyword D3 B0 protocol.
1998 Volvo S70 GLT - 198K miles - new daily driver
1997 Volvo 854 T5 - 146K miles - needs timing belt, radiator, ...

User avatar
esl_97_850_T5
Posts: 191
Joined: Tue Jun 19, 2012 4:53 pm
Year and Model: 1998 S70 GLT
Location: Chattanooga, TN
Flag: United States of America

Re: How to read 1996-1997 Volvo 850 mileage with an ELM327

Postby esl_97_850_T5 » Sun Sep 08, 2013 4:07 pm

Here's another 1996-1997 Volvo 850 comm via ELM327 tip...

How to read/clear SRS DTCs on a 1996-1997 Volvo 850 using an ELM327.

Contrary to conventional wisdom:

1. The SRS DTCs can definitely be read by ELM327 devices.
2. At least some of the SRS DTCs can be cleared by ELM327 devices and stay away for months.

To read and clear SRS DTCs on a 1996-1997 Volvo 850 with an ELM327 device, use a terminal emulator such as Hyperterminal, Realterm, etc., issue the following commands once the ELM327 prompts with ">". Follow each command by pressing the Enter key. Do not enter the lines with the "------" dashes or "**" asterisks. They are simply explanations.

ATZ
ATL1
----- Be sure to always follow an ATZ command with ATL1.
ATE1
ATH1
ATAL
ATKW0
ATTA 13
ATIIA 58
ATWM 82 58 13 A1
ATSH 84 58 13
------ The commands above involving "58" are unique for ECU 58 (SRS).
** The next command may take up to 5 seconds, since it causes
** the ELM327 to perform a Slow Init to establish ISO9141-2 comm.
AE0100
------ Read the SRS DTCs (after performing Slow Init).
AF0100
------ Clear the SRS DTCs.
AE0100
------ Read the SRS DTCs.

Then when you're finished:

A00000
------ Tell SRS to stop communicating with you.
ATPC
------ Tell the ELM327 to cease sending the KeepAlive (A1) messages.

If you want to look at the Freeze Frames before clearing the DTCs, you'll have to determine the DTCs in the response to AE0100, then include Freeze Frame commands for them. For example, if you had 3 SRS DTCs: 03 02 04, then the Freeze Frame commands:

AD0200
AD0300
AD0400

would need to be issued before you issue the AF0100 (Clear DTCs) command, else the Freeze Frame data may be erased.

To interpret the SRS DTCs:

1. Using Volvo 850 keyword D3 B0 protocol interpreter. This is the easiest way to me. It involves a simple copy from a terminal emulator display (or its capture log file) of anything you want interpreted, then pasting that into the Paste Volvo 850 communication here box at jonesrh.info/volvo850/kwpd3b0_interpreter.html. Be sure to click in the box before pasting, then after the paste, click Interpret and wait a few seconds for the results on a page titled "Volvo 850 keyword D3 B0 protocol interpreter results". It will have a box titled "Gleanings" which will show the interpretations, the line which it interpreted, and usually 1 line preceding that one. Note that the interpreter requires that the lines to be interpreted are left-aligned, which is how they would essentially always appear in the ELM327 log. Its OK to take the easy route and just do a "Select All" and copy the entire log file's contents, as long as it isn't more than 20000 characters.

2. Download volvo_850_obdii_faq.rtf and search for the question "How do I use the ELM327 to read/clear my DTCs for ECU 58 (SRS)?". Also search for the 1st two lines containing "EE 01". The paragraph that those two lines are in has a very useful ABS example which clearly shows, by example, how to extract the DTCs. Finally, search for the SRS specific "58 EE 01" lines. After looking at those examples a little bit, you'll begin to be able to visually look at a message and mentally extract the DTCs from it. This mechanism will apply equally well to the DTC responses for COMBI, SRS, ABS, AW 50-42, and the Power Seats.

3. Peruse the COMBI's AE0100 description for another cursory explanation.

Similar command sequences can be used for the COMBI and Power Seats if you substitute their ECU #s in the 3 lines above that contain "58".

To read/clear COMBI DTCs and look at its Freeze Frames for DTCs 02, 05, and 06:
ATZ
ATL1
ATE1
ATH1
ATAL
ATKW0
ATTA 13
ATIIA 51
ATWM 82 51 13 A1
ATSH 84 51 13
AE0100
AD0200
AD0500
AD0600
AF0100
AE0100
A00000
ATPC

To read/clear Power Seat Left DTCs:
ATZ
ATL1
ATE1
ATH1
ATAL
ATKW0
ATTA 13
ATIIA 2E
ATWM 82 2E 13 A1
ATSH 84 2E 13
AE0100
------ You'll always have an ECU 2E DTC 14.
AF0100
AE0100
A00000
ATPC

To read/clear Power Seat Left DTCs:
ATZ
ATL1
ATE1
ATH1
ATAL
ATKW0
ATTA 13
ATIIA 2F
ATWM 82 2F 13 A1
ATSH 84 2F 13
AE0100
------ You'll always have an ECU 2F DTC 14.
AF0100
AE0100
A00000
ATPC

Then with further adaptation to use the AE01 / ATBD combo and AF01 / ATBD combo, you can read up to 12 DTCs for the ABS and AW 50-42 and you can clear their DTCs.

To read/clear ABS DTCs:
ATZ
ATL1
ATE1
ATH1
ATAL
ATKW0
ATTA 13
ATIIA 01
ATWM 82 01 13 A1
ATSH 83 01 13
AE01
------ This will read the DTCs, but they won't be displayed for some reason.
ATBD
------ This will display the DTCs if it is issued immediately after the AE01's NO DATA response.
AF01
------ This will attempt to clear the DTCs, but its response won't be displayed for some reason.
ATBD
------ This will display the AF01's response if it is issued immediately after the AF01's NO DATA response.
AE01
ATBD
------ Works same as previous AE01 / ATBD.
ATSH 82 01 13
A0
------ Tells ABS to stop its communication link.
ATPC
------ Tells ELM327 to stop sending the KeepAlive.

To read/clear AW 50-42 DTCs
(same comments as for ABS apply):
ATZ
ATL1
ATE1
ATH1
ATAL
ATKW0
ATTA 13
ATIIA 6E
ATWM 82 6E 13 A1
ATSH 83 6E 13
AE01
ATBD
AF01
ATBD
AE01
ATBD
ATSH 82 01 13
A0
ATPC

esl_97_850_T5
1998 Volvo S70 GLT - 198K miles - new daily driver
1997 Volvo 854 T5 - 146K miles - needs timing belt, radiator, ...

marshappynation
Posts: 4
Joined: Fri Sep 06, 2013 2:23 pm
Year and Model: 850 1996
Location: Atlanta

Re: How to read 1996-1997 Volvo 850 mileage with an ELM327

Postby marshappynation » Thu Sep 12, 2013 12:56 pm

We have bought a 1996 Volvo 850, non-turbo, with a broken odometer. We fixed the odometer by replacing the tiny plastic cog. We now want to get the correct mileage without resorting to a dealer. Our ELM327 should arrive Saturday. We know nothing about car computer diagnositics but esl's instructions look complete and legible. So hopefully you will hear from us again soon. We are loving our new old car. :D Thank you all.
Steve and Ginny

User avatar
rspi
Posts: 6134
Joined: Sat Nov 05, 2011 4:40 pm
Year and Model: 850 T-5R Wagon
Location: Albuquerque, NM
Flag: United States of America
Contact:

Re: How to read 1996-1997 Volvo 850 mileage with an ELM327

Postby rspi » Thu Sep 12, 2013 1:28 pm

Does anyone know if the ScanGauge 2 is capable of doing the commands listed above? There are a lot of settings and different things that can be done with it.
'95 855 T-5R, Panther - 22/28 mpg
'98 S70 GLT, Lil' Red
--------------------
Volvo's of past: '87 740 GLE, '79 262C Bertone, '78 264, '95 960, '97 960, '98 S90, '98 S70 GLT, '95 850 T-5R Yellow
Donate Today - Volvo Repair Videos

User avatar
esl_97_850_T5
Posts: 191
Joined: Tue Jun 19, 2012 4:53 pm
Year and Model: 1998 S70 GLT
Location: Chattanooga, TN
Flag: United States of America

Re: How to read 1996-1997 Volvo 850 mileage with an ELM327

Postby esl_97_850_T5 » Thu Sep 12, 2013 8:45 pm

rspi,

I've perused the ScanGauge II User Manual which is downloadable from their site.

It appears to me that the ScanGauge II is using OBDII mode 01 commands to retrieve the typical OBDII emission diagnostic data (like any OBDII scanner does). So they are almost certainly using mode 03 and 07 to retrieve the OBDII emission diagnostic DTCs and pending DTCs, respectively, and mode 04 to clear the DTCs. So it should probably be able to do all the OBDII commands that I apply to at least some of the Volvo 850s: 0100, 0101, 03, 07, 04, 0103, 0104, 0105, 0106, 0107, 010C, 010D, 010E, 0110, 0111, 0112, 0113, 0114. And it might do a few more 01xx commands.

If some of those aren't handled automatically by the ScanGauge II, then you can set them up as X-Gauges using the same examples provided in their User Manual, but simply substituting the proper commands above near the end of a line where you see 0100 and 0105 in their User Manual's 686AF10100 and 686AF10105 examples.

I strongly suspect the answer to your "Does anyone know if the ScanGauge 2 is capable of doing the commands listed above?" question is: "No". I don't know of any way to access the Vehicle Mileage with functional addressing and OBDII PIDs like the ScanGauge II uses. And I'll be surprised if the ScanGauge II can do the ISO9141-2 (like) physical addressing connection to ECU 51 using Tester 13 then read the ECU 51 B90300 data.

However, to be sure, you might try the simple Custom Command example I listed in paragraph "1b" below or the X-Gauge example prototype listed in paragraph "1a" below.

Or better yet, you should ask the makers of ScanGauge II using their form at MORE GAUGES FOR FREE, or using their Contact Us link.

I would suggest asking the following very specific questions (or, more simply, just direct them to this specific post and ask them to answer the questions in this post):

1. It is known that an ELM327 can read the 1997 Volvo 850 T5 vehicle mileage from the Instrument Panel with the following command sequence:

>ATZ
>ATL1
>ATE1
>ATH1
>ATAL
>ATKW0
>ATTA 13
>ATIIA 51
>ATWM 82 51 13 A1
>ATSI
>ATSH 84 51 13
>B90300

1a. So is it possible for me to use the following ScanGauge II X-Gauge settings to retrieve that Vehicle Mileage?

GAUGE: Vehicle Mileage
TXD: 845113B90300 (I'm assuming checksums are not included in TXD)
RXF: 04F905030000
RXD & MTH can also be setup to effectively expect message in form:

851351F903xxyycs

where yy = high order, xx = low order,
then yyxx hex = nnnnnn decimal, and
nnnnnn * 10 = the Vehicle Mileage.

Example: with xxyy = 7530,
3075 hex = 12405 decimal, and
12405 * 10 = 124050 = Vehicle Mileage
(minus miles lost when ABS not sending speed signal).

1b. Or is it possible to at least retrieve the raw hex data representing that Vehicle Mileage by inserting the checksum and sending the Vehicle Mileage request to ECU 51 as the following Custom Command:

845113B90300A4

thereby enabling the ScanGauge II user to have the functionality of the ScanGauge II, yet be able to also use it to retrieve the raw data for Vehicle Mileage, which can then be manually calculated as shown in 1a?

2. Will the ScanGauge II automatically perform the ISO9141-2 style 5-baud Slow Init of ECU 51 and allow the non-standard keywords D3 and B0? For example, will it allow the following initialization sequence to appear when transitioning from 5-baud to 10400 baud:

51 55 D3 B0 4F AE (ELM327 default ATS1 style)
or
5155D3B04FAE (ScanGauge II style, and ELM327 ATS0 style)

either via something which is functionally like the ELM327's explicit ATSI command or the ELM327's implicit Slow Init based on the value in the ATIIA command (eg, ATIIA 51 in our example)?

3. Is there any way to get the ScanGauge II to automatically send one of the following two KeepAlive variants to ECU 51 every 3-4 seconds?

82 51 13 A1 (or, with the checksum, 82 51 13 A1 87)
84 51 13 A1 00 00 (or, with the checksum, 82 51 13 A1 00 00 87)

esl_97_850_T5
1998 Volvo S70 GLT - 198K miles - new daily driver
1997 Volvo 854 T5 - 146K miles - needs timing belt, radiator, ...

User avatar
esl_97_850_T5
Posts: 191
Joined: Tue Jun 19, 2012 4:53 pm
Year and Model: 1998 S70 GLT
Location: Chattanooga, TN
Flag: United States of America

Re: How to read 1996-1997 Volvo 850 mileage with an ELM327

Postby esl_97_850_T5 » Sat Sep 14, 2013 7:00 pm

Someone submitted the following input 2-3 hours ago to kwpd3b0_interpreter.html, but it wasn't interpreted:

f9 03 7c 3a

Since that looked like a probable ECU 51 (COMBI) Vehicle Mileage response, I decided to try this again, both as submitted -- without the headers and checksum -- as well as with the headers and checksums, since the interpreter expects for keyword D3 B0 protocol communication to include the headers and checksums. I've also thrown in some explanatory comments (which are ignored by the interpreter). The results from the Volvo 850 keyword D3 B0 protocol interpreter results page are listed:



ELM327 said:
-- This was submitted earlier today.
-- Notice that it does not have the header (which contains the ECU #) or checksum.
-- Nothing was interpreted for that input in the Gleanings section below,
-- since the interpreter of responses to ECU 51 B903 requests (ie, an ECU 51 F903 response)
-- could not derive the ECU # from a non-existent header.
f9 03 7c 3a

-- The next submission is the same info but with the header and checksum included
-- [they are automatically created by issuing the ELM327 ATH1 command
-- sometime between the last ATZ command and the B90300 Vehicle Mileage request].
-- Notice that this response does get interpreted since the header and checksum are included.
85 13 51 f9 03 7c 3a 9b


Gleanings:
-- Notice that this response does get interpreted since the header and checksum are included.
85 13 51 f9 03 7c 3a 9b
------ Vehicle Mileage..........................149720 miles




To whomever submitted the "f9 03 7c 3a", I'm curious what tools you used to retrieve this info? ELM327? Terminal emulator? Program? What produces the lower case hex without the headers and checksum?

The reason that the interpreter presently expects the headers is to differentiate an ECU 51 (COMBI) F903 from an ECU 2E or 2F (Power Seats) F903. But since the ECU 2E/2F F903 are longer than the ECU 51 F903, I'll try to make the interpreter to be more intelligent and infer the ECU 51 from such a "f9 03 7c 3a", "F9 03 7C 3A", "f9037c3a", "F9037C3A" style response, where "7C 3A" (regardless of case, and with or without one single space between the 2-digit pairs) are whatever your vehicle mileage is. It should be available in a few hours.

In any case, your Vehicle Mileage is: 149720 (miles or km, as the case may be), minus anything lost, if any, while the ABS module did not supply the speed signal.

esl_97_850_T5
Last edited by esl_97_850_T5 on Sun Sep 15, 2013 3:07 am, edited 1 time in total.
1998 Volvo S70 GLT - 198K miles - new daily driver
1997 Volvo 854 T5 - 146K miles - needs timing belt, radiator, ...

marshappynation
Posts: 4
Joined: Fri Sep 06, 2013 2:23 pm
Year and Model: 850 1996
Location: Atlanta

Re: How to read 1996-1997 Volvo 850 mileage with an ELM327

Postby marshappynation » Sun Sep 15, 2013 2:50 am

Hi, We are the ones who entered the F9 03 7C 3A into the interpreter. It is only lowercase because I was typing it off a piece of paper! I converted the number to decimal and multiplied by ten before remembering your interpreter and thought I'd see what happened when I entered it in. Unfortunately this was the result of our first run where we did not remember to check the B90400 so we shut down the software and tried it again later in the afternoon for the results I reference below. The reason this is unfortunate because I can't say why it didn't show the headers, etc. I thought I had entered the commands the same way both times.

Here are the details of what we did:

We received the ELM327 from VTooLand which we ordered off Amazon and after some difficulty have the proper drivers installed (CP210x and the version of PL2303 which came with our unit, somehow different from the version on totaldiagnostics.com, which did not work) and have it communicating with our 1996 Volvo 850 wagon using Realterm. OBD anything is entirely new to our experience, but with this helpful thread we appear to have successfully determined our mileage. The result of 149720 is basically what we expected so we assume we did this correctly.

We entered the commands as described previously int his thread then entered the "b" lines in the following order:
B90300
B90400
B90100
B90a00
B90500
with the following gleanings:
85 13 51 F9 03 7C 3A 9B
------ Vehicle Mileage..........................149720 miles
85 13 51 F9 04 D5 39 F4
------ Mileage at Service Light Reset...........148050 miles
84 13 51 F9 01 24 06
------ Country Code (possibly)..................36 = Unknown. You know the country?
85 13 51 F9 0A 00 00 EC
------ Months Speed Signal Missing (possibly)... 0 (months, possibly)
84 13 51 F9 05 10 F6
------ Service Reminder Miles (or Km)........... 16000 [might mean 10000 miles, which ~= 16000 km]

The correct mileage total does appear to be only the B903 number and not the sum of the B903 and B904.

Thanks for this excellent thread, we would have been quite lost without it.
Ginny & Steve


Return to “Volvo 850, S70, V70, C70 & V70-XC Forum (1992-2000)”

Who is online

Users browsing this forum: No registered users and 32 guests