Jump to content
LegacyGT.com

P2138 - Throttle/Pedal Position Sensor/Switch


Recommended Posts

Getting this p2138 code, recurring after step by step diagnosis and process of elimination of many things.... I read RSdude's post about dummying out the secondary pedal sensor, by connecting its wire to the primary pedal sensor output. Making the output identical on both sensors....

 

But I did it a different way by some temporary internal modification of the pedal sensor. Picture says 1000 words..

 

But here's a few words. I masked the 2ndary sensor connection pads with Kapton tape, all three pads of it. Then I made a "jumper" of aluminum foil spanning the two wipers of the two potentiometers of the primary and secondary sensors. And I taped that down. The net effect is no current flows through the secondary pot, and the wiper of the secondary gives the exact same reading as the wiper of the primary. And the primary sensor pot connection pads and wiper continue to work in their original fashion.

 

In other words, there is no physical way for different readings to come out of the pedal. They are identical when presented to the original, unmodified, plug on the harness that connects to the pedal. A plug that has been cleaned and coated with a bit of dielectric grease.

IMG_00000189.thumb.jpg.983825a60b4047bd66c2f32faa1739e8.jpg

Edited by scottmcphee
Link to comment
Share on other sites

  • Replies 114
  • Created
  • Last Reply

Top Posters In This Topic

The car is drivable with a dummied secondary sensor like this, I can verify that!

 

Bad news, after a drive cycle and engine was warm... It threw the P2138 code again.

 

This proves the error code is not because of a voltage discrepancy between primary and secondary sensor. It is because of something else.....

Link to comment
Share on other sites

Ok, I was getting repeatable and persistent p2138 codes... So I unplugged the MAF sensor as a thing to try, something I read upthread.

 

Magic! The car is instantly drivable again. After clearing p2138 by tool, this code did not surface again after lengthy convoluted drive cycles just minutes after the car was throwing p2138 constantly.

 

Of course I'm getting MAF related codes now p0102 MAF too low, and p0113 IAT sensor too high.

 

But I'm not getting a throttle sensor code and no throttle disconnect / high idle that was symptomatic of the p2138. And by the way, the secondary sensor in the pedal is still dummied out and sending the exact same value as the primary (my masked rigging is still in effect).

 

I am going to put the pedal sensor back to normal again because that is a red herring?

 

------ UPDATE for THIS POST ------

 

The MAF unplug experiment was not the answer. Car thre p2138 again with MAF unplugged.

Edited by scottmcphee
Link to comment
Share on other sites

as i have mentioned before checkthe throttle body cap,

 

if you open certain circuits on the throttle body that codewill pop up also.

Now that's thinking out of the boxer!:lol:

fyi all 05 + legacy's have built in code reader

Link to comment
Share on other sites

as i have mentioned before checkthe throttle body cap,

 

if you open certain circuits on the throttle body that codewill pop up also.

 

what is in there that can be serviced and or cleaned?

 

im fairly certain im having problems there as of recently and thats the area im heading to next. it would be nice to go there with some knowledge.

Link to comment
Share on other sites

as i have mentioned before checkthe throttle body cap,

 

if you open certain circuits on the throttle body that codewill pop up also.

 

I have checked and cleaned the TB. The cap is probably different on my car than what you're talking about.

The sensor in my car is riveted to the TB so I had to drill them out to get under the cover. Not as simple as popping off a cap that has clips or something like that...

 

In the TB mechanism was clean, motor gears to drive throttle plate, strong return spring, and a sensor for position, all part of one mechanism. Part of the cover is the sensor itself magnetic hall effect round metal can like a thimble. All the electronics of the sensor are moulded into the plastic of the cover cant get at any of it. Nothing to service in here but to make sure no foreign materials or debris or metalic particles are on sensor parts. Mine was clean.

 

. I had to use several small bolts to put the cover back on to hold it, instead of using rivets again. Just in case I want to go in again...

 

So what circuits opening on the TB electronics throw famous p2138 pedal sensor voltage discrepancy code?

Edited by scottmcphee
Link to comment
Share on other sites

