No announcement yet.

Diagnostics, tips, & tricks by Jim Levie (E30 Jedi Master)

This is a sticky topic.
  • Filter
  • Time
  • Show
Clear All
new posts

    M20B25 DME Diagnostics

    For an M20B25 engine to run the following conditions must be met:

    Power on DME pins:
    27 Start Input
    18 Un-switched Power input
    37 Power Input from Main Relay

    Ground on DME pins 2, 14, 19, 24

    Timing data from the CPS on DME pins 47 & 48 from a rotating engine

    To have spark power must be present at the coil positive and ground pulses from the DME's pin 1 must reach the coil negative. Power to the coil is controlled by the ignition switch via C101. When checking for spark, use the output lead from the coil to eliminate the distributor, rotor and plug wires.

    To have injector firing power must be present at each injector and ground pulses from the DME's pin 16 (Bank1) and pin 17 (Bank2) must reach the respective injector bank. Note that the injectors are wired as two banks of three. With cylinder 1,3,5 being bank 1 and 2,4,6 being bank 2. Power to the injectors is controlled by the main relay. Injector firing is best checked with a noid light.

    The fuel pump relay must have power on pin 86 (relay coil) from the main relay output (pin 87) and power on pin 30. The DME will ground pin 85 to turn on the relay and power the pump(s) via pin 87 when it sees timing data from a rotating engine. Of the above, only the fuel pump power is fused. So if the there's power at pin 87, but not at the pump, check fuse 11.

    The main relay and DME receive power from the smaller of the two wires that connect to the battery's positive terminal. That wire incorporates an in-line fuse. When the DME is presented with a start signal, it grounds the main relay pin 85 and furnishes power to the fuel pump relay, injectors, and DME. It isn’t uncommon to find that the inline fuse is corroded and not proving full power to the DME. You can cut off the heat shrink tubing and have a look at the fuse. If okay, it can be sealed and protected with several layers of good electrical tape. If the fuse is iffy or bad, I cut the fuse out, splice the wire and place a 60a lug type fuse between the small cable and the power point in the engine bay. The lug type fuse will bolt right in.

    To check these signals you will need to remove the back shell of the DME connector connector so that when appropriate the connector and the DME can be mated for tests. Some of the tests require that the DME be connected and others must be done with the DME disconnected (like continuity tests).


    Disconnect the battery and the DME cable. Then:

    1) Disconnect the coil negative and check continuity from that connector to DME pin 1. Also verify that from DME pin 1 to ground is an open circuit.

    2) Check the resistance across DME 47 & 48, which should be 500-560 ohms. If the CPS is dismounted, the resistance can be seen to change from about 500 to 540-560 ohms when a ferrous object is brought to the face of the sensor. Neither pin should be grounded.

    3) Check for continuity from DME 36 to main relay 85 and from DME 3 to fuel pump relay 85.

    Reconnect the coil, remount the CPS (air gap should be 1mm), plug the relays back in, reconnect the DME, and connect the battery. Then do the following checks:

    1) With the key off, verify that power is present at DME pin 18 and main relay 86 & 30.

    2) With the key on, verify that power is present at DME pin 27 and pin 18. Power to pin 18 is from the main relay and there should be power to the injectors and fuel pump relay.

    3) With the key on, verify that no voltage is present at the DME grounds (2, 14, 19, 24). All of the DME grounds are via the small bundle of brown wires that attach to the right side shock tower.

    4) Verify that power is present at the coil positive and at fuel pump relay pin 30. Those get switched power from the ignition switch via C101.

    The engine will start and run (if poorly) with only those connections to the DME in place. The other signals from Cylinder ID, AFM, temp sensor, etc., are necessary for proper operation. But they won't prevent the engine from firing.


    A power check means seeing a voltage within about a tenth of a volt of what you measure across the battery terminals, which should be at least 12.6v on a charged battery.

    A continuity check means seeing less that 1 ohm of resistance.

    An open circuit means seeing a resistance of at least 100k ohms.

    A good quality auto-ranging digital multimeter will make these tests much
    Last edited by jlevie; 09-01-2015, 12:16 AM.
    The car makes it possible, but the driver makes it happen.
    Jim Levie, Huntsville, AL


      OBD-1 Diagnostics

      This is only valid on a Motronic 1.1 DME (a 173 or later). It presumes that the TPS is good and properly adjusted so that both the idle and WOT signals reach the DME. To verify that this occurring, remove the backshell from the DME connector and check for the signals with the ignition on and the DME cable connected.

      Start by turning the ignition key on (do not start the engine) and pressing the gas pedal to the floor five times within a period of five seconds. If you did that correctly, then the check engine lamp will light for five seconds, then blink off, then blink on for 2.5 seconds, and then go off for another 2.5 seconds. After this, the computer will start to show you the any stored fault codes.

      The codes are given by short flashes of the check engine light, followed by short pauses. The codes are all four digit numbers. For example, the trouble fault code for monitoring the battery voltage level is 1231. This would show up flashing as "flash - pause - flash - flash - pause - flash - flash - flash - pause - flash." I suggest having a pen and paper handy when you do this, as the codes have a tendency to flash faster than you would think.

      If there is more than one fault code stored, then each code will be separated by a 2.5 second pause. When there are no more codes to be read, the computer will give the code 1000, which is one short flash, and then the light will remain off. Then the check engine light will flash a half-second and then turn off. To read the codes again, simply turn the ignition key off and on again and repeat the procedure with the gas pedal (five times within five seconds).

      Note that not all of the possible OBD-1 codes are valid for an E30 and I have marked those. Here is a table that represents all of the possibly fault codes that can be read using this method:

      Code Error Notes / Corrective Action

      1000 End of output - no more fault codes
      This code shows the end of the stream of error codes, and tell you that
      the computer is finished showing them to you.

      1444 No more faults
      This code shows that all faults have been fixed. After any faults have been
      corrected you can reset the DME by disconnecting the battery for 30 seconds.

      1211 DME Motronic Computer Fault
      This may indicate a problem with the DME computer. Most problems result
      in a dead computer that cannot give out codes, so this particular code
      is not commonly seen. If the code does appear, start and rerun the
      test for about one minute. If the code reappears, then chances are
      that you need to replace your DME computer.

      1215 Mass Air Flow Sensor Fault
      The mass air flow sensor measures the amount of air that is currently
      being drawn into the engine. A big hole in one of your fuel injection seals
      intake boot, or other places may cause the car to stall and/or generate this code.

      1216 Throttle Position Switch Fault
      The later model Motronic systems (not used on an E30) used a potentiometer
      to measure throttle position and adjust fuel levels appropriately. If the 'pot'
      is not giving off the proper values, it will produce this code.

      1218 DME Computer Output, Group #1
      These two codes can be generated when there is a ground fault short
      circuit from B+ at one of the two DME Output Amplifier Stages. This
      code is not typically seen by itself, and is usually generated with
      a host of other codes. Possible problems may be O2 sensor heater
      relay, fuel evap system problem, EKP relay, ignition coil problem,
      a faulty idle speed actuator, etc. If you get this code, disconnect
      the DME and let it sit for 15 minutes, then recheck the codes. If it
      persists, and no other problems are found, then it is probably an
      internal DME problem. If the code goes away, then ignore it and call
      it an intermittent error.

      1219 DME Computer Output, Group #2

      1221 Oxygen Sensor (primary)
      The O2 sensor measures the mixture of the car. This code is generated
      if the sensor is unplugged or broken. Sensor values are read when the
      engine warmer than 70°C, and should be within 0.02 and 0.85 volts.
      Negative values indicate that the sensor needs to be replaced, and
      slow fluctuation indicate that the sensor is clogged with soot.
      Cars with catalytic converters that have been removed may push this code.

      1212 Oxygen Sensor (secondary and not present on an E30)

      1222 Oxygen Sensor Lean/Rich Detect (primary)
      If the signal from the O2 sensor indicates a very lean or very rich
      mixture for more than 10 seconds, then the computer generates this
      code. It could mean a faulty O2 sensor, a problem with another
      component, or intake leaks.

      1213 Oxygen Sensor Lean/Rich Detect (secondary and not present on an E30)

      1223 Coolant Temperature Sensor
      Measures the temperature of the coolant inside the engine block. Used
      to determine if the engine is warm or cold. Check the wiring and the
      expected resistance value of the sensor.

      1224 Intake Air Temperature Sensor
      Measures the temperature of air entering into the engine's fuel
      injection system, and adjusts the mixture accordingly. Colder air
      is more dense than warmer air and needs to be compensated for. On an E30
      the sensor is part of the AFM

      1225 Knock Sensor #1 (not present on an E30)
      The knock sensor is used to detect pre-ignition that can damage the
      engine. If the knock sensor is triggered, it will back off the timing
      of the car, reducing the 'pinging.' A fault is generated if there is
      an open circuit, a ground fault, or if the sensor sends multiple signals
      that don't correspond to proper engine operation.

      1226 Knock Sensor #2

      1227 Knock Sensor #3

      1228 Knock Sensor #4

      1231 Battery Voltage / DME Relay Monitor
      Monitors the condition of the battery and charging system, and produces
      a fault if a component goes out of specification or fails.

      1232 Throttle Idle Position Switch
      On older Motronic systems, this switch was used along with the wide
      open position switch as a primitive throttle position switch.

      1233 Throttle Wide Open Switch See above.

      1234 Speedometer "A" Signal
      This code is generated when the engine is under load, over 2500 RPM
      and no discernable speedometer signal can be detected for more than
      10 seconds. Check the wiring harness, and also the instrument console.
      Only very late E30 DME’s route the vehicle speed signal to the DME.

      1237 A/C Compressor cutoff The compressor is automatically turned off when
      accelerating from low speed under full throttle. This code indicates
      a fault in the cut-out circuit or its wiring.

      1241 Mass Airflow Sensor Codes
      1241 and 2241 can be incorrectly generated on 1992 and later models.
      The actual fault is a improperly operating idle air valve, and the
      need for an updated EPROM. See BMW bulletins for more details. This doesn’t
      apply to an E30.

      1242 A/C Compressor Signal
      This code is generated if there is a ground fault (short circuit) or
      if the system detects that the compressor unit is disconnected.

      1243 Crankshaft Position Sensor
      This code is triggered when the crank angle sensor is disconnected, or
      generates a signal that is not accurate when compared to the other
      engine sensors. On an E30 the engine won’t run without timing reference data,
      so this code is rarely, if ever seen.

      1244 Camshaft Position Sensor (not present on an E30)
      Displayed when the signal from the camshaft pulse generator is out of
      spec or absent. May indicate a problem with the injector side of the
      DME output stage.

      1245 AEGS Intervention Electronic Transmission
      Many later BMWs are equipped with electronic transmissions. If the transmission
      encounters a major problem, it will generate an emergency message, and
      your on-board computer should show "TRANSMISSION EMERGENCY PROGRAM."
      Ignition timing will retard when this program is run and the transmission will go
      into “limp” mode locked in third gear. You won’t see this on an E30.

      1247 Ignition Secondary Monitor

      1251 Fuel Injector #1 (single or group)
      Check the injector or injector group for proper wire harness
      connectivity. Also check the injectors for a clear, wide stream pattern.
      Code 1283 (Fuel Injector Output Stage) may also be triggered in
      conjunction with this code.

      1252 Fuel Injector #2 (single or group)

      1253 Fuel Injector #3

      1254 Fuel Injector #4

      1255 Fuel Injector #5

      1256 Fuel Injector #6

      1257 Fuel Injector #7

      1258 Fuel Injector #8

      1261 Fuel Pump Relay Control
      This code is generated when there is a break or ground fault in the
      circuitry associated with the DME fuel pump relay. Check pin #3 of the
      DME or the output stage in the DME (DME version M1.3 only).

      1262 Idle Speed Control
      This shows up if the idle speed actuator shows a ground fault, or if the
      car stalls from an idle above 600 RPM.

      1263 Fuel Tank Evaporative System (EVAP)
      The fuel tank evaporative system has a purge control valve that generates
      this code if there is a short circuit or open connection
      (DME version M1.3 only).

      1264 Oxygen Sensor Heating Element
      This code is triggered if there is an open circuit or a short within
      the oxygen heating element circuit. Check the O2 heating element relay
      and also the air pump relay.

      1265 Check Engine Lamp
      If the lamp in the dashboard burns out or shorts to ground, then this
      code is generated. Codes can then only be retrieved on a 173 or later DME with
      a diagnostic system.

      1266 VANOS System (not present on an E30)
      Check the wiring or the relay associated with the VANOS system (variable
      camshaft adjustment).

      1267 Air Pump Relay Control (not present on an E30)
      Check the air pump relay and wiring (were applicable).

      1271 Ignition Coil #1 (not likely to be seen on an E30)
      An open-circuit or ground fault in the ignition wiring has occurred with
      an ignition coil. Place a timing light on the coil wire and check
      for a signal. Also check the wires for faults, and check the spark plugs

      1271 Ignition Coil #2

      1271 Ignition Coil #3

      1271 Ignition Coil #4

      1271 Ignition Coil #5

      1271 Ignition Coil #6

      1271 Ignition Coil #7

      1271 Ignition Coil #8

      1281 DME Memory Unit Supply
      This indicates a fault with the internal memory of the DME computer.
      This is sometimes caused by low battery voltage. Delete the codes, and
      disconnect the DME for 15 minutes. Then reconnect, let the car idle for
      five minutes, and then drive over 30 mph for more than five minutes.
      Recheck the codes - if it occurs again, the DME is faulty and should be

      1282 Fault Code Memory
      This code occurs when the DME generates a set of conflicting codes.
      Disconnect the DME for 15 minutes, reconnect, and then simulate a fault
      code, like unplugging the air flow sensor or idle actuator. If the code
      reoccurs, then you will need to replace the DME.

      1283 Fuel Injector Output Stage
      This code is generated when there is a short circuit or open connection
      between the wiring from the DME to an injector or injector bank.

      1284 Knock Control Test Pulse (not present on an E30)
      The ECU periodically checks the knock sensor circuitry by sending a test
      pulse through the system. This code indicates that a test was performed,
      but no pulse was registered. Check the wiring and knock sensors.

      When you are finished reading the codes, you can reset the computer and clear them all out. Make sure that the last code (1000) has occurred, and then press down on the gas pedal for more than 10 seconds. This should clear out the memory of the DME. Repeat the fault code reading process, and the computer should generate code 1444, which means that there are no faults stored. You can also reset an E30 DME by disconnecting battery for 30 seconds, which is what I do.
      The car makes it possible, but the driver makes it happen.
      Jim Levie, Huntsville, AL


        Rear Drive Train and Driveshaft

        Any E30 with 150k on it (or more) could well have worn drive shaft u-joints, a worn CSB, a bad guibo. or worn half shafts (especially if the half shaft boots are torn/cracked). Wear in those parts can cause vibration or jerky acceleration and/or noise in the lower gears.

        The guibo and CSB can be visually inspected. But to assess the condition of the drive shaft it must be checked while out of the car. Any motion or binding in the u-joints is cause for replacement. Rebuilt drive shafts typically come with a new CSB installed and aren’t all that expensive. I like those from Drive Line Service of Portland.

        You should also check the differential mounting bolts, the condition of the differential bushing, and the half shafts.

        Many cars came with a harmonic balancer surrounding the gumbo, which makes it difficult to remove the guibo. Whenever I encounter one of those I don’t bother to put it back on and have never had any problems.

        If the half shafts are otherwise in good condition, the boots can be replaced pretty cheaply. Use only BMW OE parts as the aftermarket parts aren’t the right shape and will rub on the shocks. The OE kits will come with the boots grease, covers, sealant, etc. It is a bit of a dirty job, but not that difficult.

        A worn differential can also cause clunks and/or noise. They can be rebuilt, but that is a little pricey. A good used lower mileage differential will be cheaper.
        Last edited by jlevie; 09-07-2015, 10:34 AM.
        The car makes it possible, but the driver makes it happen.
        Jim Levie, Huntsville, AL


          Differential Rebuilding

          Except for replacing clutches in an limited slip differential, rebuilding a diff is much more than just replacing parts. The backlash and pinion depth setting on the ring/pinion gear must be set with shims using a dial indicator and bluing compound and the preload on the input shaft must be set with a torque wrench. I once found a generic procedure for doing all of this, but I have lost the link. For most folks, having a pro do the work (like or finding a used unit in better condition is a more appropriate choice.

          As best I can determine, the specs are:

          Backlash .06-.14mm (.0024-.0055in)
          Preload ~.20nm (21-28in-oz).
          The car makes it possible, but the driver makes it happen.
          Jim Levie, Huntsville, AL


            Scheduled Maintenance

            There are several things on an E30 (or most any other BMW) that have scheduled maintenance intervals. While many cars will go further than the scheduled intervals, The car will run better, be more reliable, and be more fun to drive is maintenance is done on schedule

            Valve adjustments: Every 15K.

            Brake/clutch fluid: Every other year. I use ATE Type 200 for brake fluid. It is the same fluid as ATE Blue sans dye and won’t stain the reservoir. I have another article on flushing/bleeding the brake system. ATE fluid has a low rate of moisture absorption and a reasonably high wet/dry boiling point. See my article on brake flushing and bleeding for a good procedure.

            Coolant: Every other year. Use BMW Blue coolant mixed 50:50 with distilled water. Tap water contains dissolved oxygen and may contain minerals that will decrease the life of the corrosion protection package in the coolant. I have another article on properly bleeding the cooling system.

            Timing belt & tensioner: Every 50k or five years

            Cooling system: Every 100k (every other timing belt change). This means replacing the radiator, fan clutch, water pump, thermostat, expansion tank & cap, and all hoses. The plastic parts degrade with age & heat and can suddenly and completely fail. If the engine fan has cracks or other damage it should also be replaced. If a major cooling system failure occurs at highway speeds and you don’t immediately park the car there is a real risk of engine damage.

            O2 sensor: The O2 sensor should be replaced every 60k. It plays a critical role in setting fuel trim. Typically as the sensor ages it indicates a leaner condition than actually exists. This results in high HC in the exhaust, is bad for fuel economy, and can damage the catalytic converters from overheating.

            Transmission & differential fluids: Every 50k (along with the filter) for an auto and about 100k for a manual.

            Ignition system: Every 150k. The wires, distributor, and rotor degrade with time and result in weak (or even no spark) conditions. The symptoms may be be very subtle (or not even noticeable), but they will affect performance. Use only BMW OE or OEM parts. Since the original plugs are NLA, the best choice now is NGK ZGR5A plugs.

            Brake caliper & soft lines: Every 150k. The calipers are easy to rebuild and the parts are cheap. I’ve seen enough failures of SS lines that I now only use BME OE soft lines. Better to rebuild the brake system on schedule than risk a loss of braking.

            Suspension: there is no hard and fast rule for replacing suspension components other than the shocks/struts. Shocks have a more limited life than will be apparent from the way the car feels as the wear is gradual. Figure on about 60k for OE type shocks and perhaps 80k from Bilsteins. Koni SA shocks will go a lot further as rebound can be adjusted to compensate for wear. Upper strut/shock mounts can only be assessed for wear out of the car, but they will normally outlast the shocks. When replacing shocks, just replace the upper mounts and you won't have to worry about them. The rear shock mounts on an E30 are a weak item. I always replace them with uprated mounts from Rouge Engineering or the ones Bimmerworld sells. Suspension bushings, motor, transmission, should probably be replaced at 150k or sooner if wear or cracks are evident. I have an article on how to inspect the suspension.
            Last edited by jlevie; 09-13-2015, 05:20 PM.
            The car makes it possible, but the driver makes it happen.
            Jim Levie, Huntsville, AL


              SI Board Battery Replacement

              Replacing the SI board batteries isn’t too difficult. You will need a needle type soldering iron, some solder wick, small electronic cutters, a pair of small electronic needle nose pliers, and some rosin filled small diameter solder.

              Before attempting to replace the batteries take a critical look at the SI board for any signs of corrosion from leaking batteries. If you find corrosion, don’t bother to replace the batteries and get another corrosion free or new SI board.

              The easiest way to go about this is to clip the solder tabs, leaving enough of the tab to grab with small needle nose pliers. Then heat the solder joint and pull the tab. Use the solder wick to suck out the remaining solder. Adding a smear of rosin flux or flowing in a bit of fresh rosin filled solder can help with wicking out the old solder. It is important to not overheat the circuit board, hence the suggestion of flux or fresh solder.

              Solder wick, once filled with solder, stops working. I use the stuff that is about 1/8” wide and clip off about an inch after every use until the hole is clean.

              Then plug in the new batteries and solder them in place. If you have a newer board the batteries will have three tabs and a good replacement is Sanyo CR14250SE-FT. Also newer boards will have a “battery switch tab” that will disconnect the batteries if the cluster will be out of the car or the battery disconnected for a good bit of time, open up the cluster and move the tab to the disconnect position to keep from draining the battery.

              While you have the PCB out, reflow the solder where the fuel and temperature gauges mount. Also check with a magnifier for ant cracked solder joints and re-solder any yu find.

              If you don’t feel up to something like this, there are folks out there that will refurb the SI board pretty reasonably.
              The car makes it possible, but the driver makes it happen.
              Jim Levie, Huntsville, AL


                Subframe Bushings

                Rear subframe bushings can be a royal pain to replace. In many cases the aluminum sleeve will have corroded and be stuck in the body, especially if the bushings have never been changed or the car has lived in a salt rich area. Subframe bushing are good for no more than 150k, and usually should be replaced sooner. Bad subframe bushing can cause rear wheel alignment errors and increased NVH. The alignment errors mean that the rear tires wear quicker than they should and handling can be affected.

                With the rear of the car up in the air and the subframe supported by a floor jack under the differential start by removing the rear seat, then removing the subframe bolt nuts and support bracket. Then using a good sized sledge or air hammer drive the subframe bolts up and out. The upper end of the subframe bolts are knurled and just drive in.

                The next task is to get the subframe lowered. In some cases a pry bar will suffice. But sometimes you will have to thread a long lag bolt into the aluminum sleeve and pound from above to drive the sleeve out. It can help to spray PBlaster or Kroil down into the holes for the subframe bolts and allow several days for it to penetrate before trying to drop the subframe.

                The easiest way of removing and installing the subframe bushings is with a Sir Tools BMW3026 kit. The subframe need not be removed from the car to do that, just lowered. But that is a touch pricey for a one time job. You can burn out the old bushing. but I would only do that with the subframe out and away from the car. If you don’t have the Sir Tools kit you will have to come up with something to push the new OE/OEM bushing back in.

                Clean the pocket where the sleeve goes and lube the sleeve with anti-seize. A homemade “flap” tool driven by an electric drill and crocus cloth does a good job. Then lift the subframe back into place, drive the bolts back down, and install the support bracket and nut. Having the subframe bolts out of the way makes this a much easier task. It isn’t necessary to drive the subframe bolts all the way home. As long as you have enough of the knurl engaged to keep the bolt from turning you can pull the bolt home with nuts.

                The OE subframe bushings are fine, but poly works well and they are easier to install. I’ve never been able to tell any difference w/respect to NVH when using poly bushings.

                If aged, this is a good time to replace the soft lines above the subframe. It is also a good time to replace the differential mount bushing and rear trailing arm bushings. AKG has an inexpensive tool for the RTABs that makes replacement easy.

                A flap tool can be made by taking a piece of 1/4” or better yet 3/8” rod and cutting (read hacksaw) a slot in the end. The slide in a piece of 2” wide crocus cloth several inches long. Stick the tool into the sleeve recess and then spin the drill. It will work pretty fast and get down to bare metal quickly.
                Last edited by jlevie; 08-29-2015, 06:25 PM.
                The car makes it possible, but the driver makes it happen.
                Jim Levie, Huntsville, AL


                  Suspension Check

                  To check control arm ball joints, squeeze the joint with a large (as in 24") pair of channel locks and pry on the joint. Any motion whatsoever in a ball joint is cause for replacement. Check the control arm bushings by prying on them with a 24" pry bar. More motion than there should be (this is where experience comes in play) or any cracks are cause for replacement. On the front control arms I prefer the OE M3 offset bushings. That increases caster and yields better high speed stability.

                  Changing the control are bushings is really a press job. There are DIY ways to get the old bushing out and force in the new bushing. But for me that is an option of last resort. I prefer having a shop use their press. It is about a 15-20 minute job and if you make an appointment ahead of time you’ll be in and out quickly. Use soap as a lubricant for th control arm bushings and the rear trailing arm bushings.

                  The control arm bushing brackets can be locked down while the front wheels are off the ground. Then get the car back on the ground before the soap lube has a chance to dry. It is important to wait to lock down the rear trailing arm bushings until the car is resting on the wheels. The rear suspension of an E30 isn't adjustable. Worn trailing arm bushings or bad subframe bushings will result in improper alignment of the rear wheels. In addition to degraded handling, problems there will accelerate wear of the rear tires.

                  With the car up in the air, grab each front wheel at 9 & 3 o'clock and try to wiggle the wheel. Motion along that line will be worn tie rods. Not the that there is an inner (under the dust cover) and outer tie rod ball joint. Either or both can be worn. Motion when wiggling the wheel at 6 & 12 o'clock will be bearings or control arm ball joints. Spin each wheel and listen for roughness in the bearings. If the brakes drag, remove the pads or caliper (and on the rear wheels the parking brake shoes) to eliminate sounds from dragging brakes. Any roughness when spinning the wheel is cause for bearing replacement.

                  Although only front toe is adjustable on an E30, a four wheel alignment will tell if there are camber or caster errors. Those errors can be the result of worn parts, bent parts, or frame damage. A single curb strike can result in damage.
                  Last edited by jlevie; 08-31-2015, 09:43 AM.
                  The car makes it possible, but the driver makes it happen.
                  Jim Levie, Huntsville, AL


                    TPS & Idle Adjustment

                    The TPS and idle speed should only be adjusted once the engine management system is operating properly. With the engine at normal operating temperature, disconnect the ICV and use the idle stop screw for an engine speed of 950rpm. Then adjust the TPS so that the idle switch closes (as measured with a DMM) when the idle stop arm is 1mm off the idle stop screw. When you reconnect the ICV the idle speed should drop to 750rpm.

                    The best check for the idle (and WOT) switches in the TPS is done by removing the back shell from the DME connector and checking to see the proper inputs to the DME. That eliminates wiring as being a problem. After all, what is important is that the DME see those signals.

                    Oil can, and will, get into the TPS. The switches are simple exposed metal parts and oil will interfere with their operation. I always drill a 1/8”-3/16” hole in the center of the round boss on the bottom of the TPS to provide a path for the oil to escape.

                    Obviously, the idle switch is important for idle speed control as the DME won’t go into idle mode and operate the ICV if that signal isn’t reaching the DME. The WOT switch is equally important as it tells the DME to ignore O2 sensor data and to switch to wide open throttle maps, which will have a big affect on performance. Also note that above 4500rpm, when the AFM flap is all the way open the DME will be running in open loop mode using only engine temperature and rpm for fuel and spark advance if it sees the WOT switch signal.

                    As a side note, both the idle and WOT switches must function for the “stomp” test to work on a 173 or later DME.

                    IMPORTANT: Don’t mess with the idle air bypass screw in the AFM. It’s purpose is to set a specific CO level in the exhaust at idle. Adjusting the screw requires that the engine be operating properly and at normal operating temperature. The CO level of the exhaust is monitored and the bypass screw adjusted. This adjustment was made at the factory and should not be futzed with. If in doubt, get another AFM that still has the bypass screw sealed.
                    Last edited by jlevie; 08-28-2015, 07:19 AM.
                    The car makes it possible, but the driver makes it happen.
                    Jim Levie, Huntsville, AL


                      Wheel Bearings

                      Replacing the front wheel bearings is pretty easy, though you might need a bearing puller to get the inner bearing race off. You will need new lock plates and nuts and should get new dust covers. Best to use only OE or OEM parts. The cheaper stuff frequently suffers from early failure, perhaps as quickly as a year. The OE stuff generally lasted 30+ years, so it is worth the extra cost. Don’t bother with replacing the bearings in the old hub, just get a new hub and bearing assembly.

                      Start by removing the dust cover and using a narrow chisel or screwdriver to bend back the lock tabs. Then remove the nut. The torque spec is 210ft-lb, so I use a 3/4” breaker bar, socket, and cheater and my body weight. A 3/4” 600ft-lb impact wrench works even better. Then simply pull the hub off. If you are lucky you won’t need to use a puller to remove the outer race of the inner bearing.

                      Clean the spindle up and slide on the new hub/bearing assembly. Then the lock plate and nut. I don’t have a torque wrench that goes that high and the exact torque isn’t that critical. I use my body weight at an appropriate distance out on the breaker bar & cheater to get close (with the car on the ground, the parking brake set and the transmission in first gear. You can also use wheel chocks Then drive in the locking lugs, reinstall the dust cover and you are done.

                      While the hub is off, take a good look at the inner brake dust/water shield. It is easy to replace with the hub off. Likewise for the rear shields.

                      The rear wheel bearings are a whole different matter. Again, use OE or OEM parts, new lock rings and nuts. Once you have the nut off, pry out the lock ring, and drive out the half shaft using a brass drift to avoid damage to the threads on the half shaft. Obviously you will have first disconnected the inner side of the half shaft from the differential output flange. Sometimes the half shaft will come out easily and other times it can be a bear. When possible I get a helper to hold the drift and use a 16lb sledge. If it comes out easily (like with one whack) life is good, but otherwise I’m already set up for a stubborn half shaft.

                      There are two schools of thought on how the lock rings go in. The cars that I have worked on that have had the original bearings had the lock rings installed under the nut, as shown in the BMW ETK. Others claim that the lock ring should go over the nut. I install the lock rings first, per the ETK and then the nut.

                      Once you have the half shaft out, clean the splines carefully and examine the splines for evidence of galling. If the splines are galled you will probably not be able to get the half shaft back in and will need a new hub and half shaft. Again, only use OE/OEM parts as they will fit correctly. Good used parts are also an option. There is no way to drive the half shaft back in without damaging the outer CV joint dust cover. So it has to just slide in. On occasion I have had to use liquid nitrogen or dry ice & alcohol to shrink the splines and a heat gun to get the hub up to about 300F to get the half shafts in. A bit of anti-seize on the splines is a very good idea.

                      If the CV joints are in good condition, now would be a good time to replace the grease and dust boots. After trying some aftermarket parts I went back to only OE/OEM parts. The aftermarket stuff will work, but the outer boot isn’t quite the right shape and will rub on the shock. The OE parts aren’t that expensive and come with everything needed. It is something of a messy job but otherwise pretty easy. There are a couple of variants in the boot kits, get your BMW parts guy to help figure out which you need.

                      The right way to replace the bearings is with Sir Tools B90 kit. But for a single use it is really too pricey. The second best way is to remove the hubs from the car and take them to a machine shop and have the shop press in/out the bearings. At a shop this is a 15-20 minute job. If you arrange an appointment ahead of time you will be in and out in no time.

                      The last option, which I don’t recommend, it to use a hefty bearing puller. Those bearing are usually in quite tightly and are thus difficult to remove with a bearing puller or slide hammer. In a pinch you can punch out the inner races and hit the outer race 4-6 times with MIG torch laying down short (~1/4” beads). That will shrink the race slightly and usually allow it to be removed.

                      Some folks have used a Dremel to cut the race almost all the way through and then crack it with a chisel. But that runs the risk of damage to the hub, which is pricey. Go with option 1, ,2, or 3 first. If worn at all, I’ll use new BMW OE bolts for the connection between the half shaft and differential. While the bolts can be removed with a socket and hex key driver, an impact wrench works much better and much easier. You really don’t want to have to deal with a stripped allen later. Also use a high quality hex driver and hammer it in to make sure it is fully seated.

                      While doing this job, you have an excellent opportunity to replace the rear trailing arm bushings. On a street car I use the OE/OEM rubber bushings. You can upgrade to poly bushings, which is a good thing for track car, but the poly bushings loose lube and can become noisy on the street (especially in cold weather.) The one time I used poly bushing on a street car I found it necessary to disassemble and re-lube the bushings every year, On the street there was no noticeable difference between the OE and poly bushings. AKG offers a reasonably priced RTAB tool (~$30 as I recall) that makes R/R of the bushings quite easy. Or you can have a shop do it, but the cost will be the same or higher than the tool.

                      The torque for the rear half shaft nuts is 150ft-lb. I use the same procedure as for the front wheel bearing nuts.
                      The car makes it possible, but the driver makes it happen.
                      Jim Levie, Huntsville, AL


                        Fuel Tank Saga

                        A twenty year old car with a steel gas tank can have a surprising amount of rust in the tank. That rust can and will clog the pump inlet screens and filter and cause the high pressure pump to have a short life. While a new tank will certainly fix that, you can clean and seal the tank for a lot less money.

                        My 87 325is suffered from this. The car ran fine on the street but the first time I took it to the track for a test & tune it was as if the car had a soft rev limiter that decreased by 500-700rpm per lap. Some particulate matter did come out of the tank when I drained the gas, but with the in-tank pump out I could see a layer of crud in the bottom of the tank that was about an 1/8" deep. On the track that stuff got stirred up, clogged the inlet screens & filter, and starved the engine. It also ate up the internals of the high pressure pump. Rust is a fairly abrasive material.

                        The first attempt at a fix was to have the tank acid dipped and install new pumps & filter. Either they didn't leave the tank in long enough or the acid was a bit depleted, and the result was less than satisfactory as the next time I had the car on the track the high pressure pump started buzzing and I ran into the same starvation issue.

                        After taking the tank out again and sloshing about a gallon of fuel around I got loads of rust out of the tank. The new filter was heavily loaded and the inlet screen of the high pressure pump was also loaded up. And the cross-over pipe was completely plugged. This time I was determined to get all of the rust out and follow that up with sealant to lock down anything that was left and prevent further rusting. I used a gas tank sealer kit from Eastwood, but went a bit further than they suggest.

                        The tank, having been recently acid dipped had no varnish in it. So a simple wash with a strong TSP solution removed the remaining organics. I made up a simple plug for the hole where the in-tank pump mounts that could easily be removed. Think of a round disk of plywood with a bar on the bottom and a couple of screws to snug the bar up. Drop that into the opening, rotate slightly to engage the lock ears on the tank and tighten the screws. The remaining openings were closed up with pieces of a freezer bag held in place with rubber bands.

                        About a gallon of diluted acid in the tank was about right. That was enough to slosh around well but not so much as too make the tank too heavy. I used an acid mix sold for cleaning masonry that's composed of Hydrochloric and Phosphoric acids at about double the normal dilution. Over the course of a couple of hours I'd slosh and flip tank every fifteen minutes to wet all parts of the tank with the solution. At the end of a couple of hours I drained the tank and disposed of the pretty well spent acid by reacting it with limestone gravel.

                        To flush the tank I made up a right-angle spray nozzle with plumbing fittings and a 1/4" hose barb. That allowed the nozzle to be inserted into the tank and a high velocity stream sprayed into all corners. This was done with the tank at about a 30deg angle (drain plug hole down) and the fluid collected into a bucket. When the water ran clean and no more loose junk came out I repeated the acid treatment and flush. It took all of one Saturday and part of Sunday to get the tank to the point that no more rust could be seen and nothing was being flushed out of the tank.

                        The last steps were to use the acid etch from the Eastwood kit, flush with acetone, and apply the sealer. Before putting the sealer in the tank I removed the cross-over pipe and sealed those openings. And after the sealer had been applied and before it had a chance to harden I blew out those openings and the tubing that runs across the top of the tank with compressed air. After drying for a couple of days the tank was reassembled and reinstalled in the car.

                        Once sealed the inside of the tank had a fairly uniform white coating. I did see a few specks of matter that I wasn't able to flush from the tank, but those were well locked in place by the sealer.

                        Cleaning and sealing the tank is pretty labor intensive. But at a total cost of less than $80 it is a lot cheaper than a new tank (~$400 for an 87 model). Later model tanks are much cheaper and it may make more sense to just get a new tank.
                        The car makes it possible, but the driver makes it happen.
                        Jim Levie, Huntsville, AL


                          Engine Management Saga

                          The car was an early production (06/87) 325is. I replaced the 153 DME with a 173 well before this started happening and it ran fine for a couple of track weekends. When the problem first surfaced it might happen once in a while. But with time it progressed to happening a lot.

                          Around 5400-5800rpm the engine experienced a sudden and complete loss of power. It seemed to occur at higher rpm at the beginning of a track session, when the engine is relatively cool, and at lower rpm once everything is good and hot. From the driver's seat it feels as if the ignition was briefly switched off and there's no stumbling, misfires, or loss of power prior to the event. If I persist through the cut-off(s) the engine will pick back up and run to the redline.

                          I have noticed that the CEL will come on just before the event and when it happens the tach will drop a lot more would be appropriate for the loss of speed from coasting. On occasion I've seen it briefly go to zero. The CEL is so consistent with the loss of power that it could be used as a shift light. And the CEL extinguished as soon engine rpm was reduced by an upshift or by accelerating through the cut-off region. It didn’t appear to matter whether the critical rpm is reached at WOT or at partial throttle. Having to short shift at 5200-5300rpm on the track is a major irritant...

                          In an attempt to solve this problem (and fix other problems) I:

                          1) Replaced the O2 sensor (new OE part)
                          2) Swapped in a known good AFM
                          3) Swapped in a known good 173 DME
                          4) Replaced the injectors (new OE parts)
                          5) Replaced the crank position sensor (new OE part)
                          6) Replaced the TPS (new OE part)
                          7) Replaced the main & fuel pump relays (new OE parts)
                          8) Replaced the coil (new OE part)
                          9) Replaced ignition wires, cap, & rotor (new OE wires & parts)
                          10) Cleaned all grounds and primary power connections
                          11) Replaced intake manifold gaskets & all hoses and smoke tested the intake
                          12) Verified proper operation of the ECT sensor (and swapped sensors)
                          13) Proved there are no intake leaks in the brake booster
                          14) Replaced the oil filler cap and dipstick o-rings
                          15) Eliminated the evaporative control system
                          16) Acid cleaned & sealed the tank & replaced both pumps (new OE parts)
                          17) Replaced FPR (new OE part)
                          18) Checked C101 for corrosion
                          19) As of 10/28, replaced the alternator

                          With all of that done and other routine maintenance (timing belt, filters, valves adjusted, plugs, etc), the engine ran better than it probably has in quite some time. And I now have a nifty collection of good spares. But nothing I've done has had any affect on the problem.

                          I have proved that the used AFM and DME are good by installing them in another E30 and they behaved perfectly there.

                          The fault codes stored in the DME are 1251 and/or 1261. 1251 is an injector fault and 1261 is a fuel pump relay fault. The only thing I can think of to do at this point is to ohm out the wiring in the harness.


                          I ohmed out all power and ground connections to the DME, coil, and injectors. Nothing remarkable there. But in checking power connections I did find that there's about 4.5ohms of resistance to the hot side of the coil, which means the ignition switch isn't quite healthy. Just for grins, I bypassed the ignition switch to feed power directly to the coil and DME "Start" input, to no affect.

                          Now I'm thinking that the prime problem may be 1251 (injector fault). If that fault, and only that fault, happens after a single event I'm inclined to figure out a way to bypass that part of the harness (even though it ohms out) to see if that fixes it.


                          Now I know what it is. The car is possessed by demons. To fix it I need a young priest, an old priest, and a large jug of Bavarian Holy Water...

                          In trying to see if the injector fault code was repeatable I did several runs where I cleared the codes, duplicated the problem, and scanned the DME. The reported fault codes were completely random and different each time. Maybe the alternator is noisy?
                          As a next step I'm going to rig something up to allow in-car disconnect of the alternator and see if that changes anything.


                          Since I had an alternator that just needed new brushes, I swapped alternators after fixing the spare. That didn't eliminate the problem, but it may have moved the event higher in the rpm band. It was happening at about 6k and the CEL would come on a couple of hundred rpm below the event. More testing was needed to see if it really has moved

                          Now I only getting a 1262, which is an idle speed control fault and may be related to the CEL that occasionally comes on while the engine is idling or during a long down hill closed throttle run. But that code can also be set by a stall above 600rpm. So it might be related to this problem.

                          I'm running out of the possibilities. The only thing I can think of to do now is to ohm out all of the wires in the engine harness. But I don't understand why a problem there would be rpm sensitive and not also cause cause problems at other engine speeds.


                          I found the spec for the CPS air gap (1mm or.040") and discovered the CPS was a lot closer to the crank wheel than the spec calls for. I adjusted the gap, but that made the problem slightly worse. So it is looking more and more like a problem with the wiring harness and specifically the CPS signal wires. Perhaps there's some damage to that circuit or the CPS connector that is attenuating the signal. That would be consistent with it only occurring at high rpm and with the problem being worse when the air gap was opened up. I know the head needs freshening, but before I pull it I want to run a compression test and leak down test to see if more engine work is warranted. If I haven't found and fixed this problem by then I'm inclined to replace the engine harness while the head is off and it is easier to get to the harness where it runs under the intake (for grand problems, grand solutions).


                          I found other information that says that the air gap can be .012-.028. I re-adjusted the CPS, which made no difference at all. I see a pair of fairly consistent codes after an event (misfire on cyl 6 and injector failure on both banks). The first would be a coil or coil interface problem and the latter could be a wiring or injector interface issue. But then, both could be caused by a CPS or power fault. For grins, I tried disconnecting the cylinder ID connector and saw that the DME did register that failure. It had no affect on the problem, so it would appear that the signal is valid. Likewise for the engine temp input to the DME.

                          I pulled the boots on "interesting connectors" to look for corrosion, but haven't found anything suspicious. I noticed that when one of these events occur that the MPG gage drives to 40mpg concurrent with the tach drop. That implies that the DME is not supplying injector pulse width info to the cluster or spark.

                          I think I need to find out whether the CPS signal is going away, or whether power to the DME is being interrupted. I think the check needs to be done at the DME.


                          Power to the DME is good. I probed to wire from the code relay (ignition on signal) and the wire from the main relay (DME power) and saw normal system voltage at each. I monitored each wire with a test light (LED) while driving the car to repeat the problem. The light never flickered or dimmed during an event. Therefore I'd say power to the DME isn't an issue.


                          I think I saw a DC level appear on the CPS signal during an event. That could be as a result of chaffed wires in engine harness. It seems a stretch that both DME's would have that fault, so the harness is now my prime suspect.


                          I found what should be a good used harness, still wrapped around a 80k mile engine that was running great before the car it is in was rear ended. So I'm summoning the young priest, old priest, and a large jug of Bavarian holy water and swapping engines and the harness. I'm tired of screwing with this and I want to race the car at Roebling. The fresher engine should mean that I can defer the head rebuild and such and I suspect it'll make a bit more power. It will almost certainly burn less oil (a track weekend is 2-3 quarts).


                          Work has gotten in the way of picking up the engine and harness... But I know one more item that isn't the cause. I pulled the harmonic balancer to see if its rubber mount had failed. That could cause the problem, but the harmonic balancer looks fine. No signs of cracking or separation.


                          I finally picked up the new(er) engine and started prepping it for installation. While looking for an oil leak in the vicinity of the cooler (the leak was because the fitting was separating from the cooler) I saw that the harmonic balancer was wobbling around. For grins I swapped in the balancer from the new engine just to see what would happen. The wobble was less, but not eliminated (maybe bad front main bearings?) and that raised the cutout to around 5800rpm and made the problem less frequent. I'm onto something now...

                          Placing a web-cam and a headlight in the engine bay and running up to the problem area clearly showed the harmonic balancer wobbling around. More importantly I could see that the crank bolt was wobbling (worn bearings, most likely). At the point that the cut-out occurred the harmonic balancer was wobbling like crazy. I'm thinking that the wobble is disturbing the CPS signal to the point that the DME just gives up. I’ll see what happens when the new engine is in.


                          With a prodigious expenditure of effort I got the new engine & transmission installed in time to go to Barber for a NASA event. Setting the engine on the mounts at 9am Friday morning. Only to have the shifter break too late to be able to effect a repair in time. The good news is that the harmonic balancer and crank bolt run dead true. Ah well, I did have a good weekend instructing... Note to self, don't ever let an early 911 driver trail brake. Exciting things are gonna happen!


                          The newer engine seems to run great. I've flushed the cooling system as the car the engine came out of was an auto with a leaking tranny cooler and there was a good bit of oil in the cooling system. I've fixed the shifter and as soon as I check out the front driver side strut (the upper shock mount may be loose or worn) I'll see if it will run to the redline. I elected not to change the harness along with the engine on the premise that one should make one change at a time.


                          Cautious optimism abounds! I've done a good dozen runs to the redline in 1st, 2nd, & 3rd without once having an "incident". Sticking a pipe on the crank bolt with the old engine mounted on my engine stand, I could detect motion in the front main bearings! That could easily explain everything.


                          Okay the problem isn't completely solved, though I can live with it if it doesn't get worse. When trying to start on a cold engine, I have to force an immediate rev to above 2500rpm or it will die with the same sort of cut out and tach going to zero and it may experience one or more events before I see +2500rpm. It pretty much requires full throttle to accomplish that. Once I've satisfied that condition the engine idles perfectly.

                          On the track I see some events (at about 5500-5800rpm) until the engine is fully up to temperature, when they mostly vanish. Occasionally, once the engine is hot, I'll see a balk and tach drop on a downshift just before the clutch is engaged.

                          I can't think of any fault that would explain this, so I'm at a loss as to what to fiddle with. I suspect both have a related cause. I did try a third DME at the track, courtesy of another E30 owner, with no affect on the problem.


                          Raced at CMP. While the problem is still there, it hasn't gotten any worse. The first half-dozen laps, even if I warm up the engine, are a bit dicey. One of these events in a race environment in the wrong place can be "exciting" (hint; think massive trailing throttle oversteer).


                          I replaced the engine harness with the newer one (out of a 90 car). That required a bit of modification to match my car's configuration. I'll see how it behaves at Barber and RA.


                          Maybe the harness was the fix. The car ran fine for both events. But with the history on this I won't be surprised if the problem comes back.


                          Well, its back! The car ran great a CMP for three hours in the enduro and all through the weekends sessions. Then at RA it pitched a fit on Saturday in the sprint race and ran great for the enduro and on Sunday!


                          This is weird. All through this season the cutout problem has been more or less present. The engine may act up on one day, on all three days, nor not all. Sometimes the engine just cuts out and sometimes it acts like an early rev limiter. I'm out of ideas on how to fix it. Until I get an inspiration I guess I'll have to live with it. Depending on where it happens, racing the car when it is doing this can be challenging.

                          Since changing the harness I've swapped in different relays, CPS, AFM, DME, ECT, etc to no affect.


                          The 96 car was destroyed at RA in August (I had some help from a Miata driver). I've built a new car from an 88. Only the transmission, drive shaft, and engine harness were transferred over from the 87 car. I have a fresh race built engine in the car. I'm seeing the same problem as before. I installed an IQ3 in the 96 car just before it was wrecked and can see in the logs the tach signal go almost to zero for 0.2-0.3 seconds. Depending on which DME I have in the car I consistently see either a 1261 or a 1251. The problem is far worse now and can be duplicated on the street. Where before it was only happening above 5k it now occurs around 3k.

                          I have a spare analog input channel available and I plan to sample & log some of the DME inputs and outputs.


                          I logged data for the DME power & ground connections, coil/injector power, and fuel pump relay control/ground/output. I saw a decline in the voltage supply to the DME with increasing rpm. Cutting the shrink wrap off of the fusible link revealed a mass of white powder and a completely corroded link. I spliced that out and installed a 60A lug type fuse in the engine bay.

                          Coil/injector power and power to the fuel pump relay never varied. But coincident with the cutout and rpm drop the ground to the fuel pump relay would go away. That combination strongly suggests a loss of timing data to the DME. Now to come up with a way of logging the CPS signal.


                          I've got it! With a rented digital storage scope in the car, powered by a 1200w UPS, I can see the CPS waveform presented to the DME go wonky when an event occurs. Changing the CPS or the DME makes no difference. The wave form is generally smeared somewhat all the time. Only when it gets pretty nasty looking does the DME drop fuel relay ground and tach output. I think this means the harness is bad.

                          I had to repair the harness that came with this car. Some idiot "fixed" a C191 problem by splicing the wires. That meant having to cut them to get the harness off the engine. The loss from cutting out C191 and the additional loss from cutting out the splices left the harness too short. A classic case of what results from not fixing it right the first time. So I got another supposedly good used harness.

                          I got a harness from a wrecked 525i for free (there's little call for those). I got the engine side of C191 and enough wire to repair the harness. So now it is back to original configuration. I installed it in the car and could see a crisp waveform presented to the DME. Driving it on the street reveals no problems.

                          I surmise that the coax in the harness that routes the CPS data from the CPS connector to the DME has just degraded with time and heat. It is sort of interesting that the harnesses all appear to have the same problem. If I see this sort of thing again I'll cut the harness open and consider replacing the coax.


                          Since changing the harness the car the engine has run perfectly through dyno sessions and a bunch of race & track weekends. I declare this problem solved (prematurely as it turned out!).

                          The lesson here is that nothing beats proper diagnostics. If I'd used a digital storage scope to log data in the beginning I'd have prevented over a year's frustration and avoided lot of work and parts costs.

                          Last race of 2010

                          Well, the problem is back. Additionally I’ve lost data from the coolant temp sensor. That strongly suggests a failing harness. After going through three used harnesses I “bit the bullet” and purchased a brand new harness from BMW. That solved all of the problems until I was forced to quit racing at the end of 2014 for a medical condition. So the bottom line is that an engine harness can’t be depended on to last forever. A used harness is something of a crap shoot, but a new harness is sure to work even though it is a pricey solution. The heat and vibration cause the internals of a harness to degrade in time. The simple act of pulling and installing a used harness can be all it takes to push that harness over the edge.
                          Last edited by jlevie; 09-03-2015, 11:49 AM.
                          The car makes it possible, but the driver makes it happen.
                          Jim Levie, Huntsville, AL


                            Originally posted by jlevie View Post
                            Engine Management Saga

                            This thread is worth it's weight in gold!

                            Thank you for posting all of this up!