BMW Repair: 2000 E46 check engine light, oil filler cap, air flow sensor


Question
Hi Evan
My 2000 BMW E46 (M43) 318 SE Auto check engine light won't go out after starting. When the fault is cleared it recurs after a couple of journeys.  According to the independent garage who performed a major  service,the oil was very dirty. Whether this has bearing on things, I don't know.

However the car sounds a little harsh on start up, it drives fine, with no power loss.
My garage confirmed the fault code 0171 on the diagnostic.

I took it to BMW who confirmed they have diagnosed the engine running lean, possibly due to an air leak, and have pointed to some of the key components to check & replace.

The independent garage is recommending we replace part by part, to avoid unneccesary repairs & cost.

We have checked:
both lambda sensors - OK
inlet manifold leaks - none
emission - all ok
The items we have replaced, are listed below, & condition of original in brackets.

throttle body (all OK)
breather hose & seal (not cracked or collapsed)
air mass meter  OEM'd from Pierburg (the original was continuity tested & was OK)
but the same fault recurs.

This leaves the DISA valve, but before we get to that,is there anything else I should check?

Thanks in advance

Rafiq

Answer
Rafiq, We don't have M43 engines over here in the U.S.
So anything I tell you will not be very detailed cause I've never worked on your engine. Dirty oil will not cause fuel mixture faults. Check the Crankcase vent valve (PCV). With the engine idleing crack open the oil filler cap just barely. If there is a lot of vacuum holding the cap down or the motor starts making a strange whistle/honking noise the valve is bad. Have you checked the throttle boots for tears? You have swapped the Air flow sensor. These symptoms sound like a bad air flow sensor. Have you put new front O2 sensors in the car?
-Evan