well just like the pedal there is a double position sensor circuits in the throttle body,

 

seems all drive by wire cars have double or triple position sensors in both the pedal and throttle body, and they need to point to the same value or it sets the code.

 

as there was talk about cheating and using the output for one sensor and sending it to both inputs into the ecm, maybe this could be done on the throttle body also.

Now that's thinking out of the boxer!:lol:

fyi all 05 + legacy's have built in code reader

Link to comment
Share on other sites

Just reading the Subaru manuals on this. Man are they excellent!

 

p2138 is a pedal error, it's very clear on that.

 

I discovered one thing the diagnosis yesterday:

 

I have a pedal and harness as shown in the 2005/06 Legacy manual

But my ECM is the one shown in the 2007 Legacy manual.

I'm the original owner from new, so it came this way.

The pin-out of the connector on the pedal changed after mine... which is the "older" style.

 

My 06 Legacy wagon 2.5i actually has an 07 generation ECM. Cool.

 

I don't know what kind of outputs are coming from the throttle sensor. I am focusing on the pedal.

 

Here's another thing I learned by looking at my ECM. The pins where pedal sensors attach are GOLD plated. There's only 4 other pins that are gold, and I bet you they are throttle sensor lines.

 

Here's my theory... there is probably supposed to be matching gold plated female pins in the plug that match those gold pins. But with the mid-year / cross over / rolling change ... when the ECM was upgraded, the harness spec had not caught up yet to have its female pins spec'd as gold. Gold-on-gold would be a more reliable contact. Only a theory. Maybe the female pins are never gold.

Edited by scottmcphee
Link to comment
Share on other sites

Anyway, I had found a nagging old rear O2 p0139 complaint being caused by bad ECM connections this weekend as well.

 

SO I spend some time cleaning pins on ECM.

 

The rear O2 voltage is now being read and reported correctly by the ECM and scan tool. I even hung a volt meter off the ECM directly and see the same voltage as is what is reported by tools... so huge step ahead. ... different topic.

 

And I believe dirty / weak pins at the ECM were the culprit of p2138 as well.

 

I proved it's not actually the pedal itself causing the voltage discrepancy .. by duplicating output on redundant sensors at the pedal. The p2138 had to be in the wiring / harness / ECM.

 

Anyways, some drive cycles are required before I feel too confident on anything...

Edited by scottmcphee
Link to comment
Share on other sites

Wanted to check back in....sensor caused a check engine light again today. Basically killed the car when it happened. My wife was going around 5mph in traffic (coasting) and all of a sudden the check engine light came on, car wouldn't accelerate and she barely made it into a nearby parking lot.

 

Came home from work, hooked up the OBDII and got the throttle position sensor code again. Took out the pedal, blew in the male and female end, put it back together, cleared the code and drove it around for 30min. It's fine.

 

How is such a minor issue able to cause such a systemic/catastrophic failure?!?! I could understand the light. I can understand an alarm or something...but why program the car to completely shut down if a position sensor trips???

 

Thanks

 

-Emt1581

Link to comment
Share on other sites

The p2138 code seems to get more and more aggressive / frequent over time.

 

Mine got to the point of about 1 per every drive cycle, before I stopped letting my wife drive the car. Too unreliable, too dangerous.

 

I started up my 1987 Mercedes 300D (fresh battery and one crank of the key fired right up)... after sitting for a couple years. Most reliable car on the planet... she drove that while I diddled with the code.

 

I think I solved p2138 finally by cleaning the sensor traces in the pedal... very careful operation, detailed in another thread.

 

http://legacygt.com/forums/showthread.php/bad-throttle-position-sensoriii-158048p3.html

 

 

My car is like yours, a 2006, and I've got 200,000km on it. That's a lot of back and forth wear on the pedal sensor. But it was possible to clean it up.

 

Been driving now for 3 x days not once thrown the code. So definitely an improvement!

Edited by scottmcphee
Link to comment
Share on other sites

The p2138 code seems to get more and more aggressive / frequent over time.

 

