Many people have complaints about Trouble code 2331 and 2341. The service
manual says that this code is triggered because the Oxygen sensor control limit
is exceeded. It triggers the code if the Oxygen sensor reads rich or lean
running condition for more then 2 minutes with the engine warmed up.
If the two codes (2231 and 2241) are coming together, it is probably not to
be caused by the O2 sensor because it is rather unlikely that the left and right
sensors fail at the same time. I have gone through a long diagnosis to figure
this issue out, I thought it might be helpful for others. I have a first
generation A6 with the 2.8 liter V6, 12 valve engine, so I will use this as an
example. The procedure should be similar for other engines.
Now let's get on with it. First, you should check your oxygen sensors. You
need to monitor the O2 sensor voltage. Preferably this is done by an
oscilloscope, but a good digital multimeter (e.g. Fluke) will work just
fine. You have to hook up one lead of the multimeter to the black wire of the O2
sensor, and the other lead to the ground. I do not recommend piercing the sensor
wire's insulation, but I guess you can get away with it as long as you put some
electrical tape on the hole after you are done. Here is what I
Start your engine, warm it up, and run it at 2000 RPM for a minute or two. Now you should see the voltage on your multimeter fluctuating between less than 0.2 volts and more than 0.6 volts every second or so. Also check the voltage at idle speed. You should see the same fluctuation, but it will be slower, it will change between low and high every 3-5 seconds. Note that some cheap digital multimeters are too slow to accurately measure this fluctuation. In this case you may pick up a dial type volt meter at Ebay.
If the voltage stays at 400 mV, then you have a bad sensor. If the voltage goes below 200 mV or above 600 mV but does not fluctuate, then try to quickly throttle up to 3000 RPM, then a few seconds later down to idle, and see if the voltage changes at all. Throttling up/down will create rich and lean running conditions, and you should see the voltage changing. If it does not, you sensor is likely bad, but keep on reading.
If the voltage stays high, it indicates a rich running condition. Try to create a lean condition by letting extra air into the engine and verify if your O2 sensor reading goes low. The easiest way to do it is to disconnect a vacuum line to create a vacuum leak. Your oxygen sensor voltage should drop below 0.2 volts. If not, your sensor is probably bad.
If the O2 sensor voltage stays low, then the engine runs lean. Try to create a rich condition. An easy way of doing it is to disconnect the vacuum hose from the fuel pressure regulator (it is at the rear of the intake manifold on the passenger side). While doing this squeeze the hose with you fingers or with a pair of pliers to make sure that no air is let into the manifold through the disconnected hose. Your O2 sensor voltage should go high. If it does not work, you can try introducing some propane into the intake system to create a rich running condition (see later). If the O2 sensor still reads lean (low voltage), then replace the sensor.
By this point we have made the engine run rich and lean and you have verified that the O2 sensor is able to measure your rich and lean running conditions. So this should rule out O2 sensor problems. The next thing is to figure out what is causing the rich or lean condition.
Rich and lean running conditions may be a caused by bad injectors, bad MAF sensor, bad fuel pressure regulator or a bad ECU. Lean running condition is most often caused by a bad EVAP valve or vacuum leaks. In my case the sensor voltage was fluctuating as expected when the engine was running above 1000 RPM, but during idle it was staying below 0.2 V, which indicated a lean running condition during idle. This suggested that a small vacuum leak somewhere that let enough unmetered air into the engine to lean up the mixture at idle, but not enough to lean it up at open throttle.
Interestingly, you could observe this behavior only when the check engine light was off. Once the check engine light turned on, the O2 sensor voltage was fluctuating at idle speed as expected. My guess is that while the check-engine light was off, the ECU was trying to enrich the mixture, but it kept the amount of fuel delivered to the engine within pre-specified limits, i.e. it allowed only a certain deviation from the fuel amount calculated based on the MAF and other sensor inputs. However, when it figured that the mixture still remained lean, it decided to go over the pre-specified thresholds to reach the desired air-fuel mixture, and it triggered an error code warning the owner that the proper air-fuel mixture can be reached only by exceeding the pre-specified limits. This is why it is important to do reset the ECU before doing the test.
These vacuum leaks are rather difficult to find. Audi builds great cars, but it obviously does not pay much attention to reliability, because I have never seen so many leaks on any Japanese cars. First, check all hoses for cracks. If you find nothing, you can try the propane test.
CAUTION! PROPANE IS EXTREMELY FLAMMABLE, SO NEVER DO THIS TEST IN A CLOSED GARAGE. FOR YOUR SAKE DO IT OUTSIDE, AND AWAY FROM ANYTHING FLAMMABLE. IT IS A GOOD IDEA TO HAVE A FIRE EXTINGUISHER HANDY. IF YOU BLOW YOURSELF OR YOUR CAR, OR BURN DOWN YOUR HOUSE DO NOT BLAME ME, I HAVE WARNED YOU. AND PLEASE DO NOT SMOKE WHILE YOU ARE PLAYING WITH PROPANE.
You can use a small camping propane bottle and a small propane torch burner (less than $20 in a hardware store). Mount the torch on the bottle, but DO NOT IGNITE IT. Simply direct the end of the torch where you suspect a leak, open the valve for a few seconds, and watch your oxygen sensor voltage. If the propane is sucked into the engine through a leak, it will create a rich running condition, and the O2 voltage will go high. Direct the propane to various places, and see if the O2 voltage changes. NEVER OPEN THE PROPANE VALVE FOR MORE THAN A FEW SECONDS IN ORDER TO AVOID DANGEROUSLY HIGH PROPANE CONCENTRATION AND EXPLOSION.
In my case I have found vacuum leaks at three points. First, the EVAP
valve was not closing properly (I have talked about the location of the valve
above). Remove the valve, and blow into it. If air goes through, then it is
stuck open. I managed to clean mine with carb cleaner and WD-40. I may replace
it later anyway. You can check if the valve opens correctly by hooking it up to
12 volts, and see if air goes through when it is
Second, I have found that one of the plastic PCV hoses that connects the cylinder head to the plastic intake chamber had a crack on it. It was not visible unless you folded the hose in a sharp angle, so visual inspection might be misleading. Try to block one end of the hose with your finger and blow into the other end while you fold it in various angles.
Third, the gasket between the EGR valve and the intake manifold was leaking. This was a bitch to find, the propane came quite handy here. This gasket is a major pain to access. Remove the plastic intake chamber, remove the #6 spark plug connector and other electrical connectors that might be in the way. The left EGR bolt can be removed by a 10 mm socket at the end of a flexible joint and extension bar, the right bolt can be removed by a 10 mm open or closed end wrench. You do not have to unbolt the valve from the pipe, you should be able to band it back enough to remove the gasket and to clean the mating surfaces. However, once you are there you may want to clean out the EGR passage in the intake manifold, so you may be better off removing the EGR valve from the pipe after all. There are some tech articles on this forum about cleaning the passage.
Now I no longer have check engine light warnings, and the car idles much smoother than before. I hope you guys will find this article useful and hopefully you will have less frustration figuring out the problem than I did.