BMW E85 Z4 SBSR Airbag Module Coding Guide

I’ve finally got a used airbag ECU for my 2003 Z4 3.0 and after fitting it the airbag light is still on. A pal used a obd2 scanner to read the fault code and the “Safety and Gateway module” shows the error “93AB Incorrect chassis number. He can clear the fault but it immediately returns.

Is there anyone anywhere near Peterborough that has the necessary equipment to code my VIN number onto the new module please?

Step by Step to edit VIN, Flash, Code to Default, Clear Errors and Start System Time of the Airbag Gateway Module.

Hopefully it will be useful to someone else if they find themselves in the same position.

INPA: UIF (User Information Field) Report
1-Open INPA>select your car model (E60)>Functional Jobs>F3 UIF
-This is the first change. The E85 profile says “Quasi Functional” and doesn’t have the F3 UIF choice on my version, so I did an Information report instead (F2)

2-You’ll see a list of all control units with their ZUSB number and VIN
-This is the BMW part number that comes up for the module you are sorting out in the information report. I couldn’t see the VIN anywhere on this report so I just wrote it down from the windscreen.

3-Print to PDF the report.
4-Identify the ZUSB numbers without your VIN and copy from the PDF and close INPA
– I didn’t do these steps, I just copied down the part number of the modules I needed (in my case “Airbag ECU or Safety Info Module” and “Satellite B Pillar Left”).

WinKFP: Edit VIN and Flash Module
5-Open WinKFP (Load SPDaten files google it)
6-Select comfort mode
7-Then click find ZUSB
8-Paste the number you copied
9-this will go straight to the right ZUSB
-In my case this only worked for one of the two modules. The other one had a ZUSB/part number older than the daten files I was using, so was not recognised when I typed it in. There is another way to do this next bit if you find the same thing (see alternative below). If this step does work correctly, note down the ECU Family the module is in (from the left column), you will need it to start the system time later on.

10-Then enter your full VIN and then click on done
11-Double check that the module your going to flash it’s safe to flash with your cable and the battery needs to be connect to another power source
12-Click on update ZUSB (this will flash the module with SPDaten files and re-write the VIN)

A1. You need to find the ECU family that your module is in. For me the main airbag ECU was in SIM85 and the pillar module was in SBL264. To double check this, look for your *.his files on the PC (mine were in C:\EC-APPS\NFS\DATA). They are all named with the ECU family (SIM85.his for example), so if you open these up with notepad and search through you will see all the historic ZUSB/part numbers for that module. When you find the one with your module part number in you will have the ECU family name you are looking for.
A2. Open WinFKP
A3. Select Comfort mode
A4. Select Update ZUSB
A5. Select the correct family for your module
A6. Enter your full VIN and then click done
A7. Double check that the module your going to flash it’s safe to flash with your cable and the battery needs to be connect to another power source
A8. Click on Prog. ZB-Update
A9. This will then show you the update that is about to be programmed onto the module, click ok to start programming. This took a few minutes per module in my case, so make sure your car battery and laptop aren’t going to run out of juice halfway through. I hooked the car up to a charger just in case.

NCS Expert: Code to Default
-If you’re interested in what you are doing here then I found a really useful introductory guide. It was good to understand a little bit of what I was actually doing, although you don’t need it to complete the next steps: … NCS-Expert

13- Open NCExpert
14-Load profile -> Expertmode (I used Expertenmodus (Werkseinstellung), as Expertmode wouldn’t load on my version as it was too old) -> F1 -> F3 -> choose E60 (E85) from the list -> choose any module you want from this list -> now click F6 Back -> select F4 Process ECU -> choose Module -> now click ReadECU -> close the notepad window that showed up after the module was read (On mine it came up with another window with three text boxes in, I just closed this).
15-Press F5 for basic functions -> Select “coapiReadSgGetFswPsw” and click Ok -> Select F2 “job” select SG_CODIEREN and press ok -> Press F3 Execute job and wait for the buttons to become active, when active it’s all done.

INPA: Identification Report and Clear Errors
16-Open INPA>select your car model (E60)>Functional Jobs>Identification
17-Print the report to PDF.
18-Look in the SGBD column the module you replace
19-Clear (EM, IM and HM) Errors and Close INPA
– I couldn’t see the SGBD column on the E85 information report. i just noted it down from earlier when using WinKFP.

Ediabas Tool32: Start System Time
20-Start Tool32
21-Select File->Load SGBD, Group file
22-Browse to the EDIABAS\ECU folder, and search for the file name based on the listed SGBD column. Can be more than 1 file.
-I actually couldn’t find an exact match for the satellite pillar that had come up in WinKFP, but I chose SBSL85 and it seemed to work. The main ECU was SIM85 again so this was more obvious.

23-In the Left of the window select systemzeit_lesen (write)
24-In the middle of the window Argument (value of) type 1 in the dropdown menu
25-double click systemzeit_lesen and done.
26-double click systemzeit_starten. (no arguments)

I had to go back into INPA and clear the errors on the safety modules again to finish everything off.

I unplugged the cables, switched the car on properly, and celebrated loudly when the airbag light went off. I also breathed a big sigh of relief as I had approached this with some trepidation to start with, but in the end it wasn’t too hard with all the information that others have kindly made available already.

Be the first to comment

Leave a Reply

Your email address will not be published.