background image

NCS Dummy - Taking the expert out of NCS Expert

By Revtor@Bimmerforums.com

Preface
This message mentions the use of software like BMW NCS Expert. Please don't ask where to get this software, how 

to install it or how to get it work. That's beyond the scope of this message and I will not answer these questions. 
Keep the thread clean and on-topic. Thanks!
This message describes a method of coding modules. The method is not new, several members in the Diagnostic 

Software subforum of this board already practice this method. The only thing that's new is a program, called NCS 
Dummy, which may make things a bit easier. The message is written with the BMW E31 in mind, but it applies to 

other bimmers as well.

ZCS

The dealer way of recoding the car to, for example, retrofit options is through changing the Central Coding Key 
(Zentraler Codierschlüssel - ZCS). I will not explain ZCS coding into detail, but basically the ZCS is a string stored in 

the Electronic Body Module (Elektronik Karosseriemodul - EKM) and the Electronic Immobilizer System 
(Elektronische Wegfahrsperre - EWS) describing all options of the car. Make no mistake - the ZCS is not used by the 
car or its modules. It's only used by the dealer's coding software (SSS/Progman) to quickly identify the car and its 

options. The reason it's stored in two modules is redundancy. This allows the dealer to replace every module in the 
car, even the EKM or EWS module without loss of the ZCS. The ZCS is not even very detailed. It doesn't list all 

individual settings of each module. It's more a descriptive system where the dealer's coding software knows the 
exact settings for each module. For example, the BMW E31 Light Control Module (Lampenkontrollmodul - LKM) uses 
the same hardware in both Europe (ECE) and the United States Of America (USA), but its behavior is completely 
different. The difference is thus in the coding. But with regards to the LKM the ZCS is not more specific than telling 
the car is ECE spec or USA spec. However, knowing the region spec the dealer's coding software knows the exact 
settings for the LKM module to show either ECE spec or USA spec behavior.
The ZCS coding system was designed with dealers and garages in mind. It allows them to quickly replace modules 
with little to no coding knowledge and occasionally retrofit items using a reference list of ZCS changes. The ZCS 
coding system was never designed for coding freedom. But that doesn't mean you cannot code the individual 
module options. It's just not possible with the SSS/Progman dealer software.

NCS Expert
In comes NCS Expertentool (usually referred to as NCS Expert)... NCS Expert is part of the BMW Ediabas software 
suite which also contains programs like INPA - popular and advanced diagnostic software for BMW vehicles. NCS 
Expert is the coding part of the Ediabas software suite. NCS Expert was designed for internal use at BMW - in other 
words, for people who know exactly what they are doing. Unlike SSS/Progman, NCS Expert provides no help or 
guidance. If you don't know what you are doing, you may very rapidly end up with dead modules. Therefore the 
program is often labeled as dangerous to use. One of the most powerful features of NCS Expert is the ability to 
create Field Keyword and Parameter Keyword trace files (Feld Schlüsselwort - FSW, and Parameter Schlüsselwort - 
PSW). Such a FSW/PSW trace file contains a human readable overview of the selected module options. For example, 
here's the FSW/PSW trace file fetched from the LKM module of a ECE spec BMW E31 with third brake light using NCS 
Expert:

Code:

FEHLER_3.BREMSLEUCHTE
        melden
FL/LH_BEI_KSW_OFFEN
        aktiv
KALTUEBERWACHUNG
        nsl_li_re
KALTUEBERWACHUNG_NSL
        aktiv
KALTUEBERWACHUNG_NSW
        aktiv
KSW_FEHLERMELDUNG
        nicht_aktiv
NSW_BEI_ABBLENDLICHT
        aktiv

background image

NSW_BEI_FL/LH
        aktiv

Human readable may be a bit exaggerated, but with proper knowledge of German and a broad imagination for 
the used abbreviations, it is possible to understand most if not all options and settings. NCS Expert allows you to 

edit the trace file and recode the car with the updated file. Unlike as with the ZCS coding system, this gives total 
control over the module coding. Please note that coding the car with an updated trace file does not change the 

