The P0171 code is easily one of the most frustating error codes because it dosn't point directly to the problem and is hard to track down. I wrote this thread to help others that may be going through the same thing and are having difficulty reaching a solution or process by which to diagnose the code. I posted this after consulting the service manual, the internet, and talking with several Subaru master technicians and local tuners. Car was an 02 WRX running Cobb OTS stage 2.
Let's get started:
My Initial Thread Post:
A/F learning 1 maxed out and P0171 CEL
-AFR at Idle is lean during closed loop when the engine is warm. AFR is perfect any other time.
-AF Learning Tables A through D are high positive numbers. 9-15%
-P0171 Code would appear during city driving (Lots of idling at redlights)
The Solution to my problem: Bad front o2 sensor. No CEL anymore!
The Diagnostic Process:
For your diagnosis, start with item numbers 1, 5, and 3. Then work your way straight down the list.
- Check for air leaks in the intake system. 90% of the time this is the problem. This is where the service manual will start you out. Common leaks are Turbo inlet, Throttle Body Coupler, Intercooler Y-pipe, BPV return hose, and the BPV vacuum hose. There are multiple ways to test this. (see bottom) Soapy water, carb/brake cleaner, smoke machine, boost leak tester.
- Leaks under the intake manifold around the gasket. The car will also Idle rough if this is the case.
- Air Filter/Aftermarket Air-intakes. Clogged filters, over-oiled re-usable filters, high flow filters, or aftermarket intakes have been known to throw this code. Change these out for stock or replace the stock filter if it is dirty.
- Fuel Filter. Clogged/old fuel filters are known to cause this CEL. They should be replaced regularly according to your service manual. Available at any auto parts store and range from $10-30.
- Check MAF sensor. Clean it if it is dirty with MAF cleaner bought at any auto store. If it is faulty then your car will idle weird and the throttle will be rather slow to respond when you apply the throttle.
- Check the front o2 sensor. These are tricky. Your car will generally feel normal except for the possible CEL, high +fuel trims, and poor gas mileage. They last anywhere from 50-100k miles or even the life of your car. Inspect for pinched, melted, broken wiring. There are several ways to test an AF front o2 sensor. (see bottom) Denso replacement part number: 234-9011.
- Dirty Idle Air Control Valve (IACV). If you have a bad IACV your idle will be effected during cold starts. Clean it with carb cleaner and don't forget to buy a replacement gasket for it, $8 from Subaru.
- Fuel Pressure Regulator. Make sure the vac lines are intact and connected properly. Test with fuel pressure gauge. (see bottom)
- Fuel Pump. This will be rather obvious as well. Your car may cut out while driving and struggle due to reduced fuel pressure. Test with fuel pressure gauge. (see bottom)
- Dirty/Clogged Injectors. You may experience a misfire code as well if this is your problem. The front o2 sensor will read unburned oxygen and indicate a lean condition. If you bought used injectors or have old injectors or have recently re-installed old injecters after sitting, run injector cleaner in a tank of gas. WitchHunter also has an injector rebuild service with quick turnaround if they are dirty and malfunctioning.
- Exhaust manifold leak. This leak will have to be rather large to skew the front o2 sensor readings. If you have this, it will be loud, obvious...and obnoxious. If you're unsure a muffler shop with an experienced technician will be able to find any exhaust leak quickly.
Threads that Helped Me:
P0171 CEL Thread - Everything you ever wanted to know? - NASIOC
Testing Intake system:
Another DIY Boost Leak Tester - Home Depot and AZ parts - NASIOC
Finding Engine Vacuum Leaks With A Cigar - YouTube
How To Check For Boost and Exhaust Leaks (Cheap and Easy) - YouTube
Information on o2 Sensors and testing:
Testing Fuel System:
I bought an in-line fuel pressure gauge from Jegs, part number: 555-41013. Static fuel pressure at idle should be 30-35psi. With the FPR vac line disconnected from the manifold, fuel pressure should jump to 41-46psi.