I’ve been chasing this P0171 code for over a year now. STFT is normal plus minus 5 but LTFT won’t go below 21.1%. At highway speeds the lowest the LTFT will go is 10-15% then goes back up to 21.1% at idle.
Things I’ve done:
-New the air intake gasket to the Orange one
-cleaned the MAF sensor
-New PCV
-smoke test reveal nothing (vacuum is at 21-24 in-Hg) (did not smoke test the exhaust yet)
-changed to used fuel pump. Funny thing here is that now when I shift the car to park the STFT steady increases to 25%. The old fuel pump never done this. Any explanation would be greatly appreciated here. But the car feels like it has more power now.
-New gas cap
-Cleaned TB
-Cleaned fuel injectors and flow tested
-New A/F sensor and downstream O2 sensor
All parts were either genuine Toyota parts or OEM Denso.
I am stump here. My next course of action is to buy a new Denso fuel pump or replace the ignition coil pack. All help will be greatly appreciated. Thanks in advance!
I presume you already know that the engine computer can’t figure out why the amount of gas required to inject to keep the pre-cat O2 sensor(s) satisfied doesn’t match up with what it would expect based on these other sensor readings and factors
MAF
throttle position sensor
Intake air temperature
Engine Coolant temperature
Altitude/barometric pressure
the fuel injector flow is within spec,
the fuel pressure at the fuel rail is correct
and properly adjusted properly up/down for intake manifold vacuum
the ignition system is working within spec, good spark and proper ignition timing
the valves are opening and closing on time and opening to the spec’d amount
the cylinder compression on all cylinders is within spec
the engine computer is working correctly
the engine is air-tight from the air filter housing to the tailpipe
So you just have to go through each of those, one by one. Eventually you’ll pretty much have to figure out what’s causing the problem. You appear to be off to a good start already. However, don’t entirely discount the possibility that something you’ve done has inadvertently made matters worse. That’s something easy to do since it isn’t always possible to test each factor independently.
Based on the unusual results of the fuel pump experiments you’ve done, my guess would be something is amiss with the fuel system. the engine computer assume if it pulses the injector a certain number of msec, a certain amount of gasoline will make its way into the cylinders. If that amount doesn’t actually make it, you’ll get a fuel trim error. Start with the fuel pressure. Since this problem occurs at idle, that makes things simpler, all the testing can all be done in the driveway, no need to try to measure fuel pressure while you drive the car. check the fuel pressure at different manifold vacuums levels too, it should change directly with the manifold vacuum, the higher the vacuum the lower the fuel pressure and visa-versa.
If no problem with fuel pressure, next up would probably be a fuel injector balance test. The rail is pressurized to spec, the pump shut off, then the injector under test is pulsed a certain amount of time. The fuel pressure should drop a certain amount. You’d need to consult the factory service manual for the details of how to do that test. But it would tell you whether or not each injector was injecting the proper amount of gasoline under a controlled test.
the fuel pressure right before the fuel rail is at spec
I’m not sure what you mean by “before the fuel rail”. I’d guess you are actually measuring fuel rail pressure at the test port provided by the manufacturer. If so, did you test to see if that pressure changes in the right amount and direction when you disconnect the fuel pressure regulator vacuum port? That’s usually very easy test to do once you are already set up to measure the fuel rail pressure.
@GeorgeSanJose for this car there isn’t a test port and it is a returnless fuel pressure regulator so no vacuum port. I’m measuring the fuel pressure at the connection for the fuel rail. There isn’t a pressure sensor on the fuel rail so the best bet is to measure it at the connection to the fuel rail.
That makes sense. I’m guessing even with this design the fuel pressure should still be affected by manifold vacuum though. That’s b/c the injectors stick into the intake manifold & with a higher vacuum level (lower pressure) fuel tends to be sucked out of the injectors so the computer had to compensate for that by lowering the fuel pressure. Likewise it is supposed to raise the fuel pressure when the intake manifold vacuum is less (higher pressure, due to the throttle being opened wider for example). I might be wrong about this though, b/c there’s an alternative method. The computer could compensate by turning the injectors on longer rather than changing the rail fuel pressure when it senses the intake manifold vacuum is less. Maybe somebody here knows how it works on your car. However it works, if that function isn’t working it could adversely affect the fuel trim values.