Copied and pasted from a document I got off the old forum. Author unknown
---
Flashing your SMG Module with the CSL Software
Disclaimer: This is a fairly invasive procedure. The flashing process takes 15-30 minutes, and if interrupted, your SMG module will essentially be bricked. Depending on what point it fails at recovery may be impossible. Perform this procedure at your own risk; I am not responsible for any damage that may result.
Forward: This guide assumes you already installed and updated (if necessary) the “BMW Standard Tools” suite of software. This guide also assumes that you have already tested your interface and it was found to be functional.
You will need the daten files for E46, which you can find on the internet fairly easily
The purpose of this guide is to describe in detail the process one should follow in order to flash a module with different/newer software. While the procedure is fairly generic and can be used for several chassis and modules, this guide will describe the procedure for flashing CSL software onto a standard SMG2 module. Make modifications as necessary for other modules
Requirements:
- An E46 M3 equipped with the SMG2 Transmission
- BMW Standard Tools 2.5.0 or later (Should come with WinKFP 5.1.6 or newer)
- Access to E46 data files (I recommend Ista/P V37 or later)
- Some sort power supply that can stably supply 13-14V at 10A
Unlike coding with NCS Expert, reflashing a module with WinKFP takes quite a bit of time and consumes quite a bit of power. A failure is almost guaranteed if you don’t use a good power supply. Make sure it isn’t one that’ll automatically turn off.
Setting up WinKFP:
Before we can even think about flashing any modules, we have to load all the data files and configure
WinKFP.
1. Extract the SP-Daten-E46.ZIP file somewhere and note the location
2. Start WinKFP
3. Click Import/Export - > Import -> Assembly Line Data
4. Browse to the extracted SP-Daten-E46 folder and select the “DATA” folder. Hit okay and wait a
few minutes for the data to import
5. Click “Configuration” and make sure it looks like the following picture:
6. Save the configuration and quit WinKFP
7. Browse to the extracted SP-Daten-E46 folder.
a. Copy the contents of the “ecu” folder to C:\EDIABAS\Ecu
b. Copy the contents of the “sgdat” folder to C:\EC-APPS\NFS\SGDAT
c. Copy the contents of the "gdaten" folder found in the "data" folder to C:\EC-APPS\NFS\DATA\GDATEN
8. WinKFP should be set up now. Try launching the program. If you get an error, you either missed
a step or are using a version of WinKFP earlier than 5.1.6 (which are known to have several
bugs).
Flashing the CSL Module:
Now that WinKFP is setup let’s flash the module
1. Hook up your car to the power supply and turn it on. Put the key in position 2.
a. Try to keep the voltage between 13-14V. If it goes below 12.5V or above 14.5V, the flashing process could fail and result in a bricked module.
2. Start WinKFP and click “Comfort Mode”.
3. Click “Enter ZUSB” and enter “7843255” – you should get a screen like this. Hit okay.
4. Click Enter VIN and enter your full 17 digit VIN.
5. Hit “Done”. You should now see the following options
6. Press program. WinKFP will give you a message about having X number of flashes available – hit
okay to that prompt
7. After the flash gets to 100% you will get another prompt as if the flash is restarting – accept that
prompt again. It will look like the flash is starting over, but this time it’ll go much faster. After
this one completes your flash will be done.
8. Turn off the car. Wait about 5 minutes, put it in position 2 again. Using DIS or INPA clear any
codes that may be stored in any modules.
9. Turn off and wait a few minutes again if necessary (if the transmission error light is still on)
10. Start the car and enjoy your improved shifts! You may need to run the SMG adaption
procedures
- DME Changes -
Original authors i believe were p0lar and terraphantm (apologies if that's wrong)
The following assumes you have a tool that can read and write the partial tune file to the DME (e.g. bmwflash) and an appropriate cable
Once you have your bin file from the car, make the following changes with a hex editor
CSL Rev Matching
using a hex editor, find this string in the binary
08 06 0A 14 1E 28 32 3C 5A 64 26 32 58 71 8A A3
highlight that string, and the next 0x314 (788)bytes and replace the entire section with the following 0x324 (804) bytes
08 06 0A 14 1E 28 32 3C 5A 64 26 32 58 71 8A A3
01 02 03 05 05 06 08 08 02 03 03 05 05 06 08 08
03 04 04 05 05 06 09 08 03 04 05 06 06 07 09 09
04 05 06 07 08 09 0A 0A 05 06 07 08 09 09 0A 0B
08 06 0A 14 1E 28 32 3C 5A 64 26 32 55 8A 96 A3
02 05 05 06 07 08 09 0A 04 06 06 07 07 08 09 0A
06 06 08 09 09 0A 0A 0A 08 08 09 09 0A 0A 0B 0B
08 08 0A 0A 0A 0B 0B 0D 09 0A 0A 0A 0B 0B 0B 0E
08 06 0A 14 1E 28 32 3C 50 64 19 37 55 69 82 A3
01 01 01 02 02 02 03 03 01 02 02 02 02 03 03 03
03 02 02 02 03 03 03 04 03 03 02 03 03 04 04 05
03 03 03 03 03 04 05 05 03 04 04 04 04 04 05 05
08 06 0A 19 28 37 46 50 5A 64 19 37 55 69 82 A3
03 04 04 06 07 06 06 06 05 07 07 08 09 08 07 07
08 08 0A 0A 0B 0A 0A 0A 0A 0A 0A 0B 0B 0B 0A 0A
0A 0A 0B 0B 0B 0B 0B 0C 0A 0A 0B 0B 0B 0B 0C 0C
04 06 0A 1E 3C 64 26 32 58 71 8A A3 03 04 06 08
03 04 07 08 05 06 07 07 05 06 07 07 05 06 07 06
05 06 07 06 04 06 0A 1E 3C 64 26 32 58 71 8A A3
08 09 0A 0B 08 09 09 0A 08 08 09 09 07 08 08 09
07 07 08 08 07 07 07 08 04 06 0A 1E 3C 64 26 32
58 71 8A A3 02 03 03 03 02 03 03 03 02 03 03 04
03 03 04 05 03 04 05 07 04 05 07 08 04 06 0A 1E
3C 64 26 32 58 71 8A A3 06 07 08 08 07 08 08 09
09 08 09 0A 09 09 0A 0A 09 0A 0A 0B 0A 0A 0B 0C
04 06 00 05 1E 64 19 37 55 73 91 AF 06 04 02 01
08 06 03 02 08 06 04 03 0A 08 06 04 0A 08 06 04
0C 0A 08 06 04 06 00 05 1E 64 19 37 55 73 91 AF
08 06 05 03 0A 08 07 04 0B 0A 09 06 0B 0B 0A 08
0C 0C 0B 0A 0C 0C 0C 0B 0C 05 01 02 03 04 05 06
07 08 09 0A 0B 0C 01 02 03 04 05 79 58 45 36 2E
27 21 1C 18 18 18 0A 6D 4F 3E 2F 27 21 1C 18 18
18 18 0A 65 48 38 29 21 1C 18 17 16 15 14 0F 5E
42 32 24 1D 18 15 13 12 11 10 10 57 3C 2D 20 1A
16 14 13 12 12 12 12 00 0C 05 01 02 03 04 05 06
07 08 09 0A 0B 0C 01 02 03 04 05 6E 5A 4B 41 37
2D 23 1A 14 0E 0B 05 69 55 46 3C 32 2D 23 18 10
0A 09 08 69 50 41 37 2F 2D 21 18 14 0E 0B 0A 64
4B 3C 37 2F 2D 21 18 12 10 0D 0C 64 4B 3C 37 2F
2D 21 18 12 10 0F 0E 00 06 06 04 06 08 0A 0B 0C
03 05 07 09 0A 0B 04 04 05 07 08 0A 04 04 06 07
08 0A 04 05 06 07 08 0B 04 06 07 07 09 0D 05 06
07 0C 0E 0E 06 07 08 0C 0F 0F 04 06 0A 19 28 3C
19 32 4B 64 7D 96 1A 40 5A 80 00 1A 33 66 00 1A
33 4D 00 1A 33 4D 00 1A 33 4D 00 1A 33 4D 04 06
0A 19 28 3C 19 32 4B 64 7D 96 1A 40 5A 80 00 0D
24 66 00 0D 24 40 00 0D 24 40 00 0D 24 40 00 0D
24 40 03 03 00 64 03 E8 07 D0 00 00 01 2C 04 B0
01 F4 02 58 03 20 03 20 03 E8 04 B0 06 A4 07 D0
09 C4 03 03 14 55 5A 01 03 06 09 12 17 0A 14 1B
0D 19 1E 00
To know if you've reached the end of the subsection, you should see a sea of 'FF's in an unused region of the binary starting at the end boundary of those bytes.
Ensure your final byte-count is correct, 0x8000 or 0x10000 bytes (MSS54 or MSS54HP respectively), correct your checksums and reflash.
There are more surgical ways to do this, but this will blanket-cover all the relevant maps for those who know how to make bit-for-bit modifications to their DME binaries. These came directly from the 211323000401 CSL DME binary.
Engine Torque Maps
To incorporate the CSL parameters search for the following hex string:
Code:
03 00 26
In 32 bit files it should fall right around 0x1C-- or thereabouts; For 64 bit it's around 0x2B--
Overwrite the existing hex with:
Code:
03 00 26 4B 96 01 33 40
Correct checksum and re-flash.
---
Flashing your SMG Module with the CSL Software
Disclaimer: This is a fairly invasive procedure. The flashing process takes 15-30 minutes, and if interrupted, your SMG module will essentially be bricked. Depending on what point it fails at recovery may be impossible. Perform this procedure at your own risk; I am not responsible for any damage that may result.
Forward: This guide assumes you already installed and updated (if necessary) the “BMW Standard Tools” suite of software. This guide also assumes that you have already tested your interface and it was found to be functional.
You will need the daten files for E46, which you can find on the internet fairly easily
The purpose of this guide is to describe in detail the process one should follow in order to flash a module with different/newer software. While the procedure is fairly generic and can be used for several chassis and modules, this guide will describe the procedure for flashing CSL software onto a standard SMG2 module. Make modifications as necessary for other modules
Requirements:
- An E46 M3 equipped with the SMG2 Transmission
- BMW Standard Tools 2.5.0 or later (Should come with WinKFP 5.1.6 or newer)
- Access to E46 data files (I recommend Ista/P V37 or later)
- Some sort power supply that can stably supply 13-14V at 10A
Unlike coding with NCS Expert, reflashing a module with WinKFP takes quite a bit of time and consumes quite a bit of power. A failure is almost guaranteed if you don’t use a good power supply. Make sure it isn’t one that’ll automatically turn off.
Setting up WinKFP:
Before we can even think about flashing any modules, we have to load all the data files and configure
WinKFP.
1. Extract the SP-Daten-E46.ZIP file somewhere and note the location
2. Start WinKFP
3. Click Import/Export - > Import -> Assembly Line Data
4. Browse to the extracted SP-Daten-E46 folder and select the “DATA” folder. Hit okay and wait a
few minutes for the data to import
5. Click “Configuration” and make sure it looks like the following picture:
6. Save the configuration and quit WinKFP
7. Browse to the extracted SP-Daten-E46 folder.
a. Copy the contents of the “ecu” folder to C:\EDIABAS\Ecu
b. Copy the contents of the “sgdat” folder to C:\EC-APPS\NFS\SGDAT
c. Copy the contents of the "gdaten" folder found in the "data" folder to C:\EC-APPS\NFS\DATA\GDATEN
8. WinKFP should be set up now. Try launching the program. If you get an error, you either missed
a step or are using a version of WinKFP earlier than 5.1.6 (which are known to have several
bugs).
Flashing the CSL Module:
Now that WinKFP is setup let’s flash the module
1. Hook up your car to the power supply and turn it on. Put the key in position 2.
a. Try to keep the voltage between 13-14V. If it goes below 12.5V or above 14.5V, the flashing process could fail and result in a bricked module.
2. Start WinKFP and click “Comfort Mode”.
3. Click “Enter ZUSB” and enter “7843255” – you should get a screen like this. Hit okay.
4. Click Enter VIN and enter your full 17 digit VIN.
5. Hit “Done”. You should now see the following options
6. Press program. WinKFP will give you a message about having X number of flashes available – hit
okay to that prompt
7. After the flash gets to 100% you will get another prompt as if the flash is restarting – accept that
prompt again. It will look like the flash is starting over, but this time it’ll go much faster. After
this one completes your flash will be done.
8. Turn off the car. Wait about 5 minutes, put it in position 2 again. Using DIS or INPA clear any
codes that may be stored in any modules.
9. Turn off and wait a few minutes again if necessary (if the transmission error light is still on)
10. Start the car and enjoy your improved shifts! You may need to run the SMG adaption
procedures
- DME Changes -
Original authors i believe were p0lar and terraphantm (apologies if that's wrong)
The following assumes you have a tool that can read and write the partial tune file to the DME (e.g. bmwflash) and an appropriate cable
Once you have your bin file from the car, make the following changes with a hex editor
CSL Rev Matching
using a hex editor, find this string in the binary
08 06 0A 14 1E 28 32 3C 5A 64 26 32 58 71 8A A3
highlight that string, and the next 0x314 (788)bytes and replace the entire section with the following 0x324 (804) bytes
08 06 0A 14 1E 28 32 3C 5A 64 26 32 58 71 8A A3
01 02 03 05 05 06 08 08 02 03 03 05 05 06 08 08
03 04 04 05 05 06 09 08 03 04 05 06 06 07 09 09
04 05 06 07 08 09 0A 0A 05 06 07 08 09 09 0A 0B
08 06 0A 14 1E 28 32 3C 5A 64 26 32 55 8A 96 A3
02 05 05 06 07 08 09 0A 04 06 06 07 07 08 09 0A
06 06 08 09 09 0A 0A 0A 08 08 09 09 0A 0A 0B 0B
08 08 0A 0A 0A 0B 0B 0D 09 0A 0A 0A 0B 0B 0B 0E
08 06 0A 14 1E 28 32 3C 50 64 19 37 55 69 82 A3
01 01 01 02 02 02 03 03 01 02 02 02 02 03 03 03
03 02 02 02 03 03 03 04 03 03 02 03 03 04 04 05
03 03 03 03 03 04 05 05 03 04 04 04 04 04 05 05
08 06 0A 19 28 37 46 50 5A 64 19 37 55 69 82 A3
03 04 04 06 07 06 06 06 05 07 07 08 09 08 07 07
08 08 0A 0A 0B 0A 0A 0A 0A 0A 0A 0B 0B 0B 0A 0A
0A 0A 0B 0B 0B 0B 0B 0C 0A 0A 0B 0B 0B 0B 0C 0C
04 06 0A 1E 3C 64 26 32 58 71 8A A3 03 04 06 08
03 04 07 08 05 06 07 07 05 06 07 07 05 06 07 06
05 06 07 06 04 06 0A 1E 3C 64 26 32 58 71 8A A3
08 09 0A 0B 08 09 09 0A 08 08 09 09 07 08 08 09
07 07 08 08 07 07 07 08 04 06 0A 1E 3C 64 26 32
58 71 8A A3 02 03 03 03 02 03 03 03 02 03 03 04
03 03 04 05 03 04 05 07 04 05 07 08 04 06 0A 1E
3C 64 26 32 58 71 8A A3 06 07 08 08 07 08 08 09
09 08 09 0A 09 09 0A 0A 09 0A 0A 0B 0A 0A 0B 0C
04 06 00 05 1E 64 19 37 55 73 91 AF 06 04 02 01
08 06 03 02 08 06 04 03 0A 08 06 04 0A 08 06 04
0C 0A 08 06 04 06 00 05 1E 64 19 37 55 73 91 AF
08 06 05 03 0A 08 07 04 0B 0A 09 06 0B 0B 0A 08
0C 0C 0B 0A 0C 0C 0C 0B 0C 05 01 02 03 04 05 06
07 08 09 0A 0B 0C 01 02 03 04 05 79 58 45 36 2E
27 21 1C 18 18 18 0A 6D 4F 3E 2F 27 21 1C 18 18
18 18 0A 65 48 38 29 21 1C 18 17 16 15 14 0F 5E
42 32 24 1D 18 15 13 12 11 10 10 57 3C 2D 20 1A
16 14 13 12 12 12 12 00 0C 05 01 02 03 04 05 06
07 08 09 0A 0B 0C 01 02 03 04 05 6E 5A 4B 41 37
2D 23 1A 14 0E 0B 05 69 55 46 3C 32 2D 23 18 10
0A 09 08 69 50 41 37 2F 2D 21 18 14 0E 0B 0A 64
4B 3C 37 2F 2D 21 18 12 10 0D 0C 64 4B 3C 37 2F
2D 21 18 12 10 0F 0E 00 06 06 04 06 08 0A 0B 0C
03 05 07 09 0A 0B 04 04 05 07 08 0A 04 04 06 07
08 0A 04 05 06 07 08 0B 04 06 07 07 09 0D 05 06
07 0C 0E 0E 06 07 08 0C 0F 0F 04 06 0A 19 28 3C
19 32 4B 64 7D 96 1A 40 5A 80 00 1A 33 66 00 1A
33 4D 00 1A 33 4D 00 1A 33 4D 00 1A 33 4D 04 06
0A 19 28 3C 19 32 4B 64 7D 96 1A 40 5A 80 00 0D
24 66 00 0D 24 40 00 0D 24 40 00 0D 24 40 00 0D
24 40 03 03 00 64 03 E8 07 D0 00 00 01 2C 04 B0
01 F4 02 58 03 20 03 20 03 E8 04 B0 06 A4 07 D0
09 C4 03 03 14 55 5A 01 03 06 09 12 17 0A 14 1B
0D 19 1E 00
To know if you've reached the end of the subsection, you should see a sea of 'FF's in an unused region of the binary starting at the end boundary of those bytes.
Ensure your final byte-count is correct, 0x8000 or 0x10000 bytes (MSS54 or MSS54HP respectively), correct your checksums and reflash.
There are more surgical ways to do this, but this will blanket-cover all the relevant maps for those who know how to make bit-for-bit modifications to their DME binaries. These came directly from the 211323000401 CSL DME binary.
Engine Torque Maps
To incorporate the CSL parameters search for the following hex string:
Code:
03 00 26
In 32 bit files it should fall right around 0x1C-- or thereabouts; For 64 bit it's around 0x2B--
Overwrite the existing hex with:
Code:
03 00 26 4B 96 01 33 40
Correct checksum and re-flash.
Comment