Subaru Outback Forums banner

FreeSSM - Complete access to your ECM and TCU

1192758 Views 1107 Replies 201 Participants Last post by  JohnSub2013STI
I have been seeing too many threads asking about what the best code scanner to use for their vehicle.
So far there has been no mention of FreeSSM. Edit that: Seabass and Watermelon have mentioned it.
Actually I am surprised as to how few people know about this.
I am inclined to change that right now, I want you all to know what I know. :29:
Got it? Good, lets continue.

This is an amazing piece of software that was written by some very talented people.
The software is open source and I spent a total of $18 on the cable.
Keep this 1 thing in mind, this is NOT an OBD II scan tool.
If you tried to use one of the many generic OBD II USB adapters out there with this software it will NOT work.
It uses the same protocols as the dealer Subaru Select Monitor, so you need an adapter that supports this. (read below)

"FreeSSM is a free and easy to use diagnostic and adjustment tool for SUBARU vehicles.
It provides access to the engine and transmission control units of the models Legacy/Liberty, Outback, Baja, Impreza, Forester and Tribeca (not before MY1999)."

BerliOS Developer: Project Summary - FreeSSM
Version 1.2.5 is the latest.

-Uses the same protocol as Subaru Select Monitor.
ECU communication consists of several layers. There are several SAE and ISO-norms, but manufacturers also make their own stuff.
FreeSSM accesses ECMs over a SUBARU-specific protocol (called SSM2), which is actually a modifed version of the ISO-14230-protocol (KWP2000).
On the lower layer, it's fully compatible with ISO-9142/14230.
For both the engine and transmission:
-Read and clear current and history codes, generic and manufacturer specific.
-View real time data from on-board sensors.
-Adjustments (the fun one) can make corrections in outputs.
-System tests, you can manually test different components.

Models supported:
The software supports the models Legacy®/Liberty®/Outback®/Baja®, Impreza® (incl. WRX + STi), Forester®, Exiga® and Tribeca® starting with model year 1999 up to model year 2009.
Model year 2010 is already supported, too, but some Measuring Blocks may be missing and some Diagnostic Codes may not be displayed as plaintext.
Vehicles up to model year 1998 as well as the models SVX®, Justy®, Libero® and Vivio® are not supported.
The model years 1999+2000 must be regarded as transition period. According to present obersvations (european models), access to the engine control unit of the models Legacy®/Liberty®/Outback®/Baja® is already possible since model year 1999, while most of the Impreza®-models and a few of the Foresters® are supported from model year 2000 on.
Transmission control units are not supported before model year 2000, in most cases support starts with model year 2001.
It is useful to take a look at the diagnostic connector: if pin 7 is available, at least the engine control unit should be available.
From model year 2001 on, both control units should be supported."

Data Trouble Codes:
79 / 539 / 32 (Non-OBD / OBD2 / CC)

Measuring Blocks:
222 / 172 (Data / Switches)

Adjustment Values:
3 / 18 (Engine / Transmission)

System Tests:
21 / 1 (Actuators / Others) (Engine Only)

What you need:
-A computer;
Laptop, desktop, Car PC whatever floats your boat. (Linux, Windows)
-An Adapter (see below)
-The software (linked above)
-A Subaru

What adapter works?:
The software works with all ISO-9141-2-/ISO-14230-1-compliant (K/L- and KK/L-) interfaces, that serve as simple voltage level converters ("Dump"-interface) or have a "pass-through"-mode.
The interface must be selectable through a serial port, which also includes USB-interfaces whose driver provides a virtual serial port (e.g. interfaces with FTDI-USB-chip).

This is a (incomplete) list of interfaces that should work with FreeSSM (no guarantee !):
- all interfaces that work with VW-Tool and VAG-COM up to version 311.3 (409)
- openPort-interface 1.2/1.3 (not 2.0 !)
- interfaces with AGV2055, AGV3000, AGV3001, AGV3100, AGV4000, AGV4500 chipset that provide a switch to activate the "transit mode" (e.g. OBD-Diag®-interfaces)
- "Jeff Noxons" interface (-design)
- "Andy Whitakkers" interface (-design)

