2001 Mercedes Benz C280 P1128 P1130 P2016 P2085 P2086

This was an easy fix – BUT I wanted to share how an aftermarket scan tool can improperly display Mercedes Benz fuel trim faults and values. We will look at it using a Snap On MODIS (same scanner software as all their models) using generic and Mercedes Specific software.

The following fault codes were stored.


Mercedes Specific

Scan data


Mercedes Specific

As you can see the values are flip flopped depending on which version of the scan tool I was using. What’s important is to check when the fault codes set and specific fault code definitions.
Additive or idle load will likely be vacuum leak.

Multiplicative or part load will likely be fuel delivery issues. ie. MAF, fuel pump.

Oh, you wanted to know the fix. After the MAF sensor mounted to the intake duct to throttle body there is a rubber hose. It is very common for this hose to crack and swell from oil contamination.

2002 Chrysler PT Cruiser P0750 P0888

P0750 – LR solenoid circuit
P0888 – Trans relay output always OFF
Transmission in Limp Mode


MIL ON, fault codes always present. Codes return when cleared after key cycle. Both faults indicate a voltage problem. The P0888 can lead you to the cause of both fault codes, so I started there.

First up, go to trans relay and see if it is working. Located in the engine compartment junction box.

I first went to control side of relay. There no trans relay control signal from TCM. TCM sends 12 volts from PIN 15 (light green) at TCM connector to PIN G4 at trans relay. The relay has a permanent ground on PIN G5. The 12 volt signal to the trans relay was not present. The ground was good.



With this information I went to the TCM to see if the 12 volt was present. If it was this would indicate an open circuit between TCM and junction box. The 12 volts signal was not present at TCM.

Next up I checked all powers and grounds to TCM. I found PIN 11 (light green / black) missing battery voltage when ignition is switched ON.
I went to fuse 12 (10A) in fuse block. Voltage was present and fuse was good.

At this point I ran a jumper wire from fuse 12 to PIN 11 at the TCM. Cycled the key ON. The trans relay activated, no fault codes present.

To go a bit further I located splice S115. Voltage was present. At this point I advised the shop to run a new wire from splice S115 to PIN 11 at TCM.


A test drive after repairing the open circuit confirmed the fix. No fault codes present and the vehicle shifted normally.


2000 Ford Windstar 3.8 P0171 P0174

Vehicle had fault codes for lean fuel system, both banks.

This indicates a problem affecting the entire engine.

With fuel trim faults, freeze frame data is a great starting point. Freeze frame data indicates fault codes set at idle.

Monitoring fuel trim during a test drive confirmed the vehicle was lean at idle. Note the graphs below indicate lean at idle. Once the engine RPM is raised from idle to 2500 rpm (in PARK) the fuel system is no longer lean. A vacuum leak can be detected this was. As the amount of unmetered air is larger (or comparable) compared to metered air. Once the RPM is raised the metered air amount becomes greater than the unmetered amount (vacuum leak).

After this I spoke to the mechanic who was working on the Windstar. He stated the same fault codes were present last month. He found a leaking intake manifold and a TSB. Therefore he replaced the front valve cover and intake manifold profile gaskets.


I quickly checked over his work. Everything looked in place. The only spot that propane could influence fuel control was at the intake manifold runner control bushing. I found this to be normal as all 3.8 intakes will have some level of leak here. New lower intake manifold does not remedy the leak.

I looked over the TSB and asked if he performed a needed PCM updated. They had not.

Next up I reprogrammed the PCM.

After the PCM software update I test drove the vehicle and confirmed it was now in proper fuel control. A second test drive confirmed the same result with no fault codes.

The shop was half way there. They performed almost all the needed repairs. A simple software update and they were done. With computers controlling almmost every function on late model vehicles it is always smart to check if software levels are up to date when performing repairs.

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.


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.


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


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.


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


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


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


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.


K-bus with DME online


CAN-bus with DME online. Much more traffic.


The second new DME fixed the problem.

1999 GMC Truck Erratic Speedometer – Shifting

