Further Troubleshooting of E46 No Start

In which I get BMW dealer-specific tools on my side

Many years ago, I ordered a USB to OBD2 interface. It is recognized by my machine as a Future Devices FTR232R USB UART (chip FT232RL).

I wasn’t able to get this working properly at the time, so I turned around and ordered a different interface, marked BMW Scanner 1.4.0. This shipped with PA Soft’s BMW Scanner 1.4.0.6, and served me well for reading off error codes and resetting them. I was able to use it to reset the airbag indicator, which I tripped during a window regulator service back in December 2012.

Most recently, I found myself troubleshooting a no start condition following the replacement of my 2003 BMW 330i’s CCV system.

I knew that it would do me well to play with some BMW dealer-specific tools. There were limitations to the depth that I could go as a shadetree mechanic by relying solely on BMW Scanner 1.4.0, and I was starting to question my decisions.

I started with an installer that I already had on my NAS: EasyDIS + GT1 v44. I gave up after installation failed. For reasons unknown, I wasn’t able to get GT1 v44 to install.

At this point, I learned of newer diagnostic tools, so I decided to pursue those instead.

I browsed the BMW Coding and Programming section of the Bimmerfest forums and found Mike’s Easy BMW Tools Package (direct download through Mega), which contains the following (note that I do not provide support for this tool, but merely post information on it for reference):

  • INPA 5.0.6 (with English script files and support for F-series
  • EDIABAS 7.3.0
  • NCS Expert (with English menus and buttons, and NCS Dummy Profile pre-installed)
  • NCS Dummy 4.0.1
  • Tool32 4.0.3
  • WinKFP 5.3.1
  • Integrated SP-DATEN v53.3
  • BMW Coding Tool v2.5.0 (for use as an alternative to NCS Dummy, or to update DATEN files as new ones become available)
  • USB Drivers for cable

I ran the installer on the same Windows XP Pro SP3 virtual machine that housed my working copy of BMW Scanner. I skipped the bundled USB drivers for my interface, opting to use the latest revision from FTDI. Initially, I encountered no success with INPA, but I was finally able to get INPA to read some of my vehicle’s data after revising settings inside of the Device Manager.

I read on Bimmerforums.co.uk (bimmerforums.co.uk/forum/f99/idiots-guide-bmw-inpa-installation-modded-usb-vagcom-interface-winxp-vista-t102843/) that changing USB transfer sizes would help: inside of the Device Manager, expand Ports (COM & LPT), right-click on USB Serial Port and select Properties, select the Port Settings tab, click the Advanced… button, and adjust the Receive and Transmit data rates to 2048 Bytes using the dropdown menus.

Given that I was able to get my FTR232R USB to OBD2 interface working for INPA, I reasoned that I wasn’t far off from ISTA/D. I set up ISTA/D under a new Windows 7 64-bit virtual machine. After checking EDIABAS.ini and OBD.ini against my known good configuration, I wasn’t getting anywhere.

I contemplated purchasing yet another interface, but stopped myself. I had yet to perform modifications to the cable. Time and time again, I’ve seen advice stating to solder pins 7 and 8 on the interface. With this modification performed, ISTA/D was successful at last in reading my vehicle’s information.

A couple of things stood out to me from the laundry list of error codes that I was dealing with. First were the codes relating to the DMTL pump:
8C/72 – Output stage fault, DMTL pump, short circuit to negative or open circuit
7E/72 – Output stage fault, DMTL module, tank leak diagnosis valve, short circuit to negative or open circuit

Next was the ominous sounding code relating to the main relay:
24/61 – Main relay, fault

I performed a search for information about the BMW E46 DMTL pump, and noted that it was an emissions control component located at the rear of the vehicle. I disregarded the error code for the time being – after all, my work had taken place in the engine bay.

Moving forward, I tackled the main relay fault first. Within the ECU box is a black box containing five fuses. I found this blog post on Bavauto helpful.

I wasn’t able to get the fuse pack lid off without destroying the locking tabs. I dumped all of the fuses out, and discovered one of the 30 amp fuses was blown. I replaced this with a spare that I had lying around.

Using ISTA/D, I was able to generate a test plan to diagnose each individual error code. The troubleshooting procedure for the DMTL pump included a test whereby the ECU would signal the operation of the DMTL valve (the parts diagram refers to this as the fuel tank breather valve – part #1 in the diagram below, BMW
13901433603) for 15 seconds. During this time, ISTA/D stated that a ‘tocking’ sound would come from the unit.

BMW E46 Fuel Tank Breather Valve diagram
BMW E46 Fuel Tank Breather Valve diagram

I heard no ‘tocking’ sound, so I indicated within ISTA/D that no sound was heard, and moved on. ISTA/D stated to check the connector, and further stated that the connector in question had two wires. Well, I checked my connector, and I had plugged one with only one wire to the valve. This begged the question, where was the right connector for the DMTL valve?

I pulled and checked various connectors, eventually coming across the connector for the oil pressure switch (part #12 in the diagram below, BMW 12618611273). This connector is the same shape as the connector for the fuel tank breather valve – the only difference being the number of wires. I ran my finger against the single pin of the oil pressure switch, and knew where I’d erred.

BMW E46 Lubrication System - Oil Filter diagram
BMW E46 Lubrication System – Oil Filter diagram

In closing, the connector mixup resulted in one of the 30 amp fuses within the ECU box fuse pack blowing on each attempt to start the car. Prior to starting the car, I got a long list of error codes. After attempting to start the car, I’d get an error code for a main relay fault, indicating that a fuse within the ECU box fuse pack had blown.

Further on modifications to the USB to OBD2 cable – geargrinder’s post on Bimmerforums:
Is car DCAN or do you ever want to do DCAN cars?
Yes – Buy new BMW K+DCAN Cable, toss VAG cable in back of closet
No – Continue on…

Do you really need ignition sense?
Yes gotta gotta must have – OK do you want do it the easy way or hard way or the quick hack way?
Easy – Buy new BMW K+DCAN Cable, toss VAG cable in back of closet
Hard – Fork around with modding your VAG cable, check to be sure 7&8 bridged at the same time
Quick Hack – Use FTDI drivers to fake ignition sense per other threads & check 7&8 bridged
Meh don’t need – just check 7&8 bridged on VAG cable, continue on with life

Spoofing ignition sensing can be done using MProg per the following instructions:
Install MProg & modify the programming of the EEPROM FT232RL
We need to invert RI # and DSR # signals to fool the detection of battery and ignition. After programming check your I/O Control settings, they must be:
#C0 = RXLED
#C1 = TXLED
#C2 = POWERON
#C3 = PWRON
#C4 = SLEEP
Invert RI ticked
Invert DSR ticked
Save settings

Troubleshooting E46 No Start

I recently performed a CCV replacement and, while I had everything apart, decided to redress the engine harness wire loom.

I got everything back together again, save for a couple of non-essentials. All that remained was to fire her up. I turned the key, ready to get back out on the road. Unfortunately, I didn’t luck out.

I began by checking all engine harness connections and cleaning them with electric contact cleaner. I should have done this before reassembly. However, I reasoned that everything was working prior to disassembly, and that I couldn’t have made that much of a mess putting things back together again. Still, better safe than sorry.

Following this, I noted the symptoms that my 2003 BMW 330i was displaying:

With key in position two, EML light flashes on and off, coinciding with a clicking sound from front right of dashboard (cabin left being driver side, NA vehicle). As long as EML is lit, there is a buzzing sound from the front of the car. When it flashes off, there is a click. This cycles several times, and then stops.

An intermittent ticking (almost like a dripping) sound can be heard from rear left of the vehicle – this continues whilst key is in position two. I put my hand on the fuel tank with the key in position two, and can verify that the sound is coming from the fuel tank, and the likely culprit is the fuel pump.

When ignition is turned back to home position, a sound (de-energizing of component?) is heard from rear of vehicle.

Fuel rail has pressure, as verified by depressing the fuel rail valve. Vehicle shows zero RPM when attempting to start.

With the key in the home position, I heard a sound from the back of the car, like a system was being de-energized.

I brought out my MacBook Air, fired up a virtual machine, and ran BMW Scanner 1.4.0.6.

DME was showing 23 errors. After clearing them, one remained in red.

24 [ 036 ] Main relay, fault

Later:
DME   ->  24/61 – Main relay, fault
          3E/72 – Solenoid valve, secondary air, short circuit to negative or open circuit
          8C/72 – Output stage fault, DMTL pump, short circuit to negative or open circuit
          7E/72 – Output stage fault, DMTL module, tank leak diagnosis valve, short circuit to negative or open circuit
          7C/72 – Signal, changeover valve, intake manifold (DISA), short circuit to negative or open circuit
          35/B2 – Idle speed control valve, opening coil, short circuit to negative
          1B/B2 – Idle speed control valve, closing coil, short circuit to negative
          64/78 – Control unit self-test, signal implausible
          25/61 – Main relay, reaction delay, not switched or switched with delay
          7D/62 – Electric fan

          Shadow-memory:
          24/61 – Main relay, fault
          3E/72 – Solenoid valve, secondary air, short circuit to negative or open circuit
          8C/72 – Output stage fault, DMTL pump, short circuit to negative or open circuit
          7E/72 – Output stage fault, DMTL module, tank leak diagnosis valve, short circuit to negative or open circuit
          7C/72 – Signal, changeover valve, intake manifold (DISA), short circuit to negative or open circuit
          5A/12 – Exhaust temperature before catalyst, bank 1, signal line, short circuit to negative
          5B/12 – Exhaust temperature before catalyst, bank 2, signal line, short circuit to negative
          5D/12 – Exhaust temperature after catalyst, bank 2, signal line, short circuit to negative
          3F/14 – Control unit self-test 3
          7D/62 – Electric fan
          35/B2 – Idle speed control valve, opening coil, short circuit to negative
          1B/B2 – Idle speed control valve, closing coil, short circuit to negative
          64/78 – Control unit self-test, signal implausible
          25/61 – Main relay, reaction delay, not switched or switched with delay
          34/02 – Solenoid valve, exhaust flap, short circuit to negative or open circuit

I made a post on E46Fanatics and on Bimmerforums. While waiting for a response, I started looking into my electronic tool chest. One thing for certain: if I am to increase my proficiency in working with the E46 platform, I need to gain better familiarity with the tools available to me.