ZCS! This means that if you make changes through the trace file and later replace a module and have the car 
recoded through the ZCS, your changes are lost. Since this normally doesn't happen very often, it's not really an 
issue but keep this in mind.
There is however a real problem. The trace file shows the actual configuration of the selected module in your 
car, but it doesn't tell what values are possible for each option. Ok, "aktiv" and "nicht_aktiv" are obvious 

opposites, but what other value is possible for the "FEHLER_3.BREMSLEUCHTE" value "melden"? Presumably 
"nicht_melden", but that's already a guess. And what to do with the "KALTUEBERWACHUNG" value "nsl_li_re"? 
Can you guess the other possible value(s)? The trial and error methodology may not be a very good approach 

with NCS Expert and the price of the modules. So unless you are lucky and the option you are looking for has 
values "aktiv" and "nicht_aktiv", the trace file seems to be a dead end...

NCS Expert knows all possible values. After all, it has to display them or code them. Strolling through the NCS 
Expert data files quickly reveals where it stores this information: The "EDIABAS\NCSEXPER\DATEN\E31\" folder 

contains a bunch of *.C?? files, one or more for each module (different revisions). These files are like a relational 
database and describe all options and values for the module. Mind those are binary files, not simple plain text 
files, so the relational information is not that easy to fetch. Furthermore the *.C?? files describe the options and 
values with codes instead of the text representation as used in the FSW/PSW trace file. So reference lists are 
required to know what option or value goes with each code. These can be found in the "SWTFSW01.DAT" (field 
keywords - FSW) and "SWTPSW01.DAT" (parameter keywords - PSW) files - also binary files.

For example, assume you want to know the possible values of "KALTUEBERWACHUNG" (cold monitoring). First 
we have to retrieve the code for this field from the "SWTFSW01.DAT" file. Somewhere in it you'll come along 
following data:

.. D8 13

 

01 00

 

EE 02

 

4B 41 4C 54 55 45 42 45 52 57 41 43 48 55 4E 47

 

00

 

E8 16 ..

Previous and next data

 

Start identifier (always 01 00)

 

Hexadecimal code of the field (always two characters long)

 

ASCII representation of the field, in this case "KALTUEBERWACHUNG"

 

End identifier (always 00)

 

So the code for "KALTUEBERWACHUNG" is "EE 02". Now we can look up this code in the module file "LKM2.C25":

.. 00 17

 

10 12 00 00 08 01 00 00 01 00

 

EE 02

 00 01 00 01 01 68 00 8F 

05 10 00

 

D7 01

 01 00 00 C2 

05 10 00

 

D8 01

 01 00 

01 CC 

10 12 ..

Previous and next data

 

