Check Engine Light Stays On, Goes Off Sometimes - 1994 Saab 900

My 1994 Saab 900?s ?check engine? light went on a few months ago, at 127,336 mileage reading, with no apparent symptoms. The SAAB dealer service checked the DTC computer, and found a P0171 fuel trim max valve error reading, ?air/fuel too lean?. They checked for vacuum and exhaust leaks, which checked out ok. They eliminated 2nd air inject, and test drove, but light came back on. They checked the idle air control valve and wiring, put in and tested the o2 (oxygen) sensor, but light comes back on. They installed and tested a new ECM, but the light came back on.

They light goes out periodically?about every 7-800 miles or so, it goes out for about 60 miles, but then comes back on. The car runs very well, no problems apparent at all, but the light is on most of the time. I understand I cannot pass the state smog inspection if the light is on, so I won?t be able to register the car, which seems to run perfectly. I now have about 129,200 miles on the car, with the check engine light on most, but not all, of the time. The dealer replaced expensive parts (such as O2 sensor) through trial and error to isolate the problem, but even with the new parts, the light still comes on. They want to test the fuel pump, but at the time, did not have a fuel pump test tool. They now have the tool, but could not pursue the problem, since the light was not on at the time, and there was no computer trouble code stored. A few miles after I drove away from the dealer, the light came on. Does anyone know what might be causing this and how it can be fixed?

This could boil down to exactly how they checked for vacuum leaks. Many people check for vacuum leaks by eyeballing hoses, performing a wiggle test on them, etc. but this really doesn’t tell you much in my opinion.

The only definitive way of knowing if there’s a vacuum leak or not is with the use of a vacuum gauge. This is one of the easiest to use, cheapest, and most valuable tools in the box. Any competent tech should have one and know how to use it.

From my perspective I have no idea what the problem is but based on what you have related here, connecting a vacuum gauge should be Step 1 if this has not been done.
Considering the majority of mechanics do not use a vac. gauge, you can probably see why I suggest this. Hope it helps.

“System too lean” is a two-headed coin. On one, too much un-measured air is going into the engine. On the other, not enough fuel is going in for the intake air supply. The engine computer is reporting a lean condition. It may be mistaken. There are ways to find out.
A vacuum gauge can help to determine if air intake (leakage) is too much. A fuel pressure reading can show if the fuel pressure is too low to supply the needed amount of fuel. A special fuel pressure gauge adapter may help to make the connection to the Saab’s fuel line; but, is one really needed?
There does seem to be a shortage of mechanics able (willing?) to troubleshoot many systems. You might find an independent shop/mechanic proficient enough…?

Thanks so much - I’ll discuss with mechanic, along with other responses.

Even without the Saab scan tool, which few will have, the sensors and control valves can still be checked. The instructions for the checks are in the repair manual (Clymers, Haynes, Chilton’s).
Start with the MAP (or, MAF) voltages at idle and above. Are the voltages where they should be? This signal tells the engine computer how much air is going into the engine. The computer orders fuel to be injected, to match. Other sensors, and control valves, play a part, also. Check’em all.

The check engine light, which is on most of the time, continues to go out for about 60 miles or so, then comes back on for about 100-175 miles or so. What would cause this to be so intermittent? If there were a problem with the air-fuel mixture, wouldn’t that problem be there all the time, and thus the light be on all the time? And I don’t understand why there aren’t any stored computer enginge malfuction codes each time the light goes out. I’d appreciate any thoughts on this.