I've been searching the archives for any information about code 1222, and found lots of info, but not many solutions.
Many people seem to be confused about this particular code. Code 1222 does NOT NECESSARILY mean that you have a bad 02 sensor. There is another code which DOES indicate a bad O2 sensor. Here's what I've found (PLEASE CORRECT ME if you know I'm wrong):
Bosch calls an Oxygen Sensor a Lambda Sensor - they're the exact same thing. Lambda is a term they use for "ideal air-fuel ratio". Therefore, Lambda Control is "air-fuel ratio" control.
One way to measure Lambda is by checking the oxygen content in the exhaust via the Labmda Sensor. The computer can take readings from the Lambda sensor(s) and other inputs (such as TPS, Air flow/Mass, RPM Sensor, etc...), and change the injector duration in order to maintain an ideal air-fuel ratio, as measured by the lambda sensor. Assuming all of the sensors are working properly, the computer knows the exact duration each injector should 'open' in order to maintain the proper air/fuel ratio. If the computer is unable to keep the oxygen content in check, the computer stores code 1222:Lambda Conrol.
As many people have said, vacuum leaks are a problem. If more air is making it into the intake manifold than the the Air flow/mass sensor is indicating, you will have a lean mixture. The computer is not immediately aware of the additional air sneaking in until the Lambda sensor 'senses' it and adjusts it's signal back to the computer, at which point the computer will adjust the injectors in order to keep the oxygen content in check. If the computer is unable to keep the oxygen content in check, the Lambda Control error code is stored in the computer, and the check engine light is illuminated.
So, small vacuum leaks should not pose a problem, since the computer can make appropriate adjustments (this is what closed loop operation is all about). A large vacuum leak is too much for the computer to handle, and it is unable to make the appropriate adjustments.
Back to my problem (1994 530ia):
In dealing with code 1222, I was told to check the Crank/RPM sensor for dirt, resistance and distance from the 'toothed wheel'.
Here's what I found:
Crank/RPM sensor was .015" away from the toothed wheel. I moved it to the recommended .040" per Bentley. The resistance reading was ~550 ohms (dealership mechanic: Reading OK. Bentley: Should be ~1125-1375 ohms. hmmm...) Not sure who to believe. Regardless, this did NOT solve my problem....
1) What are the proper resistance readings on the Crank/RPM sensor for a 1994 530ia?
2) Anyone else actually SOLVE a similar problem, and if so, how?
3) Does anyone disagree with my explanation of the Labmda sensor/control above or have a better explanation?