2004 BMW 325i P0171 and P0174 Lean Mixture Codes: Diagnosis and Fixes for Idle Issues
Hi everyone, I'm currently troubleshooting a persistent idle issue on my 2004 BMW 325i (2.5L V6, 105k miles) with an automatic Steptronic transmission. The car has started idling significantly slower—now around 500–550 RPM instead of the normal 650–700 RPM—and recently triggered the 'Service Engine Soon' light. An OBD-II scan reveals two primary diagnostic trouble codes: - P0171: Lean Mixture Bank 1 - P0174: Too Lean Mixture Bank 2 Additionally, in 2 out of 12 instances, a P2231 code appeared (O2 Sensor Bank 1, Sensor 1: Signal Circuit Shorted to Heater Circuit). I’ve already performed the following checks: 1. Replaced the air filter (never used an oiled filter or OEM replacement) 2. Removed and cleaned the Mass Airflow (MAF) sensor twice using CRC MAF Cleaner 3. Inspected visible vacuum hoses—no obvious leaks found 4. Did not inspect the intake manifold for leaks due to uncertainty on proper procedure 5. Avoided using brake cleaner to test for vacuum leaks, as I was advised that engine compensation may mask any immediate changes 6. Heard about a 'smoke test' but don’t understand how it works—can someone explain briefly? 7. Recognize that the vehicle is past due for oxygen sensor replacement (each costs ~$190). Replacing all four would cost between $380 and $760 depending on whether pre-cat or post-cat sensors are replaced. I’ve also collected 'Freeze Frame' and 'I/M Monitor Data' from the scan tool. After driving approximately 15 miles with the OBD-II scanner connected, the P0171/P0174 codes reappeared, but all I/M Monitor readings showed as 'OK' (except N/A entries). My key questions: - Does the OBD-II scan tool need to remain connected during a specific driving distance for I/M monitors to complete their checks? Can this be done in segments or must it be continuous? - If vacuum leaks are present, could they cause lean mixture conditions? - What happens if I remove the oil fill cap while idling? The car sputters and nearly stalls—does this indicate a clogged Crankcase Ventilation (CCV) valve? I’ve tried cleaning the MAF sensor twice with no improvement. A scan tool could potentially verify MAF calibration by comparing barometric readings to actual atmospheric pressure—but I don’t have access to such equipment. Any insights or step-by-step guidance on diagnosing this issue would be greatly appreciated, especially for a DIYer working on a BMW platform that is known for complex emissions systems.
Here are some 'Freeze Frame' and 'I/M Monitor' data readings: EDIT: A follow-up scan after driving ~15 miles showed all I/M monitors as 'OK' (excluding N/A entries).