Announcement

Collapse
No announcement yet.

Double checking CSL tune conversion/flashing process for MSS54HP non-CSL

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

    Double checking CSL tune conversion/flashing process for MSS54HP non-CSL

    Could really use a sanity check to make sure I'm doing things right:

    This week I converted to CSL airbox and euro headers. I swapped to running Terra's modified CSL base tune with the airbox and everything ran great. But then after installing the headers, things started to go south pretty hard and I'm having serious problems with my primary O2 sensors (thread here: https://nam3forum.com/forums/forum/m...header-install).

    To determine whether my problem has anything to do with how I was flashing/modifying binaries/partials, I'm going to re-do the binary and partial from scratch and just want to double check the sequence of steps I should perform so that I can absolutely be sure that the problems I'm experiencing aren't due to user error on my part (won't be shocked to learn if they are, though).

    I want to run Terra's modified CSL binary on my stock MSS54HP so that I can still read error codes. Binary found here: https://github.com/saildot4k/MSS54-X...4HP%20to%20CSL

    Steps:

    1. I open MSSFlasher, file->open Fullbinary, and open Full 211323000401PD11_TERRA.bin , then click "Flash prg", wait until it's done.

    2. Flashing a fullbinary with MSSFlasher does not replace the "tune"/partial currently the DME. So in order to start with a fresh tune I also have to flash the tune from Terra's fullbinary. Open MSSFlasher, file-> open Fullbinary, and open Full 211323000401PD11_TERRA.bin , then check "use Fullbin" box underneath the "Flash tune" button, then click "Flash tune". Now after this step my DME is just running Terra's modified CSL full binary and the accompanying compatible base CSL tune. This base CSL tune must now be modified to work properly with my car's intake, cam, and header setup.

    3. I now need to read off my partial/tune so that I can make the appropriate modifications. I open MSSFlasher and click "Read tune", and then save the file.

    4. I open the partial I just read off of my DME using MSSFlasher in the ECUWORX tool. Incidentally: The ECUWORX tool classifies the DME version of the partial as "211323000401-PD31". Note that this conflicts with the name of the Terra fullbin file which says that it's 211323000401-PD11. I suspect that this was just a typo by whoever put Terra's file in the github repository, and that Terra's CSL binary is an 0401PD31 file just like the ECUWORX tool says. ( terra , R3Z3N , can you confirm this?)

    5. I use the ECUWORX tool to switch transmission to 6MT, IAT scaling to "Stock M3 IAT" and check the following options: (photo attached)

    -Disable SAP / Cat Heating Sequence
    -Disable SAP DTCs (SAP hardware removed)
    -Disable CSL intake flap DTCs
    -Disable "151" DTCS (For CSL Clones)
    -Disable Cat Protection (Disables enrichment)
    -Disable EGT Monitoring
    -Disable Cat Efficiency DTCs
    -Disable Rear O2 DTCs (Hardware Removed)

    then click Apply Changes, then Write Changes and save the file.

    Click image for larger version

Name:	Screen Shot 2020-06-07 at 1.02.58 PM.jpg
Views:	1652
Size:	249.4 KB
ID:	32107

    6. Since I don't have CSL cams, I need to modify the partial in TunerPro to have non-CSL cam offsets. I open TunerPro, select XDF->hw0401_V4_complete.xdf (found in the github repository here). Then file->open bin and open my partial from step 5. Then I find K_EVAN1_OFFSET and K_AVAN1_OFFSET in the list of parameters and change them from 3.0 and -2.0 respectively to -2.0 and 1.0 respectively (photo attached *edit: getting an error when I try to upload photo*). Hit save on both parameters. Then file-> Save Bin As...

    Click image for larger version