Start identifier (differs per module file and sometimes changes even within a single file, but there's 
structure in it so it's easily recognizable)

 

The code of the field as found in the "SWTFSW01.DAT" file

 

Start identifier of a value (differs per module file and sometimes changes even within a single file, but 
there's structure in it so it's easily recognizable)

 

Hexadecimal code of the value (always two characters long)

 

So "KALTUEBERWACHUNG" has two values, "D7 01" and "D8 01". That's still pretty much meaningless, so we have 
to look up the ASCII descriptions for these value codes from the "SWTPSW01.DAT" file. Somewhere in it you'll come 
along following data:

.. 34 09

 

01 00

 

D8 01

 

6E 73 6C 5F 6C 69

 

00

 FA 0C 

01 00

 

D7 01

 

6E 73 6C 5F 6C 69 5F 72 65

 

00

 

B8 14 ..

Previous and next data

 

Start identifier (always 01 00)

 

background image

Hexadecimal code of the value

 

ASCII representation of the value, in this case "nsl_li_re" for "D7 01" and "nsl_li" for "D8 01"

 

End identifier (always 00)

 

We have determined the possible values for "KALTUEBERWACHUNG" to be "nsl_li_re" and "nsl_li". Like I said, you 

still need some imagination to understand all abbreviations. In this case, "nsl" stands for Nebelschlussleuchte (rear 
fog light), "li" for Links (left) and "re" for Rechts (right). So put in English the cold monitoring has two values, double 
rear fog lights and a single rear fog light (in some countries only a single fog light is permitted by law). If you wonder 

where the option for no rear fog light is (as is the case in the USA), it's under a different entry 
"KALTUEBERWACHUNG_NSL" (cold monitoring rear fog lights) and has for settings "aktiv" (on) and "nicht_aktiv" 

(off).

That's all very nice, but the process for determining the possible values is very time consuming and prone to errors. 

Since I wanted to know what's going on in all modules, I was facing a huge amount of work. So I decided to 
automate the process.

NCS Dummy
I wrote an application that parses the NCS Expert data files and trace files and automatically retrieves all possible 

values. Since this literally takes the expert out of NCS Expert, I called the application NCS Dummy:

NCS Dummy is Windows only (sorry no support for Linux and MacOS). The application is written in C# and requires 
the Microsoft .NET Framework 3.5 (or later) installed on your computer which is probably already the case.

The current release is version 0.2.0.9 and supports following BMW chassis: E31, E32, E34, E36, E38, E39, E46 and 
E86. If anyone requires another chassis, let me know. It's easy to add support for other chassis, but I didn't have any 
use for a chassis younger than the E46 - the E85 was added on request.

NCS Dummy has a straightforward user interface, but to avoid confusion here's a short overview of the terminology 
used by NCS Dummy:

Parameter name: The name of a programmable item, for example "KALTUEBERWACHUNG_NSL". Field 
keyword (FSW) in NCS Expert. 

background image

Parameter value: The value of a parameter name, for example "aktiv". Parameter keyword (PSW) in NCS 
Expert. 

Module parameter: The combination of a parameter name and all its possible values, for example 

parameter name "KALTUEBERWACHUNG_NSL" with parameter values "aktiv" and "nicht_aktiv". The 
module parameters give an overview of all programmable items in a module and their possible settings. 

Very informative to find out what's going on in certain modules. 

Trace parameter: The same as a module parameter but with indication of which parameter value is selected 

on your car. This information is retrieved from the NCS Expert FSW/PSW trace file. Module parameters that 
are not in the trace file are filtered out. The trace parameters show the exact coding possibilities of your 

own specific module and are useful for creating a manual NCS Expert trace file to recode the module with. 

Trace file differences: Compares two NCS Expert FSW/PSW trace files and shows only the differences. 
Useful to quickly find coding differences between two different vehicles. 

Just to clarify: NCS Dummy only parses NCS Expert data files and trace files. It doesn't actually use NCS Expert, it 

doesn't connect to the car and it doesn't make changes to any file. In other words, it's safe to use. If you are 
interested in finding out what coding functionality for example the EKM module offers, you can safely export its 

module parameters to a human readable text file with NCS Dummy. NCS Dummy only requires the NCS Expert data 
files to build the relations between parameter names and values. You don't even have to run NCS Expert to create a 
FSW/PSW trace file. Of course, if you wish to code modules, you'll have to use NCS Expert.

There are three practical scenarios of use for NCS Dummy:

Module Parameters: Find out what coding functionality a module offers. NCS Dummy shows all parameter 
names and their possible values. 

Trace File Differences: Compare two NCS Expert FSW/PSW trace files to see the differences (requires NCS 
Expert to read the trace files from the car). 

Trace Parameters: Same as the module parameters, but this time for the specific module in your car 
(requires NCS Expert to read the trace file from the car). You get a nice overview of the currently set values 
and the other possible values. This makes updating the trace file to recode the module with NCS Expert a 
breeze. 

Module parameters

Start NCS Dummy, if necessary change the path to the NCS Expert installation folder, select the chassis (E31) and 
select the module you wish to view (for example "LKM2.C25" for the LKM module). Then click the "Export Module 
Parameters" button to save the information to a text file (NCS Dummy doesn't contain a viewer). Open the exported 
text file in a plain text editor - preferably with monospaced font - to see it contents. Here's the example output of 
the LKM module: 

Code:

Generated with NCS Dummy version 0.2.0.8 — copyright © 2010 revtor software

Output       : Module Parameters
Chassis      : E31
Module       : LKM2.C25

PARAMETER NAME
    PARAMETER VALUE

KALTUEBERWACHUNG
    nsl_li_re
    nsl_li
FEHLER_3.BREMSLEUCHTE
    nicht_melden
    melden
NSW_BEI_ABBLENDLICHT

background image

    aktiv
    nicht_aktiv
KALTUEBERWACHUNG_NSW

    nicht_aktiv
    aktiv

KALTUEBERWACHUNG_NSL
    nicht_aktiv
    aktiv

NSW_BEI_FL/LH
    aktiv

    nicht_aktiv
FL/LH_BEI_KSW_OFFEN
    aktiv

    nicht_aktiv
KSW_FEHLERMELDUNG

    nicht_aktiv
    aktiv

With only 8 parameters the LKM module isn't very impressive of course. The General Module (GMII.C25) or the 
EKM (EKM.C?? - there are different revisions of this module) contain more parameters, often with not just 

"aktiv" and "nicht_aktiv" values which gives a much better impression of the program's possibilities.
The real power of the program becomes apparant on cars with lots of programmable modules and parameters 
like the E36 and especially starting from the E38 and up. The E31 8 Series are somewhat like an electronic 
dinosaur. There's only a limited amount of programmable modules and those usually contain only a limited set 
of parameters. Those who had hoped for a massive amount of hidden coding functionality in the E31 will be 
disappointed. For example, some had hoped the E31 LKM could be recoded to disable the hot/cold monitoring 
on certain lights to install xenon or LED lights without the need for the stupid resistors to keep the LKM from 
reporting lamp failures. It doesn't offer all that. The E38 LKM module for example can have hot and/or cold 
monitoring enabled or disabled for each individual light in the car. Very impressive. Realistically put, the use of 
NCS Dummy for the E31 is rather limited. It's great to learn more about what's going on in certain modules, but 
for recoding only a handfull of options will prove to be interesting - mostly for retrofitters. One thing that comes 
to mind is changing a USA spec LKM to ECE spec behaviour, without the need of installing rear fog lights as is 
necessary when changing the region through the ZCS.

Trace File Differences

Start NCS Dummy and load two NCS Expert FSW/PSW trace files (reading a trace file with NCS Expert is 
discussed further down). Click the "Export Trace File Differences" button to save the differences to a text file. 
This is useful if you want to compare the coding differences between two different vehicles. For example, if you 
want to figure out what differences the ZCS region change really does. Below is the example output for the 
General Module of my E31 and one of Reinhard's cars. As you can see, the only difference is the headlight 
washer system that is not installed on Reinhard's car (and hence also disabled in the module's coding).

