When you click on links to various merchants on this site and make a purchase, this can result in this site earning a commission. Affiliate programs and affiliations include, but are not limited to, the eBay Partner Network.
I've found two ways to do this successfully. I'm sure there are other ways, but this is what has worked for me on my car and another R56.
I'll cover the most convenient method in this post and then follow up with how to do it with how I did it in NCS Expert.
The easiest method by far would be using the Bimmergeeks Protool. The Protool is an Android-based app that brings all f the functionality of NCS Expert and a diagnostic code reader to your phone. It will provide you with BMW hex codes instead of generic P-codes for faults and will allow you to easily code modules and adjust the vehicle order (VO) on the R55-R61, most F-series, and most BMWs. The R50-R53 is still in testing, so that platform has limited functionality. This app completely replaced the Schwaben (Foxwell) scan tool, Carly for BMW, and NCS Expert in my toolbox. And to be clear, I paid retail for this tool and I have absolutely zero affiliation with Bimmergeeks. This is just a product that I find works very well and I believe in. I would also recommend their K+DCAN cable. Again, it's a quality product.
NOTE: You can do this with the Airbag Module installed or removed. That is entirely up to you. If you have already removed the Airbag Module and no longer have access to it (like it's in a landfill in Atlanta), you will only need to code the VO (Step 2) and the Kombi (Step 4). Prior to this, you will need to unhook the battery and remove the seats and side-impact sensors located near the rear speakers. You can also remove the seat belts and seat belt tensioners and all airbags. Leave the yaw sensor under the passenger seat.
1. Connect the Protool.
a. Install the K+DCAN into the vehicle's OBD II port.
b. Connect the K+DCAN USB to your Android device.
c. Launch the Protool app.
d. Select "Generation 2" and the appropriate connection method.
e. Tap "Connect".
2. Modify the Vehicle Order (VO).
a. Tap "Vehicle".
b. Tap "Vehicle Order". NOTE: The Edit Vehicle Order screen will open showing the CAS and FRM.
b. Select "CAS".
c. Select "Edit".
c. Select "Add-Ons".
d. Scroll through the options and select the deactivation options appropriate to the airbags.
e. Select "Actions".
f. Select "Save".
g. Select "CAS".
h. Repeated Steps 1b.-1g. for the FRM. NOTE: Both modules can be coded at the same time, however, I find that coding them individually ensures that the coding is successful.
3. Remove the Airbag Module.
4. Code the KOMBI.
a. Select "Interior".
b. Select "KOMBI - Cluster".
c. Select "Coding".
d. Select "Edit Coding". NOTE: You will be prompted to make a backup.
e. Select "Standard."
f. Disable the appropriate airbag options.
1. Alive Counter for Airbag
2. Identification Timeout for Airbag.
g. Tap "Finalize" NOTE: After coding is complete you will be prompted to cycle the ignition.
5. Verify the Coding.
a. Select "Vehicle"
b. Select "Read" under "Vehicle Errors" NOTE: No airbag errors should be present. If they are, clear the errors, cycle the ignition and check for errors again. If errors are still present, return to the area that the error is present in (VO or KOMBI) and repeat the steps as necessary.
Hopefully, this makes sense. It is a pretty straightforward process. Good luck.
Last edited by scotty_r56s; Jun 1, 2021 at 10:00 AM.
Edited to add a zip with guides and info that I have found useful.
The next order of business was to sort out the side airbags, passenger side seat sensor, drivers seat position sensor and seat belt catch sensors. From what I've read, most people use a 2.2 Ohm resistor to fool the airbags. Eddie07 brought up some really good points about the passenger side occupancy sensor and fooling the seat belts. So I had two choices. I could solder some resistors, and hack the seat apart to get the occupancy mat and leave the seat belts and sensor wiring in-place and just try to bypass all of it. Or, I could use NCS Expert to code all of that out and just remove everything that I didn't want.
SIDEBAG_LINKS_1 -Side Airbag (left) SIDEBAG_RECHTS_1 -Side Airbag (right) AKS_LINKS_1_CD -Active head restraint (left) AKS_RECHTS_1_CD -Active head restraint (right) OC3_1 -Seat occupancy mat GK/OC3/POL -Not sure exactly but related to the occupancy mat GURTKONTAKT_BEIFAHRER_1 -Seat belt contract/connection (passenger) GURTKONTAKT_FAHRER_1 -Seat belt contract/connection (driver) GURTSTRAFFER_BEIFAHRER_1 -Seat belt tensioner, active restraint (passenger) GURTSTRAFFER_FAHRER_1 -Seat belt tensioner, active restraint (driver) SPSBF_1 -Seat position sensor (passenger) SPSF_1_CD -Seat position sensor (driver)
SIDEBAG_BEIFAHRER (Corresponds to SIDEBAG_LINKS_1) nicht_aktiv SIDEBAG_FAHRER (Corresponds to SIDEBAG_RECHTS_1) nicht_aktiv KOEPFST_BEIFAHRER (Corresponds to AKS_LINKS_1_CD) nicht_aktiv KOEPFST_FAHRER (Corresponds to AKS_RECHTS_1_CD) nicht_aktiv OC3_ACSM (Corresponds to OC3_1) nicht_aktiv GK_OC3_POL (Corresponds to GK/OC3/POL) nicht_aktiv GURTKONTAKT_BEIFAHRER (Corresponds to GURTKONTAKT_BEIFAHRER_1) nicht_aktiv GURTKONTAKT_FAHRER (Corresponds to GURTKONTAKT_FAHRER_1) nicht_aktiv GURTSTRAFFER_BEIFAHRER (Corresponds to GURTSTRAFFER_BEIFAHRER_1) nicth_aktiv GURTSTRAFFER_FAHRER (Corresponds to GURTSTRAFFER_FAHRER_1) nicht_aktiv
SPSBF_1 -Seat position sensor (passenger) SPSF_1_CD -Seat position sensor (driver)
This is all very similar to what is in the ABG module on our cars.
This is my modified TRC:
BAUREIHE
r56
NOTRUF_AACN
nicht_aktiv
BPLUS_TRENNUNG1
nicht_aktiv
KNIEBAG_FAHRER
nicht_aktiv
KOPPLUNG_SBR_POS
aktiv
BATT_LEIT_DIAG
nicht_aktiv
SBE_STEP_DOWN
wert_01
SEAT_BELT_DISTANCE
wert_01
SBE_STEP_UP
wert_01
SEAT_BELT_SPEED
wert_01
SBE_SCHWELLE_ON
wert_01
DIMMUNG_POL
wert_01
PAS4_TELEGRAMME
wert_01
POL_MIN_SCHWELLE
wert_01
POL_MAX_SCHWELLE
wert_01 GURTKONTAKT_FAHRER
nicht_aktiv
GURTKONTAKT_BEIFAHRER
nicht_aktiv AUFROLLSTRAMMER_FA (This is the seat reel roller tensioner) aktiv
AUFROLLSTRAMMER_BF (This is the seat reel roller tensioner) aktiv
AGKB_FAHRER (This is the seat belt force limiter) aktiv
AGKB_BEIFAHRER (This is the seat belt force limiter) aktiv
KNIEBAG_BEIFAHRER
nicht_aktiv
CIS
nicht_aktiv SITZPOSITION_BEIFAHRER
nicht_aktiv
GURTSTRAFFER_FAHRER
nicht_aktiv
GURTSTRAFFER_BEIFAHRER
nicht_aktiv
SBE1_STATUS_VERZ
nicht_aktiv
GK_OC3_POL
nicht_aktiv
TROMMELSPEICHER
nicht_aktiv
SEAT_BELT_MONITOR
wert_01
GURTSTRAMM_SEITENCRASH
nicht_aktiv
ROC
nicht_aktiv
AUFROLL_SEITENCRASH
aktiv
ROLLOVER_OPTION
nicht_aktiv
POS
nicht_aktiv
POL
aktiv
TYP_LENKUNG
linkslenker
UPFRONT_FAHRER
aktiv
UPFRONT_BEIFAHRER
aktiv
US_SCHWELLEN
aktiv SITZPOSITION_FAHRER
nicht_aktiv
SBR_PREWARNING_FA
nicht_aktiv
SBR_PREWARNING_BF
nicht_aktiv OC3
nicht_aktiv
CRS_TIMEDELAY
r55_us_0312
r56_us_0312
r57_us_0312
PARAMETERSATZ_0
r56_us_0312
FR_HE_PARAM_1
r56_us_0312
FR_HE_PARAM_2
r56_us_0312
FR_HE_PARAM_3
r56_ece_0712
r56_us_0312
FR_HE_PARAM_4
r56_us_0312
FR_HE_PARAM_5
r56_us_0312
FR_HE_PARAM_6
r55_ece
r56_ece
r57_ece
r58_ece
r59_ece
r55_ece_0712
r56_ece_0712
r57_ece_0712
r58_ece_0712
r59_ece_0712
r55_us
r56_us
r57_us
r58_us
r59_us
r55_us_0312
r56_us_0312
r57_us_0312
UP_FR_PARAM_1
r56_us_0312
UP_FR_PARAM_2
r55_us
r56_us
r55_us_0312
r56_us_0312
UP_FR_PARAM_3
r55_us
r56_us
r55_us_0312
r56_us_0312
SEITEN_PARAM
r56_us
r56_us_0312
HECK_PREPROC_PARAM
r55_us
r56_us
r55_us_0312
r56_us_0312
ROLL_PARAM_1
r55_ece
r56_ece
r60_ece
r55_ece_0712
r56_ece_0712
r61_ece
r55_us
r56_us
r60_us
r55_us_0312
r56_us_0312
r61_us
ROLL_PARAM_2
r55_ece
r56_ece
r60_ece
r55_ece_0712
r56_ece_0712
r61_ece
r55_us
r56_us
r60_us
r55_us_0312
r56_us_0312
r61_us
ROLL_PARAM_3
r55_ece
r56_ece
r60_ece
r55_ece_0712
r56_ece_0712
r61_ece
r55_us
r56_us
r60_us
r55_us_0312
r56_us_0312
r61_us
ROLL_PARAM_4
r55_ece
r60_ece
r55_ece_0712
r61_ece
r55_us
r56_us
r60_us
r55_us_0312
r56_us_0312
r61_us
CIS_PARAMETER
r55_ece
r56_ece
r57_ece
r60_ece
r58_ece
r59_ece
r55_ece_0712
r56_ece_0712
r57_ece_0712
r58_ece_0712
r59_ece_0712
r61_ece
r55_us
r56_us
r57_us
r60_us
r58_us
r59_us
r55_us_0312
r56_us_0312
r57_us_0312
r61_us SBE1
nicht_aktiv
SBR_SENSOR
nicht_aktiv
ITS_SCHRAEGCRASH
nicht_aktiv
THORAXAIRBAG_BEI_ROLLOVER
nicht_aktiv
L6_SENSOREN
aktiv GURTKONTAKT_FOND_FAHRER
nicht_aktiv
GURTKONTAKT_FOND_BFAHRER
nicht_aktiv
CC_GURTWARNUNG
aktiv
AIRBAG_FAHRER
aktiv
AIRBAG_BEIFAHRER
aktiv SIDEBAG_FAHRER
nicht_aktiv
SIDEBAG_BEIFAHRER
nicht_aktiv KOPFBAG_FAHRER (This is the head airbag that runs the length of the car)
aktiv
KOPFBAG_BEIFAHRER (This is the head airbag that runs the length of the car)
aktiv
BEIFAHRERBAG_STUFE2
aktiv
FAHRERBAG_STUFE2
aktiv
SBR_FAHRER
nicht_aktiv
SBR_BEIFAHRER
nicht_aktiv
MRSA_TUERE
aktiv
THORAX_AB_IM_OFFSETCRASH
nicht_aktiv
NHTSA_EDR
aktiv
No codes, no mess, no soldering. This just worked.
Oof. That is a total of six airbag warnings. Post NCS Expert SUCCESS! Gut.
Last edited by scotty_r56s; Jun 23, 2021 at 06:49 AM.
After some wise words from Scotty and curse words that don't exist in the english language, I've managed to use Scotty's code to do the same on my own car.
Attached is my modified .TRC/.MAN file - coding done using NCS Expert. DO NOT COPY PASTE THIS, change each line separately. If you have no prior experience setting up EDIABAS or using any of the Bimmergeek Tools, youtube is an excellent resource. If you have trouble keeping up with changes, use some sort of text comparison software like Beyond Compare. Good luck!
Sorry for bumping this old thread, but I currently have an issue with the passenger head airbag.I don’t want to turn it of / disable it, but remove the airbag warning lights/error codes.Using INPA/Deep OBd or Bimmerlink I can sometime delete the code. So using your method will disable the airbags completely or will it just disable the warnings / error codes?
I tried with NCSExpert setting KOPFBAG_BEIFAHRER to nicht_aktiv, but then I get a new error (mismatch car equipment).
What am I doing wrong?
I dont care if in an accident one airbags more gets activated (probably better than none?) I just want to remove the error code permanently