Here are some other things to check.
Fuel Filter and fuel pressure.
Check for Vacuum Leaks and check the IAC.
Here is more on the MAF.
Your engine is designed to run on specific values, if there are no codes besides a lean mixture code and the engine is running ok the problem is a sensing value problem. A MAF (mass air flow) sensor is famous for causing such a problem. Example: Let's say the engine is running at 2100 RPM at any particular time. When a MAF fails it sends feedback information to the ECM/PCM that the engine is running at 1800 RPM so the computer will lean down the mixture. But the engine is running at 2100 rpm so the mixture is detected lean by the oxygen sensor and the computer will illuminate the CEL (check engine light). There are a few main reasons the MAF reading can be incorrect. First the air intake boot could be cracked or ripped allowing non-metered engine air intake to be consumed. Or the MAF fails because the sensing element inside the sensor becomes contaminated from impurities from the air the engine consumes. Sometimes this element can be cleaned with an aerosol cleaner such as carburetor cleaner. I have had limited success cleaning the MAF sensor, replacement at this point is best. Repair or replace failed components as needed and recheck the system.
Sunday, April 19th, 2009 AT 9:42 PM