Code:

Generated with NCS Dummy version 0.2.0.8 — copyright © 2010 revtor software

Output       : Traces
Trace file 1 : "C:\EDIABAS\NCSEXPER\WORK\revtor\E31.GMII.FSW_PSW.TRC"
Trace file 2 : "C:\EDIABAS\NCSEXPER\WORK\reinhard\gm2_FSW_PSW.TRC"

1   2   PARAMETER NAME
            PARAMETER VALUE

*   *   SCHEINWERFERREINIGUNG

background image

*           aktiv
    *       nicht_aktiv

Trace Parameters

Start NCS Dummy, if necessary change the path to the NCS Expert installation folder, select the chassis (E31), select 
the module you wish to view (for example "GMII.C25" for the General Module), and load the NCS Expert FSW/PSW 

trace file for this module (reading a trace file with NCS Expert is discussed further down). Then click the "Export 
Trace Parameters" button to save the information to a text file. The example output:

Code:

Generated with NCS Dummy version 0.2.0.8 — copyright © 2010 revtor software

Output       : Trace Parameters

Chassis      : E31
Module       : GM2.C25

S   PARAMETER NAME

        PARAMETER VALUE

    KOMFORTSCHLIESSUNG
*       nicht_aktiv
        aktiv
    TUERSCHLOSSHEIZUNG
*       nicht_aktiv
        aktiv
    FH_ABSENKUNG_SPERREN
*       aktiv
        nicht_aktiv
    EKS_EMPFINDLICHKEIT
*       wert_01
    LL/RL
*       linkslenker
        rechtslenker
    LAENDERVARIANTE
