I have been getting lean codes for a while on this car. I generally reset the code and just keep driving. The codes come back. We have tried many things already.
We have replaced the mass-airflow sensor, the intake manifold, oxygen sensors, and several hoses and tubes. A mechanic did a smoke test and found nothing.
I am considering trying another mass-airflow sensor. I am also considering the catalytic convertor–one thing we have NOT yet tried. The car sometimes idles very roughly. Yes, I have gotten PO420 codes as well.
Are there any other possibilities here? I feel like we’ve tried everything short of a full-fledged engine rebuild.
P0171 says that the first O2 sensor, the upstream sensor, detected a lean condition. When it does that, it adjusts the pulse width of the signal to the injectors. In this case it makes the pulse width wider allowing more fuel into the engine.
The computer (PCM or ECM) keeps the engine from running too lean or rich this way. The PCM monitors the needed pulse width (PW) and compares it to a chart stored in the PCM memory and if the actual actual PW is more than 20% different from the chart, it sets a code, in this case the PW was 20% or more than expected so it set the P0171.
There are a lot of things that can cause this, including wear and tear on the engine. Most of the time it is due to excessive air getting into the system from a vacuum leak somewhere. One place that commonly allows extra air into the system is the PCV valve, not the valve itself but either the grommet around the PCV valve or the hose attached. Both get some oil on them and oil deteriorates the rubber. Many PCV valves are screw in so they don’t have the grommet anymore.
Anyplace that unmetered air can get into the system, that is air that gets in after the MAF, will cause an issue. A crack in the duct, crack in a vacuum hose, intake manifold gasket or throttle body gasket, just about anywhere. Anyway it is not damaging your engine. Also any air getting in the exhaust (manifold crack or gasket) will also cause this code, but that could damage the engine as it will actually run too rich, despite saying too lean. A misfire can also contribute.
Doesn’t that mean that the fuel trim was increased, but despite the adjustment, the mixture remained lean, causing a code?
The correctly working oxygen sensor detected a lean running condition. So you replaced it with another properly working oxygen sensor which also detected a lean condition. The mass airflow sensor should have nothing to do with this! The lean condition means that not enough fuel is available to be injected in to the engine. So as someone said, check the fuel filter. Then check for proper fuel pressure. Then maybe replace the injectors.
If a vacuum leak exists past the MAF sensor, or the MAF is bad, the fuel trims will jump around as the computer uses the oxygen sensor to fix the incorrect mixture. The mixture will mostly stay correct when at stable engine output since it is being corrected, but the fuel trim will be a much higher number than normal at certain speeds.
No, it simply means that it took more of a PW adjustment than than the computer predicted. BTW, glad some others here have mentioned fuel pressure. If the fuel pressure is low, then the PW has to be increased to give the proper amount of fuel time to get through the injectors. Just another possibility.
The computer does not see the amount of fuel being injected, it only sees the PW and assumes that the pressure is to spec.
I am actually amazed that it is no longer possible to buy a complete fuel pump assy for this car, and that you must actually rebuild the one you have. The last complete fuel pump assy made for this car was Spectra Premium SP9030M, which is currently discontinued, but maybe you can find one on Ebay or somewhere.