Interfaces with ELM-chip (ELM320, ELM322, ELM323, ELM327) will not work, because they use a fixed AT-command-set which is not compatible with the SUBARU®-specific protocol.

The OpenPort 1.2/1.3 interfaces are actually ISO-9141/ISO-14230-pass-through-interfaces with minor extensions (serial status/handshaking lines are used for e.g. switching the program voltage).

With that being said, if you already have one of these adapters congratulations! If not you can decide which one you would like to get.
My recommendation: Vag-Com KKL 409.1 can be found for $18 on ebay from a U.S. seller.

Ok I have the software and adaptor, how do I make it work?
-Plug in your cable, let your computer find the drivers automatically.
If not the cables usually come with a cd with the drivers, use this.
If not do some searching on the internet.
It really depends on which cable you get.
The VAG COM cable I purchased required no setup, plugged in, found, done. Works on XP, Vista and 7 I tested all these OS's.

-Install the software
On the main screen go to Preferences
On the drop down: Serial Port
Select which COM port your adapter is on
If you have no idea wth I am talking about:
On your keyboard hold the windows button and push Pause/Break
Click Device Manager
Select Ports (COM & LPT)
Your adapter should be listed here
Right click the adapter, select Properties
Under Port Settings, Advanced you can see which port it is on, you can change this to another # if you want.
This path may be different depending on which OS you use.

-Plug into the OBD II connector with the key on and "Test Diagnostic Interface" under Preferences.
If it all checks out you are good to go.

The Software:
Here are some screenshots from when I was using this software.

Click on either Engine or Transmission


ECU Capabilities

Here in the Measuring blocks you can click the + sign and select what parameters you want to view real time data from.
Select as many parameters as you want.


Functional Tests, you have to connect the green connector under the dash for this to work.

TCU Capabilities

Measuring Blocks

If you look closely there is 1 parameter that I have changed.

For those of you with automatics that report, binding or grinding while cornering at low speeds (parking lots, ect...)
I have successfully reduced the symptoms by adjusting the Transfer Duty Ratio Correction.
Note: Increasing this value for 04'+ does decrease the Transfer Duty Ratio %, my electrical monitoring testing verifies this.
03' and prior should be reversed, please perform your own testing to verify this.

If the vehicle looses power or the battery goes dead/disconnected all adjustment values will reset to default.