*       ece
        us
        australien
        skandinavien
    BAUREIHE
*       e31
        e32
    ANPRESSDRUCKVERSTELLUNG
*       aktiv
        nicht_aktiv
    FH_IMPULSZAHL_ABSENK
*       wert_01
    PARKSTELLUNG_WISCHER
*       aktiv
        nicht_aktiv
    SCHEIBENINTENSIVREINIGUNG
*       aktiv
        nicht_aktiv
    SCHEINWERFERREINIGUNG
*       aktiv

background image

        nicht_aktiv
    SCHIEBEHEBEDACH

*       aktiv
        nicht_aktiv
    SHD_IMPULSZAHL_GESCHL

*       wert_01
    SHD_IMPULSZAHL_SCHIEBEN

*       wert_01

The asterisks show what setting is enabled in your car. Assume you want to enable the door lock heating 

("TUERSCHLOSSHEIZUNG"), make a copy of the original NCS Expert FSW/PSW trace file "FSW_PSW.TRC" in the 
"EDIABAS\NCSEXPER\WORK\" folder and rename it to "FSW_PSW.MAN". You may have to remove a previous 

version of this file first. Open the "FSW_PSW.MAN" file in a plain text editor and change the value of 
"TUERSCHLOSSHEIZUNG" from "nicht_aktiv" to "aktiv". Save the file and you are ready to code the module with the 
changes (coding with NCS Expert is explained further down). Please note that the door lock heating will only work if 

your door handle mechanism has the door lock heating coil installed and the plug inserted.

Reading FSW/PSW trace files with NCS Expert

Despite people's claims of how dangerous NCS Expert is, reading FSW/PSW trace files from a car is perfectly safe as 
long as you keep your head at the job. NCS Expert's default setting is to code, which we definitely don't want (at this 
point), but once the job type is changed to reading the program is harmless. You don't need to take special 
precautions for the car. Reading trace files takes just seconds, so there's absolutely no need for an external power 
supply. Low battery voltages cannot cause damage, but may of course drop the connection so you are unable to 
complete the trace file reading. So make sure your batteries are ok and properly charged.

Before you can start reading FSW/PSW trace files with NCS Expert you need a good profile. By default NCS Expert 
comes with the "Expertenmodus" profile ("FZG2.PFL"), which despite the name is not that expert at all. You can 
either use the "Fisterprofile" ("GOODFIST.PFL") from the founder of 

bmwecu.org

, or my profile:

Unpack the zip archive and put the "REVTOR.PFL" profile file in the "EDIABAS\NCSEXPER\PFL\" folder.

Go to the "EDIABAS\NCSEXPER\WORK\" folder and (if not already existing) create a new empty text file called 
"FSW_PSW.MAN".

Now connect your diagnostic interface to the car and turn the ignition to I. Test the connection with for example 
INPA. Don't forget to close INPA before using NCS Expert. The interface throws errors when multiple applications try 
to get access to it.

1. Once the profile is in the PFL folder and the diagnostic link ok, launch NCS Expert. At this moment no profile 

is loaded, so the screen is quite empty. 

2. From the "File" menu, choose "Load Profil". 
3. In the "Choose profile" popup window, select "Fisterprofile" or "Revtor's NCS Expert Profile" and click 

"OK". Nothing much happens, but you'll notice some of the buttons on the bottom now have labels. 

4. Click the "VIN/ZCS/FA" button (F1). The button labels change once again. 
5. Click the "ZCS/FA f. ECU" button (F3). 
6. In the "Choose CHASSIS" popup window, select "E31" and click "OK". 
7. In the "Choose ECU" popup window, select "EKM" and click "OK". 
8. After a short moment, the top groupbox should now show information regarding your car. 
9. Click the "Back" button (F6). The middle groupbox now shows the available modules and default job name. 

The default is "SG_CODIEREN" which we definitely don't want, so pay attention what buttons you press 
right now! 

10. Click the "Process ECU" button (F4). 
11. In the "Choose ECU" popup window, select the desired module and click "OK". If you want to read all 

modules, you'll have to work module by module. Select for example the General Module ("GMII"). 

