jhl::mafipulation

Tue, 08 Nov 2011

Resetting middle-aged Volvo service lights
I recently had to fix my 1996 850's mechanical odometer, and have spent some time reverse engineering some bits and pieces to try and read the mileage out of the instrument cluster electronics. While I haven't managed to figure that out yet, I have picked up a bunch of other codes; and one thing that seems to be quite difficult for this era of Volvo is resetting the service light.

Here's how to do it with an ELM327 or compatible OBD-II interface. You will need a terminal emulator such as minicom (Mac/Linux) or HyperTerminal (Windows). Hit enter after each command. Connect to the port, turn your ignition to II, and make sure linefeeds are on:

> AT L1
Now set up your address as 0x13:
> AT RA 13
And since you are talking to the instrument cluster (0x51), set the message header and target address:
> AT SH 83 51 15
> AT IIA 51
You can now wake up the cluster controller:
> AT SI
You should see
BUS INIT...OK
If so, issue the reset command:
> B0 30
If you're not sure it's communicating properly, you can try a gauge test - all the needles are moved to full scale and back:
> B0 31
You can reissue
AT SI
to restart communication at any time. Make sure you issue the reset within a couple of seconds of ATSI finishing, as the controller seems to go back to sleep pretty quickly. I'd be interested to hear from anyone who knows how to extract the odometer data from one of these - I've had no luck with commands A5, A7 or B9 (read data by offset/address, or read data block).

posted at: 02:24 | path: /reversing/volvo | permanent link to this entry

org.mafipulation@jhl:mailto index rss