Mine got to the point of about 1 per every drive cycle, before I stopped letting my wife drive the car. Too unreliable, too dangerous.

 

I started up my 1987 Mercedes 300D (fresh battery and one crank of the key fired right up)... after sitting for a couple years. Most reliable car on the planet... she drove that while I diddled with the code.

 

I think I solved p2138 finally by cleaning the sensor traces in the pedal... very careful operation, detailed in another thread.

 

http://legacygt.com/forums/showthread.php/bad-throttle-position-sensoriii-158048p3.html

 

 

My car is like yours, a 2006, and I've got 200,000km on it. That's a lot of back and forth wear on the pedal sensor. But it was possible to clean it up.

 

Been driving now for 3 x days not once thrown the code. So definitely an improvement!

 

I'll give it a look over the weekend. Thanks for sharing!

 

Still curious why Subaru would do such a dangerous thing like allow the sensor to trip the system and stop the car while driving in traffic!! That is law-suit territory!

 

-Emt1581

Link to comment
Share on other sites

The problem stems from having only 2x sensors on a critical system (e.g. my Subaru gas pedal) there is no tie-breaker, when one sensor/input goes bad. That, and very simple software for reading sensor inputs.

 

ECM software is checking for constant agreement of sensors. Even when the pedal is not being used (e.g. on cruise control) both sensors must transmit values that are in agreement with one another. A sensor giving a different 'answer' about pedal position than the other forces the ECM to make a choice "what is the correct pedal position"? It doesn't know which of the redundant inputs to trust anymore, so it abruptly gives up! ECM response to giving up is to put the car immediately into the safest compensating mode it knows how for "flying blind" (no longer knowing what the driver wants for speed).

 

The ECM cuts power the throttle. The throttle has a spring loaded return to a minimum open position... which would be your "fast idle" about 2500 RPM. Which I think everyone agrees is better than the throttle snapping shut (stalls the car), or throttle flapping around in the breeze, or a throttle flinging wide open (full power). It's simply the most responsible way of handling loss of the critical system. Given the limitations of its inputs, and its evaluation of them.

 

It would be better, of course, to invest more effort and $$ into the critical systems to make sensor failure less likely. But this is a car and not an airplane. Or a Mars lander.

 

Simplest thing: adding a 3rd sensor to the pedal as a tie-breaker. ECM would then use a 'majority rules' pedal position. Having sensors of different technology types would be an improvement so a common problem wouldn't knock out all of them. Three sensors would be a better match for the simple software Subaru is using in the ECM for this problem.

 

With just 2 sensors (like our Subaru pedals) good software could use many heuristics to deduce a sensor that is "acting up" or out of character, better noise rejection.. The ECM could consider, if not already:

- the quickest possible human speeds of pressing the gas pedal. (Reject samples from either sensor where quicker-than-possible pedal change has occurred).

- the (spring) constant of how fast the pedal can possibly move when released suddenly. (Reject samples exceeding this rate).

- data smoothing (averaging) instead of instantaneous sample points being used for difference comparisons.

 

.. the penalty here is some of these things take time to determine, which shows up as "lag" time between when you WANT a difference and press the pedal when your "request" actually registers and the car responds.

 

Tempted to connect your pedal the throttle with mechanical linkage again? Good ol' days!

Link to comment
Share on other sites

The problem stems from having only 2x sensors on a critical system (e.g. my Subaru gas pedal) there is no tie-breaker, when one sensor/input goes bad. That, and very simple software for reading sensor inputs.

 

ECM software is checking for constant agreement of sensors. Even when the pedal is not being used (e.g. on cruise control) both sensors must transmit values that are in agreement with one another. A sensor giving a different 'answer' about pedal position than the other forces the ECM to make a choice "what is the correct pedal position"? It doesn't know which of the redundant inputs to trust anymore, so it abruptly gives up! ECM response to giving up is to put the car immediately into the safest compensating mode it knows how for "flying blind" (no longer knowing what the driver wants for speed).

 

