More of an informational post than anything else. PAWRX on the boards here recently went through hell (and $$$) trying to diagnose his P0171 - Fuel trim malfunction (A/F too lean) CEL after de-modding from ~Stage 4 setup. With his permission, I'm going to post what he (and I) went through in addition to the stuff I dug up on NASIOC, i-club, ClubWRX, WRXHackers, ScoobyNet, and Google. I will try and list things in the most appropriate order of "what to check first." I'm probably going to miss some things, so please clarify if you have any experiences that contradict what he/we tried, or if I'm flat out wrong about anything. Without further adieu, the
PAWRX & CirrusWRX guide to troubleshooting a P0171 CEL code on a 2002/2003 WRX
First disclaimer: As with any troubleshooting, if you get this code after tinkering with something on your car, chances are the tinkering caused the code! Always look to what MOST RECENTLY changed (which can mean: installed, uninstalled, modified, etc...) when troubleshooting, no matter how remote the possibility may seem.
1. Cold air intakes. Just as the name of the CEL suggests, the ECU is sensing a lean condition. As anybody with half a search function will find, many CAI's for the WRX will cause a lean condition due in part to either relocation of the MAF, a differently sized diameter of piping, or purely increased flow of air which is not correctly compensated for. Many people who get this code get it shortly (or instantly) after installing a CAI. The CAI would be great first place to start, especially if you recently added one.
2. Stock airbox not sealed. Assuming you have a stock airbox, check the connections and tabs around the airbox itself. Many times, people think they "seal" the airbox, but don't actually have the top and bottom parts aligned correctly resulting in a leak. Check to make sure the air filter (esp. if recently replaced) is sitting in the right spot and the clamps are tight and everything is lined up properly.
3. Hose leaks, generic air leaks. Mostly in and around the intercooler, turbo, BOV, vaccum lines, turbo, etc... There is a vaccum hose coming out of a nipple on the right side of the BOV on the IC; the return/recirc. line runs off of the BOV under neath the IC to the intake. It gets pulled off easily if you remove your IC without disconnecting the BOV. There are some vaccum line connections on the turbo inlet hose. The Samco turbo inlet hose does not fit 100% perfect - there could be a small leak or tear. Check the turbo outlet, and Y connections on the IC. Check for a tear or leak or loose clamp on any replacement hoses. Check all hoses in any area where you were recently working on something. Boost gauge installation or UNinstallation. IC installation, FMIC installation/uninstallation. All those hoses need to be securely connected and routed to the appropriate places! If necessary, find a buddy with a WRX, park them side by side and trace all the lines. Chances are you would would also notice some sort of boost fluctuation/abnormality if there were a leak, but this is not always the case.
4. Fuel pressure regulator. According to the factory service manual and suby techs, the most common problem with the FPR is the vacuum connection to the intake manifold (either cracks in the hose where it makes a sharp bend, or a leaking connection.)
Occasionally, the fuel pressure regulator reference line will pop off or is accidentally left off when working on or around items located near the passenger side fuel rail. (ie. injectors, spark plugs, reaching for something...) This is a serious mess up, but one that is easily corrected.
5. Check all ground connections. While you can certainly verifiy all of them, one person mentioned specifically being able to fix their problem by checking their grounds. They discovered that the ground wire on the drivers side of the intake manifold (the bolt) was loose and was causing the P0171. Make sure that bolt, and all others, for that matter are tight. This one is somewhat random, but it's so easy to check.
6. Injector problems. I came across two people who posted about a P0171 after removing AFTERMARKET injectors and going back to stock injectors. In both cases, the stock injectors had been sitting in a box inside their houses for over a year. It was believed that the fuel had crystalized and caused a blockage of some sort on one or more of the injectors. This could potentially happen with ANY used injector that has sat for a long time. In both cases, the individuals used fuel system cleaner (is it called "heet"?) and the P0171 went away.
7. MAF sensor gone bad/dirty. This is an easy one to check if you can find somebody willing to swap MAF's for a day or two. The MAF looked good on PAWRX's car, but we decided to swap it with mine just for gits and shiggles. The process to do this is so simple, requiring a single clip and two screws. Swap MAF's with a local (and friendly) WRX buddy, reset your ECU and drive for a day or two. If you get your P0171 again, the MAF was not it. If you go CEL free, and even better, if the OTHER person gets a P0171, then you found your culprit. Either clean the old MAF or shell out the cash for a new one. In our case, PAWRX got his CEL the same way as always after we swapped MAF sensors.
8. Front oxygen (o2) sensor, located in passenger side exh. manifold gone bad. This was the final solution to PAWRX's problem. Again, we "swapped" (I didn't actually install his o2 in my car) and his problem disappeared. His o2 looked "worn" but not bad by any means. His experience with the P0171 basically had the car run fine for the first 10-15 miles until N.O.T. Then, after power cycling (shut off car for a minute, turn it back on) and driving at a constant highway cruise for a few minutes, the CEL would come back on. After checking #1-#7 above, we were left with swapping the oxygen sensor, and that was the ticket in our case. After trying a few cruises and power cycles with no CEL, he ordered a new sensor from Subaru. While waiting for the nwe sensor to arrive, he reinstalled the "bad" o2 sensor in his car and drove home. Upon starting up the next time, he got the CEL. Since installing the NEW o2 sensor 3 days ago, no CEL.
In his case, with the "bad" o2 sensor, the CEL would disappear after resetting the ECU, but would come back on after shutting the car off and cruising on the highway for a few minutes. When the CEL was on, the car would run extremely rich and dump fuel like crazy. I think he said he would see anywhere from 325-350 miles to a tank with conservative driving, and he was seeing something like 200-250 miles to the tank when the CEL was on.
9. You are truly running rich/lean and the ECU is not happy, thus the code is legitimate
There have been a few cases, noted below, when doing some type of tuning either via UTEC or a tuner with ECUTEK that results in the parameters being off scale and thus throwing the P0171. Perhaps you are truly running a bit too lean for the ECU's tastes and either the parameters for detecting the P0171 are not wide enough or your tuning is off. In the case of ECUTEK, it seems some people with DeltaDash can make some small adjustments in some cases, other cases might result in needing a professional retune (UTEC) or reflash (ECUTEK).
10. Dirty Idle Air Control Valve (IACV) - clean it out with carb cleaner or equivalent, however be sure to do this when the engine is cold so as to not cause deformation of the gasket. If you do happen to cause it to deform, a new one is about $8 from a Subaru dealership. Thanks samneric!
This is not meant to be an all-inclusive, be-all-end-all guide to the P0171, but it should be a good help for those experiencing it and banging their heads against the wall. Obviously, use your wits about you. If you have a CEL and get the code pulled, and you have 6 other codes thrown along with the P0171, you have OTHER problems that need serious attention. This is meant more for the people who randomly get a P0171 and can't figure out what they should do. PAWRX went through a lot of hell, money and effort to troubleshoot his car, and I have to be honest and say that I never thought the o2 sensor could cause something like this. Upon my research of the code, it appeared that #1-#6 were the most common reasons for getting it, but we both felt it would be worthwhile to post our experience in this matter for the good of the community. Again, any additions/corrections, please let me know and I'll edit anything ASAP.
Thanks - CirrusWRX & PAWRX