Announcement

Collapse
No announcement yet.

S54 only starts when fuel pump fuse is pulled - did I code it wrong?

Collapse
X
 
  • Filter
  • Time
  • Show
Clear All
new posts

    S54 only starts when fuel pump fuse is pulled - did I code it wrong?

    Hello I am in the process of an S54 swap on E36 and am running in to an odd problem. Let me know if this is in the wrong section.

    My setup:

    1996 M3

    Z3M harness

    MSS54HP running 2701 map, swap tuned using the E30 swap XDFs. DTCs etc coded out

    Currently the car is wired for the CSL & Map sensor, but I am trying to get the car to start/idle using the stock MSS54HP tune (without a MAF)

    E46 M3 Fuel Pump Relay

    E46 M3 fuel pump

    E46 M3 fuel filter

    E46 M3 Fuel Pressure Regulator

    Condor Speedshop Adapter harness

    5speed

    Z3M cluster clone

    I used MSS54Flasher to flash the tune on the DME.

    the E36 is previously wired with dual fuel pumps. I replaced one of the pumps with an E46 M3 one, still in the E36 sender.



    I have checked continuity at many of the wires/pins and they all seem to be wired correctly, but I have not tried checking voltages at different pins, etc... The issue I am running into is this:

    When I key the car on, the fuel pump doesnt seem to prime, instead it turns on and stays on. When I try to start, the car wants to start, it will fire once or twice, but it will not start. Eventually it floods.

    I found that when I pull out the 15A fuse to the fuel pump, the car will start up just fine and run until the fuel in the lines runs out.

    I don't find any trouble codes when I try scanning it. The car sounds great and idles fine when it does start (it stays running for maybe 15-30 seconds).

    I am wondering if
    • Something could be wired wrong? (I checked continuity at almost every circuit/relay I could find pertaining to the fuel pump/pump relay)
    • My DME is defective? Is there a way to verify if the DME is behaving correctly? I can pull up the DME in INPA but I cannot get it to connect to BMWLogger except for pulling troublecodes
    • Something is wrong with the map? I believe I pulled 2701JD679 from the MSS54HP DME, and I started with a fresh copy of this tune from the Github Repository, ran it through the swap XDFs, and tried running it.


    I will note that I originally had the Terra CSL full binary flashed on my DME. With this flash, I only used the ECUWorx binary modification tool to "delete" the EWS. I ran in to the same problem with this method, where the engine would crank and crank and never start.



    Can anyone recommend some troubleshooting tips? I don't want to throw darts at a board here, and I do not want to throw money at replacing parts.

    What would cause a car not start while the fuel pump is running?

    Should the fuel pump be on all the time when the key is in position 2?



    Any ideas would be really helpful I am running out of things to try.

    #2
    First question: are you using the Fuel Pump Relay or Fuel Pump EKP module? They are wired different (though this is for the E30, pin 2 of relay or ekp module will go to whatever the E36 chassis uses):

    Click here: Look at the EKP and Fuel Pump wiring options, pay attention to where pin 2 goes for E36

    It may not be a wiring issue as the EKP module is ran at 100% anyway, but the coding should not be different either way.

    UPDATE: I believe for you Pin 2 on EKP or Relay goes to Pin 13 on your X20 if you are using that.

    Yes, that the fuel pump should prime for a couple seconds in the accessory position before you turn the starter.
    Last edited by R3Z3N; 06-29-2021, 02:06 PM.
    TunerPro XDFs, DTCs, A2L, DIY Bench Flash Harness, Swap XDFs COMPREHENSIVE

    Comment


      #3
      Hi R3Z3N, I remember seeing EKP MODULE printed on the "relay". Do you think that could be it?

      The adapter harness + documentation I got did say "E46 M3 fuel pump relay" and NOT EKP module... I may have missed the EKP Module vs Fuel Pump Relay differentiation, I assumed they were the same thing?

      I actually used your Tunerpro XDF / video for the swap coding/DTC coding.

      So after starting the car with the fuel pump fuse pulled, if I try to put the fuel pump fuse back, it starts running like garbage. It seems to me like it might be trying to dump too much fuel or something...


      This is what I used:
      https://www.fcpeuro.com/products/bmw...m3-61357892976

      it gets signal from the MSS54 pin 11 on x60002..
      Last edited by Joshb556; 06-29-2021, 03:02 PM.

      Comment


        #4
        You are currently using the EKP Module. Which wiring adapter did you buy/from whom? You should easily be able to tell how they wired it depending on how many wires come out of the relay base: 4 wires for the standard relay, 5 wires for the EKP Module. Therefore if you have the EKP module currently installed, but only 4 wires coming out of the relay base, then you would need the standard relay.

        Many of the wiring swap sellers copied Andrew325is (from portland? on r3vlimited) but did not understand all the potential wiring differences, especially for the E30. Yours is similar to a late model e30, but I am unfamiliar as to exactly how similar with your X20 plug. In fact, you don't have to use the X20 at all! They could be cut out and use an FIA $400 coupling....there is no single way to wire this up, there is just a single way the car expects the signals to be wired if that makes sense.

        Anyway, hope its as simple as needing the relay instead! It sure is cheaper than the EKP module, though they rarely fail.

        The only difference in coding is if your tune (the last four of 2701JD679) (the first 4 are where the data lies in the chips essentially the order of the data), if the tune expects an EKP, then you can disable the DTC if using the relay instead, and vice versa if there is a DTC for the relay.
        Last edited by R3Z3N; 06-30-2021, 11:13 AM.
        TunerPro XDFs, DTCs, A2L, DIY Bench Flash Harness, Swap XDFs COMPREHENSIVE

        Comment


          #5
          Originally posted by Joshb556 View Post
          it gets signal from the MSS54 pin 11 on x60002..
          So by the way this is a poor way to describe wiring. It would be better to write " To the MSS54 X60002 pin 11 to X6021 pin 1 to x60002 pin 11." Connector designation first, pin second and if desired, wiring coloring 3rd.

          For Engine swapped cars it can be a little more complicated as you are joining one chassis to another's when reading the wiring diagrams so for that it might be X20 pin x (e36) to X60002 pin x (E46 M3).

          This is how it should be wired stock. The X6021 is on both Z3M and E46 M3 trans wiring harnesses, but is something that the wiring harness adapter maker needs to add to the engine side for you, though it could be bypassed and wired direct the X60002, but that would mean the wiring maker would need the stock wiring as well which makes no sense. This only makes sense if you are looking to redo most wiring from scratch to simplify and clean up, usually in the process using better connections that are more robust for motorsport.
          Last edited by R3Z3N; 07-06-2021, 10:34 PM.
          TunerPro XDFs, DTCs, A2L, DIY Bench Flash Harness, Swap XDFs COMPREHENSIVE

          Comment


            #6
            R3Z3N, thank you for the troubleshooting, and advice. I will ltry to be more concise in my pin/wiring descriptions.

            My problem was, infact, a wiring issue. The wire "Various sensor grounds" to MSS54 X60003 pin 25 was not connected completely to x60003 and wasn't making contact with the DME.

            I fixed that, and now get the fuel pump to prime correctly, I also get the car to "start". However, at this point it starts and dies immediately, unless I keep the throttle open with the accelerator.

            What I am doing may not be completely correct, I have the intake manifold off, and the MAF unplugged. The 'air-rail' is connected to the IAC (the way it should be). The IAC intake (the part that connects to the intake manifold) is open to the air. I cleaned the IAC. I have plugged up the brake vacuum line -> air rail too. I also covered the port on the valve cover that is piped from the intake manifold (pcv?). I don't think there are any vacuum leaks.

            I am assuming the car should still start in theory even if it has the MAF unplugged. I am wondering now if it's just the way I am set up that it's dying and won't stay idle, or maybe if the DME needs to 'learn'?

            I have some DTC relating to the cam sensors (intake and exhaust bank 1, 2?), but I'm not sure if they are bad since they were working. I ordered new ones just incase. I also did the VANOS, and was able to confirm it was timed correctly. New solenoid from beisan etc...

            I am wondering if I can just start it and keep it running for the DME to 'learn'? Or if I should just try a different tune?


            Ultimately, I want to put the CSL tune on this car, since that is what it is wired for (MAP sensor & IAT). I just wanted to use this stock swap tune to start it, since it seems to be a known working one

            Comment


              #7
              Update and solution:

              Problem 1: As mentioned above, x60003 pin 25 connector contact (various sensor grounds * very important *) was not seated well in the connector and caused the sensors associated with it to not have a good ground to DME. This was causing, among other things, the fuel pump to stay on, and the engine to flood.
              Problem 2: Car would start and still immediately die after fixing above issue, but differently. It wasn't flooding, more like being choked. Turns out in my troubleshooting from problem 1, when I removed the IAC to clean it, I put it back upside down.

              The car now starts, and idles reliably. I can move on to finishing the swap.

              Thanks R3Z3N for providing the support and resources to allow people like me to attempt the swap and learn about these cars/engines. The GitHub and YouTube videos are a godsend.

              Another question, do you have any suggestions for doing swap coding/DTC for the CSL tunes? The XDF 'function names'(?) are in German, and the swap XDFs are for HP / nonCSL partials.

              I have tried going through comparing the changed fields between the two partials one by one (swap tuned modified HP partial & CSL partial) using the compare feature in tunerPro, but I'm unsure if it is safe to do.

              Thanks again!

              Comment


                #8
                Glad you got it working! Sorry had not logged in prior to seeing your last 2 responses, but alas, you got it!

                As far as the swap XDFs, it would be easy to make one for the common CSL 0401 though it does take time. I think easiest would be to open 2 instances of Tunerpro and load any swap xdf, and in the other instance your binary and 0401 xdf. From there look for the german name in the swap xdf and find it in the 0401 xdf. Does that make sense?

                To make them, this is similar to what I did, expect I was copying and pasting into a fresh XDF. Then I made sure the XDF was correct for the versions I listed in the xdf file name. This is why some variants are not included, especially as it is just easier to flash a full binary for one that is supported in that xdf.

                Does that make sense? I might do a 0401 swap xdf.....but don't count on it. I think it wise that someone converting to CSL has a little more know how than the rest of the community as there is even less support out there for it for the common shop/layman. When I started, and was invited to TAPs secret google group, I had to "write" my own xdf. Little did I know that Tunerpro made them and I wrote it by hand, and I know very little about XML (pretty much what an XDF is) syntax. I knew nothing about coding, and I could barely read an ETM, but I did understand hex a touch from "save hacking" games by searching for differences, as well as a touch of Linux. I am just a computer repair/network tech that figures stuff out when I need it. Those that created/named the BASIC/COMPLETE xdfs such as TAP, SLIM, Terra, Paffy and OLZA were the true heroes of the project. There were many more involved, sorry if I missed you. It was with Paffy's PDF that is on github where it clicked as to what we are doing.

                Remember, the XDF is just a map of the world, such as where, how big, and where the X/Y axis are, along with a conversion that might make sense in the physical real such as Celcius or Fahrenheit . Learn what Tunerpro is providing you, simply an easy way to visualize information. From there you should be able to take my swap xdf and make one for 0401 especially when you realize that the value is most likely in a different location (which you most likely know from the COMPLETE 0401 XDF, and may or may not still be a BYTE or WORD, again which the PDF explains. YOU have to think if that information you are viewing is correct.

                To answer your question about the compare tool: it sounds like you still need to understand the differences in binaries and what an XDF is. The compare tool for the majority of people will ONLY be good for comparing like versions IE 0401PD1D to 0401PD3D. Remember 0401 is the version. PD3D is the tune. All 0401 information will be in the same location, hence why a 0401 XDF is needed but will not necessarily work with 0301. Some information may be in the same location, but not all will.

                The easiest way to compare versions IE 0401 to 0301 would be to open 2 instances of tuner pro with the appropriate 0301 XDF AND Partial BIN, and another of 0401 XDF AND Partial bin, and in both instances open the same scalers/flags etc. There is not a better way in TunerPro to compare versions.
                Last edited by R3Z3N; 07-06-2021, 10:45 PM.
                TunerPro XDFs, DTCs, A2L, DIY Bench Flash Harness, Swap XDFs COMPREHENSIVE

                Comment


                  #9
                  Originally posted by R3Z3N View Post
                  Glad you got it working! Sorry had not logged in prior to seeing your last 2 responses, but alas, you got it!

                  As far as the swap XDFs, it would be easy to make one for the common CSL 0401 though it does take time. I think easiest would be to open 2 instances of Tunerpro and load any swap xdf, and in the other instance your binary and 0401 xdf. From there look for the german name in the swap xdf and find it in the 0401 xdf. Does that make sense?

                  To make them, this is similar to what I did, expect I was copying and pasting into a fresh XDF. Then I made sure the XDF was correct for the versions I listed in the xdf file name. This is why some variants are not included, especially as it is just easier to flash a full binary for one that is supported in that xdf.

                  Does that make sense? I might do a 0401 swap xdf.....but don't count on it. I think it wise that someone converting to CSL has a little more know how than the rest of the community as there is even less support out there for it for the common shop/layman. When I started, and was invited to TAPs secret google group, I had to "write" my own xdf. Little did I know that Tunerpro made them and I wrote it by hand, and I know very little about XML (pretty much what an XDF is) syntax. I knew nothing about coding, and I could barely read an ETM, but I did understand hex a touch from "save hacking" games by searching for differences, as well as a touch of Linux. I am just a computer repair/network tech that figures stuff out when I need it. Those that created/named the BASIC/COMPLETE xdfs such as TAP, SLIM, Terra, Paffy and OLZA were the true heroes of the project. There were many more involved, sorry if I missed you. It was with Paffy's PDF that is on github where it clicked as to what we are doing.

                  Remember, the XDF is just a map of the world, such as where, how big, and where the X/Y axis are, along with a conversion that might make sense in the physical real such as Celcius or Fahrenheit . Learn what Tunerpro is providing you, simply an easy way to visualize information. From there you should be able to take my swap xdf and make one for 0401 especially when you realize that the value is most likely in a different location (which you most likely know from the COMPLETE 0401 XDF, and may or may not still be a BYTE or WORD, again which the PDF explains. YOU have to think if that information you are viewing is correct.

                  To answer your question about the compare tool: it sounds like you still need to understand the differences in binaries and what an XDF is. The compare tool for the majority of people will ONLY be good for comparing like versions IE 0401PD1D to 0401PD3D. Remember 0401 is the version. PD3D is the tune. All 0401 information will be in the same location, hence why a 0401 XDF is needed but will not necessarily work with 0301. Some information may be in the same location, but not all will.

                  The easiest way to compare versions IE 0401 to 0301 would be to open 2 instances of tuner pro with the appropriate 0301 XDF AND Partial BIN, and another of 0401 XDF AND Partial bin, and in both instances open the same scalers/flags etc. There is not a better way in TunerPro to compare versions.

                  Hi R3Z3N, That is exactly waht I did. I am glad that is a viable method. I think I may have described it incorrectly. I just compared an unchanged binary (non CSL) to one that I modified using the swap XDF and looked at the german name of the field that was changed (like you described). Then I used the list of fields/values and looked them up on a CSL map using the appropriate XDF. I was just wondering if this was a correct method.

                  Thanks again for the help, I'll post results. Right now its running and can drive up and down the driveway (I have to bleed the clutch) and it is running off what I believe (hope) is the emergency alpha-N tune. I will be preparing a CSL map using the above method and hopefully it will be ready to rip.

                  Regards,

                  Joshua

                  Comment

                  Working...
                  X