The ECM cuts power the throttle. The throttle has a spring loaded return to a minimum open position... which would be your "fast idle" about 2500 RPM. Which I think everyone agrees is better than the throttle snapping shut (stalls the car), or throttle flapping around in the breeze, or a throttle flinging wide open (full power). It's simply the most responsible way of handling loss of the critical system. Given the limitations of its inputs, and its evaluation of them.

 

It would be better, of course, to invest more effort and $$ into the critical systems to make sensor failure less likely. But this is a car and not an airplane. Or a Mars lander.

 

Simplest thing: adding a 3rd sensor to the pedal as a tie-breaker. ECM would then use a 'majority rules' pedal position. Having sensors of different technology types would be an improvement so a common problem wouldn't knock out all of them. Three sensors would be a better match for the simple software Subaru is using in the ECM for this problem.

 

With just 2 sensors (like our Subaru pedals) good software could use many heuristics to deduce a sensor that is "acting up" or out of character, better noise rejection.. The ECM could consider, if not already:

- the quickest possible human speeds of pressing the gas pedal. (Reject samples from either sensor where quicker-than-possible pedal change has occurred).

- the (spring) constant of how fast the pedal can possibly move when released suddenly. (Reject samples exceeding this rate).

- data smoothing (averaging) instead of instantaneous sample points being used for difference comparisons.

 

.. the penalty here is some of these things take time to determine, which shows up as "lag" time between when you WANT a difference and press the pedal when your "request" actually registers and the car responds.

 

Tempted to connect your pedal the throttle with mechanical linkage again? Good ol' days!

 

In other words, this is the result of crappy engineering that Subaru intentionally did and won't (or maybe didn't....to give them the benefit of the doubt that future models are improved) spend money eliminating?

 

Is there any permanent fix for this short of blowing on the sensor every few months?

 

Thanks

 

-Emt1581

Link to comment
Share on other sites

I think I solved p2138 finally by cleaning the sensor traces in the pedal... very careful operation, detailed in another thread.

 

http://legacygt.com/forums/showthread.php/bad-throttle-position-sensoriii-158048p3.html

 

 

My car is like yours, a 2006, and I've got 200,000km on it. That's a lot of back and forth wear on the pedal sensor. But it was possible to clean it up.

 

Been driving now for 3 x days not once thrown the code. So definitely an improvement!

 

It is a jinx upon oneself to ever mention a code going away.

 

p2138 came back, and it's "buddy error" p0139 within a day of each other and the day following me putting the ECM back into its proper fixed position to the floorboard, covered by its metal shield. These two error codes are from completely unrelated systems in the car. However, the sensors for each code share pins on the same ECM "B" plug. So these errors are "roommates" at the ECM.

 

I had driven several days with no issues of P0139 or P2138. Happy with those results, thinking the cleaning of the pedal sensor made all the difference and cleaning the O2 sensor pins helped, I decided to mount the ECM properly again, bolting it down, covering it. Did that then Bam! Both issues p0139 first hit the following day and P2138 the next.

 

Worthy of note: I did get the p2138 first thing in the morning after car had been sitting for a couple days, and garage at around 15 degrees C. Car cabin was soaked at this temp. Metal shrinks when cold. Heat expands it. And my wife a couple weeks ago, also got the p2138 after pulling out of the garage in morning, when cold. (The ECM was mounted at that time too.)

 

Hmm... I have been going slowly between steps with lots of drive cycles before doing too much at a time... trying to isolate the problem, to KNOW what action is causing the issues. That is why I was driving for a week with the ECM exposed (metal cover plate off).

 

I noticed when mounting the ECM properly it required "stuffing" the harness into its place behind the kick plate. You cannot mount the plate without putting pressure on the harness where plugs go into the ECM. There is a foam structure back there with a channel allowance for harness routing, but the harness is too bulky (foam allowance too small). As a result, you must squash the harness into the allowable space, and even after doing that, the metal cover/kick plate presses onto the bulging harness as you tighten its 4 bolts down. Squishing the harness .. putting the most pressure right where ECM plugs go in, and approximately connector B.

 