As you can see this is the ultimate tool for your Subaru.
Short of buying your own Subaru Select Monitor, this software will let you have nearly complete control of your own vehicle.
The automatic adjustments in particular can really let you fine tune everything. (IF you know what you're doing!)

Someone with a 2010 and 2011, and 2012, report back and let me know if it works for you.
I know it works at least up to 2008, but beyond that I do not know.

So there you have it, the best scanner for your Subaru available.
Have fun and enjoy your Subies. :D

Disclaimer: I will not be held responsible for any damages resulting from improper use of this software.
Know exactly what you are doing before attempting any adjustments or tests.
This is definitely not the place to "play" around with settings.
See less See more
  • Like
Reactions: 5
1 - 20 of 1108 Posts
This is really great. Thanks for this post !!
Thanks great stuff. Would you recommend the USB or the serial port type for Windows?
If you have an very old computer with only serial you can use that, otherwise USB is the way to go.
Do you know if parameters can be adjusted that would reduce the sensitivity of the rear O2 sensor to help eliminate the dreaded and very common P0420 code ?

I would pay to have that ability.
How much would you pay? :twisted:
There are some things that can be altered in freessm, but that is dependent on what is supported on your ecu. For example, the center differential clutch pressure can be altered on my car. There are a few other things in the ecu. The available parameters will vary depending on your ecu/tcu, but there are tons of options. It allowed me to monitor both atf temp sensors while towing a 4klbs trailer.

Thanks for posting this ntippet. It's an amazing tool that I've been trying to get people to use for a long time now. I was just too lazy to do a good write up. The only downside is that you need a netbook or laptop for this to work. It also works on linux, which means maybe someday someone will get it working on android!

So you didn't have to set anything up with the vag-com cable? I though the tactrix drivers were required. I had to do it anyway for romraider, so I didn't consider that it wasn't necessary for freessm.

I haven't messed with it in a while, but I don't remember being able to disable codes on it. I know you can with romraider though. BTW, I think changes made with freessm will go away if you disconnect the battery.
See less See more
I could see this being used very very easily on a Car PC.
You are definitely right about using this on a smartphone, I don't think it would take too much work.
Although I can't write that one up. :D

Nope no drivers required, the cable came with a CD and I never touched it.
Plugged into computer, recognized, done. Selected the COM port.
Tested it on XP and 7.

Good to know about RomRaider, I will have to dig into that some more.
Thanks for that. :29:
The problem with romraider is that it is for tuning. It only supports the ecu's with enough demand for opensource tuning. It's mostly the turbo models, but there are a few NA models supported. Also look into ecuflash. It may have different ecu's supported and allows for a bit of rom editing.
Yeah Seabass I looked through the site and found there was only support for mostly turbo models.
I did see an open ticket someone requested support for a 2004 Outback NA AT.
Under ECU and Logger Definitions.

Do you know if parameters can be adjusted that would reduce the sensitivity of the rear O2 sensor to help eliminate the dreaded and very common P0420 code ?

I would pay to have that ability.
I believe I found a solution for this issue, now lets see that $. :12:

Assuming those with this P0420 code have eliminated all causes of exhaust leaking or air entering upstream of the sensor via holes or other damages to the components.
As well as a properly functioning catalytic converter.
There is an option to alleviate the P0420 code.
I have found a simple way to attenuate the signal for the rear O2 sensor.

Now I need to order up some parts and create an air leak in my exhaust to test it out.
The start of another fun and simple project.

Edit that: Someone already did the testing, good job TrekLawler.
Great I can leave my exhaust in 1 piece.
TrakLawler also put up the extremely complicated wiring diagram for this. :D

~$4 in Parts
1 - 1.0uF 20% dipped tantalum capacitor
1 - 1.0 M Ohm 1/2 Watt 5% Carbon Film Resistor

There you have it cagranitz, doesn't get much simpler than this.
Interrupts the O2 sensor signal and attenuates it, outputting a reduced amplitude and phase change.
See less See more
Nice circuit hack :) I may have to try that.

I am still wondering if something can be adjusted in the ECU to eliminate the P0420 problem.

Considering that that P0420 problem could be fixed with a $5.00 anti-fouler or $4.00 in electronic components, $15.00 seems fair to be be able to fix it directly in the ECU with FreeSSM :)
Nope sorry, there isn't an option for that in FreeSSM.
I have to check out this FreeSSM thing. I just got the Ultragauge and its pretty cool. But I want to change the TCU programming to hold 4th gear longer and prevent upshifts into third until I go past 50% throttle opening...

Hopefully the software and USB drivers runs on Windows 7 64-bit... otherwise I gotta dig up a 32-bit Windows XP laptop...
It runs on Windows 7 64bit.
Already tested that.
And ubuntu and win 7 32 bit.

I'm not sure it will allow you to alter shift points. I know on mine, I can't really mess with anything in the transmission, just the transfer clutch. I'm really mad that you can up the line pressure for shifts on your transmission. That's the only thing keeping me from more power. I don't have that option!
Honestly I am NOT going to touch them.
My transmission works just fine :D

There is 1 parameter I wish was there though:
Torque converter clutch disengagement correction.
Something based on engine load or throttle %, its tough to get it to disengage and hold 4th gear for hills.
Usually it just jumps all the way down to 3rd.
Tell me about it. I'm seriously thinking of wiring in a control switch for the tcc. Id prefer to take control of it completely. I think id save a bunch on gas around town. A 3500 rpm stall speed is horrible for city mpg. Just have to remember to disengage before stopping...
Yeah I am thinking about doing that too.
Maybe modifying the gear selector & mounting a switch is under the ring or pointer finger.

But then would have to fool the TCU in thinking everything is still normal.
Would probably throw codes. P0741, 77 & others.
I can live with a trans code as long as it doesn't put into some sort of limp mode.
I was thinking about putting a button on the steering wheel next to the gear selector buttons. Id have to have an auto mode for the wife though.
1 - 20 of 1108 Posts