Name:	Screen Shot 2020-06-07 at 1.03.17 PM.jpg
Views:	1854
Size:	177.3 KB
ID:	32105

    7. Finally I take the tune/partial from step 6 and flash it in MSSFlasher.

    If I follow these steps exactly, I should be able to certify that any problems that I am experiencing with my primary O2 sensors are not tune related. Is that correct?

    Thanks a lot for anyone who is able to help me with this, and sorry if this is extremely remedial, but, it's becoming hard to pin down the exact cause of the problems I'm having, so, I need to be super clear about every aspect of what I'm doing to rule out possibilities.

    I've attached the final tune that is created from the above list of steps.
    Attached Files
    Last edited by ATB88; 06-07-2020, 12:11 PM.

    #2
    Process sounds fine. I'm running a very similar setup and tune (minus the catless headers) and haven't had any issues. I do, however, have a converted MSS54 that I flashed with a BDM programmer and the complete PD11 CSL binary instead of terra's modified file. I've attached my tune if it helps.

    Edit: If I'm not mistaken, the only difference between the PD11 and PD31 versions is that one of them has a speed limiter and the other doesn't. BMW offered the speed delimited one when you bought a CSL if you provided them with a valid race license. I think that the PD11 is the limited one, but it could very well be the other way around. Regardless, there shouldn't be any changes except for the speed limiter between the two.

    Also, I just checked the terra file and based on what's present at offset 0xBFB8, it appears to be version PD31.
    Attached Files
    Last edited by heinzboehmer; 06-07-2020, 01:52 PM.
    2002 Topasblau M3 - Coupe - 6MT - Karbonius CSL Airbox - MSS54HP Conversion - Kassel MAP - SSV1 - HJS - PCS Tune - Beisan - MK60 Swap - ZCP Rack - Nogaros - AutoSolutions - 996 Brembos - Slon - CMP - VinceBar - Koni - Eibach - BlueBus - Journal

    2012 Alpinweiss 128i - Coupe - 6AT - Slicktop - Manual Seats - Daily - Journal

    Comment


      #3
      Thanks, Heinz! I'll diff your tune with the one I was using before I did the cat delete (which has also now killed a set of O2 sensors), and see if there's anything weird happening.

      One weird thing already: your tune is indeed an 0401PD11, according to Martyn's tool. How did you get this partial / how exactly did you get it from Terra's fullbin? As I mentioned above, if I use MSSFlasher to flash the tune from Terra's fullbin onto my DME, then read it back off, Martyn's tool tells me that it's an 0401PD31 tune, not an 0401PD11 bin. This has me quite confused.

      Comment


        #4
        Originally posted by ATB88 View Post
        Thanks, Heinz! I'll diff your tune with the one I was using before I did the cat delete (which has also now killed a set of O2 sensors), and see if there's anything weird happening.

        One weird thing already: your tune is indeed an 0401PD11, according to Martyn's tool. How did you get this partial / how exactly did you get it from Terra's fullbin? As I mentioned above, if I use MSSFlasher to flash the tune from Terra's fullbin onto my DME, then read it back off, Martyn's tool tells me that it's an 0401PD31 tune, not an 0401PD11 bin. This has me quite confused.
        It seems like there's a typo in the filename for terra's file. See my edit above.

        Page 10 of this document describes how to identify the different versions: https://github.com/saildot4k/MSS54-X...dification.pdf
        2002 Topasblau M3 - Coupe - 6MT - Karbonius CSL Airbox - MSS54HP Conversion - Kassel MAP - SSV1 - HJS - PCS Tune - Beisan - MK60 Swap - ZCP Rack - Nogaros - AutoSolutions - 996 Brembos - Slon - CMP - VinceBar - Koni - Eibach - BlueBus - Journal

        2012 Alpinweiss 128i - Coupe - 6AT - Slicktop - Manual Seats - Daily - Journal

        Comment


          #5
          Originally posted by heinzboehmer View Post

          It seems like there's a typo in the filename for terra's file. See my edit above.

          Page 10 of this document describes how to identify the different versions: https://github.com/saildot4k/MSS54-X...dification.pdf
          Ah, okay, good, that answers that question.

          Comment


            #6
            I had a look at your file in your attachment and some of the stuff ticked aren't implemented or have been implemented incorrectly. As I have been saying the tool has issues.

            What's your email?

            Comment


              #7
              Originally posted by NZ_M3 View Post
              I had a look at your file in your attachment and some of the stuff ticked aren't implemented or have been implemented incorrectly. As I have been saying the tool has issues.

              What's your email?
              I've just applied the same changes as Thom (ATB88) using and I see nothing out of place.

              Click image for larger version

