2005 BMW 325 P0171 P0174 227 228 Fault Codes Dinan Stage 2

The BMW had fault codes 227 and 228 stored (P0171, P0174) indicating a lean fuel system. This means the vehicle is running lean and the DME has tried to correct the condition but has reached it upper limit. Fault codes 227 and 228 are specific to a fault when the engine is at part throttle (not idle). This tells us that it’s unlikely the lean condition caused by and engine vaccum leak.

codesa

First I ran engine until it reached operating temperature. Then monitored fuel trim at idle using my scan tool. As you can see the Idle Load fuel trim is normal.
scan3

Next I went for a drive in the vehicle. I ran the engine through each RPM range from idle, steady cruise to WOT (wide open throttle). You can see the Part Load fuel trim is indicating a lean condition, (by adding fuel) during my entire test drive. Part Load does take some time to update, so I suggest a 15 minute test drive at the minimum.
scan1
During my test drive I am able to eliminate many possible causes of the lean condition. For example; I monitor Idle Load fuel trim at idle to see if it could be a vaccum leak. That coupled with freeze frame data ruleda vacuum leak out.
I also perform a WOT test on the fuel system. If the oxygen sensor holds above 800 mv for the entire time I am at WOT, the fuel pump and fuel delivery system can deliver enough fuel. Next I check the engine and exhaust system by looking at G/PS or Kg/H. This reading tells me about engine efficiency. I can estimate the amount of air at a given RPM, therefore testing the MAF sensor without touching it.

The 325 had Dinan performance software and an airbox, or what they refer to as Stage 2. I was convinced the problem was with the Dinan components but I have only an hour to prove this to be correct.
engine

The airbox in modified by introducing a cold air intake, removing a baffle and changing the filter from a panel to a version of a cone style.
airbox

Here’s what I did.

I found the area where the baffle was removed (Dotted White Line) and temporarily mounted a piece of plastic in place.
airboxinterior

I plugged the cold air intake port with a plastic cap.
airboxplug

Next I reprogrammed the car back to the factory DME software.
progman

I went for a test drive, repeated the same RPM ranges as my previous one. The Part Load fule trim began to drop into an acceptable range.
scan3

Next I contacted Dinan with the information. They agreed to write a custom DME map for this car. Once I received the map I programmed the car again with Dinan’s MIP tool. It took a week or so to receive the new DME map, so the vehicle owner had to drive with the MIL light ON.
dinansoft

Once programmed I test drove the vehicle aagin, within the same RPM ranges. You can see part load came back down to a normal range and the vehicle is no longer exhibiting a lean condition.
scan4

This is a tricky fix. Without my standard fuel trim drive cycle test (to test components during the test drive), I may have replaced parts that were not faulty. It is important to approach each and every fuel trim fault the same way. A structured test plan will build confidence and make quick work of these common faults.

2004 BMW 330i E46 No start No Communication

2004 BMW 330i E46 No start No Communication

I received a call from a friend early in the week about a no start, no communication issue he was having. The offending vehicle was a 2004 BMW 330i. He stated the vehicle would start and run fine cold. Once it reached operating temperature, the temp gauge would go to hot and it would no start, (no crank condition). I informed him that when the instrument cluster loses comminucation to the DME the temp gauge defaults to full hot. As it gets it temperature information via the CAN-bus from the DME. Another good way to check if an ECM from almost any manufacturer is online is the MIL. In this case it was not.

The MIL is regulated to be on when the key is on and engine is off.

DSCN2332a

I pointed him in the correct direction and he was off to perform some tests. Once he got back to me everything was pointing at a faulty DME. Even though he is an experienced BMW mechanic he was second guessing himself. Asking me if I really thought he was on the right course. Reviewing his tests with me over and over again. He had that feeling in the pit of your stomach, the one you get right before you tell your boss the vehicle needs a $1000 part.. not including the labor to install or program.

Two days later my phone rang the caller ID showed it was the shop with the 330i. He had bad news, (as he put it).

I put in the new DME, it still won’t communicate with my scan tool and now it NEVER starts.

We spoke a few minutes more and I decided I had to get up there and look at the car myself. If you recall the original problem was the vehicle would start cold and stall once hot with no restart. Things are worse with the new DME.

The next night I drove north to Concord, NH to see what was going on with this 330i.

A short revealed the DME was now communicating. I always try with the factory scan tool, then with a generic OBD II scan tool.

DSCN2318a

One step further revealed a list of faults pointing to the DME.

DSCN2321a

When diagnosing bus faults it is important to identify the communication status of each module on the bus. A bus-system wiring diagram may be needed to verify all the modules involved.

The next step is to review fault codes stored, (if any) in each module. You want to write them down and see which module is being reported as not communicating by the most modules.

I now had my plan of attack and it was time to open up the diagnostic case. I hooked my pc-based scope. I am currently using the ATS limited. It is a small, powerful, 4 channel pc-based scope.

DSCN2315a

I gained access to the DME, which was easy as it was just replaced.

DSCN2329a

While attempting communication I would monitor the K-bus. The signal that was present was acceptable.

kbusdmeoffline1

Moving to the CAN-bus next to confirm the signal there was acceptable. It was.

canattemptnodme1

The CAN-bus does look quiet here. That is because during koeo all you will see is status messages. If the DME was online it would be much busier.

My tests confirm our earlier diagnosis via the telephone. I advised the shop to get another new DME. They were a bit worried because this was a new unit from BMW. I asked them to notify me when the new part would arrive.

I was back in the shop two days later, here is what I saw.

New DME installed, (not yet programmed).

Temperature gauge is is correct position. Indicating DME is online.

DSCN2330a

K-bus with DME online

kbusdmeonline1

CAN-bus with DME online. Much more traffic.

canonline1

The second new DME fixed the problem.

BMW Parasitic Closed Current Draw Specifications

Closed-circuit current consistently over 50mA should be addressed. Depending on the vehicle’s equipment, closed-circuit current by vehicle model is approximately as follows:

For BMW model and chassis designation chart go here.

E31
50 milliamps after 16 minutes

E32
50 milliamps after 16 minutes

E34
40 milliamps after 16 minutes

E36, Z3
30 milliamps after 16 minutes

E38
50 milliamps after 16 minutes

E39
40 milliamps after 16 minutes

E46
40 milliamps after 16 minutes

E60, E61, E63, E64
40 milliamps after 60-70 minutes

E65, E66
40 milliamps after 60-70 minutes

E53
40 milliamps after 16 minutes

E70, E71, E72
40 milliamps after 60-70 minutes with TCU (30 minutes without TCU)

E83
40 milliamps after 16 minutes

E82, E88
40 milliamps after 60-70 minutes with TCU (30 minutes without TCU)

E90, E91, E92, E93
40 milliamps after 60-70 minutes with TCU (30 minutes without TCU)

E85

40 milliamps after 16 minutes

E89
40 milliamps after 60-70 minutes with TCU (30 minutes without TCU)

E52
50 milliamps after 16 minutes

F01, F02, F07
7-21 milliamps after 30 minutes