volvo850diag is provided for your convenience. You can adapt it as you see fit, but absolutely NO WARRANTY is provided with it.
You must download the "local" version of volvo850diag from https://jonesrh.info/volvo850/volvo850diag.zip in order to use volvo850diag for '96-'98 Volvo 850 / S70 / V70 / C70 / XC70 communication. This "online" version of volvo850diag does not do that. Instead, this "online" version is included here for documentation purposes so: a) you can see the GUI in the blue and red colored boxes below, and b) you can read the Intro, Requirements, First Time Use, and Typical Use sections before deciding to download anything. Do not expect this online version to perform any useful actions if you press the buttons in the blue box, or if you press buttons or check/uncheck any checkboxes in the red OPTIONS box. Instead, download volvo850diag.zip and install volvo850diag using the instructions in the Requirements section below, then run volvo850diag.html locally. That local version of volvo850diag.html *will* respond to the button presses, checkbox checking/unchecking, etc (like you expect a GUI to do).
volvo850diag requires ActiveX and Javascript. It uses Javascript for the buttons, etc. It uses Realterm's ActiveX interface as the communication workhorse. volvo850diag also uses the WScript.Shell ActiveX object to read 3 potentially used environmental variables that can define the COM port # used by Realterm as well as override the default directories used for an automatically generated log file and for the ELM327 scripts (which are essentially snippets of the commands from ELM327 Commands to Scan Volvo 850 and SVC70). Consequently, ActiveX must be allowed when Internet Explorer begins. Internet Explorer is the only browser that I know of which can successfully run the "local" version of volvo850diag.html.
<<< Need to "Start Realterm".
ECUs (either 850 or S70/V70/C70/XC70)
ECU 51
ECU 58
ECU 01
ECU 6E
ECU 2E
ECU 2F
ECU 7A
ECU 11
ECU 41
ECUs (S70/V70/C70/XC70 only)
ECU 29
ECU 2D
OPTIONS
Change "scanner_type" (**only if** your ELM327-compatible device is *not* working).
Change "volvo_model" (to most closely match your car).
Select or deselect ECUs that should be scanned during the "all ECUs" functions that reside on the line containing the "Read All DTCs" button through the "My Extra Scans" button.
Optionally, select your ECM (Engine Control Module). This is for informational purposes only. If selected, this information will be included near the beginning of the log file.
It is usually best to not change "default_set_protocol_cmd" (but you can if necessary).
Select or deselect miscellaneous scan options.
Click "Save", then press F5
and answer "Yes" to any ActiveX prompts.
Else click "Cancel" if you've made changes and
want to discard the changes.
Else click "Exit Options".
volvo850diag uses MS Internet Explorer to drive an ELM327 device via Javascript and Realterm to communicate with a Volvo 850 to: a) obtain the emission diagnostics, and b) communicate with the COMBI, SRS, ABS, AW 50-42, Power Seats, Motronic 4.4, etc. using the Volvo 850 keyword D3 B0 protocol (KWPD3B0).
It was the quickest way I could see (back in 2013) to:
It definitely helps eliminating typing errors when compared to using a terminal emulator (eg, Hyperterminal, STNterm, PuTTY, OBD Now Terminal, Bluetooth USB WIFI Terminal, etc) to interactively type each and every command to the ELM327.
It should be useful to new Volvo 850 owners that already have an ELM327 device, yet don't have a VAG/COM KKL cable, since it can do the read and clear functions just mentioned, and since it can:
It might even be useful to veteran Volvo 850 maintainers that don't already have Brick-Diag, or even existing Vol-FCR users, since it can:
and it can:
Furthermore, it can also issue some Motronic 4.4 control functions to test various components: Engine Coolant Fan (both High and Low), EVAP Canister Purge (CP) Valve, EVAP Canister Shut-off Valve, SAS/PAIR Pump, SAS/PAIR Valve, Fuel Pump Relay, A/C Relay, each Injector, as well as Idle Air Control (IAC) Valve, Internal Load Signal, and Turbo Control Valve (TCV).
All the functions (mentioned in the last several paragraphs) can be performed only from the "local" version of this page (included in the volvo850diag.zip download described in the Requirements section).
Then the interpretation of the most important logged ELM327 communication can be obtained at jonesrh's Volvo 850 V70 keyword D3 B0 protocol interpreter, if you don't want to hassle with learning how to interpret the ELM327's hexadecimal responses.
The volvo850diag distribution is designed to be downloaded to your local machine and run from there. There's some instructions in the following Requirements section to help you with downloading the latest distribution and setting it up.
You should use Microsoft's Internet Explorer to run the "local" version of volvo850diag.html, since Realterm's ActiveX interface is heavily used to accomplish the semi-automation. I believe there are very few other browsers that can interface with ActiveX. You will need to Allow Blocked Content, both script and ActiveX controls, when IE asks you.
Also, you must enable Javascript for volvo850diag to work.
The requirements to use volvo850diag.html -- the "local" page, not this "online" page -- are:
ELM327 v1.4 (or higher) bluetooth or USB device.
This includes ELM327 compatible devices like the ScanTool.net's OBDLink SX USB, OBDLink LX BT, OBDLink MX BT, and new (Windows/Android/iOS-capable) OBDLink MX+, as well as some of the ubiquitous, very cheap ELM327 clones (though you can get burned by the inferior nature of some of the cheap clones).
It is unknown if serial or wifi devices work with volvo850diag.
To see what capabilities are derived from each official ELM327 version, refer to the Volvo 850 OBDII FAQ question "What version of the ELM327 is required to communicate with 1996-1997 Volvo 850 and 1998 Volvo S70/V70/C70/XC70 cars?".
Don't use the volvo850diag "ATSI" buttons (since the ATSI command is not implemented before ELM327 v1.4).
Instead, rely upon the ECU's "Read DTCs" button to implicitly initiate the Slow Init.
You can disable the ATSI buttons by simply editing this line in volvo850diag.html:
to:
then re-displaying that page via F5.
Alternatively, you can just remember to not use the ATSI buttons.
Optionally, edit the distributed text file scripts, if and only if you use them with the "Send File" mechanism. [See note below about not using either "Send File" or the text file scripts.]
If you do use the text file scripts, then you might consider editing them so the "ATSI" and its associated two "ATBD" commands are commented out or deleted to avoid '?' errors (or garbage info).
My suggestion is to save yourself the trouble, and do **not** make those ATSI / ATBD edits to the .txt script files.
Realterm must be installed on your computer (by an "administrator" user).
Its installation should have already installed its ActiveX server. If not, you can do so via the WinXP/Win7/Win10 CMD Prompt command line similar to the following:
where it is assumed your current directory is where the realterm.exe resides, or else realterm.exe is in the PATH.
Internet Explorer (IE), or other browser which is ActiveX capable.
IE8 on WinXP has been tested thoroughly with Realterm v2.0.0.70 (both unsigned and signed) and almost all volvo850diag versions up through v0.9. Also, IE11 on Win7-Pro 64-bit has been tested thoroughly with Realterm v2.0.0.70 and volvo850diag v0.9. Finally, IE11 on Win10 has been tested a lot with Realterm v2.0.0.70 and volvo850diag v0.9 when run from the Win10 Desktop mode (*not* Tablet mode).
It is presumed that higher versions of IE (if any) will also work with both the present and future (if any) versions of volvo850diag. And it is presumed that IE11 on Win8.1 will also work with this and future versions of volvo850diag (since IE11 on Win7 and IE11 on Win10 work with the present version of volvo850diag). There are a number of submissions to kwpd3b0_interpreter.html that have come from Win10 IE11, as well as Win7 IE11, and a few from Win8.1 IE11 -- when those users typically start out using Chrome, Firefox, Safari, or Opera to access the Volvo 850 OBDII portal, then start using IE11 soon before using kwpd3b0_interpreter. Apparently, the volvo850diag / Realterm v2.0.0.70 / IE11 combo works on Win7 / Win8.1 / Win10 for multiple '96-'98 850/S70/V70/C70/XC70 owners.
Note:
volvo850diag / Realterm / IE
*can* be run as a user with "normal" privileges.
Even though Realterm must be installed by an administrator,
the volvo850diag / Realterm / IE combo does not require
"administrator" access.
volvo850diag *can* be run quite well from a
non-administrator user account.
Strong Hint for Win7/Win10 IE11 Error Debugging:
If you want the debugging instructions on this page to apply
to your Win7/Win10 IE11 case, then after accessing the
IE11 "Tools gear" / "Internet options" / Advanced /
Browsing option Settings:
- you *must* uncheck
Disable script debugging (Internet Explorer),
and for Javascript and HTML errors:
- you will probably also have to check
Always record developer console messages.
Might as well go ahead and do those 2 things now so you
don't forget about them. Or at least do the first one.
The main reason you should do the 1st action is so that
ActiveX errors will be reported immediately in a very visible,
Webpage Error popup box that specifies a line #
and a reason for the error. This Win7 IE11 mechanism
is good at immediately informing of the most common setup errors.
[In fact, it's a little better than WinXP IE8 in this regards.]
If you do not use this "Webpage Error" box tool --
by enabling IE11 script debugging via un-checking
"Disable script debugging (Internet Explorer)" --
then you'll be operating largely blind on Win7 IE11.
And it will force you to use the F12 Developer Tools to
debug even the ActiveX errors.
The main time you need to do the 2nd action is when
Javascript or HTML errors occur, yet the (single) message
displayed in the "Webpage Error" box essentially
"makes no sense" because it is a residual error that's resulting
from a prior Javascript or HTML syntax error.
For some reason IE11 does not display immediately in the
"Webpage Error" box the syntax error which causes the
multiple residual errors (which typically are not useful
at debugging any problem in volvo850diag).
[In this regard, IE11 is inferior to WinXP IE8.]
But there is a not-too-terribly-difficult workaround
for this IE11 flaw.
You have to use the F12 Developer Tools,
then one way or another get its Console log window opened.
[There's at least 2 ways to access the Console log.
Use the IE11 help to discover them.]
Sometimes I found pressing No repeatedly
in the "Webpage Error" box is helpful,
followed by F12, opening the Console window,
then focusing on the Errors, not the Warnings, nor Info messages.
Other times, I found pressing Yes
in the "Webpage Error" box was helpful to immediately run the
F12 Developer Tools,
followed by opening the Console window,
then focusing on the Errors, not the Warnings, nor Info messages.
By disabling display of the Warnings and Info messages in the
F12 Developer Tools Console window, hopefully the first error
displayed (at the top of the list) is the syntax error culprit.
Also, remember that when the F12 Developer Tools "Debugger" pane
is displayed, clicking on both the "volvo850diag.html" tab and the
"volvo850..._scan.js" tab might be useful in understanding
where the error is.
I haven't done much error debugging with IE11 on Win10 yet,
but so far it seems that this IE11 on Win7 note applies also
for IE11 on Win10.
Note on WinXP IE8 Error Debugging:
The IE11 "Webpage Error" box (which reports a single error)
is not available for WinXP IE8. Instead WinXP IE8
visually shows the error via an exclamation mark in the
left corner of the Status line. You then double-click that
exclamation mark to open up an
Errors on this webpage might cause it to work incorrectly
dialog box, which can display multiple errors --
ActiveX, as well as HTML and Javascript. This WinXP IE8 mechanism
is better than the IE11 "Webpage Error" box for isolating
Javascript syntax errors to the exact problem line,
for the simple reasons that IE8: lists the syntax error first,
and lists all the other residual errors
without requiring use of the F12 Developer Tools.
Javascript must be enabled in your IE browser.
Cookies must be enabled in your IE browser (if you want the OPTIONS box to work).
So it's highly advisable to have cookies enabled in IE while using volvo850diag!!
volvo850diag distribution, downloaded from https://jonesrh.info/volvo850/volvo850diag.zip. That .zip contains the "local" version of volvo850diag.html, a .css file, a .js (Javascript) file, a readme file, a dummy log file (to create the \log directory), quite a few ELM327 .txt script files, the setx_envir_vars.bat CMD Prompt batch file to help setup environment variables, etc.
Most of those files, once extracted from the .zip file, can be adapted by you using any plain text editor.
The Javascript file is the main container of the ELM327 AT commands, keyword D3 B0 protocol commands, and OBDII emission diagnostic commands that are sent using Realterm's quick "PutString" mechanism.
The text file scripts also contain ELM327 AT commands and keyword D3 B0 protocol commands, but those text file scripts are no longer used as the first choice, since all functions have been converted to use Realterm's much quicker "PutString" mechanism, instead of the previously used, slow, and error prone, "Send File" mechanism.
The .txt file / Send File mechanism can still be used, however, if you press Realterm's "Send File" button, issue the proper 0100, AE01, AE0100, B9F0, etc command at the appropriate time to make the Slow Init work, and are willing to wait a ridiculously long time for the text file scripts to finish being sent.
It is recommended that you do not use Realterm's "Send File" mechanism since:
For the time being, the .txt file / Send File mechanism is still available, but it may be removed in a future release to simplify explaining things.
Patience. volvo850diag is not a finished product, so it will require some patience. Feel free to modify it as you deem fit.
To install and configure volvo850diag from the volvo850diag.zip distribution, follow this guide:
Extract the files wherever you choose with whatever unzipper you want to (WinZip, 7-Zip, ALZip, etc), but make sure your extraction uses the subdirectory structure in the .zip file:
and preserves the individual files' modification dates.
My copy from the volvo850diag.zip via the Win10 Window Explorer compressed folders facility did not expand properly.
Usually I copy the volvo850diag directory structure between computers. It is very seldom that I expand a downloaded volvo850diag.zip file, like most volvo850diag users would do after downloading from https://jonesrh.info/volvo850/volvo850diag.zip. But shortly after the release of v0.8beta58, I tested that method by copying from the zip file using Win10's File Explorer (aka Windows Explorer) compressed folders view into the \Desktop\local_volvo850diag_(v0_8beta58) folder and discovered there is a problem -- at least on my Win10 system when copying or extracting the files from the volvo850diag.zip compressed folder into another folder.
When that was done, the following unacceptable anomalies occurred:
Immediately after displaying volvo850diag.html, there was a popup about the options not being saved. [What in the world caused that?!?!?!]
The "Allow ActiveX" oriented dialog boxes did not appear immediately after volvo850diag.html display.
There was a prompt about running Realterm which I had never seen before on any of my WinXP, Win7, or Win10 systems. [I don't recall if this occurred immediately after display of volvo850diag.html or after clicking "Start Realterm"].
The individual files' modification dates were those when the copy from the compressed folder occurred (ie, days after the v0.8beta58 release date) -- not 2016-08-19 or before (ie, not the release date or before).
Those are *NOT* proper behaviors.
My solution to this problem was to extract the files from volvo850diag.zip using WinZip.
The details of my solution (with adaptations for the v0.9 release) were/are:
Briefly review the resultant directory structure.
Then review the volvo850diag_v0_8_*.png screen snapshots in numerical order to get a brief pictorial overview of what the volvo850diag / IE / Realterm combo looks like. They might help you get the initial "scanner_type" setup accomplished.
Those volvo850diag_v0_8_*.png screen snapshots are also available online here.
The GUI in volvo850diag v0.9 does differ somewhat from the GUI in v0.8, but it is similar enough that these v0.8 .png screen snapshots should still be helpful.
Review the readme_volvo850diag.txt file.
It contains an extensive list of enhancements made in volvo850diag v0.6, v0.7, several v0.8betaNN, v0.8, up thru v0.9.
Read "Setup of scanner_type" section and ensure scanner_type is defined properly in volvo850diag.html.
If necessary, edit volvo850diag.html to define scanner_type properly.
Strong Hint:
In your very first display of the (local)
volvo850diag.html file, I suggest you bypass the editing of
scanner_type, and instead
use the Options box's "scanner_type" pulldown list
(**if** your ELM327-compatible device
does *not* immediately work on the first try).
There is a
"scanner_type" pulldown list (in the pastel red OPTIONS box)
from which you can select a possible scanner type.
That is an easy way -- in a single selection --
to specify several things:
ScanTool.net OBDLink device or non-OBDLink device,
USB or not, Bluetooth or not, COM port #, and
speed. Using it involves clicking
Options
(while Realterm is not running), selecting
the desired value in the scanner_type pulldown list,
clicking Save, then waiting for the
page to reload.
This scanner_type value is maintained with session cookies (in the "local" version of volvo850diag), so it should remain set during the present IE session. But when you redisplay volvo850diag.html in a new IE session (ie, new tab or new window), scanner_type will once again begin as the "hardcoded" value (ie, whatever value it is equated to in volvo850diag.html).
Read "Setup of volvo_model" section and ensure volvo_model is defined accurately.
If necessary, edit volvo850diag.html to define volvo_model properly.
Strong Hint:
In your very first display of the (local)
volvo850diag.html file, I suggest you bypass the editing of
volvo_model (in volvo850diag.html), and instead
use the Options box's "volvo_model" pulldown list to select
one of the following items that accurately describes your
Volvo model: 850, S70, V70, C70, XC70. Or, better yet,
select an item that also identifies the model year:
95 850, 96 850, 97 850, 97 S70, 97 V70, 97 C70, 97 XC70,
98 S70, 98 V70, 98 C70, 98 XC70 (*if* one of those
accurately describes your car).
If no choices fit your car, then leave volvo_model set to
850SVC70.
In volvo850diag v0.9,
there is a new "volvo_model" pulldown list
(in the pastel red OPTIONS box)
from which you can select a possible Volvo model.
Using it involves clicking
Options
(while Realterm is not running), selecting
the desired value in the volvo_model pulldown list,
clicking Save, then waiting for the
page to reload.
This volvo_model value is maintained with session cookies (in the "local" version of volvo850diag), so it should remain set during the present IE session. But when you redisplay volvo850diag.html in a new IE session (ie, new tab or new window), volvo_model will once again begin as the "hardcoded" value (ie, whatever value it is equated to in volvo850diag.html).
Read "Changing the default protocol" section so you're aware that volvo850diag now explicitly issues a set protocol command so that you don't have to remember to do that. That section will tell you how to change the supplied default (ATSP 3) if you ever decide to experiment with something different or if you want to revert to the behavior of the oldest versions of volvo850diag.
However, do *not* edit default_set_protocol_cmd during your initial volvo850diag setup. The distributed default (ATSP 3) has the greatest likelihood of success during your first attempts to connect. So on your initial volvo850diag setup, just skip to item e below.
If necessary, edit volvo850diag.html to define default_set_protocol_cmd properly.
Alternatively, click Options, select the desired value in the default_set_protocol_cmd pulldown list, click Save, then wait for the page to reload.
This default_set_protocol_cmd value is maintained with session cookies (in the "local" version of volvo850diag), so it should remain set during the present IE session. But when you redisplay volvo850diag.html in a new IE session (ie, new tab or new window), default_set_protocol_cmd will once again begin as whatever value you have it equated to in volvo850diag.html.
Briefly read "Potential .js file edits" section to get an overview of possible edits.
On the first run of volvo850diag, you probably should avoid all .js file edits.
As you become more familiar with volvo850diag, then you might consider trying some of the edits mentioned in "Potential .js file edits".
Read "Reset SRI (ie, Reset SERVICE Light) -- auto-magically with an ELM327" and "Reprogram SRI Limit(s)" sections so you're aware that you can easily turn off the SERVICE light and that you can easily change the 3 interval limits which control when the SERVICE light comes on.
Read "ECUs 7A, 11, 41, 29, 2D, 18 scanning" section so you're aware that some Motronic 4.4, MSA 15.7, and Immobilizer scanning has been included, as well as some scanning of the 1998 S70/V70/C70/XC70 ECC and VGLA, and some scanning of the 1998 S70/V70/XC70 Add Heater 912-D.
Read "Scanning of some ECUs can be enabled/disabled" so you're aware that almost all ECUs now can have their scanning enabled and disabled on a per ECU basis.
For example:
If you have a manual transmission, you can disable scanning of ECU 6E.
If you have one or both Power Seats, you can enable the scanning of ECU 2E (Power Seat Left) and/or ECU 2F (Power Seat Right).
If you don't have a Motronic 4.4, you can disable the volvo850diag v0.7 introduced scanning of ECU 7A.
If you have a MSA 15.7, you can enable the volvo850diag v0.8beta45 introduced scanning of ECU 11.
If you have an Immobilizer, you can enable the volvo850diag v0.8beta45 introduced scanning of ECU 41.
If you have a 1998 S70/V70/C70/XC70 and have ECC (Electronic Climate Control), you can enable the volvo850diag v0.7 introduced scanning of ECU 29.
If you have a 1998 S70/V70/C70/XC70 and have VGLA, you can enable the volvo850diag v0.7 introduced scanning of ECU 2D.
If you have a 1998 S70/V70/XC70 and have the ability to Add Heater 912-D, you can enable the volvo850diag v0.8beta45 introduced scanning of ECU 18.
Furthermore:
If you want to disable SRS scanning for any reason, you can disable scanning of ECU 58.
If you want to disable ABS scanning for any reason, you can disable scanning of ECU 01.
Some things to keep in mind:
You can edit the volvo850diag.html flags which control this ECU enabling/disabling whenever you feel comfortable doing so. It's not necessary to do so during your first use of volvo850diag.
If you have a Volvo 850 with automatic transmission and Motronic 4.4, you may never have the need to edit those flags, since the volvo850diag v0.9 distribution begins with the following ECUs enabled: 51 (COMBI), 58 (SRS), 01 (ABS), 6E (AW 50-42), and 7A (Motronic 4.4).
And even if you do not have an automatic transmission, or do not have a Motronic 4.4, you could still choose to avoid editing the .html files scan_ecu_xx variables, and just use the OPTIONS box's ability to enable/disable the ECUs via their checkboxes (followed by the necessary clicking of "Save"). That's certainly easy enough to do (even if you have to do it every single time you run volvo850diag). The only ECU which can not have its scanning disabled via the OPTIONS box is ECU 51 (COMBI).
The ECU enabling/disabling flags only apply in the "all ECUs" scans: "Read All DTCs", "Quick Scan All ECUs", "Full Scan All ECUs", and the "Minimal Scan" (and v0.9-enabled CCSwOmK1i loop, etc) inside "My Extra Scans". You'll still always have the ability to use the ECU nn buttons, even when an ECU is disabled for the "all ECUs" scans.
In WinXP/Win7 Control Panel, select System / Advanced / Environment Variables. Then in the "User variables for ..." pane perform items 4a, 4b, and 4c listed below. Or, alternatively, use the "setx_envir_vars.bat" CMD Prompt batch file (mentioned in the below Hint concerning Win10 and SETX commands) that's necessary for certain Win10 situations.
In Win10 Control Panel, search for "envir", then select "Edit environment variables for your account". If there's no response when you click that, and if you are running from an Administrator level account, and if you will always be running volvo850diag from that Administrator level user account, then click "Edit system environment variables" and edit either the user or the system environment variables using the instructions listed in items 4a, 4b, and 4c below.
Strongly suggested.
Click New. Create an environment variable called RT_ELM327_LOGS_DIR. It will point to a directory where a uniquely named Realterm capture log is automatically created every time you press volvo850diag's "Start Realterm" button. Be sure the RT_ELM327_LOGS_DIR definition ends with a backslash (\)
You'll probably want to define this for the \logs directory created during the .zip file extract, since Realterm will not create the directory dynamically if it does not exist.
For example, if you had extracted the zip file into a folder on your Desktop labeled "local_volvo850diag_(v0_9)", and if your Windows login name was "850owner", then you'll probably find it most convenient to define the RT_ELM327_LOGS_DIR environment variable similar to the following on Win7/Win10:
or the following on WinXP -- either the abbreviated form:
or the long form:
If you don't define RT_ELM327_LOGS_DIR, then the default for the Logs directory is whatever directory that the TEMP environment variable indicates.
If you can't use an environment variable, then you can manually select the directory after Realterm begins (by typing into Realterm's Capture tab's Capture "File" text box), or you can search the volvo850diag.html file (using a text editor) for "Force logs directory here" to see the line in which to hardcode the logs directory variable (ie, logs_dir).
Only required if you plan to use Realterm's Send File button.
Click New again, and create another new User environment variable. Call it RT_ELM327_SEND_FILES_DIR. Define it to point to the directory where you have extracted the ELM327 scripts, ie, wherever the \scripts directory is. Be sure the RT_ELM327_SEND_FILES_DIR definition ends with a backslash (\).
If you don't define RT_ELM327_SEND_FILES_DIR, then the default for the Send Files directory is whatever directory that the TEMP environment variable indicates.
If you can't use an environment variable, then you can manually select the directory after Realterm begins, or you can search volvo850diag.html for "Force scripts directory here" to see the line in which to hardcode the scripts directory.
Strongly suggested if you will *always* be using
the same ELM327 tool.
However, really
only required if scanner_type does not imply one of the
symbolic "ports" listed below *or*
if the symbolic port can not be connected to successfully.
Click New again, and create a third new User environment variable. Call it RT_ELM327_PORT. It is the ELM327 COM port # which you should have determined when you installed the ELM327 serial drivers.
If you don't know your ELM327 COM port #, then refer to How to Setup an ELM327 on WinXP for some help in determining the ELM327's COM port name (eg, COM8) which you can then extract the COM port # (eg, 8).
The values of RT_ELM327_PORT include only the # portion of the COMn or COMnn name. For example:
For COM7, RT_ELM327_PORT would be defined simply as: 7 (only that single character).
For COM25, RT_ELM327_PORT would be defined simply as: 25 (only those two characters).
If you don't define RT_ELM327_PORT, then the port # will default to:
\Silabser0,
if scanner_type equals ELM327 or
ELM327-CP210x.
That will probably work if your ELM327 uses a
CP210x chip.
\VCP0,
if scanner_type equals ELM327-FTDI.
That will probably work if your ELM327 uses a
FTDI chip.
\VCP0,
if scanner_type equals OBDLink.
That will usually work with an OBDLink SX USB device.
If your OBDLink SX is VCP1 instead, then you probably
have two FTDI devices plugged in simultaneously --
eg, a VAG/COM KKL FTDI USB cable for use by Vol-FCR
might have been plugged in first, then
an OBDLink SX USB cable for use by volvo850diag
might have been plugged in afterwards.
In that case, if you stop the programs using both of
the FTDI devices, unplug both devices from their USB
ports, then plug the OBDLink SX cable back in first,
then the OBDLink SX USB cable should now be \VCP0 and
should now work with volvo850diag. See the
Multiple FTDI devices cause higher \VCPn note
for more details.
\BthModem0,
if scanner_type equals ELM327-Bluetooth
or ELM327-BthModem0
or OBDLink-BthModem0.
That will work if your generic ELM327, or
your ScanTool.net OBDLink LX, OBDLink MX, or OBDLink MX+,
uses Bluetooth and
its COM port # is synonymous with \BthModem0.
\BthModem1,
if scanner_type equals ELM327-BthModem1
or OBDLink-BthModem1.
That will work if your generic ELM327, or
your ScanTool.net OBDLink LX, OBDLink MX, or OBDLink MX+,
uses Bluetooth and
its COM port # is synonymous with \BthModem1.
\BthModem2,
if scanner_type equals ELM327-BthModem2
or OBDLink-BthModem2.
That will work if your generic ELM327, or
your ScanTool.net OBDLink LX, OBDLink MX, or OBDLink MX+,
uses Bluetooth and
its COM port # is synonymous with \BthModem2.
\BtPort0,
if scanner_type equals ELM327-BtPort0
or OBDLink-BtPort0.
That will work if your generic ELM327, or
your ScanTool.net OBDLink LX, OBDLink MX, or OBDLink MX+,
uses Bluetooth and
its COM port # is synonymous with \BtPort0.
\BtPort1,
if scanner_type equals ELM327-BtPort1
or OBDLink-BtPort1.
That will work if your generic ELM327, or
your ScanTool.net OBDLink LX, OBDLink MX, or OBDLink MX+,
uses Bluetooth and
its COM port # is synonymous with \BtPort1.
\BtPort2,
if scanner_type equals ELM327-BtPort2
or OBDLink-BtPort2.
That will work if your generic ELM327, or
your ScanTool.net OBDLink LX, OBDLink MX, or OBDLink MX+,
uses Bluetooth and
its COM port # is synonymous with \BtPort2.
\BthModem1, if scanner_type is not one of the expected values that have been programmed for. This "fallback" port # was changed in the volvo850diag v0.8beta45 release from its volvo850diag v0.7 (and earlier) value of \Silabser0, since the most common type of ELM327 tool seems to be the ultra-cheap Bluetooth devices, and setting this up to be \BthModem1 -- a different value than what ELM327-Bluetooth equates to -- might increase the likelihood of success.
The scanner_type variable is defined in the volvo850diag.html file's "Define configuration constants" section. See the readme_volvo850diag.txt's "Setup of scanner_type" section for more details.
To see what your RT* and TEMP environment variables are, type the following WinXP/Win7/Win10 CMD Prompt commands:
TEMP is assumed to not have a terminating backslash (\), whereas RT_ELM327_LOGS_DIR and RT_ELM327_SEND_FILES_DIR do have the backslash.
Adapt those "step 4" instructions involving Control Panel to your Windows version as you deem fit.
Display your "local" copy of volvo850diag.html in Internet Explorer.
This should be the version of volvo850diag.html extracted from the volvo850diag.zip mentioned above, not a Saved copy of the "online" volvo850diag.html page.
Read the two Warnings at the top of the "local" volvo850diag.html page (at least the first time you display it).
Also, read the Important README Notes for new volvo850diag v0.9.
The first time you display the "local" volvo850diag.html, page down to the Intro to volvo850diag.html section, familiarize yourself with it, see if you've met all the Requirements, and check out the First Time Use and Typical Use sections.
Once you get everything straightened out to the best of your knowledge, follow the instructions in the First Time Use section.
Note:
You do not need to be connected to the internet to run the
"local" version of volvo850diag, the one extracted from volvo850diag.zip.
That local volvo850diag.html page is intended to be run locally.
The only things you might want the internet for are:
a) to access the online pages which are linked to in the instructions,
and especially, b) to access the
Volvo 850 V70 keyword D3 B0 protocol interpreter
(when you want to alternate between scanning and interpretation,
instead of completing all the scanning, closing volvo850diag,
then getting the interpretations afterwards).
Hint:
Even though it's true you don't have to be connected to the net
while using the (local) volvo850diag / Realterm GUIs,
sometimes you might find it convenient to run your local copy of
volvo850diag in IE, click on one of the
Volvo 850 V70 keyword D3 B0 protocol interpreter links --
all of which will open up the online interpreter in a
separate IE tab or window
(since switching away from the volvo850diag window will close Realterm) --
then switching back and forth between the local volvo850diag and the
online interpreter tab/window as the need dictates.
(better) Hint:
But probably less confusing would be to open up the online interpreter
window in a non-IE browser. That way you have less likelihood of
getting confused between the multiple IE tabs.
And you would have greater potential for displaying the
interpreter window simultaneously with the Realterm window
and/or window displaying the log file and/or volvo850diag (IE) window --
depending on the display size of your Windows laptop, tablet, phone, etc.
The first time you use volvo850diag and Realterm you might follow procedures similar to the following, where it is assumed that Realterm is not already running:
(optional, to lessen problems establishing ISO9141 connection)
Turn off realtime virus protection (if and only if you are not connected to the internet). Stop or turn off any other Windows facility or program which you think could be a CPU hog that might disrupt the ability of volvo850diag and Realterm to respond to Volvo communication and either: a) thwart establishment of a ISO9141-2 connection, or b) cause data loss once the connection is established.
Also, wait until the computer becomes quiescent if it has just been (re)booted, or if it has just returned from hibernation.
Plug in the ELM327 compatible cable/device to the car's J1962 OBDII port.
Plug in the ELM327 cable to an available USB or serial port, as appropriate, or pair your bluetooth ELM327 with your laptop / tablet / phone, or do whatever it takes to get your ELM327 "hooked" to your computer.
During one of those two sub-steps, you should have seen the ELM327's light(s) indicate to you that the ELM327 device is ready to communicate. This will vary with each manufacturer's device. My ELM327 v1.5 clone USB cable cycles 5 lights, then leaves one of them on red. My OBDLink SX USB cable flickers its single light, then leaves it on green. Both of them illuminate the lights only after connecting to the USB port. The Bluetooth ELM327 devices -- including OBDLink LX BT, OBDLink MX BT, OBDLink MX+ BT, and cheap ELM327 BT clones -- have their own unique lighting behavior. It is usually quite easy to understand (after reading their literature).
You can turn the ignition to position II either before you plug in the ELM327 or after you plug in the ELM327, but it's probably best that you let the ELM327's 1-2 second self tests complete before you turn on the Volvo's ignition, and/or that you let the Volvo's 5-10 second initial self tests complete (eg, the bell quits dinging) before you plug in the ELM327.
If you prefer, you can delay the "ignition to pos II" action until step 24, just before issuing the first commands to the Volvo.
Display volvo850diag.html with Internet Explorer.
Verify there are only two Warnings at the top of the "local" volvo850diag.html page. If you've never read the warnings, then do so now.
If you see three Warnings, then you're using the "online" version of volvo850diag.html, instead of the "local" version. The online version is good for reading the instructions and familiarizing yourself with volvo850diag, but it can **NOT** run Realterm successfully to talk with your Volvo. So if you see three Warnings, then back up to the Requirements section volvo850diag distribution requirement paragraph and start afresh from there.
In Win7/Win10 IE11, if the bottom of the page has a popup box that says: "Internet Explorer restricted this webpage from running scripts or ActiveX controls.", along with an associated "Allow blocked content" box, then click on Allow blocked content, and skip to step 8. If you fail to perform this on Win7/Win10 IE11, your "Start Realterm" button will not start Realterm, and your "Options" button will not jump to the OPTIONS box.
In WinXP IE8, if the top of the page says: "To help protect your security, Internet Explorer has restricted this webpage from running scripts or ActiveX controls that could access your computer. Click here for options...", and if there's an exclamation mark without any accompanying text in the left side of the Status bar, then go to the next step.
However, if another message appears at the bottom of the IE11 page or top of the IE8 page, there's potentially something wrong. It's up to you to figure out how to proceed from that situation. First make sure that you are using the "local" version of volvo850diag.html extracted from the volvo850diag.zip distribution mentioned in Requirements section volvo850diag distribution requirement paragraph. Do not use a saved copy of the "online" volvo850diag.html. I had lots of problems doing it that way. That's why I created this "local" version.
Maybe your different message at the top is due to you having different Security settings than I have in my Internet Explorer.
For example, Mike91 mentions in this brickboard.com post:
"The main problem I had was getting Active X working from volvo850diag.html with my Win XP laptop and IE8. I finally realized that all the volvo850diag files when unzipped had an Advanced Property that indicated the file was blocked because it was from another computer. I manually opened the properties for each file and removed the block."
and in answer "A6" of this 1-day-later post, he further explains the problem / solution:
"The Blocked property appeared when selecting the file in Windows Explorer and viewing its properties. I have never seen this before - it happened on my WinXP laptop but not on another WinXP desktop machine. Perhaps it is related to some security setting. Active X would not work until I clicked the Unblock button. I uploaded an image showing the file property window."
[Apparently, you have to paste the image link at the bottom of that page into a new tab/window in order to see the Windows Explorer Advanced Properties dialog box that contained the "Unblock" button.]
If that example doesn't help you, then you'll have to figure out by yourself if your problems arise due to: different IE security settings, or some other reason. I haven't a clue.
Refer to the Win7_IE11_Options_Advanced*.png snapshots provided in the \screen_snapshots directory, *if* you suspect your Win7/Win10 IE11 options might not be setup correctly. The options shown in those images are what was used by the Win7 IE11 test machine for volvo850diag v0.8betaNN and v0.8.
In Win7/Win10 IE11, click on the Allow Blocked Content button in the "Internet Explorer restricted this webpage from running scripts or ActiveX controls" popup at the bottom of the IE11 page. Then skip to step 8.
In WinXP IE8, click on the box at the top of the Internet Explorer's display pane, then either click Allow Blocked Content... (or type A).
In WinXP IE8, an additional Security Warning dialog box appears that says: "Allowing active content such as script and ActiveX control can be useful. However, active content might also harm your computer. Are you sure you want to let this file run active content?"
In WinXP IE8, select Yes (or type Y).
An Internet Explorer dialog box appears which says: "An ActiveX control on this page might be unsafe to interact with other parts of the page. Do you want to allow this interaction?"
Select Yes (or type Y).
Let's take a breather.
At this point, hopefully you've done all the enabling of ActiveX and scripting that you need to. If you discover that your "Options" button will not jump to the OPTIONS box, that's a strong indicator that ActiveX / scripting is still not sufficiently enabled.
On Win7 IE11, if you see a box (near the center of the screen) appear very briefly then disappear (when performing the following steps), that often indicates you have an error that was attempted to be reported, but IE script debugging has not been enabled (as described above), so the fleeting box was erased immediately. After enabling IE11 script debugging, press F5, then start again at step 8. [Else bypass the F5 and just start afresh at step 3.] The next time around your "Webpage Error" will hopefully persist, so you can then find the problem and fix it.
The "Start Realterm" button should be followed by: <<< Need to "Start Realterm".
Click Start Realterm.
A Realterm window titled "Realterm: Automation Server 2.0.0.70" should open then immediately change its title to Realterm for Volvo 850 SVC70 Diagnostics via ELM327. You probably will not even see the first "...Automation Server..." title.
If you don't see the Realterm window, but instead see several newly displayed paragraphs between the "Start Realterm" button and the "Read All DTCs" button, then: a) on WinXP IE8, you should read those paragraphs and double-click on the "Done" with exclamation mark on the lower left in the Status bar, or b) on Win7/Win10 IE11, you should view the message displayed in the white text area of the "Webpage Error" script debugging box. If the error messages say: "Automation server can't create object", then you most probably answered "No" to that "An ActiveX control on this page...Do you want to allow this interaction?" question mentioned in step 8.
You'll have to press F5 to refresh the page, then start again at step 8.
Warning / Hint / Solution:
Use IE script debugging if no "Done" in IE Status bar
If your Status bar doesn't show the "Done" with exclamation mark,
yet you still have several paragraphs remaining between the
"Start Realterm" and "Read All DTCs" buttons,
then you'll have to "wing it" to figure out your problem.
I encountered that situation when testing
volvo850diag / Realterm on a Win7 system while using IE11
and on a Win10 system while using IE11.
I haven't been able to determine how to get the "Done"
with exclamation mark to appear in IE11. It seems that behavior
might have been removed from IE10 or IE11
(supposedly for performance reasons).
So I temporarily enabled script debugging for IE
in order to locate the source of the error.
That involved clicking on the IE11 equivalent to
IE8's Tools / "Internet Options" / Advanced, then unchecking
"Disable script debugging (Internet Explorer)".
Repeat:
If your Status bar doesn't show the "Done" with exclamation mark,
yet you still have several paragraphs remaining between the
"Start Realterm" and "Read All DTCs" buttons,
then enable IE script debugging,
leave the IE11 "Webpage Error" window open,
and use that window --
in conjunction (if necessary) with the Console log window
provided with the F12 Developer Tools --
to (hopefully) determine the source of the error.
For details on how to enable IE11 script debugging and
how to use it with the F12 Developer Tools' Console log,
refer to the
Strong Hint for Win7/Win10 IE11 Error Debugging shown in the
Core Requirements section.
If the Realterm window did appear, but the paragraphs between the "Start Realterm" and "Read All DTCs" buttons still remain, then the most likely problem is that the ELM327 is not plugged in yet. If that's the case, then: a) double-click on IE8's "Done" with exclamation mark, or b) look in IE11's "Webpage Error" popup, and check if the "ie_BadId - Specified comport doesn't exist" error has occurred. If that's the case, then plug in the ELM327, press F5 to refresh the page, then start again at step 8.
If the ELM327 was already plugged in, but you still have the "ie_BadId - Specified comport doesn't exist" error, then the most likely problem is: a) the "scanner_type" variable in volvo850diag.html doesn't match your type of ELM327 compatible device, and/or b) the RT_ELM327_PORT environment variable has not been defined for your ELM327 device's COM port. See step 3b in "Installation and Setup of volvo850diag" in order to define "scanner_type" properly. Alternatively, see step 4c in "Installation and Setup of volvo850diag" in order to define the RT_ELM327_PORT environment variable (after you've successfully installed any drivers needed by your ELM327, if any, and determined the COM port #). When finished with that "scanner_type" editing or environment variable setup, press F5 to refresh the page, then start again in this section at step 8.
Otherwise, if the ELM327 was already plugged in and you think either "scanner_type" or RT_ELM327_PORT is defined properly, then volvo850diag is probably manifesting some sort of HTML or Javascript error. To determine what the error is, you'll have to either: a) double-click "Done" with exclamation marks in IE8 Status bar, or b) use the IE11 "Webpage Error" box and F12 Developer Tools Console log (as described above), That should tell you on which line of the volvo850diag.html or volvo850diag_all_ecus_scan.js files that the error occurred. Good luck with the debugging. Most of these problems can be solved with mild persistence, maybe a little bit of research on the net relating to Javascript or HTML, and/or resorting to IE8 to quickly isolate Javascript syntax errors (since IE8 is superior to IE11 at immediately isolating the Javascript error's line #). It will probably also involve editing volvo850diag.html and/or volvo850diag_all_ecus_scan.js, saving the edit, pressing F5 to refresh the page, then starting again at step 8.
If the IE8 Status bar simply says "Done" or the IE11 "Webpage Error" box does not appear, then you're probably good to go. The "Warnings" box (at the top of the page) should be gone, and there should be no explanatory paragraphs between the "Start Realterm" and "Read All DTCs" buttons. There should be a Realterm for Volvo 850 SVC70 Diagnostics via ELM327 window that has appeared, and it should have most of its values already setup to talk with the ELM327.
The Realterm window is a bit larger than the default Realterm window (that appears when running Realterm from the Start menu). And it should have a red Capture box at the bottom, which indicates that Capture has already been turned on and is ready to start recording in the file specified by the Capture pane File field. If the Capture box is not red, then you can click on the "..." button, specify a filespec, then click Start: Overwrite 1-3 times until both the "Start: Overwrite" and "Start: Append" buttons are dimmed, the Stop Capture button is available for pressing, and the Capture pane is red.
If you want to change the directory that volvo850diag instructs Realterm to write the Capture log file to, you can do so by defining the RT_ELM327_LOGS_DIR environmental variable. It will take effect the next time Internet Explorer runs volvo850diag.html. So if you want it changed now, first create or edit the RT_ELM327_LOGS_DIR as described in step 4a of the "Installation and Setup of volvo850diag" section, then start afresh at step 3 in this "First Time Use" section.
The filename will always be in the form: volvo850diag_YYYYMMDD_HHMMSS.log, where the suffix is for the year, month, day, hour, minute, second that the capturing was begun. Since the log file is always created, you'll have to be attentive to occasionally deleting any log files which are no longer useful to you.
The final thing to mention about Realterm's Capture tab is that the Direct Capture box should not be clicked, since we need to view the message exchange in the terminal pane and sometimes even type into the terminal pane. One or both of those doesn't seem to work when Direct Capture is checked.
Once you become familiar with how Realterm operates you can skip to step 19. The following two steps are for beginners and for debugging strange behavior.
Click Realterm's Display tab.
The "Display As" is set to Ansi. This is the only setting that seems to do everything we need it to do.
The little box to the lower right of the "Display As" words seems to work OK either checked or unchecked.
The "Half Duplex", "Invert", and "7Bits" flags should be unchecked.
The "newLine mode" flag is your choice. I leave mine unchecked, but you can try yours checked to see the differing results, if you so choose.
The default for Data Frames Bytes was 2. I've used it at 80, 120, and now 132. There is one of the keyword D3 B0 protocol responses that is 121 bytes long. So that's why I chose 132. If you're going to feed the log into the Volvo 850 V70 keyword D3 B0 protocol interpreter to get the log interpreted, this "Data Frames Bytes" should be higher than the length of the longest message. Otherwise, the (less than brilliant) interpreter will not recognize the message.
Realterm v2.0.0.70 is very persnickety about increasing the "Rows". That's a very good way to generate an access violation. If you need Rows larger, then you should change it in the volvo850diag.html source where it says "Rows=", then rerun volvo850diag.
Click Realterm's Port tab.
The "Baud" should say 38400 for most ELM327 devices (or 115200 for OBDLink devices). If 38400 doesn't work for your ELM327, then you'll have to change it to the proper baud rate by editing the "RT.baud=" line in volvo850diag.html. You can use the following two notes as a guide to which line will need editing if your device's baud rate is different from 38400 or 115200.
The second most commonly used ELM327 baud rate is 115200:
Parity=None, Data Bits=8 bits, Stop Bits=1 bit, Hardware Flow Control=None.
The "Port" field you may have to change.
If you haven't already successfully specified the COM Port # with the RT_ELM327_PORT environment variable, then it will default to the COM Port # associated with the symbolic device names "\Silabser0", "\VCP0", "\BthModem0", "\BthModem1", "\BthModem2", "\BtPort0", "\BtPort1", or "\BtPort2", depending on how scanner_type has been defined. See RT_ELM327_PORT setup instructions for details.
You should have already detected/adjusted your COM port # with the instructions at How to Setup an ELM327 on WinXP. So its just a matter of using that same COM port # in Realterm's "Port" field, either by manually selecting on the Port tab, forcing the Port # to always be set via the RT_ELM327_PORT environment variable, or relying on the "\Silabser0", "\VCP0", "\BthModem0", "\BthModem1", "\BthModem2", "\BtPort0", "\BtPort1", or "\BtPort2" symbolic device names to successfully specify the port. That last case (of relying on one of the symbolic device names) will oftentimes work if your ELM327 uses a CP210x, FTDI, or Bluetooth chip *and* you have the scanner_type variable defined to correctly reflect that chip, or you specifically have defined scanner_type to reflect the specific symbolic port name for your ELM327.
To have Realterm reevaluate your particular Port # used for ELM327 communication, follow this procedure (which is customized for my ELM327 v1.5 USB clone that uses a CP210x chip):
or follow this alternate procedure (which is customized for my OBDLink SX USB that uses a FTDI chip):
or follow this generic procedure which uses the COM Port # which you are certain applies to your ELM327:
or adapt one of those three procedures for your particular ELM327 device.
The little box to the right of the "Change" button seems to work OK either checked or unchecked.
One other strange thing before leaving the Port tab. In the lower right corner, there is a status that normally says "Port: Closed". Even though the status says "Closed", you can still communicate with the ELM327 to issue AT commands. And you can almost always -- even though the status still says "Port: Closed" -- even communicate with the Volvo 850 / S70 / V70 / C70 / XC70 using any of the other volvo850diag buttons which use Realterm's PutString mechanism ("Read All DTCs" thru ECU 7A "Clear DTCs") or using Realterm's "Send ASCII" or "Send File" buttons.
However, on very rare occasions, a status of "Port: Closed" will not work. I've tried to open the port automatically, but maybe I'm not issuing something correctly. So keep this in mind, especially when you have consistent failures when trying to establish communication via 0100 or the other OBDII diagnostic commands. You might need to (re-)perform the next step.
Click Realterm's Port tab. If the status in the lower right corner says "Port: Closed", then click the Open button 2 times, until the Port status changes to nn 38400 8N1 None, where the initial "nn" is your particular Port #.
For your specific ELM327, the speed might be different from 38400. For example, on a ScanTool.net OBDLink SX USB, OBDLink LX BT, OBDLink MX BT, or OBDLink MX+ BT, the speed would change to nn 115200 8N1 None.
Click Realterm's Send tab.
The Send tab is where we'll stay most of the time while scanning these Volvos.
Most things should be setup for you correctly on Realterm's Send tab. The primary things that you'll see changing on that Send tab as you press the volvo850diag buttons are:
There's two strings which you can send by pressing the Send ASCII button on their respective lines. If you click on the little arrow to the right of the commands, it will show other strings in the list, if any. You can usually get by without ever using these buttons, but sometimes they come in handy for issuing a single request, especially ones which you can't remember the syntax of. Each button can have a total of 10 strings in their pulldown list. volvo850diag populates them with what I think the most useful commands / requests are for whatever volvo850diag button was pressed.
"Dump File to Port" shows the name of a file which will be sent, if you press Send File. It is only applicable when using Send File. Due to the problems mentioned in a prior note, it's probably seldom, if ever, that you'll be using "Send File", so it's unlikely you'll need to worry about this "Dump File to Port".
The Delays (to the right of the Send tab's Stop button) change as the need arises. Those Delays are only applicable when using Send File, so you'll seldom, if ever, need to worry about them. [See volvo850diag.html source if interested in more details.]
At the top of the Terminal pane there is some yellow text that ends with a timestamp (followed by the ELM327 ">" prompt). I've found the timestamps convenient when analyzing the logs, so they're sometimes inserted when starting an operation, and they're almost always inserted when finishing an operation. You can manually generate a similar timestamp by pressing one of the Timestamp buttons on the volvo850diag HTML display, but only after Realterm has started and you see the "Realterm is ready" text to the right of the "Start Realterm" button.
If you ever see an RR91 appear, you can assume the ELM327 has generated an ERR91 message, which means you'll need to unplug the ELM327 then replug it back in and you may need to go back to the Port tab then click the Open button twice. The same actions should probably be taken for most any of the ELM327's ERRnn messages (which tend to display as RRnn).
Recovering an unresponsive ELM327...
You might first try: a) issuing an ATZ command with one of
the Send ASCII buttons, or
b) clicking once in Realterm's Terminal pane
(where the yellow text appears), then typing
ATZ and pressing the Enter
key. See if that works to get the ELM327 communicating
again properly (and its lights appearing normally).
Oftentimes it does. If it did, then be sure to also
issue an ATL1 command also with
Send ASCII or by typing it in the
Terminal pane.
If there's no response from the ATZ command or if the lights indicate the ELM327 is locked up, then unplug and plug back in the ELM327 cable, then on the Port tab, Close and re-Open the port by clicking the Open button twice. Try an ATZ and ATL1 then.
Another way which you can recover an ELM327 when its lights lock up and it is in a BUFFER FULL state is to simply click one of the volvo850diag buttons which issue an ATZ / ATL1 soon after they begin, eg, "Read All DTCs", "Quick Scan All ECUs", "Full Scan All ECUs", "My Extra Scans", "ATZ Setup for OBDII Emission Diagnostics", "ATZ Setup for ECUs 51/58/01/6E/2E/2F...", or "ATZ Reset SRI". This will usually unlock the ELM327. You might even use this as your preferred "recovering an unresponsive ELM327" mechanism.
Set the ELM327 to use the ISO9141-2 protocol as its first choice.
You will need to set the ELM327 to use the ISO9141-2 protocol as its first choice at least once -- the very first time you use the ELM327 for the Volvo 850 / S70 / V70 / C70 / XC70. After that first time, it depends on a combination of: a) what the default_set_protocol_cmd variable in volvo850diag.html equals, b) what the last successfully connected protocol was, c) what the last protocol specified by an ATSP or ATTP command was, d) whether an ATM1 command was in effect before your last successful connect, and/or e) whether your ELM327 is packaged into your cable, Bluetooth device, etc, with pin 5 set to 5V (to automatically powerup as if an ATM1 had been issued).
The very first time you use the ELM327 for the 1996-1998 850/S70/V70/C70/XC70 (or other late-'90s Volvos), set the protocol as either ISO9141 (via ATSP 3), or ISO9141 with a fallback to any protocol (via ATSP 3A or ATSP A3). To do this:
If you only use the ELM327 with one protocol, then you'll probably only have to do this step one time. But if you use the ELM327 with multiple protocols, you'll likely have to repeat this step each time you return to using the ELM327 to communicate with one of these late-'90s KWPD3B0-conversant Volvos.
Position your volvo850diag and Realterm windows where you can see both of them simultaneously.
Move Realterm's Terminal pane vertical scroll bar slider as far to the bottom as it will go in the vertical scroll bar.
This is necessary to see the bottom line of the Terminal pane (eg, to see each character as it is being typed by you or is being sent using Realterm's PutString or Send File mechanisms).
Turn the ignition to position II, if you haven't done so already.
In volvo850diag, click Quick Scan All ECUs. This is the suggested first scan.
Notice how new text appears in the Terminal pane at the top of the Realterm window. All that you have to do is observe the text to see that the scanning is proceeding like you expected, then wait for it to finish.
It takes about 3.2 minutes for a Quick Scan All ECUs (using the distributed volvo850diag's enabled ECUs).
When the operation is finished, you can bypass all the details below if you so choose and jump directly to the Scanning Cleanup section.
Hint:
For the time being, I'd suggest you use either the
Read All DTCs,
Quick Scan All ECUs,
Full Scan All ECUs,
My Extra Scans, or
ATZ Reset SRI buttons and bypass
everything in the remainder of the
First Time Use section, unless you need to use one of the
Clear DTCs buttons, or unless
you need to repeat a scan for only 1 or 2 ECUs.
The next two steps in this First Time Use section deal with the buttons in the 3rd part of the blue box -- the OBDII Emission Diagnostics portion.
The two steps also serve as explanations for: a) how to manually type commands / requests into the Realterm Terminal pane, b) how to use the Send ASCII buttons, and c) how to use the Send File mechanism.
If you have a European or other non-USA 850 and S70/V70/C70/XC70, your OBDII emission diagnostic capability is likely non-existent (or close to useless). If you know for certain that your Volvo does not have OBDII emission diagnostic capability, and if you don't mind skipping the explanations on manual interactive input, Send ASCII buttons, and the Send File button, then you can go ahead and skip to step 28.
Note on OBDII capability for non-USA cars:
It's worth noting that (as of 2019-06-08) kwpd3b0_interpreter
has seen several non-USA '96-'98 850 and S70/V70/C70/XC70
that do have
useful OBDII capability with somewhere between 13 and 20 PIDs.
Most of those cars are suspected to be using either: a) USA ECMs,
or b) non-USA ECMs that have been reflashed like the USA ECMs.
That's sheer speculation.
In any case, it is possible for '96-'98 850/S70/V70/C70/XC70
to use the USA-mandated OBDII emission diagnostics in cars which
conventional wisdom says have no OBDII emission diagnostic capability.
So if you have a non-USA 850/SVC70, it might be worth a try to run the
OBDII Scan at least once just to see what happens.
Also, I've seen 850 from Europe, Thailand, Australia, New Zealand
(and an SVC70 from Europe) that
did have their transmission ECU respond to an OBDII emission
diagnostic request (yet their engine ECU did *not* respond to any
OBDII request). But those cases are of limited use,
since they seem to only be able to report that there is only 1 PID
(ie, 0101 -- for the transmission only). And, in some cases,
they have reported an OBDII transmission DTC (eg, P0120 or P0755).
Here's the breakdown of the non-USA cars which *did* have OBDII emission
diagnostics responses of some kind (at some point in time):
- 2 -- OBDII 13 PIDs. 7a? No (is presumed to have Motronic 4.3). Canada.
- 1 -- OBDII 13 PIDs. Australia (before M44 replaced probably a M43).
- 2 -- OBDII 14 PIDs. 7A? Yes. France, Sweden.
- 3 -- OBDII 19 PIDs. 7A? Yes. Netherlands, Sweden.
- 1 -- OBDII 20 PIDs. 7A? Unknown. Finland.
- 9 -- OBDII 20 PIDs. 7A? Yes. Canada, France, Germany, Denmark, Finland, Poland, New Zealand.
- 1 -- OBDII 0101 for transmission only. OBDII 0100? Unknown. 7A? Unknown. UK.
- 2 -- OBDII 0100 and 0101 for transmission (probably) only. Poland, Thailand.
- 1 -- OBDII 0100 and 0101 for transmission (probably) only. 7A? No. Fenix 5.2? Yes. Finland.
- 5 -- OBDII 0100 and 0101 for transmission only. 7A? No. France, Czechia, Sweden, Finland.
- 3 -- OBDII 0100 and 0101 for transmission only. 7A? No. 11 (MSA 15.7)? No. UK, Netherlands, Australia.
- 1 -- OBDII 0100 and 0101, 03, 07 for transmission only. 7A? No. Fenix 5.2? Yes. Australia.
- 3 -- OBDII 0100 and 0101, 03, 07 for transmission only. 7A? No. Germany, Australia, New Zealand.
The non-USA OBDII responses were first seen by kwpd3b0_interpreter on
a 2014-09-12 scan.
Any good OBDII software package will be superior to the volvo850diag OBDII functions, because most any OBDII software package will automatically interpret its raw data into something immediately meaningful to you. Oftentimes, those packages will also include the ability to see repeated updates via a Live Data function and may also include some sort of plotting capability. If you already have such a package setup, then you can just skip these OBDII steps and jump to step 28.
But if you don't yet have such an OBDII package setup or find it temporarily inconvenient to use, then volvo850diag's crude OBDII functions might be helpful.
The crude OBDII emission diagnostics capability provided with volvo850diag can be used to:
verify the ELM327 can establish a connection (via 0100 or any of the OBDII requests),
show the # of OBDII emission diagnostic DTCs and the Readiness Monitors status (via 0101),
show the OBDII emission diagnostic DTCs (via 03),
show the OBDII emission diagnostic Pending DTCs (via 07),
clear the OBDII emission diagnostic DTCs and Pending DTCs (via 04 or, better yet, via volvo850diag's Clear DTCs button),
scan the known OBDII parameters collectively as a whole (via volvo850diag's OBDII Scan button),
scan the known OBDII parameters individually (via Realterm's Send ASCII buttons or via manually typing the commands into Realterm's Terminal pane),
continuously scan selected OBDII parameters for up to 15 minutes (if CCSwO scanning loop enabled) [see "Continuous custom OBDII scan (CCSwO)" section in readme_volvo850diag.txt for some details],
continuously scan selected OBDII parameters as well as selected items from KWPD3B0-conversant ECUs for up to 1 hour, swapping back and forth between OBDII communication and KWPD3B0 communication (by ECU 51, and optionally by ECU 6E and/or ECU 7A if either of those two ECUs are enabled).
There is a "CCSwOmK" (Continuous Custom Scan with OBDII and multiple KWPD3B0 ECUs) loop which was automatically enabled in v0.8.
But in volvo850diag v0.9, there is now a faster variant of that loop which performs only one (1) KWPD3B0 Slow Init per loop iteration, regardless how many KWPD3B0 ECUs are communicated with during that loop iteration. The new loop is called "CCSwOmK1i" (Continuous Custom Scan with OBDII and multiple KWPD3B0 ECUs, with 1 KWPD3B0 init per loop).
This "CCSwOmK1i" loop is automatically enabled in v0.9 and runs after the "Minimal Scan" and any of the other enableable scans in "My Extra Scans". The auto-enabling of the CCSwOmK1i loop is the closest volvo850diag has (at present) to a comprehensive live data function that involves both OBDII live data scanning and KWPD3B0-conversant ECU live data scanning (albeit a deferred interpretation live data function). This CCSwOmK1i loop can be disabled if desired (to revert back to the CCSwOmK loop used in v0.8) by unchecking the CCSwOmK1i checkbox in the Options box, clicking "Save", then refreshing the IE display with F5).
However, volvo850diag only provides the raw OBDII data, without any interpretation.
Hints for interpreting OBDII data:
The kwpd3b0_interpreter.html page can interpret most of your
OBDII emission diagnostic responses if you paste them into the
Paste Volvo 850/SVC70 Communication here box and
press Interpret.
You've also got the option to look at the
Volvo 850 OBDII FAQ question:
"How do I interpret all my Volvo 850's
emission diagnostics values obtained via manually issued
commands to the ELM327?"
to see some breakdowns, explanations, and examples of
responses to 0100, 0101, 03, and other 01xx requests.
But with this second option, you'll have to do your own interpreting.
So much for the introduction to volvo850diag's OBDII capabilities. Now let's briefly explore it.
Click ATZ Setup for OBDII Emission Diagnostics, then wait for the setup commands to finish. It takes about 9 seconds. A timestamp will appear when finished.
Click OBDII Scan. It will attempt to perform all the following requests / commands, except that it will not try to clear the Emission DTCs. [You'll have to clear the Emissions DTCs via the Clear DTCs button.]
That's the easiest way to do an OBDII Emission Diagnostics scan. If that's sufficient for you, then go to step 28 now. Otherwise, explore some alternative ways to do OBDII scanning.
Issue the OBDII emission diagnostics requests: 0100, 0101, 03, 07, etc.
You can enter them interactively as follows:
Click once in the Realterm terminal pane (where the yellow text is).
Type 0100, then press the Enter key.
After a few seconds, it should respond with two lines containing "41 00" that look somewhat like the following if you have headers turned off (via ATH0):
BUS INIT: ...OK 41 00 80 00 00 00 41 00 BE 1D B0 00
or like the following if you have headers turned on (via ATH1):
BUS INIT: ...OK 48 6B 1F 41 00 80 00 00 00 93 48 6B 17 41 00 BE 1D B0 00 96
Sometimes the "BUS INIT: ...OK" line does not appear. But that's OK as long as the other two lines do appear.
Type 0101 and press Enter to get a bunch of diagnostic states.
Type 03 and press Enter to see the emission diagnostic DTCs, if any.
If the ELM327 responds with "NO DATA", then there are no OBDII DTCs.
Type 07 and press Enter to see any pending emission diagnostic DTCs, if any.
If the ELM327 responds with "NO DATA", then there are no Pending OBDII DTCs.
Type 04 and press Enter if you want to clear all the OBDII emission diagnostic DTCs, pending DTCs, freeze frames, etc.
But an easier way to issue these requests is by clicking the appropriate Send ASCII button. For example:
Click the Send ASCII button on the 1st line, the one that displays the 0100 request.
Click the Send ASCII button on the 2nd line, the one that initially displays the 0101 request.
Select one of the 03, 07, 04, 0103, 0104, 0105, ..., up thru 0113, 0114 requests via the little pulldown arrow to the right of either of the two boxes that allow command entry and are on a line with a "Send ASCII" button. If your desired emission diagnostic command appears in one of those pulldown lists, then select it and press the Send ASCII button that's on that line.
If you want to issue a lot more emission diagnostic commands in one single action, then:
Change "Dump File to Port" from "elm327_volvo_850_svc70_01nn_02nn00.txt" to refer to the one of the "elm327_volvo_850*_01nn*.txt" variants provided in the distribution, or some edited version of one of those files that includes only the emission diagnostic commands which you want to send.
Edit only the filename portion of that "Dump File to Port" field. Be sure to leave the existing directory intact.
Click Send File and watch the Realterm's terminal pane. In particular note the responses to: 0100, 0101, 03, 07.
The same general techniques just mentioned in step 27 can usually be used for other buttons in the blue box:
Press the volvo850diag button to perform some series of commands / requests. This is the easy way and will normally be sufficient.
Issue individual commands via the Send ASCII buttons.
Type commands interactively into the Terminal pane after first clicking once in the Terminal pane to establish the focus.
Press the Send File button. This is definitely not suggested, since it is slow, error-prone, and has problems with the Slow Init process, but you might want to do this if you want to customize something and you just can't figure out how to edit the Javascript code to do what you want, but you can figure out how to edit the .txt script files.
The remaining steps in this First Time Use section deal with the buttons in the large 4th part of the blue box -- the ECU specific portion.
Click volvo850diag's ATZ Setup for ECUs 51/58/01/6E/2E/2F... button. Notice how text appears in the Terminal pane at the top of the Realterm window. Also, on the volvo850diag page, there is a "Setup in progress..." message that appears for 11-14 seconds and buttons are disabled and enabled as the situation warrants.
When all the Setup buttons are enabled, you can assume that the in-common commands used by the KWPD3B0-conversant ECUs (51, 58, 6E, 01, 2E, 2F, 7A, 11, 41, 29, 2D, 18, ...) have been issued successfully.
You perform this step once, immediately before you press a Setup button for one of those ECUs, regardless what its number is. Subsequently, when you switch to another ECU, you can bypass this "ATZ Setup for KWPD3B0 ECUs" step and press the new ECU's Setup button, unless the ELM327 has been reset via power down, ignition off, ATZ, ATD, ATWS, unplugging / replugging, or has locked up or issued the ERRnn or RRnn messages. In those cases, you'll likely have to repeat this step.
Click volvo850diag's ECU 51 Setup button.
Notice that the ATPC, ATIIA, and ATWM commands appear in Realterm's Terminal pane. Buttons on the ECU 51 line disable and enable as appropriate.
When Setup finishes, volvo850diag's "ECU 51 setup in progress..." message disappears.
Users of ELM327 v1.2 thru v1.3a should skip to step 44 and first try Read DTCs, since the ATSI command is not available prior to ELM327 v1.4, and the Read DTCs should trigger an implicit Slow Init before reading the DTCs.
If the ATSI buttons are unhighlighted, and if "var allow_ATSI = 0;" in volvo850diag.html, then skip to step 44 and first try Read DTCs, since the ATSI buttons have been disabled via the "allow_ATSI = 0;".
Click the ECU 51 ATSI button. This performs an explicit Slow Init by issuing an ATSI command.
However, the commands after the ATSI will vary depending on your definition for "scanner_type":
If scanner_type = "ELM327", "ELM327-CP210x", "ELM327-FTDI", "ELM327-Bluetooth", "ELM327-BthModem0", "ELM327-BthModem1", "ELM327-BthModem2", "ELM327-BtPort0", "ELM327-BtPort1", "ELM327-BtPort2" -- or, in fact, any value which does not begin with "OBDLink" -- then it is assumed your ELM327 compatible device has a functional ATBD command. For this case...
An ATSI command is sent to the ELM327 and followed immediately by an ATBD command, then several seconds later, another ATBD is sent. Their successful responses will look like the following where zz can be any random hexadecimal characters:
>ATSI BUS INIT: ...OK >ATBD 06 51 55 D3 B0 4F AE zz zz zz zz zz zz >ATBD 05 82 51 13 A1 87 zz zz zz zz zz zz zz
The existence of: a) the BUS INIT: ...OK, and b) the beginning of the 1st ATBD response being in the form of 06 xx 55 D3 B0 4F yy, where xx is the ECU # (or ECU # with high bit set), the 3rd-6th bytes are 55 D3 B0 4F, and yy is the complement of xx, is a highly reliable indicator that the Slow Init worked correctly. The 2nd ATBD response being 05 82 xx 13 A1 cs, where xx is the ECU # and cs is the checksum, verifies that the KeepAlive has been sent by the ELM327 to the proper ECU. The zz instances are extraneous garbage in the ATBD buffer.
If all that is the case -- ie, the bolded items in the grey box above appear in Realterm's Terminal pane and have the patterns just explained -- then skip to step 44.
Otherwise, skip to the alternative, manual approaches mentioned in steps 31-35 (ATSI / ATKW) and steps 37-42 (ATSI / ATBD / ATBD), and try one (or both) of them.
If scanner_type begins with "OBDLink"...
For a ScanTool.net OBDLink SX USB, OBDLink LX BT, OBDLink MX BT, or OBDLink MX+ BT device, the ATBD command is useless, so a single ATKW command immediately follows the ATSI. Their successful response will look like the following:
>ATSI BUS INIT: ...OK >ATKW 1:D3 2:B0
The existence of: a) the BUS INIT: ...OK, and b) the 1:D3 2:B0 is a usually reliable indicator that the Slow Init worked correctly.
If all that is the case -- ie, the bolded items in the grey box above appear in Realterm's Terminal pane, the 1st keyword was D3, and the 2nd keyword was B0 -- then skip to step 44.
Otherwise, just continue to the ATSI / ATKW alternative, manual approach which begins in step 31.
Notice that the two lines in the Realterm window that contain the two Send ASCII buttons have the ATSI and the ATKW commands in them. That makes it very easy for you to manually issue ATSI, wait for the "BUS INIT: ...OK" response, then issue an ATKW. So now do that (as shown in the next several steps)...
Press the Send ASCII button for ATSI.
Wait 4-8 seconds for it to finish.
Press the Send ASCII button for ATKW.
If the ATSI produced the response "BUS INIT: ...OK" and if the ATKW produced the response "1:D3 2:B0", then you're good to go. The keywords of D3 and B0, in conjunction with the OK after the BUS INIT, are a strong indicator that the Slow Init worked. If that's the case, then skip to step 44.
If you have an OBDLink SX USB, OBDLink LX BT, OBDLink MX BT, or OBDLink MX+ BT device, then skip to step 43.
Notice that the two lines in the Realterm window that contain the two Send ASCII buttons have the ATSI and the ATBD commands in them. That makes it very easy for you to manually issue ATSI, wait for the "BUS INIT: ...OK" response, immediately issue an ATBD, followed 4-5 seconds later by another ATBD. So now do that (as shown in the next several steps)...
Press the Send ASCII button for ATSI.
Immediately after the response to ATSI is finished, press the Send ASCII button for ATBD.
Wait 4-5 seconds.
Press the Send ASCII button for ATBD again.
If the ATSI produced the response "BUS INIT: ...OK" and if the 1st ATBD produced a response that begins "06 51 55 D3 B0 4F AE...", then you're good to go. The "55 D3 B0 4F" is a fairly strong indicator that the Slow Init worked. The "51" as the 2nd byte and the "AE" (ie, complement of "51") as the 7th byte say that you've inited ECU 51. And all 7 of the ATBD bytes taken together indicate 100% certainly that the Slow Init worked.
As an extra check, see if the response to the 2nd ATBD is "05 82 51 13 A1 87...". That indicates that the KeepAlive is being sent by the ELM327 automatically as Tester 13 to ECU 51. If that's the case, then skip to step 44.
If the ATSI did not produce the response "BUS INIT: ...OK", then first check in the lower right hand corner of the Realterm window that the Port status is: "nn 38400 8N1 None" (or "nn 115200 8N1 None"), where "nn" is your Port #, 38400 applies to most ELM327 devices, and 115200 applies to OBDLink devices [though OBDLink LX BT can use either 38400 or 115200].
If the Port status is "Closed", then repeat step 19, then perform steps 32-35.
If the Port status includes the "38400 8N1 None" (or "115200 8N1 None" for scanner_type beginning with "OBDLink"), then perform steps 32-35. Very infrequently, a second attempt at the ATSI is necessary.
If a 2nd attempt at repeating the ATSI / ATKW instructions in steps 32-35 fails, then fallback to one of these:
Press Read DTCs for ECU 51 (COMBI).
When it finishes volvo850diag's Full Scan, Quick Scan, and Clear DTCs buttons will also be enabled (ie, clickable), there will be a message underneath the 3 lines of volvo850diag's ECU 51 buttons, and in Realterm's Terminal pane a timestamp will follow the response to the Read DTCs request. Use the message that's below the 3 lines of volvo850diag's ECU 51 buttons as a guide in what to do next.
Experiment to see how all the volvo850diag buttons work, how they are disabled and re-enabled, what messages appear in the volvo850diag window, and what yellow text appears in Realterm's Terminal pane.
Generally, volvo850diag buttons will be disabled when it is inappropriate to use them.
The volvo850diag buttons Close Realterm, Timestamp, and Cancel can be clicked anytime they are enabled. This allows for:
The Read All DTCs, Quick Scan All ECUs, Full Scan All ECUs, My Extra Scans, ATZ Setup for OBDII Emission Diagnostics, ATZ Setup for ECUs 51/58/01/6E/2E/2F..., and ATZ Reset SRI buttons, when clicked, will immediately cancel any other in-progress function.
The ECU nn Setup buttons and the other ECU nn buttons are sometimes enabled when it is inappropriate to use them. In those cases, if you click them, an ...Either: a) wait for it to finish, or b) press "Cancel" dialog box is displayed, which you'll then OK.
Since volvo850diag does not know when Realterm finishes a "Send File" operation, it is up to the user to act as the gatekeeper to avoid performing two different functions at the same time. The easiest way to avoid that problem is to never use the Realterm's Send File button. But if you do use it, then remember that as long as Realterm's "Dump File to Port" pane is not red, you can safely click any enabled volvo850diag button.
My Extra Scans via its "Minimal Scan" scans:
and via its optional, enableable facilities for advanced users scans:
and via its v0.9-introduced, up-to-1-hour CCSwOmK1i live data loop scans:
and via its v0.8-introduced, up-to-1-hour CCSwOmK live data loop scans (available when CCSwOmK1i is unchecked):
Read All DTCs scans:
Quick Scan All ECUs scans (or documents):
Full Scan All ECUs scans:
When finished experimenting, go to the Scanning Cleanup section.
Once you get things setup, then your typical usage might be something similar to the following simplified cheat sheet:
(optionally) Wait until your Windows machine becomes quiescent after a reboot.
Oftentimes, that is all that's necessary to eliminate CPU hogs which sometimes disrupt communications -- especially for Bluetooth-based ELM327-compatible tools.
Note:
The disabling of realtime virus protection might not be necessary
any longer. I've been able to successfully perform
extensive scans on one of my test systems while the realtime
virus scanning was churning away.
But it is advisable to at least wait for any reboot activity
to die down before using volvo850diag and Realterm to communicate
with the car.
Hint:
Additionally,
it is advisable to have your laptop / tablet 100% charged
when starting volvo850diag (to lessen the possibility of
communication problems).
Plug in your (USB-based) ELM327 cable/device to a USB port.
Alternatively, pair your Bluetooth-based ELM327 tool with the
Windows machine.
Display volvo850diag.html with Internet Explorer.
Allow scripting and ActiveX.
On WinXP IE8:
On Win7/Win10 IE11:
Click Start Realterm.
If several paragraphs remain between the "Start Realterm" and the "Read All DTCs" buttons, then deal with the error.
On WinXP IE8:
On Win7/Win10 IE11:
Correct any problem. Then repeat whatever is necessary. Refer to steps 12-13 in the First Time Use guide (or any of its surrounding steps, or, in fact, anything mentioned on this page).
Verify that the Status bar simply says "Done" (or is blank), the Realterm window has gotten bigger, and now is titled Realterm for Volvo 850 SVC70 Diagnostics via ELM327, that a red Capture box is at the bottom, and that there is some yellow text on a black background in Realterm's Terminal pane that looks similar to one of the following examples (where any STI or STDI responses from devices whose scanner_type begins with "OBDLink" reflect that ScanTool.net OBDLink SX/LX/MX/MX+ device's firmware/hardware version numbers, the ECM is whatever you select in the OPTIONS box, the ELM327 version number will be your ELM327 device's version number, the ATDP and ATDPN responses will vary depending on what was most recently done with the ELM327 device, the "Enabled ECUs" and "Disabled ECUs" lines vary according to which ECU are enabled/disabled for scanning, and the timestamp will obviously be your present date/time)...
Example #1 follows: ELM327 v1.5 USB -- no changes in Options box:
ATZ OKTL17 v1.5 >ATE1 OK >-- Scanner type is: "ELM327". ECM is: "none". Model is: "850SVC70". ? >ATI ELM327 v1.5 >ATDP ISO 9141-2 (varies depending on previous scan, etc) >ATDPN 3 (varies depending on previous scan, etc) >-- Default volvo850diag v0.9 "Set Protocol" command is: "ATSP 3". ? >-- Enabled ECUs: OBDII (33), COMBI (51), SRS (58), ABS (01), AW 50-42 (6E), M4.4 (7A). ? >-- Disabled ECUs: PSL (2E), PSR (2F), MSA 15.7 (11), Immo (41), '98 ECC (29), VGLA (2D), Add Heater 912-D (18). ? >------ Time: 2019-07-08 14:38:19. ? >
Example #2 follows: OBDLink SX USB -- where scanner_type, volvo_model, and ECM were changed in Options box to reflect reality, and ECU 58 (SRS) and ECU 01 (ABS) were disabled, since scanning was only desired for OBDII, ECU 51 (COMBI), ECU 6E (AW 50-42), and ECU 7A (M44) [jonesrh's usual enabled ECUs configuration]:
ATZ OKTL17 v1.3a >ATE1 OK >STI STN1130 v4.2.5 >STDI OBDLink SX r2.2 >-- Scanner type is: "OBDLink". ECM is: "Motronic 4.4". Model is: "98 S70 GLT". ? >ATI ELM327 v1.3a >ATDP ISO 9141-2 (varies depending on previous scan, etc) >ATDPN 3 (varies depending on previous scan, etc) >-- Default volvo850diag v0.9 "Set Protocol" command is: "ATSP 3". ? >-- Enabled ECUs: OBDII (33), COMBI (51), AW 50-42 (6E), M4.4 (7A). ? >-- Disabled ECUs: SRS (58), ABS (01), PSL (2E), PSR (2F), MSA 15.7 (11), Immo (41), '98 ECC (29), VGLA (2D), Add Heater 912-D (18). ? >------ Time: 2019-07-09 15:44:18. ? >
Example #3 follows: OBDLink LX BT -- where scanner_type, volvo_model, and ECM were changed by user in Options box to reflect reality, soon after the protocol had been set to A3 by xiaotec "850 OBD-II" Android app, yet ECU 2E (PSL), ECU 29 (ECC), and ECU 2D (VGLA) were enabled by user, since scanning was desired on all ECUs which exist on that 98 S70 GLT [that approach is useful when performing a "Read All DTCs" to check if any existent ECU (on that 98 S70 GLT) has a DTC]:
ATZ OKTL17 v1.3a >ATE1 OK >STI STN1155 v4.3.0 >STDI OBDLink LX BT r1.2 >-- Attempt to absorb possible garbage chars from some Bluetooth devices... ? >-- Scanner type is: "OBDLink-BthModem1". ECM is: "Motronic 4.4". Model is: "98 S70 GLT". ? >ATI ELM327 v1.3a >ATDP AUTO, ISO 9141-2 (varies depending on previous scan, etc) >ATDPN A3 (varies depending on previous scan, etc) >-- Default volvo850diag v0.9 "Set Protocol" command is: "ATSP 3". ? >-- Enabled ECUs: OBDII (33), COMBI (51), SRS (58), ABS (01), AW 50-42 (6E), PSL (2E), M4.4 (7A), '98 ECC (29), VGLA (2D). ? >-- Disabled ECUs: PSR (2F), MSA 15.7 (11), Immo (41), Add Heater 912-D (18). ? >------ Time: 2019-07-10 16:55:40. ? >
Example #4 follows: OBDLink MX+ -- where scanner_type was changed in Options box to successfully connect, ECM was not changed since it was unknown, volvo_model reflects the reality of an 850 (but year was not specified since it was unknown), and *all* ECUs were enabled, since scanning was desired to be attempted on all ECUs [useful as a quick, crude test to see which KWPD3B0-conversant ECUs exist on a car]:
ATZ OKTL17 v1.3a >ATE1 OK >STI STN2255 v4.5.12 >STDI OBDLink MX+ r1.1 >-- Attempt to absorb possible garbage chars from some Bluetooth devices... ? >-- Scanner type is: "OBDLink-BthModem2". ECM is: "none". Model is: "850". ? >ATI ELM327 v1.3a >ATDP ISO 9141-2 (varies depending on previous scan, etc) >ATDPN 3 (varies depending on previous scan, etc) >-- Default volvo850diag v0.9 "Set Protocol" command is: "ATSP 3". ? >-- Enabled ECUs: OBDII (33), COMBI (51), SRS (58), ABS (01), AW 50-42 (6E), PSL (2E), PSR (2F), M4.4 (7A), MSA 15.7 (11), Immo (41), '98 ECC (29), VGLA (2D), Add Heater 912-D (18). ? >-- Disabled ECUs: ? >------ Time: 2019-07-11 07:33:40. ? >
Position your volvo850diag and Realterm windows where you can see both of them simultaneously.
Move the Realterm Terminal pane's vertical scroll bar slider as far to the bottom as it will go in the vertical scroll bar. This is necessary to see the bottom line of the Terminal pane (eg, to see each character as it is being typed by you or is being sent by Realterm).
Turn the ignition to position II, if you haven't done so already.
In volvo850diag, click My Extra Scans, Read All DTCs, Quick Scan All ECUs, Full Scan All ECUs, or ATZ Reset SRI. The default is My Extra Scans if you just press Enter (immediately after the "Start Realterm" finishes).
Observe the text appearing rapidly in the Realterm Terminal pane to see that the scanning is proceeding like you expected.
Just wait for it to finish:
where the first time is for the default ECUs that are enabled as distributed and the times in parenthesis are for minimum # of ECUs enabled (ie, COMBI only) and maximum # of ECUs enabled.
When the operation is finished, jump directly to the Scanning Cleanup section, if you are finished.
Jump to step 14 or step 15 if you want to deal with specific KWPD3B0-conversant ECU(s).
Continue to the next step if you want to repeat or otherwise delve into the OBDII Emission Diagnostics.
The next two steps deal with the buttons in the 3rd part of the blue box -- the OBDII Emission Diagnostics portion.
In volvo850diag, click ATZ Setup for OBDII Emission Diagnostics, then wait for it to finish, while watching the Realterm Terminal pane. It takes about 9 seconds.
Click OBDII Scan, then wait for it to finish, while watching the Realterm Terminal pane.
After "OBDII Scan" finishes, you can press Clear CEL, if necessary, to clear the CHECK ENGINE light.
The remaining steps in this Typical Use section deal with the buttons in the large 4th part of the blue box -- the (KWPD3B0-conversant) ECU specific portion.
Click the ATZ Setup for ECUs 51/58/01/6E/2E/2F... button, then wait for it to finish, while watching the Realterm Terminal pane. It takes about 11-14 seconds.
This step is (usually) optional when the ECU nn Setup buttons are already enabled.
Click the ECU nn Setup button for the ECU with which you want to communicate, then wait for it to finish, while watching the Realterm Terminal pane. It takes about 3 seconds.
Click either the Read DTCs button or the ATSI button (if it is enabled), then wait for the chosen function to finish, while watching the Realterm Terminal pane. Depending on the ECU, "Read DTCs" takes 5-10 seconds and "ATSI" takes 9-14 seconds.
Either of them performs a Slow Init if pressed as the first button after the ECU's "Setup" button. When they finish, the "Setup", "Full Scan", "Quick Scan", and "Read DTCs" buttons for that ECU are enabled in volvo850diag and a timestamp appears in Realterm's Terminal pane. Additionally, if you pressed the "Read DTCs" button, the "Clear DTCs" button is enabled in volvo850diag.
Follow volvo850diag's instructions that appear under the line of ECU nn buttons for your chosen ECU. They will guide you in deciding if the initialization worked or not.
If the initialization failed, then try one of these five (5) separate, possible fixes:
The remaining steps in this Typical Use section contain data which is specific for each ECU. They are all written assuming that Read DTCs is used to perform an implicit Slow Init, instead of using ATSI to perform an explicit Slow Init.
ECU 51 (COMBI):
Click the ECU 51 Setup button, then wait for it to finish, while watching the Realterm Terminal pane.
Click Read DTCs, then wait about 5-9 seconds for it to finish, while watching the Realterm Terminal pane.
Be sure to check the messages underneath the 3 lines of ECU 51 buttons and follow any instructions listed there to ensure that both the initialization and the Read DTCs worked correctly.
Click Quick Scan, then wait for it to finish, while watching the Realterm Terminal pane to see that the hex responses are being displayed. It takes about 11 seconds to read the COMBI DTCs, as well as the portions of the B9 and A5 data which have proven to be the most useful. If you want to see all of the ECU 51 B9 and A5 data, you'll have to use Full Scan instead.
If you did not have any DTCs (ie, the response to AE01 begins with 83 13 51 EE 01), then skip to the next step.
Otherwise, if you had 1 single DTC which indicates the Low Fuel light has come on (ie, the response to AE01 begins with 84 13 51 EE 01 05), and if the Low Fuel light is not presently on, then press Clear DTCs, watch the Realterm display to ensure the response to AF01 begins "83 13 51 EF 01" indicating a successful clear, then press Read DTCs to verify that the DTC is really gone.
For any other responses to AE01, I'd recommend clicking Full Scan, and waiting for it to finish, before attempting to click Clear DTCs. That way you'll be more likely to get a record of freeze frame data. If the ECU 51 Full Scan does not generate an ADnn00 request, for each nn which is a DTC in the 83 13 51 EE 01 response to AE01, then you might want to manually issue in the Realterm Terminal pane an "ATSH 84 51 13" command, then issue "ADnn00" requests for each DTC, where nn is the DTC #.
After you're done with ensuring the freeze frames are recorded, then click Clear DTCs.
After the Clear DTCs finishes, you can issue the Read DTCs to see if all the DTCs are gone.
Experiment with clicking any enabled button.
The following items are unique to ECU 51 (COMBI):
"*" button / also known as "ECU 51 Reset SRI" button --
This button turns off the SERVICE light by clearing all the associated counters. It simply issues ATSH 83 51 13 / B030 / B230, along with some comments. Its up to you to record the associated counters/limits beforehand and afterwards using Quick Scan or Full Scan. This button can only be used when you are already connected to ECU 51. It takes 5-6 seconds.
Select SERVICE Reminder Indicator (SRI) limit(s) pulldown list --
This list provides choices for reprogramming one or more limits which control when the SERVICE light comes on. You choose only one item in the list. Some items affect all 3 limits. Some items affect only 2 of the limits. Most items affect only a single limit. After you select one of the items in this list, you then click the Reprogram SRI limit(s) button.
Important note:
The
Select SERVICE Reminder Indicator (SRI) limit(s)
pulldown list had **major** rework done
in volvo850diag v0.8beta45.
Several new lines were added,
and the descriptions were enhanced.
However, by far and away, the *most*
important change was the correction to reprogram the
SRI Mileage limit in units of 500 km
(instead of the previously, erroneously assumed units
of 1000 km)!!!
Reprogram SRI limit(s) button --
This button reprograms one or more SRI limits -- whatever limit(s) were just chosen from the Select SERVICE Reminder Indicator (SRI) limit(s) pulldown list (in the 2nd line of ECU 51 buttons). This button takes 13-21 seconds.
Warning / Hint:
Each item in the
Select SERVICE Reminder Indicator (SRI) limit(s)
pulldown list that is preceded by two asterisks
(**)
in their description are what we might call the "official"
entries, since they are listed in the OTP Volvo 850 DVD as
"predetermined" values, and are thought to likely be values which
the Volvo Scan Tool (VST) uses.
If you want to limit your SRI reprogramming to how the VST would
(most probably) perform it,
the safest way is to limit yourself to only the items that are
preceded by the
**
two asterisks flag.
ECU 58 (SRS):
Click the ECU 58 Setup button, then wait for it to finish, while watching the Realterm Terminal pane.
Click Read DTCs, then wait about 6-8 seconds for it to finish, while watching the Realterm Terminal pane.
Be sure to check the messages underneath the line of ECU 58 buttons and follow any instructions listed there to ensure that both the initialization and the Read DTCs worked correctly.
For ECU 58 and the remaining ECUs, I'm not going to describe using the Clear DTCs button, since normally you will not be using it and it just clutters up this list. But if you want to, you can use it, similar to what was described for ECU 51 above.
Experiment with clicking any enabled button.
ECU 01 (ABS):
Click the ECU 01 Setup button, then wait for it to finish, while watching the Realterm Terminal pane.
Click Read DTCs, then wait about 7-9 seconds for it to finish, while watching the Realterm Terminal pane.
Be sure to check the messages underneath the line of ECU 01 buttons and follow any instructions listed there to ensure that both the initialization and the Read DTCs worked correctly.
Also, notice that the ABS light in the Instrument Panel is blinking.
Experiment with clicking any enabled button.
ECU 6E (AW 50-42 Automatic Transmission):
Click the ECU 6E Setup button, then wait for it to finish, while watching the Realterm Terminal pane.
Click Read DTCs, then wait about 6-9 seconds for it to finish, while watching the Realterm Terminal pane.
Be sure to check the messages underneath the line of ECU 6E buttons and follow any instructions listed there to ensure that both the initialization and the Read DTCs worked correctly.
Experiment with clicking any enabled button.
ECU 2E (Power Seat Left):
Click the ECU 2E Setup button, then wait for it to finish, while watching the Realterm Terminal pane.
Click Read DTCs, then wait about 7-10 seconds for it to finish, while watching the Realterm Terminal pane.
Be sure to check the messages underneath the line of ECU 2E buttons and follow any instructions listed there to ensure that both the initialization and the Read DTCs worked correctly.
Experiment with clicking any enabled button.
ECU 2F (Power Seat Right):
Click the ECU 2F Setup button, then wait for it to finish, while watching the Realterm Terminal pane.
Click Read DTCs, then wait about 5-8 seconds for it to finish, while watching the Realterm Terminal pane.
Be sure to check the messages underneath the line of ECU 2F buttons and follow any instructions listed there to ensure that both the initialization and the Read DTCs worked correctly.
Experiment with clicking any enabled button.
ECU 7A (Motronic 4.4):
Click the ECU 7A Setup button, then wait for it to finish, while watching the Realterm Terminal pane.
Click Read DTCs, then wait about 5-9 seconds for it to finish, while watching the Realterm Terminal pane.
Be sure to check the messages underneath the line of ECU 7A buttons and follow any instructions listed there to ensure that both the initialization and the Read DTCs worked correctly.
Experiment with clicking any enabled button.
Hints:
Check out the
ECU 7A Test button and its pulldown list
which were new in volvo850diag v0.8.
In the volvo850diag v0.9 distribution, the
3 experimental M44 controls *are* allowed
(without having to do any editing of the volvo850diag.html
file).
The M44 Test/Control capability should only be used
when engine is off and ignition is at pos II.
ECU 11 (MSA 15.7): <<< new line of ECU 11 buttons in volvo850diag v0.9
Click the ECU 11 Setup button, then wait for it to finish, while watching the Realterm Terminal pane.
Click Read DTCs, then wait about 5-8 seconds for it to finish, while watching the Realterm Terminal pane.
Be sure to check the messages underneath the line of ECU 11 buttons and follow any instructions listed there to ensure that both the initialization and the Read DTCs worked correctly.
Experiment with clicking any enabled button.
ECU 41 (Immobilizer 2/3): <<< new line of ECU 41 buttons in volvo850diag v0.9
Click the ECU 41 Setup button, then wait for it to finish, while watching the Realterm Terminal pane.
Click Read DTCs, then wait about 5-8 seconds for it to finish, while watching the Realterm Terminal pane.
Be sure to check the messages underneath the line of ECU 41 buttons and follow any instructions listed there to ensure that both the initialization and the Read DTCs worked correctly.
Experiment with clicking any enabled button.
ECU 29 ('97-'98 S70/V70/C70/XC70 ECC): <<< new line of ECU 29 buttons in volvo850diag v0.9
Click the ECU 29 Setup button, then wait for it to finish, while watching the Realterm Terminal pane.
Click Read DTCs, then wait about 5-8 seconds for it to finish, while watching the Realterm Terminal pane.
Be sure to check the messages underneath the line of ECU 29 buttons and follow any instructions listed there to ensure that both the initialization and the Read DTCs worked correctly.
Experiment with clicking any enabled button.
ECU 2D ('97-'98 S70/V70/C70/XC70 VGLA): <<< new line of ECU 2D buttons in volvo850diag v0.9
Click the ECU 2D Setup button, then wait for it to finish, while watching the Realterm Terminal pane.
Click Read DTCs, then wait about 5-8 seconds for it to finish, while watching the Realterm Terminal pane.
Be sure to check the messages underneath the line of ECU 2D buttons and follow any instructions listed there to ensure that both the initialization and the Read DTCs worked correctly.
Experiment with clicking any enabled button.
ECU 18 (Add Heater 912-D), ECU ?? (????), etc:
The ECU nn functions for ECU 18, ECU ?? (????), etc are planned for a future release after the ECUs are completely scanned to determine all their function/subfunctions pairs and after some of their values are understood and added to the KWPD3B0 interpreter.
For the time being, these ECUs can only be scanned via "Read All DTCs", "Quick Scan All ECUs", "Full Scan All ECUs", or the "Minimal Scan" of "My Extra Scans".
Once you finish scanning, then cleanup similar to the following list:
Click to:
Turn off the ignition.
Wait 6 seconds for all communication to cease.
Unplug any ELM327-compatible USB device (if used) from the USB port.
Unplug the ELM327-compatible device from the car's OBDII port.
Re-enable the realtime virus protection and the other CPU hogs (that you disabled because they were suspected of potentially causing data loss or loss of the ISO9141-2 connection).
Open up the volvo850diag_YYYYMMDD_HHMMSS.log capture log file(s), where YYYYMMDD_HHMMSS is the year, month, day, hour, minute, second that Realterm was started. Note: There is one log file for each time that Realterm runs.
Select all the text in the log file (or at least the portions that you would like interpreted).
While on the internet, display the Volvo 850 V70 keyword D3 B0 protocol interpreter page, click the very first Paste Volvo 850/SVC70 Communication here link that you see, click inside the bluish-grey Paste Volvo 850/SVC70 Communication here box to establish focus, press Ctrl-A (to Select All), paste the just selected text from the log, then click the Interpret button.
Wait for the Volvo keyword D3 B0 protocol interpreter results page (kwpd3b0_interpreter_results.php) to appear.
The ELM327 said box contains the log excerpt that you asked to be interpreted.
The Gleanings box contains groups of interpretations with each interpretation group containing:
Search for the box that says Gleanings.
If you have more than 150 characters in the ELM327 said box, then a line of text preceding that box will contain a clickable link so you can easily jump to the Gleanings box.
Mull the "gleaned" interpretations.