Name:	tool_changes_01.png
Views:	1544
Size:	239.5 KB
ID:	32267
              Click image for larger version

Name:	tool_changes_02.png
Views:	1808
Size:	4.2 KB
ID:	32270


              Attached Files

              Comment


                #8
                Here's my friendly observation based on the file you attached, and may help your situation:

                Secondary Air Injection_ON-BOARD DIAGNOSIS (K_SLS_OBD) - should be set to '0'
                DTC 19 Aux Air Pump Relay - should be patched (00 00 00 00 00 00 00 00 00 00 00 00 00 00)
                DTC 63 Aux Air Valve - should be patched (00 00 00 00 00 00 00 00 00 00 00 00 00 00)
                DTC 171 Aux Air Valve Jammed - should be patched (00 00 00 00 00 00 00 00 00 00 00 00 00 00)
                Fuel Injection_COLD START ENGINE TEMP (K_TI_TMOT_KS) - change to -40

                Lambda_CONTROLLER ENABLED (K_LA_FREIGABE) - change to 231 (this will set BIT's 3 & 4 "Post Cat 1 Enabled and Post Cat 2 Enabled" to OFF)
                Lambda_OBD ENABLED (K_LA_OBD_FREIGABE) - change to 130 (this will set BIT 2 "Post-Cat Sensor Diagnosis" to OFF)


                I would also use '00' across the board for all DTC patches, instead of doing '00' at the end. Especially if you've removed (unplugged) hardware.

                Comment


                  #9
                  Originally posted by SliM3 View Post
                  Here's my friendly observation based on the file you attached, and may help your situation:

                  Secondary Air Injection_ON-BOARD DIAGNOSIS (K_SLS_OBD) - should be set to '0'
                  DTC 19 Aux Air Pump Relay - should be patched (00 00 00 00 00 00 00 00 00 00 00 00 00 00)
                  DTC 63 Aux Air Valve - should be patched (00 00 00 00 00 00 00 00 00 00 00 00 00 00)
                  DTC 171 Aux Air Valve Jammed - should be patched (00 00 00 00 00 00 00 00 00 00 00 00 00 00)
                  Fuel Injection_COLD START ENGINE TEMP (K_TI_TMOT_KS) - change to -40

                  Lambda_CONTROLLER ENABLED (K_LA_FREIGABE) - change to 231 (this will set BIT's 3 & 4 "Post Cat 1 Enabled and Post Cat 2 Enabled" to OFF)
                  Lambda_OBD ENABLED (K_LA_OBD_FREIGABE) - change to 130 (this will set BIT 2 "Post-Cat Sensor Diagnosis" to OFF)


                  I would also use '00' across the board for all DTC patches, instead of doing '00' at the end. Especially if you've removed (unplugged) hardware.
                  Thanks for this, absolutely willing to try it. When you say to change the Lambda_.... values to 231 and 130, are you specifying in dec or hex?

                  Also a somewhat related side question: are tune/partial files that are meant for a 2500 DME variant (I guess that means authentic CSL or HP converted to CSL?) compatible with a 2300 DME variant (normal HP) running Terra or Paffy's CSL binaries? Suppose I wanted to try out someone else's tune that is a PD11 tune for a converted CSL DME with h-bridge (so, its version is 211325000401PD11, rather than the 211323000401PD31 that I'm running), could I just flash the tune with my current 23000401PD31 binary setup and expect it to work? Or would I need to start with Paffy's PD11 bin (211323000401PD11)? Or would it be totally incompatible with my DME since it's meant for a 2500 DME variant and mine's 2300? Not sure exactly which hw/sw differences are trivial and which are important, especially in light of the modified binaries.

                  Comment


                    #10
                    Thanks. Corrected the TERRAs filename to reflect the correct tune IE PD31.

                    Steps 1 and 2 can be combined as when flashing the full binary, your are flashing the "Operating System+Tune" , so when you flash ANY full binary, the tune is on the DME as well. Hence why Terra states to flash back YOUR CSL tune for whatever build your car has, then fix the value at TUNE/Partial offset 0xE002 from 00 to 01. Note if you search the 0401 XDF for that offset, it is set to read a WORD instead of a BYTE, AND the XDF is applying a conversion, AND I think it may be reading it as an integer (though 00 and 01 will still read the same as an integer/hex, but NOT with the applied conversion.) There is a reason Paffy wanted people familiar with altering Tunerpro in how one can view the data. When I was accepted, I didn't know that tunerpro could make an XDF (its painstaking by hand by the way) and I wrote my "proof" in plaintext and saved as .xdf. Smack my forehead. Now I know better, but not enough to program scripts to search for commonalities or change all XDFs to fix conversions or how data is viewed. I simply correct the xdf as I go and try my hardest to then correct all XDFs.

                    @ATB88: Yes the CSL conversion Full Binary and Original CSL DME use the same "mapping" IE offsets for the tunes, hence why 0401 is 0401 and 0301 is 0301. Paffy/Terra modified the OS to run the CSL tune on the non CSL HP DME.
                    Last edited by R3Z3N; 06-08-2020, 05:26 PM.
                    TunerPro XDFs, DTCs, A2L, DIY Bench Flash Harness, Swap XDFs COMPREHENSIVE

                    Comment


                      #11
                      Originally posted by R3Z3N View Post
                      @ATB88: Yes the CSL conversion Full Binary and Original CSL DME use the same "mapping" IE offsets for the tunes, hence why 0401 is 0401 and 0301 is 0301. Paffy/Terra modified the OS to run the CSL tune on the non CSL HP DME.
                      To add on to this, terra's and paffy's files are 2300 because they have been modified to work with the regular HP bootsector. The bootsector can't be flashed with an OBD-II cable, which is why these modified files exist. However, the tune portion is the same as any other CSL tune.
                      2002 Topasblau M3 - Coupe - 6MT - Karbonius CSL Airbox - MSS54HP Conversion - Kassel MAP - SSV1 - HJS - PCS Tune - Beisan - MK60 Swap - ZCP Rack - Nogaros - AutoSolutions - 996 Brembos - Slon - CMP - VinceBar - Koni - Eibach - BlueBus - Journal

                      2012 Alpinweiss 128i - Coupe - 6AT - Slicktop - Manual Seats - Daily - Journal

                      Comment


                        #12
                        Originally posted by heinzboehmer View Post

                        To add on to this, terra's and paffy's files are 2300 because they have been modified to work with the regular HP bootsector. The bootsector can't be flashed with an OBD-II cable, which is why these modified files exist. However, the tune portion is the same as any other CSL tune.
                        Ah good, thanks both of you. So that means I should be able to flash any 0401 *tune* file I please while running either Terra's or Paffy's full binary. Huzzah!

                        Thanks for all of the clarifications, everyone. I hope they help anyone else who comes across them wondering the same things!

                        Comment


                          #13
                          Originally posted by ATB88 View Post

                          Thanks for this, absolutely willing to try it. When you say to change the Lambda_.... values to 231 and 130, are you specifying in dec or hex?
                          Yes, the values are decimal (231 = E7 hex) (130 = 82 hex).

                          When I convert DME's I typically use Terra's file, however, I stress that if the person/tuner has access to WINKFP to flash the complete CSL tune, which will populate the AIF field that's specific to their vehicle.

                          Comment


                            #14
                            So, I'm now running Terra's binary (211323000401PD31) and I want to load a tune file that's 211325000401PD31. MSSFlasher won't let me because the version doesn't match Terra's binary. I know that the tune's version information is stored at 0xBFB8. If I look at it in a hex editor I actually see the version number string repeated three times in a row, at 0xBFB8, 0xBFC8 and 0xBFD8.

                            If I just modify all three to read 211323000401PD31 rather than 211325000401PD11 can I expect MSSFlasher to flash it and also expect everything to run properly? Or is it more complicated than that and doing this is a bad idea?
                            Last edited by ATB88; 06-10-2020, 03:59 PM.

                            Comment


                              #15
                              ^It can't hurt to try. Or just pull the partial from Terra's and copy YOUR values back as you can compare up to 4? binaries in TunerPro. However there is no easy way to compare values in TunerPro between versions IE 0301 and 0401.
                              TunerPro XDFs, DTCs, A2L, DIY Bench Flash Harness, Swap XDFs COMPREHENSIVE

                              Comment

                              Working...
                              X