Chasing the P0171 Engine Light
April 23, 2018.
I was ready for adventure - running solo, I was
returning to Death Valley, having only just wet my appetite on our
first trip back in January. With 2500 miles to go, I knew I had a lot of driving ahead - but I was ready - or so I thought - when, less than 50 miles in, the Check Engine Light (CEL) came on.
I've covered the details of the first hours of diagnosis in
my Back to Death Valley trip report, so if you haven't read that (and are interested), I'd recommend starting there. The plan here is to go into what happened when I returned - the process of chasing the P0171 source, and getting it fixed.
It's long, and wordy, and follows my learning process. If you already know everything here, sorry about that!
- - -
Upon my return, I started with a bunch of research into what can cause the P0171 code on a 96-04 Tacoma, which is set when Long Term Fuel Trim (LTFT) and Short Term Fuel Trim (STFT) exceed 15% for an extended period of time (over the course of two trips). It's not a small list, and I'm sure that even what I uncovered isn't complete:
- Dirty or malfunctioning mass airflow sensor (MAF)
- Vacuum leak
- Malfunctioning air/fuel ratio sensor (AF)
- Fuel injector clogged
- Fuel filter clogged
- Fuel pump weak
- Malfunctioning positive crankcase ventilation valve (PCV )
- Engine coolant temp sensor malfunction
I decided that I'd try a multi-pronged approach, largely centered around what seem to be the most common culprits - a vacuum leak, the MAF, and the AF sensor. I ordered a new Denso (OEM supplier)
MAF sensor (197-6020) and
AF sensor (234-9003), as well as a new
OEM fuel filter (23300-62010), so that they'd arrive as soon as possible.
Having already cleaned the MAF, I started by looking for a vacuum leak. I'd done this by spraying starting fluid in the engine bay in hopes of hearing the engine rev while on my trip, but I figured a smoke test was in order. So I grabbed an old paint can, a length of hose, and an air valve to construct my own personal smoker.
Then, I built a fire. My plan was to sprinkle a bit of olive oil on them inside the paint can to generate smoke, and then to push the smoke into the system with a bit of air pressure (just a couple psi - I didn't want to blow any hoses off in the process).
I was generating lots of smoke, so I removed the air box (filter + MAF) and covered the intake with a blue glove. Then I hooked up the clear hose and sent the smoke into the system. There was plenty of smoke getting in (and coming out once I took off the blue glove), but as I'd found with the starting fluid, I had no leaks.
With that (as unlikely as it was, since it seems that P0171 is most commonly caused by a vacuum leak) I was confident that I could start focusing elsewhere. Taking stock of the data I had seemed to make the most sense, and so I pulled up the screenshots I'd taken when I was on the road to Death Valley.
Fuel Trim Data At Idle
Fuel Trim Data Under Load
A bit more reading and YouTube research suggested that I should tackle the MAF sensor next for a couple of reasons:
- Generally, if you have (more) reasonable fuel trims at idle, and they get worse under load, then it's unlikely to be a vacuum leak; it's more likely the MAF. This seemed to describe my situation - my idle fuel trims were in the 0-10% range, and then get really bad at higher RPMs and loads.
- MAF rate should be around 1 g/s per liter of displacement per 500 RPMs. That would mean that at ~705 rpm idle and 3.4L, it'd be around 4.75 - so a reading of 3.6g/s was a bit low.
The new parts arrived shortly, and looked to be identical to those in the truck.
I had the air box out in a few minutes - something I can do in my sleep now - having taken it out several times in the last couple days, and it was a simple matter of pulling the old MAF sensor, replacing it with the new, and plugging everything back in - easy peasy.
And then I went for a test drive. And the numbers under load were quite a bit better (idle was already "OK" so I was no longer focusing there). Bank 1 was actually looking quite good and Bank 2 was much better than it'd been. It was still on the border of what I'd call "in spec," but compared to what I was seeing previously, it was a big improvement.
At this point it was time for a bit more learning on my part. I wanted to know more about how the fuel trims were determined - because the only two sensors I was looking at (MAF and AF) were significantly before, and significantly after the two cylinder banks where fuel trim was being oscillated.
On a first gen Tacoma, it works something like this (as I understand it) - the truck's computer reads the airflow over the MAF sensor to know the amount of input air. It also knows when and how much fuel an injector
should be releasing into the cylinder. And, it knows how far the combusted air needs to travel in order to get to the AF sensor and what the air-fuel ratio should be at that sensor. So, as it sends the air-fuel ratio back to the computer, if those numbers aren't as expected, the computer adjusts the fuel into the injectors to achieve the expected result.
It seemed to me that I was now in a situation where my sensors were
probably working correctly - and here's why: Bank 1 looked good - the MAF sensor was reporting some amount of air intake, that air was flowing through the engine, and the AF sensor was reporting an air/fuel mix that the truck computer interpreted as needing (essentially) no tweaking - thus, LTFT on Bank 1 was around zero. The "problem" was that there was still some fuel trimming on Bank 2 - possibly because something could still be a bit off there. That could be a result of:
- a problem with the AF sensor
- a small error in estimation at the ECU of when air should be passing the AF sensor from each bank
- injectors that needed cleaning