Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Question: Can FreeSSM reset EGR learned angle. #44

Open
ieb opened this issue Aug 23, 2020 · 12 comments
Open

Question: Can FreeSSM reset EGR learned angle. #44

ieb opened this issue Aug 23, 2020 · 12 comments

Comments

@ieb
Copy link

ieb commented Aug 23, 2020

I have been using a windows version of FreeSSM (1.2.5) which works perfectly and detected a problem with an EGR valve which was replaced with a new one. However I haven't found a way to reset the learned position sensor voltage, hence after 2 test drives the car reports a P0409 diagnostic code due to the closed voltage of the position sensor not matching the stored value as this stored value was for the broken/stuck unit.

My question is can FreeSSM reset this value so that the ECU re-learns the value. The Subaru manual (http://jdmfsm.info/Auto/Japan/Subaru/Legacy_Outback/2008/Legacy%202008/index.html) has a procedure for force compulsory learning, but I have been unable to find anything other than the official tool that will do it, and that costs more than the car is worth.

Any pointers would be greatly appreciated. If it's something FreeSSM doesn't do, but could I'd be happy to try and do a PR.

@ieb
Copy link
Author

ieb commented Aug 24, 2020

I looked through the code and the documentation for SSM1/2/3 her and in Romraider and I think FreeSSM cant do this. My ECU responds with bytes that indicate only the idle speed can be adjusted. Performing compulsory learning seems to be a proprietary SSM command secret to Subaru and in the $$ SSM. I failed to find anything to say the address in the ECU where this value or flag is stored.

I took the old and new EGR apart. The internals are different. Both have a magnetic position sensor of different designs. The replacement has a HAL3725 chip on it (https://www.micronas.tdk.com/en/system/files/downloads/files/HAL371x_HAL372x_HAL%20373x_Programmable_2D_Position_Sensors_with_Arbitrary_Output_Function_1DSH_final.pdf) and a diametrically magnetised disk magnet.

The original is fully encased with circular magnets and the chip is burried.

I guess I could try and adjust the magnet position to make the new valve voltage at fully closed match the old voltage, but that looked hard. So...

The old ERG has a plastic intermediate gear wheel running on a shaft which had become slightly stiffer. After cleaning and checking it returned to zero every time I re-installed the old ERG and so far no repeating P0409 or P0403 codes (P0403 was the original fault code). The ERG with plastic intermediate gear is also a lot quieter than the replacement with a metal intermediate gear. I can barely hear it go through the shutdown cycle that checks the zero opening position when the engine is turned off.

I know FreeSSM issues is not really the right place to post this information, but it might help someone else getting a repeated P0409 after 3 engine starts. (Lots of posts on Subaru sites from frustrated DIYers replacing multiple EGRs till they strike it lucky with a match)

If FreeSSM can reset the values and complete the learning on the ERG, then please say.
If there is any way to do this with any scan tool other than the $$ SSM, then I'd like to know.

Original EGR valve
Original_Sensor
Original_Gears

Replacement ERG Valve (not Subaru part, matching part number)
Replacement_Sensor
Replacement_Gears

@Comer352L
Copy link
Owner

Comer352L commented Aug 25, 2020 via email

@ieb
Copy link
Author

ieb commented Nov 23, 2020

Yes its a Diesel engine.
I measured the voltages output on the EGR Valve on the bench with it powered with 5V and found the signal voltage for the valve open and closed to be different from the original EGR Valve, hence the new valve isn't accepted by the car.

The old valve still works, but jams. I take it out, clean it, including the piston ring like seal on the valve and it works for about 200 miles before jamming again. It could be the shaft. I think I have 3 options.

  1. dismantle every 200 miles.
  2. buy replacement valves until I hit it lucky and get one with the same voltage output.
  3. find someone with a official SSM to get the ECU to relearn the valve sensor voltages.

It could be that hit it very unlucky and got the 1 in 1000 bad replacement EGR valve.

I am assuming that when replacing an EGR the ECU must learn the new voltage and there is no other way of making that happen other than to trigger it with SSM (ideally FreeSSM).

I would be happy to test for you, or try and patch the code if you have any pointers.

@ieb
Copy link
Author

ieb commented Nov 24, 2020

Last night I put the replacement EGR back in, and observed the measuring blocks for requested & target angle, %duty cycle and learning. The replacement EGR reports matches in requested & target which IIUC, only indicates that the ECU thinks its achieving the correct angle. Duty cycle was at 11% when static. I did however noticed that if the revs were changed and the EGR angle was allowed to move about, the learning blipped from completed to learning and back again when the angle dropped below 0. Which might indicate the ECU adjusts the EGR angle based of feedback from other sensors while it is running and does not require to be forced to learn. Initially the resting angle was about -5 but after 2 engine runs (not driving) it was on 0.

If this is the case, then perhaps having EGR Valve Control is a nice to have and the EGR can be checked with measuring blocks ?

The old EGR showed 100% duty cycle when reporting P0403s and P0409s when the valve got stuck.
If the new EGR reports a code again I will put a scope on the 12v and 5v lines and start looking for noise, breaks etc.

@Comer352L
Copy link
Owner

Sorry, I neither have a Diesel at hands nor a second EGR valve for testing.
Someone needs to find out how it works (e.g. by creating a USB log from the learning process with the SSM or another tester).
Then it shouldn't be too difficult to add support for it to FreeSSM.

@L1800Turbo
Copy link
Collaborator

L1800Turbo commented Nov 26, 2020 via email

@Comer352L
Copy link
Owner

Yes it is, but the naming ("EGR Valve Control') is a bit misleading.
I have never heard of anyone doing it before, but the first Diesels are getting older...

@gsapic
Copy link

gsapic commented Feb 21, 2022

Hi!
I see that this is an old thread so I was wondering if this was solevd or not... I have a 2012 Forester 2.0D and after replacing the EGR I need to do the calibration process. The local dealer seems a bit ticked off that I didn't come to them for a replacement so I am trying to do this part myself as well.

@FloFaber
Copy link

FloFaber commented Jun 27, 2022

Same here. I have a 2011 Impreza 2.0D and would like the ECU to relearn the EGR voltages because of code P0409 after replacing the EGR. I can delete the Error but every 2-3 start ups it comes again.

@akrotor
Copy link

akrotor commented Aug 4, 2022

I'm in the same boat with a 2010 Forester 2.0D

@Hartvik90
Copy link

In the same boat here also, 2009 Forester Diesel.
Wish list for us Subaru Diesel hobby-mechanics:

  • Learning EGR value
  • Reset DPF soot levels
  • DPF force regen
  • Injector learning

The only option for us is an expensive VXdiag adapter and pirate version of SSMIII.
Or travel to the Subaru dealership with the genuine SSMIII,

@Charlie999
Copy link

Hi, just replaced my EGR and wondering if there's any update on this. If not, I do have access to a diesel vehicle (but not the official SSM stuff) and would be willing to debug stuff and write code if you know the details about the process.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

8 participants