![]() |
![]() |
![]() |
![]() |
10-08-2016, 05:03 PM | #1 |
Captain
![]() ![]() ![]() ![]() ![]() 290
Rep 888
Posts
Drives: 08 135i M Sport 6MT, 15 X3 35i
Join Date: Feb 2013
Location: Edmonton
|
DIY - Change CBS Oil Change Distance
BMW E9x & E8x CBS Oil Change Value Adjustments DIY (coding)
Foreword 1. This is a summary made in part from a DIY found on Bimmerpost, I am not the mastermind behind this 2. This DIY compresses scattered information into one central DIY and adds some of my own insights 3. Read this entire DIY before starting. 4. By following this DIY, you are doing so at your own risk, I am not responsible for any damage that may occur to your vehicle. 5. Warning: This process may trigger a tamper value for the CBS that could cause a headache if still under warranty: "Also, executing 'cbs_reset' Job you set MANIP_CBS flag, which essentially says: "System has been tampered with".." --> http://www.bimmerfest.com/forums/sho...p;postcount=19 6. This process will reset the CBS value, so if you did an oil change a few months back, you'll need to remember when to change the oil next without relying on the CBS reminder. 7. Before beginning, attach a battery charger or tender to the car to keep the battery powered up. Turning the headlights to off is also a good idea to preserve the battery. You do not want the battery dying while in the middle of coding. I'm not sure what would happen, but I presume damage to the code within the module, in this case the DME. 8. After each Oil Change + OCI reset, you'll need to perform this coding. You're manually adjusting the CBS data for the current oil life by saying it is x percent of 100 Requirements You will need INPA, and Tool 32 to accomplish this, both are contained within BWM Tools 2.12. You will also need a K+DCAN cable to connect your BMW. If you are new to coding, begin here before progressing further: http://www.e90post.com/forums/showthread.php?t=451145 Procedure Step 1: Disable JB4 if equipped (Map 0), or any other tuning which may interfere. Step 2: Connect car, confirm connection with INPA, close INPA Step 3: Open Tool 32, run MSD80.prg, or other DME file if applicable Use Real OEM to confirm your vehicles DME --> Enter the last 7 of your VIN --> Engine Electrical Systems --> DME DDE6: Diesel (03/2005 - 09/2007) DDE7: Diesel (09/2007 - 2013) MV946: 116i, 118i, 120i, 316i, 318i, 320i, 320si MSV70: 125i, 130i, 325i, 330i MSV80: 128i, 328i MSD80: 135i, 335i (N54), 325i (N53) (06/2006 - 07/2008) MSD81: 135i, 335i, 1M (N54), 325i (N53) (03/2008 - 03/2013) MEVD172: 135i, 335i (N55) MEVD1726: 135i, 335i (N55) MSS60: M3 Step 4: Navigate to cbs_daten_lesen and run the job Step 5: In the results, find COU_RSTG_CBS_MESS_WERT make a note of the value here, it will be between 0 and 30. This value will be needed later on if you decide to adjust the month/year manually. The below screen capture is of my car, notice how the value here is 08. This value is the number of times the CBS oil counter has been reset, so my car has had the CBS oil counter reset 8 times, or has had 8 oil changes done in its life time (assuming the CBS reset was done correctly each time the oil was changed) ![]() Step 6: Close the results and navigate to cbs_reset. In the Arguments box, enter oel;XX;YY, where: XX = the service interval (Approximate percentage of the original value, in multiples of 1. The 100% value is 27,580km) YY = your current CBS counter value A few options for XX, in increments of 5, are: oel;50;YY=14,000km (13790km rounds to 9,000 miles) oel;45;YY=12,000km (12411km rounds to 8,000 miles) oel;40;YY=11,000km (11032km rounds to 7,000 miles) oel;35;YY=10,000km (9653km rounds to 6,000 miles) oel;30;YY=8,000km (8270km rounds to 5,000 miles) oel;25;YY=7,000km (6890km rounds to 4,300 miles) oel;20;YY=6,000km (5510km rounds to 3,700 miles) oel;15;YY=4,100km (4130km rounds to 2,500 miles) oel;10;YY=2,700km (2750km rounds to 1,700 miles) To pull this all together, my counter value is 08 and I want an oil change interval of 8,000km, so I entered: oel;30;08 Once you have entered the value, double click on cbs_reset to run the job, or press F5. ![]() Step 7: Navigate to cbs_daten_lesen and run the job again, view the info and look for a change in RMMI_CBS_WERT value. This value is multiplied by 10 to give the OCI, ie 827 x 10km = 8270km for the OCI. ![]() Step 8: Check the Service Info section via the stalk to see your Oil Change Interval Step 9: Enable JB4 if equipped, or any other tuning disabled in Step 1 ![]() Happy coding!
__________________
2015 Cosmic Blue Metallic Wrapped X3 35i ///M Sport Full 3M Vinyl Wrap | Flat Black Grilles ![]() Last edited by 6MT_Addict; 10-10-2016 at 10:17 PM.. Reason: Info added |
10-08-2016, 08:11 PM | #2 |
Private
![]() ![]() 57
Rep 42
Posts
Drives: '12 135i ///M-Sport
Join Date: Oct 2015
Location: Virginia
|
Nice work! Glad to see some coding make it into this forum. I wonder if it's possible to change the brake fluid interval for those of us running race spec stuff.
|
Appreciate
0
|
10-09-2016, 09:24 AM | #3 |
1Addict
3802
Rep 8,310
Posts |
Thanks 1AA!!
I'd imagine it's basically the same procedure, just gotta figure out the code locations and time scales for brake fluid vs oil vs other maintminder stuff.
__________________
2010 E82 1 Series M Clone
Hydra Performance augmented OEM+ |
Appreciate
1
6MT_Addict289.50 |
10-09-2016, 11:38 AM | #4 | |
Captain
![]() ![]() ![]() ![]() ![]() 290
Rep 888
Posts
Drives: 08 135i M Sport 6MT, 15 X3 35i
Join Date: Feb 2013
Location: Edmonton
|
Quote:
You would just need to discover the argument needed to adjust it, I've read posts that alluded to users coding it but have yet to find that info. Also original post updated with additional values for distance
__________________
2015 Cosmic Blue Metallic Wrapped X3 35i ///M Sport Full 3M Vinyl Wrap | Flat Black Grilles ![]() Last edited by 6MT_Addict; 10-09-2016 at 02:16 PM.. |
|
Appreciate
0
|
10-09-2016, 12:58 PM | #5 | |
Captain
![]() ![]() ![]() ![]() ![]() 290
Rep 888
Posts
Drives: 08 135i M Sport 6MT, 15 X3 35i
Join Date: Feb 2013
Location: Edmonton
|
Quote:
Prompts 4 and 5 would allow you to customize the month/year of the oil service by adding these values (ie oel;XX;YY;MT;YR) 1: CBS_Kennung: CBS ID 2: CBS_verfuegbarkeit: CBS Availability 3: CBS_anzahl_service: CBS Number Service 4: CBS_ziel_monat: CBS Target Month 5: CBS_ziel_Jahr: CBS Target Year 6: RMM_CBS_Wert: RMM_CBS_Value (Not sure what RMM is) 7: ST_UN_CBS_RSTG: (not sure what these are abbreviating? Dackelone maybe you can help shed some light) 8: FRC_INTM_Way_CBS_Mess: FRC INTM WAY CBS Measuring (again, not sure whats being abbreviated) 9: FRC_INTM_T_CBS_Mess: FRC INTM T CBS Measuring (Same comment as 8) 10: Res_Byte: Reset Byte? The trick for CBS brake fluid service would be determining the ID that the CBS uses for brake fluid, then using either a 3 prompt or 5 prompt string you could be able to reset it. At the moment the following prompts I know to be confirmed for prompt 1 above, I'm making some assumptions on what the abbreviations translate to in German, having only a single letter to go off of: OEL = Motor Oil (Motoroel) BR_V = Brake Pad Sensors - Front (Bremse Vorderseite) BR_H = Brake Pad Sensors - Rear (Bremse Hinten)
__________________
2015 Cosmic Blue Metallic Wrapped X3 35i ///M Sport Full 3M Vinyl Wrap | Flat Black Grilles ![]() Last edited by 6MT_Addict; 10-09-2016 at 01:44 PM.. |
|
Appreciate
1
ShocknAwe3802.00 |
10-09-2016, 07:02 PM | #6 | |
European Editor
![]() 10945
Rep 22,992
Posts |
Quote:
![]()
__________________
|
|
Appreciate
1
6MT_Addict289.50 |
10-10-2016, 02:02 PM | #7 |
Captain
![]() ![]() ![]() ![]() ![]() 290
Rep 888
Posts
Drives: 08 135i M Sport 6MT, 15 X3 35i
Join Date: Feb 2013
Location: Edmonton
|
Ok, did more digging... When you click 'CBS_Reset' once, Tool32 actually gives you all the possible variations you may use. The raw export is pasted below from my car, I would imagine Brfl is brake fluid/Bremsflüssigkeit in German. I've run it through a translator below.
Original: name : CBS_RESET comment : CBS Daten Zuruecksetzen (fuer CBS-Version 4) KWP2000: $2E WriteDataByCommonIdentifier Modus : Default Musterparametersatz fuer Bremsbelagverschleiss Vorder/Hinterachse br_v,100,1,0,0,0,1,0,0 br_h,100,1,0,0,0,1,0,0 jedoch mit "Strich_Punkt" getrennt (nicht mit Komma!) argument : CBS_KENNUNG type : string comment : gewuenschte CBS-Kennung table CbsKennung CBS_K CBS_K_TEXT Werte Kombi-Umfaenge: Brfl, ZKrz, Sic, Kfl, TUV, AU, Ueb, H2 Werte externe Umfaenge: Oel, Br_v, Br_h, Filt, CSF, Batt, VTG, ZKrz_a, DAD Defaultwert: 0x00 (ungueltig) argument : CBS_VERFUEGBARKEIT type : int comment : gewuenschte Verfuegbarkeit in Prozent: 0-100 Schalter, keine Aenderung: 255 Defaultwert: 100 argument : CBS_ANZAHL_SERVICE type : int comment : Anzahl der durchgefuehrten Services: 0-30 Schalter, Erhoehung der Anzahl um +1: 31 Defaultwert: 31 argument : CBS_ZIEL_MONAT type : int comment : Ziel-Monat (HU/AU) Januar-Dezember: 1-12 Schalter, keine Aenderung: 255 Defaultwert: 255 argument : CBS_ZIEL_JAHR type : int comment : Ziel-Jahr (HU/AU) 2000-2239: 0-239 Schalter, keine Aenderung: 255 Defaultwert: 255 argument : RMM_CBS_WERT type : int comment : Restlaufleistung in km oder % (siehe Argument Einheit) Schalter, keine Aenderung: 8000h Defaultwert: 8000h argument : ST_UN_CBS_RSTG type : int comment : Einheit Restlaufleistung 0hex -> % 1hex -> km*10 Fhex -> d.c. Defaultwert: Fh argument : FRC_INTM_WAY_CBS_MESS type : int comment : Prognose Wegintervall Umrechnung 1-254*1000km Schalter, setzt auf Defaultwert zurueck: 0h Schalter, keine Aenderung: FFh Defaultwert: FFh argument : FRC_INTM_T_CBS_MESS type : int comment : Prognose Zeitintervall 0-254 Monate Schalter, keine Aenderung: FFh Defaultwert: FFh argument : Res_Byte type : int comment : Reserve Byte (noch unbenutzt) Defaultwert: 00h result : JOB_STATUS type : string comment : OKAY, wenn fehlerfrei table JobResult STATUS_TEXT result : ECU_ADR_WERT type : int comment : Steuergeraeteadresse als Zahl result : ECU_ADR_HEX type : string comment : Steuergeraeteadresse als Hex-String result : ECU_ADR_TEXT type : string comment : Steuergeraeteadresse im Klartext result : _TEL_AUFTRAG type : data comment : Hex-Auftrag an SG result : _TEL_ANTWORT type : data comment : Hex-Antwort von SG Translated: Name: CBS_RESET Comment: CBS data reset (for CBS version 4) KWP2000: $ 2E WriteDataByCommonIdentifier Mode: Default Pattern parameter set for brake lining wear front / rear axle Br_v, 100,1,0,0,0,1,0,0 Br_h, 100,1,0,0,0,1,0,0 But separated with "Strich_Punkt" (not with comma!) Argument: CBS_IDENTIFICATION Type: string Comment: desired CBS ID Table CbsCode CBS_K CBS_K_TEXT Values Combined Envelopes: Brfl, ZKrz, Sic, Kfl, TUV, AU, Ueb, H2 Values external circumferences: Oel, Br_v, Br_h, Filt, CSF, Batt, VTG, ZKrz_a, DAD Default value: 0x00 (invalid) Argument: CBS_ABILITY Type: int Comment: Desired availability in percent: 0-100 Switch, no change: 255 Default value: 100 Argument: CBS_NUMBER_SERVICE Type: int Comment: Number of services performed: 0-30 Switch, increase the number by +1: 31 Default value: 31 Argument: CBS_TARGET_MONTH Type: int Comment: target month (HU / AU) January-December: 1-12 Switch, no change: 255 Default value: 255 Argument: CBS_TARGET_YEAR Type: int Comment: target year (HU / AU) 2000-2239: 0-239 Switch, no change: 255 Default value: 255 Argument: RMM_CBS_VALUE Type: int Comment: Residual power in km or% (see argument unit) Switch, no change: 8000h Default value: 8000h Argument: ST_UN_CBS_RSTG Type: int Comment: Unit residual power 0hex ->% 1hex -> km * 10 Fhex -> d.c. Default value: Fh Argument: FRC_INTM_WAY_CBS_MESS Type: int Comment: Forecast path intervall Conversion 1-254 * 1000km Switch, resets to default value: 0h Switch, no change: FFh Default value: FFh Argument: FRC_INTM_T_CBS_MESS Type: int Comment: Forecast time interval 0-254 months Switch, no change: FFh Default value: FFh Argument: Res_Byte Type: int Comment: spare byte (still unused) Default value: 00h Result: JOB_STATUS Type: string Comment: OK, if error-free Table JobResult STATUS_TEXT Result: ECU_ADR_VALUE Type: int Comment: Control device address as number Result: ECU_ADR_HEX Type: string Comment: Control device address as a hex string Result: ECU_ADR_TEXT Type: string Comment: Control device address in the plain text Result: _TEL ORDER Type: data Comment: Hex order to SG Result: _TEL ANSWER Type: data Comment: Hex response from
__________________
2015 Cosmic Blue Metallic Wrapped X3 35i ///M Sport Full 3M Vinyl Wrap | Flat Black Grilles ![]() Last edited by 6MT_Addict; 10-10-2016 at 02:10 PM.. |
Appreciate
0
|
10-10-2016, 06:47 PM | #8 |
European Editor
![]() 10945
Rep 22,992
Posts |
tool32...
Ok 1AddictsAnonymous I talked to my BMW AG "source"... he gave me these screen shots. Maybe this will make sense to you. Like I said I am not a "coder". He uses: tool32...
![]() ST_UN_CBS_RSTG...
__________________
|
Appreciate
1
6MT_Addict289.50 |
10-10-2016, 10:13 PM | #9 |
Captain
![]() ![]() ![]() ![]() ![]() 290
Rep 888
Posts
Drives: 08 135i M Sport 6MT, 15 X3 35i
Join Date: Feb 2013
Location: Edmonton
|
Thanks Dack. This mirrors the info I was able to pull from Tool32 as well. I tried altering values progressively, ie prompt 1-3, prompt 1-4, etc. Looks like only 1-3 are actually editable via Tool32 for oil.
__________________
2015 Cosmic Blue Metallic Wrapped X3 35i ///M Sport Full 3M Vinyl Wrap | Flat Black Grilles ![]() |
Appreciate
1
Dackelone10945.00 |
02-28-2017, 01:43 AM | #10 |
Lieutenant
![]() ![]() ![]() 60
Rep 451
Posts |
Has anyone been able to get this to work on an f-series? I can read the data but when I try to run cbs_reset, it gives me the error:
ERROR_ECU_CONDITIONS_NOT_CORRECT At first I thought it might have to do with the ignition being in aux or on, but I tried both and it didn't work. |
Appreciate
0
|
02-28-2017, 07:20 AM | #11 | |
European Editor
![]() 10945
Rep 22,992
Posts |
Quote:
e90 coding forum... http://www.e90post.com/forums/forumdisplay.php?f=368
__________________
|
|
Appreciate
0
|
02-28-2017, 11:42 PM | #12 | |
Captain
![]() ![]() ![]() ![]() ![]() 290
Rep 888
Posts
Drives: 08 135i M Sport 6MT, 15 X3 35i
Join Date: Feb 2013
Location: Edmonton
|
Quote:
__________________
2015 Cosmic Blue Metallic Wrapped X3 35i ///M Sport Full 3M Vinyl Wrap | Flat Black Grilles ![]() |
|
Appreciate
0
|
11-14-2017, 06:58 PM | #13 |
Registered
![]() 0
Rep 4
Posts |
For some reason, when I try to open my MSD80.prg file in Tool 32, it doesn't load, it just gets stuck on a blank window within Tool 32 labeled Results.
![]()
__________________
2009 E90 335xi LCI
BMS DCI, JB4, OCC, OEM Rebuilt Turbos, Ctls DwnPps, Ctls Midpipes Max Brakes Carbon Ceramic pads, cross drilled & slotted rotors, RTX GRAZ Wheels |
Appreciate
0
|
11-14-2017, 10:36 PM | #14 |
E82 Mudflap Ambassador
![]() 2247
Rep 2,220
Posts
Drives: '08 128i
Join Date: May 2016
Location: Orlando, FL
|
Run tool32 as admin
__________________
My 2008 128i - Sparkling Graphite/Beige - Sport pkg - 6MT - Click me!
Parents' 2014 528i - Mineral White/Ivory White - fully loaded Instagram @Andreys_128i and @Honda.Bito |
Appreciate
0
|
03-28-2019, 05:10 PM | #15 |
Colonel
![]() 829
Rep 2,232
Posts |
I came into this thread to learn how to do this, and left with these in my amazon cart...
https://www.amazon.com/Oil-Change-Se...gateway&sr=8-3 |
Appreciate
1
MightyMouseTech4356.00 |
03-28-2019, 05:33 PM | #16 | |
European Editor
![]() 10945
Rep 22,992
Posts |
Quote:
![]() ![]() You don't have to revert to using those Jiffy Lube windshield stickers. I guess you haven't seen this thread of mine. I made it a sticky so it's easy to find... DIY resetting service "due" lights… https://www.1addicts.com/forums/showthread.php?t=415111 All you need is to enter the hidden menu on the speedo cluster and then use the BC and RESET buttons to reset your service(oil) lights. You can find more interesting DIY "sticky" threads here... https://www.1addicts.com/forums/forumdisplay.php?f=261 Dackel ![]()
__________________
|
|
Appreciate
1
6MT_Addict289.50 |
03-29-2019, 03:42 PM | #17 |
Colonel
![]() 829
Rep 2,232
Posts |
Of Course I've seen your sticky Dack, but I'm only coming back to the forums since I've been away a few years and wanted to give everyone who looked at this thread a little chuckle.
But also, I'm switching to oil changes every 5k miles now, so... Either follow this monstrosity and trick the computer via INPA, or give myself a little old school reminder right there on the windshield. |
Appreciate
0
|
04-20-2019, 07:08 PM | #18 | |
Captain
![]() ![]() ![]() ![]() ![]() 290
Rep 888
Posts
Drives: 08 135i M Sport 6MT, 15 X3 35i
Join Date: Feb 2013
Location: Edmonton
|
Quote:
I have a full maintenance log for all my vehicles, which is super useful for this. I gave mileage service performed at and next due. Whatever you use for in vehicle reminder I find keeping some form of log extremely valuable
__________________
2015 Cosmic Blue Metallic Wrapped X3 35i ///M Sport Full 3M Vinyl Wrap | Flat Black Grilles ![]() |
|
Appreciate
1
Dackelone10945.00 |
Post Reply |
Bookmarks |
|
|