Plus I can appreciate passenger feet on the floorboards over time pressing down on the carpet there, putting pressure on the plate which is essentially in direct contact with the harness, plug B, and ECM. This plus temperature flux in the cabin over seasons.. has softened the contacts of pins in this harness, I'm pretty sure. We are seeing temperature shifts of nearly 20 degrees C on a daily basis. These ECM plug/pins have probably gotten a bit relaxed in their clamping power and are going intermittent.

 

Taking the cover plate off the ECM allows the harness to be "expanded" (pushed) out by the foam. When this happens, it probably shifts the pins inside the plugs and they find slightly different contact points.

Edited by scottmcphee
Link to comment
Share on other sites

So, need to tighten / clean / replace the female pins inside the B plug.

 

How to get this plug apart, pins out? ?? anyone

 

I've asked in a thread over here: http://legacygt.com/forums/showthread.php/getting-pins-out-ecm-ecu-plugs-252651.html

 

I have answered my own question of getting pins out... here:

http://legacygt.com/forums/showthread.php/getting-pins-out-ecm-ecu-plugs-252651.html

Edited by scottmcphee
Link to comment
Share on other sites

When running with one sensor dummied out...

 

Car eventually threw a p2138 (A doesn't agree with B)

The value read on input A is too far out of whack with what is read on input B.

 

The only way that can happen is a problem at the ECU / or its connector. Or the reliability of the jumper.

 

UPDATE July 2016: the reason the p2138 with this arrangement WAS BECAUSE the ECU was flakey. Replacement of ECU has solved this issue.

 

As shown, with one dummied out, the connector for input A or input B at ECU is probably flaky. (Because the jumper makes the voltage on the wires for A and B identical for that length, the only place of discrepancy can be the ECU end and its connector.)

 

Or perhaps the 5v or Gnd pins for sensor A are flaky, and the car is throwing p2138 when either/both of the inputs "drop to zero" momentarily, as would be the case if voltage does not have a complete circuit flowing through the still-connected single sensor. But the car has 4 other codes for values out of range of these sensors... more likely A or B inputs are flaky.

Edited by scottmcphee
Link to comment
Share on other sites

It strikes me odd that Subaru wouldn't take advantage of the redundancy of having 2 powers and 2 grounds going to the same sensor connector.

 

And do this, from the factory:

 

***UPDATE*** Don't bridge the +5 sides together. Read down in this thread as to why I learned this the hard way.

pedal4.thumb.png.096b9ad0630dcadcb4848c5832e8e1f8.png

Edited by scottmcphee
Link to comment
Share on other sites

This was my theory:

 

If they jumpered +5 and Gnd anywhere between the connectors, then one failing connection of +5v or one failing connection of Gnd, at the ECU would have no effect on the system. You'd still get two good signals back A and B.

 

In fact, you could have one failing +5v pin AND one failing Gnd pin / connection at the ECU side at the same time, and still no negative effect.

 

If Subaru designed the inside of the pedal sensor to have the jumpers across the +5v and Gnd internally, then you could have a failing connection of either +5 or Gnd at the pedal connector as well, and survive with no ill effect.

 

(The ECU side internally on the board, does connect grounds together. I think it also connects the+5v together).

 

There are good reasons for keeping things apart and not jumpering the powers. Supposing one power source fails, it brings down both, but this argument evaporates if the ECU is tapping off a shared power rail for +5 and Gnd, which I'm pretty sure it does.

 

The only remaining argument would be for rouge voltage being introduced on the wiring on its run to sensor. That would knock both inputs off their mark, if powers were jumpered together.

 

**** UPDATE ****

The theory on +5 bridging has proven wrong!

Edited by scottmcphee
Link to comment
Share on other sites

At a minimum, for the drive by wire critical system, it would have made good sense to use a pair of pins through each connector to carry the signals instead of just one path.

 

Because that's most unreliable point in the circuits.

pedal5.thumb.png.cc448aca3e65412a27610e39ccb19a87.png

Edited by scottmcphee
Link to comment
Share on other sites

It strikes me odd that Subaru wouldn't take advantage of the redundancy of having 2 powers and 2 grounds going to the same sensor connector.

 

I had bad luck when linking the +5v lines together, so I don't recommend that.

 

It must not be direct connection to +5 but rather a controlled and/or monitored supply of voltage for each sensor.

 

When I bridged the +5's, using the gas pedal consistently started throwing error codes when pressed more than half way down. So I removed the jumper. Even after that, the pedal started throwing voltage too high errors.

 

I measured, and yes the voltage input range of each sensor was now extending up to nearly 5 whereas before they only got as far as about 3.5v when the pedal was floored.

 

I thought I had buggered the ECU. I broke into a cold sweat.

 

But miraculously the ECU righted itself and the car is driveable again with no error codes (at the moment) from the pedal. I think somehow the ECU is self calibrating or re-learning pedal mapping and range of input it is receiving from pedal sensors. Might have to do with drive cycles, and/or removal of power of the ECU.

 

Lesson: don't bridge the +5 side. Bridging the ground side is fine though, it adds an element of redundancy.

 

I am learning more than I want to about the drive by wire system of this car.

Edited by scottmcphee
Link to comment
Share on other sites

Here's what I ended up doing, in addition to cleaning all the pins thoroughly...

 

Found some spare (empty / vacant) pin positions on plugs at ECU, and added female pins to the plugs in those positions and brought all the pedal sensor lines from inside the ECU out on these additional pins, leaving the original pins for this purpose intact as well. Right near the ECU I made jumpers from my new pin wires to the matching original wires for these sensors.

 

Each black dot is a solder joint and taped. Notice I soldered the two grounds together outside the ECU, as they are also connected in common inside the ECU (taken off the same ground plane). So it's OK to bridge the grounds outside the ECU as well. This makes ground super redundant. But I kept the +5 supplies apart and matched to the corresponding sensor signal they support.

 

So now, all the connections at the ECU are redundant for each wire going to/from the pedal. In the case of ground, it's 3-way redundant. All the rest are 2-way.

 

This required some surgery inside the ECU, which involved soldering small wires, and snipping connector pins to disconnect them from the board. I was able to find enough of the larger pin 040 vacancies on the "top" row of the huge connector, which made it easier to work inside the ECU.

1846345881_newECUwiring.png.a24172753317cdde465673b3b572e62c.png

Edited by scottmcphee
Link to comment
Share on other sites

Wow, still didn't solve the P2138 with all the redundant connections at ECU. After a couple days of driving like this, p2138 comes up and I'm in limp mode, again.

 

I think the ECU itself is glitching. So I'm getting a "new" (to me) ECU.

 

UPDATE July 2016: the reason the p2138 with this arrangement WAS BECAUSE the ECU was flakey. Replacement of ECU has solved this issue.

 

The ECU has shown a voltage problem for an O2 sensor coming in on the same plug / area on the circuit board. The O2 sensor is good and is producing voltage swings between 0 and 1 volt, as it should. Sometimes the ECU reports (via OBD scan tool) the same voltages I'm measuring on the ECU pin at the motherboard (using a volt meter)... sometimes it doesn't, it might report a half volt higher. Or just report a constant 0.6v ... as I'm watching the REAL O2 sensor swing anywhere between 0-1v. That's a real stubborn ECU not showing the voltages that I can see going into it!

 

My thinking is, if voltage referencing is somewhat baked on the ECU for the O2 sensor. It could be baked for one or both pedal sensors too.

 

While the ECU is shipping... I tried programming off the DTC p2138 code using an OBD connected ECU flash reprogramming tool (Tactrix/ECUflash), and going for a drive. Car will start and drive with this DTC programmed off, but when the car trips on a p2138 fault (D/E voltage discrepancy) is still goes into limp mode - only the "check engine" light remains OFF but the "cruise control" light still comes on while car is limping along. I was kind of hoping the ECU would "ignore the fault" but it won't. Too safety oriented.

Edited by scottmcphee
Link to comment
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
 Share




×
×
  • Create New...

Important Information

Terms of Use