12. A popup window displaying the *.C??, *.IPO and *.PRG files for the chosen module is shown. Write these 

filenames down as you may need it for NCS Dummy. Click "OK". 

13. Click the "Change job" button (F2). If "JOBNAME" in the middle groupbox already reads 

background image

"CODIERDATEN_LESEN" you can skip the following steps and jump to 16. 

14. In the "Choose job" popup window, select "CODIERDATEN_LESEN" and click "OK". The default job action is 

now reading instead of coding. Note that NCS Expert will still say "get coded" in the middle groupbox and 

during the read operation it says it's coding... but it will not. "CODIERDATEN_LESEN" is a safe read-only 
operation. 

15. Confirm "JOBNAME" in the middle groupbox says "CODIERDATEN_LESEN". 
16. Click the "Execute job" button (F3). The process takes only a few seconds. As said, NCS Expert may indicate 

it's coding but it's actually only reading. 

Head over to the "EDIABAS\NCSEXPER\WORK\" folder. In it is now a file that interest us: "FSW_PSW.TRC". The first 
is the human readable FSW/PSW trace file. Each time you read a module with NCS Expert this file is overwritten, so 

you must move or rename it (no need to copy - if the original file is missing, NCS Expert will write a new one). For 
example: "E31.GMII.FSW_PSW.TRC".

You have finished creating a FSW/PSW trace file for the GMII module.

If you want to read a FSW/PSW trace file from another module, head back to NCS Expert, click the "Change ECU" 
button (F1) and repeat the steps starting from 11, but with a different module.

When finished, simply close NCS Expert.

You can open the "FSW_PSW.TRC" file (or whatever you renamed it to) in a plain text editor. The "FSW_PSW.TRC" 
files are also the files used by NCS Dummy to create trace parameters or trace file differences.

Coding modules from an updated FSW/PSW trace file with NCS Expert

First of all make sure you have a good NCS Expert profile. Read the previous chapter for more information on 
profiles.

Where little could go wrong with reading, coding is a different story. You don't want the battery voltage get too low 
during coding as this may render the module dead. Luckily old bimmers like the E31 don't take long to code - just 
seconds per module. So you don't need any special precautions if your batteries are good and properly charged. 
Nevertheless it's recommended to attach a small 13.8 V power supply to keep the voltage well over 13 V. A simple 
battery charger with power supply mode functionality and a current output of 5 A or better should be sufficient. 
Note that newer bimmers may take a lot longer to code, with a much higher current draw. BMW recommends 
power supplies that can deliver over 40 A for newer cars.

Make a copy of the FSW/PSW trace file you wish to make changes to. Open the copy in a plain text editor, make the 
changes and save the file. Rename the copy to "FSW_PSW.MAN" and put it in the "EDIABAS\NCSEXPER\WORK\" 
folder overwriting a previous version (if existing).

Connect your diagnostic interface to the car and turn the ignition to I. Test the connection with for example INPA. 
Don't forget to close INPA before using NCS Expert. The interface throws errors when multiple applications try to get 
access to it.

1. Launch NCS Expert. At this moment no profile is loaded, so the screen is quite empty. 
2. From the "File" menu, choose "Load Profil". 
3. In the "Choose profile" popup window, select "Fisterprofile" or "Revtor's NCS Expert Profile" and click 

"OK". Nothing much happens, but you'll notice some of the buttons on the bottom now have labels. 

4. Click the "VIN/ZCS/FA" button (F1). The button labels change once again. 
5. Click the "ZCS/FA f. ECU" button (F3). 
6. In the "Choose CHASSIS" popup window, select "E31" and click "OK". 
7. In the "Choose ECU" popup window, select "EKM" and click "OK". 
8. After a short moment, the top groupbox should now show information regarding your car. 
9. Click the "Back" button (F6). The middle groupbox now shows the available modules and default job name. 
10. Click the "Process ECU" button (F4). 
11. In the "Choose ECU" popup window, select the desired module and click "OK". Make sure the updated 

"FSW_PSW.MAN" trace file is for the same module. 

