Subaru Outback Forums banner

FreeSSM - Complete access to your ECM and TCU

2 reading
1.4M views 1.1K replies 213 participants last post by  PCFIVEZ  
#1 · (Edited)
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)."

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

Abilities:
-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.

Setup:
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
Image


Preferences
Image


ECU Capabilities
Codes
Image


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.
Image


Adjustments
Image


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


TCU Capabilities
Codes
Image


Measuring Blocks
Image


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

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.
 
#10 ·
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.



I believe I found a solution for this issue, now lets see that $. :12:
/joke

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.
http://www.subaruoutback.org/forums/110-gen-2-2000-2004/27380-header-install-4.html
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.
 
#7 ·
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.
 
#8 ·
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:
 
#1,107 ·
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:
Tested it on Win 10 & 11 and works.
 
#9 ·
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.
 
#11 ·
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 :)
 
#13 ·
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...
 
#15 ·
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!
 
#16 ·
Muahahahaha!!!!
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.
 
#21 ·
Dude, that is the EXACT thing I want to correct on the 4EAT in my 2003.

In our 2005, with the updated 4EAT with the manumatic mode, it is SOOOOO much better. You can have it hold any gear and it won't EVER upshift. And it will only downshift for you if the RPM gets under 1400 RPM or so it doesn't stall out or overheat the transmission. Its actually one of the better programmed auto-transmissions I have driven. But the 2003 has a lot of room for improvement.
 
#18 ·
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.
 
#22 ·
Yep the TCU likes to take it to the highest gear as quick as possible, then stay there...
Which isn't a bad strategy but I would like it to disengage quicker.

I would only want to disengage the TCC and move it to a dummy load, with a simple switch.
This would be much much simpler than taking total control of the solenoid (ON and OFF).
Since the TCU probably controls the solenoid via a duty cycle, ramping up % to avoid driveline shock.
I could build a controller to do this as well but I don't feel its worth it.

Also turning it on by supplying direct DC 12v via a switch is not the best idea IMO.

I might back-probe this circuit and test how it is controlled.
 
#24 ·
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.
My 2001 Outback 4EAT Limited does this exact thing so what should I adjust mine to?
 
#25 ·
Well if anyone is interested here is how the TCU strategy works for the TCC.
Had a few minutes to backprobe the circuit under operation.
Its control is similar to the transfer solenoid.

12V VDC constant 50Hz power side switched
Grounded inside the transmission
PWM controlled
13.4 ohms resistance across the solenoid and circuit

TCC operation stratgey:
Condition | Duty Cycle | Amperage
Off | 5.0% | 0.01A
4th gear On (holding speed or accelerating) | 95% | 0.9A
4th gear On (off throttle de-accelerating) | 40% | 0.3A

The TCU slowly ramps up the % duty during engagement, ~3 seconds to go from 5% to 95%.
Once there it holds 95% duty until you let off the throttle, it then drops and holds at 40%.
Hit the throttle again and once more it ramps up slowly to 95% ~2-3 seconds.
 
#27 ·
#30 ·
Seabass you should test your 5eat transfer logic and post up your findings, similar to how I tested mine.
Maybe we should create a chart showing the differences in the power delivery to the rear wheels & circuit control for the different models. 4eat, VDC, 5eat, ect....
 
#31 ·
Does the 4eat do that in overdrive?
The data being provided by ntippet and Seabass is invaluable to understanding the AWD system, and I again express my thanks.

Seabass's question about the duty cycle when in 4th gear (4EAT) and when in 4th with the TCC engaged would be an interesting addition. As the 4EAT (and, incidentally, the CVT) have no means other than the clutch to transfer power to the rear drive train, it seems to me that even when cruising, the duty cycle would be at least that base level of around 42% (http://www.subaruoutback.org/forums...rg/forums/66-problems-maintenance/11857-im-unhappy-subaru-awd-3.html#post365842) This might well be different in the 5EAT which has a mechanical, planetary gear center differential that is always sending power to both the front and rear drives.

Is the FreeSSM able to track/record monitoring data over time or is it only "snapshots"? I'm wondering if it can be set up to record, for example, vehicle speed, gear, throttle position (%?), and AWD duty cycle (%) and perhaps others, so that the relationships can be more easily identified and illustrated.

I also have a center diff so I'm sure the logic that controls the transfer clutch is different. In 1st gear manual mode, the transmission goes into full line pressure holding the gear. It is not full pressure on the transfer clutch. Also in 5th gear, the center diff remains open.
Seabass: So the duty cycle in the 5EAT drops away when in 5th gear? How low? Also, what about the "starting positions" of the other manually selected gears as ntippet reported in the linked thread? Is it the same, around 40% for each?