5.7 liter engine 1999 GMC Cutaway.
The vehicle speedometer was erratic and the transmission would shift in and out of 2-3, 3-4 depending on speed. Very harsh shifts. No fault codes were stored in the PCM.

During a test drive I recorded scan tool data for review.
Let’s review the information in the graph:

  • Throttle (TP) angle looks normal.
  • Engine RPM looks normal
  • Input shaft speed (ISS) sensor looks normal.
  • Vehicle speed sensor (VSS) looks erratic
  • Output shaft speed (OSS) sensor looks erratic
  • VSS is generated from OSS sensor in the PCM. Knowing this I decided to scope the OSS sensor.

    Amplitude was all over the place. If it was tested using a DMM instead of a scope it would show up as ok, about 0.5 AC. Which is why a scope is superior in finding faults like this.

    What’s wrong with the pattern: The fluctuation of the zero point. if you look closely the amplitude changes each cycle. When I saw this I thought one thing, air gap had to be changing. Why else would voltage peak change during the same cycle?

    I pulled the driveshaft from the vehicle and installed a dial indicator.
    You can see the amount of movement in the shaft. The arrow indicates direction I am pressing.

    This proved my theory. The output shaft bushing was not good. There is a drum inside the transmission that the tone ring for the OSS sensor is welded to. The bushing for the drum was no good causing and air gap change between the sensor and the tone ring.
    I veryfied this by removing the OSS sensor and putting my finger into mounting hole. Once I could feel the tone ring for the sensor I moved the driveshaft back and forth. There should be little to no play and there was quite bit.
    The photo below shows locations of ISS and OSS (labeled as VSS).


    The transmission which was rebuilt within the past 30 days had to be disassembled and repaired again. The bushing was replaced and everything returned to normal.

    2001 BMW 330ci Trunk Ajar Light ON – Convertible Top Doesn’t Open

    The owner of the vehicle stated his trunk ajar light would not turn off and the convertible top would not open. The shop already installed a latch and told me they inspected the wiring harness.

    Fault codes were stored in the CVM but none proved to be helpful.

    I went directly to the latch and backprobed pin 2. My DVOM displayed 0 volts. I found the harness inside the trunk on the body side, backprobed the same wire and found 12 volts.

    While monitoring the light on the dash indicating the trunk was open I toggled the wire to ground. The light went off. I then had the shop owner operate the top with this wire grounded and the top functioned.

    I pulled the harness away from the trunk hinge and tugged on the wires. What did I find.. broken wires in the rubber conduit.


    2000 Toyota Tundra 3.4 P0171

    I arrived to a 2000 Toyota Tundra 3.4 running rough with a P0171 that was cleared by the shop. They had in hand fuel fouled spark plugs and no explanation as to why.

    I connected my scan tool and observed the fuel control and feedback PIDs. I found fuel trim to be positive (indicating a lean condition) at idle and at 2500 RPM. This ruled out a vacuum leak.

    The engine air flow was 7.56 grams per second (GPS) at idle. With an engine size of 3.4 lites I expected to see a GPS number close to that. A general rule of thumb: An engine flows about 1 GPS at idle per liter. For example a 2.0 liter engine would flow about 2 GPS at idle.


    With a reading twice what it should be normally I wanted a close look at the sensor. Gaining access was easy, the mass air flow sensor is mounted in the air intake after the air filter near air box (arrow).


    Once removed the mass air flow (MAF) hot wire was clearly covered in debris. This can lead to a skewed reading. When the hot wire is covered in dirt at idle (low air flow) the dirt acts like a radiator, cooling the wire and reporting a higher than actual reading. Off idle, the dirt acts like an insulator, protecting the hot wire element from the passing air and it’s cooling effect. This leads to a lower than actual air flow calculation.

    DSCN3181a” />

    The dirt was cleaned and the MAF sensor was installed.


    The reading dropped a few tenths of a volt but not quite enough.

    After confirming the reference voltage and ground was good to the MAF sensor I suggested replacing it. The MAF sensor itself was faulty.