12. A popup window displaying the *.C??, *.IPO and *.PRG files for the chosen module is shown. Click "OK". 
13. Click the "Change job" button (F2). If "JOBNAME" in the middle groupbox already reads "SG_CODIEREN" 

background image

you can skip the following steps and jump to 16. 

14. In the "Choose job" popup window, select "SG_CODIEREN" and click "OK". The default job action is now 

coding. 

15. Confirm "JOBNAME" in the middle groupbox says "SG_CODIEREN". 
16. Click the "Execute job" button (F3). The process takes only a few seconds on older cars like the E31. 

After NCS Expert has finished coding, close the application and turn the ignition back to off. That's all there is to it. 
The car has been coded.

As stated before, this coding method does not change the ZCS. In other words, if you ever recode the car using the 
ZCS all your changes will be lost. So if you are happy with the new coding, keep a backup of the "FSW_PSW.MAN" 

file - just in case. I also recommend keeping a backup of the original unchanged "FSW_PSW.TRC" file.

If you are interested in reading FSW/PSW trace files...

If you consider creating FSW/PSW trace files of your own car(s), I'd appreciate it if you'd send them to me. Don't 
worry, the trace files contain no information that can identify your car (no VIN). If you are uncertain, just open them 
with a plain text editor. The reason I'm asking is to get a better picture of the differences between the various E31 

models and regions. At this moment I'm particularly interested in trace files from USA spec E31 and early E31 (say 
1992 and older).

When you do send trace files to me, please specify the VIN (or if you prefer to keep your car anonymous, the exact 
model, month/year of production and ECE/USA/.. spec). Also include the *.C?? filename as reported by NCS Expert 
for each module (for example "EKM.C25").

You may even send trace files from other non E31 bimmers. Thanks!

Q&A

Does the method described in this message allow to couple a used EKM to another used instrument cluster? No. 
While the EKM module parameters hint at this ("GEBRAUCHTBIT_KMB", "GEBRAUCHTBIT_EKM", 
"GEBRAUCHTBIT_KMB_KOMPL", and "GEBRAUCHTBIT_EKM_KOMPL") I don't think it's possible to change this 
through NCS Expert. At least not using the method described here.

Does the method described in this message allow to chiptune the engine? No. The Bosch and Siemens engine 
managements are a completely different territory.

Does the method described in this message allow to enable the functionality to automatically roll-up the windows  
with the radio frequency remote (as was possible with the early infrared remotes)?
 No. Even though the General 
Module FSW/PSW trace file hints at it with "KOMFORTSCHLIESSUNG" (comfort closing) which is set to "nicht_aktiv" 
(off), this parameter seems to be completely unrelated (believe me, I tried). In fact, the real setting for this 
functionality is in the radio system (the radio frequency remote receiver, not the head unit obviously). Using INPA 
one can actually view the "Luxury opening" and "Luxury closing" settings under "E31" --> "Body" --> "Remote 
controls" --> "Coding". The bad thing is this module is not supported by NCS Expert. The fact that it's listed under 
"Coding" suggests it can be changed through software, but I'm not sure what software can do this. Another option 
listed on the INPA coding page for that module is "Panic Mode". This one can be enabled or disabled through 
SSS/Progman ("3 ZCS/FA CODING" --> "1 E31 Series" --> "4 Conversion" -- > "6 FKS" --> "1 Panic Mode"), 
encouraging the idea the luxury opening/closing can also be changed similarly. However, luxury opening/closing is 
not shown in SSS/Progman... To get back to the original question, if the module is not shown in NCS Expert, NCS 
Dummy and the instructions above are of very little use.

Afterword

Please note that while I'm quite confident NCS Dummy produces reliable output, the application comes without any 
warranty. If you ruin a module with NCS Expert after using information retrieved by NCS Dummy, don't look at me...

Due to the scant coding functionality of the modules in the BMW E31, the use of NCS Dummy and the instructions 

background image

given above may be rather limited. Nevertheless it shows a good method of giving USA spec cars ECE spec headlight 
behavior without the need of adding rear fog lights. It's not until the E36 and especially the E38, NCS Expert coding 
offers a lot of possibilities. Of course NCS Dummy can be used on these newer bimmers.