05-25-2020, 12:07 PM | #1 |
Private First Class
159
Rep 159
Posts |
Enabling M1/M2 buttons on OG M2
TL;DR: I believe it's possible to enable the M1/M2 buttons on an OG M2 with a bit of hardware and a bit of coding. At this time I don't think we need to flash anything, but I don't know for sure. The rest of this post details the current state of the world, as well as what open questions I have and what requests I have.
I'll do my best to keep this updated as I test things out. This is also a dedicated thread forked from: https://f87.bimmerpost.com/forums/sh....php?t=1282584, so all credit to those who came before me. Necessary hardware: - M1/M2 button covers (I ordered mine from AliExpress because I'm cheap and willing to wait, but IND and EAS also have them) ($10-40) - Center console buttons, part number 61317850477 ($50-250) - [Future] Surface mount LEDs for button backlighting Technically you might not need the center console buttons, but I don't know, so figured I would try to make it work fully. According to the wiring diagram, "T_SPORT" would be "T_VDC" (Must be "Variable Damper Control", which is related to the M adaptive suspension) and "T_COMECO" (comfort/eco, the other half of our FDS switch) would be "SERVOTR" (Servotronic == power steering, so this should set steering settings?). Potentially the M3 "POWER" is the engine setting (bypassing ICM entirely, which is concerning if we don't have a wiring harness set up for this... hopefully they wired it up and don't use it). Hardware installation is pretty straightforward: - M1/M2 button installation: , https://f87.bimmerpost.com/forums/sh....php?t=1613233 - Center console buttons: theres a tab in the front that you need to depress, then it should pop out. Swap the plug and proceed to coding At some point, I'll find out what color/size LEDs the wheel uses and can post links for those. Necessary coding: I've been using E-Sys, but these may be doable in Bimmercode, I can check once I've got the final list. I don't believe we need to flash any ECUs at this point, but I don't know for sure. // Turns your M2 steering wheel into an M3 steering wheel (buttons covers not included) FEM_BODY > PfLinSteeringWheel 3140 > LIN_VARIANTE_MFL > "DCC_M_Drive" (or "SLD_DCC_M_Drive" if you have SLD "aktiv", from "DCC_Sports") // HU settings, seem to work HU_NBT_EVO > HMI 3000 > M_VEHICLE = aktiv HU_NBT_EVO > HMI 3000 > MDRIVE = aktiv (from nicht_aktiv) HU_NBT_EVO > HMI 3000 > MDRIVE_CONFIG = 2_menu (from 1_menu) HU_NBT_EVO > FES 3008 > FES_FEATURE > aktiv (from nicht_aktiv) HU_NBT_EVO > FES 3008 > FDS_POPUP_DEACTIVATE > nicht_aktiv (from aktiv) HU_NBT_EVO > FES 3008 > MACRO_FDS > nicht_aktiv (from popup_and_config) HU_NBT_EVO > EFFICIENT_DYNAMICS 3009 > HIST_FDS_MODE_NAME > nicht_aktiv (from aktiv) HU_NBT_EVO > EFFICIENT_DYNAMICS 3009 > HIST_FDS_MODE_COLOR > nicht_aktiv (from aktiv) // Unsure these need to be set (M3 VO option, not set on M2C) HU_NBT_EVO > HMI 3000 > M_DIGITAL_TACHO = aktiv (from nicht_aktiv) HU_NBT_EVO > HMI 3000 > M_DIGITAL_TACHO_EINH = aktiv (from nicht_aktiv) HU_NBT_EVO > HMI 3000 > M_DRIVE_SYSTEMS = aktiv (from nicht_aktiv) // ICM settings, don't seem to work without new center console buttons ICMQL > Daten 3000 > C_FDS_FES_Verbau > MDM (from FDS) ICMQL > Daten 3000 > IcmKod_B_Sportindividualisierbar > aus (from ein) ICMQL > Daten 3000 > IcmKod_B_S7ACA = nicht_verbaut (from verbaut) ICMQL > Daten 3000 > IcmKod_B_EPS = ZFLS (from Auto) // Unsure, M3 VO option, still set to Auto in the M2C // Pretty sure these Kombi settings are necessary KOMBI L7_MID > FZG_Ausstattung 3003 > M_VARIANTE = motorsport (from ag_variante) // this may just be a UI thing, not a necessary setting KOMBI L7_MID > ERM_Konfiguration 3004 > ST_MDRV_2_ALIVE = aktiv (from nicht_aktiv) KOMBI L7_MID > ERM_Konfiguration 3004 > ST_MDRV_2_APPL = aktiv (from nicht_aktiv) KOMBI L7_MID > ERM_Konfiguration 3004 > ST_MDRV_2_TIMEOUT = aktiv (from nicht_aktiv) KOMBI L7_MID > ERM_Konfiguration 3004 > CTR_DISP_M_SYS_ALIVE = aktiv (from nicht_aktiv) KOMBI L7_MID > ERM_Konfiguration 3004 > CTR_DISP_M_SYS_APPL = aktiv (from nicht_aktiv) KOMBI L7_MID > ERM_Konfiguration 3004 > CTR_DISP_M_SYS_TIMEOUT = aktiv (from nicht_aktiv) KOMBI L7_MID > PIA_Einheiten 3008 > KI_PIA_M_SPORT_DIGI_TACHO = aktiv (from nicht_aktiv) // may by M3 only, not M2C KOMBI L7_MID > ECO_FDS 300C > FDS_SIGNAL_VARIANTE > fahrerlebnis (from fahrerdynamik) // hunch, haven't been able to verify // These are the M3 settings, but they seem to have more options (e.g. eco pro, comfort, sport, sport+) KOMBI L7_MID > ECO_FDS 300C > FDS_MENUE = menue_3 (from menue_4) KOMBI L7_MID > ECO_FDS 300C > FDS_MENUE_SIGNAL_1 = menue_3 (from menue_4) KOMBI L7_MID > ECO_FDS 300C > FDS_MENUE_SIGNAL_2 = menue_3 (from menue_4) KOMBI L7_MID > ECO_FDS 300C > FDS_MENUE_SIGNAL_3 = menue_3 (from menue_4) KOMBI L7_MID > ECO_FDS 300C > FDS_MENUE_SIGNAL_4 = menue_3 (from menue_4) KOMBI L7_MID > ECO_FDS 300C > FDS_MENUE_SIGNAL_5 = menue_3 (from menue_4) KOMBI L7_MID > ECO_FDS 300C > FDS_MENUE_TEXT_1 = menue_3 (from menue_4) KOMBI L7_MID > ECO_FDS 300C > FDS_MENUE_TEXT_2 = menue_3 (from menue_4) KOMBI L7_MID > ECO_FDS 300C > FDS_MENUE_TEXT_3 = menue_3 (from menue_4) KOMBI L7_MID > ECO_FDS 300C > FDS_MENUE_TEXT_4 = menue_3 (from menue_4) KOMBI L7_MID > ECO_FDS 300C > FDS_MENUE_TEXT_5 = menue_3 (from menue_4) Other useful acronyms/German translations: - szl: Column switch with steering angle sensor - fla: High beam assist - aic: Rain sensor intermittent switch (auto interval control) - 4Band: Steering wheel heater - HW: Rear wiper switch - PIA: personalization, individualization, and adaptation - FZG: vehicle - FDS: Fahrdynamikschalter = driving dynamics switch - FES: Fahrerlebnisschalter = driving experience switch Supporting evidence: - Buttons exist on the steering wheel, they're just covered with blanks (part number is the same, https://f87.bimmerpost.com/forums/sh...5&postcount=39, https://f87.bimmerpost.com/forums/sh...35&postcount=7) - Wiring diagram for steering wheel: https://www.newtis.info/tisv2/a/en/f...umn/1VnYdeZYlS - Wiring diagram for M2 center console: https://www.newtis.info/tisv2/a/en/f...witch/FpgYr0rw (T_SPORT, T_COMECO) - Wiring diagram for M3 center console: https://www.newtis.info/tisv2/a/en/f...tch/1VnXkCYWEL (T_VDC, SERVOTR) Tools/process: - E-Sys 2.8, used to pull CAFDs from HU, ICM, FEM_Body, and KOMBI - TokenMasters NCD/CAFD viewer, particularly SVT what-if analysis I started by exploring the ECUs in E-Sys searching for anything M related. Eventually I got my hands on an M2C and was able to grab the same ECUs. I was able to export the CAFDs as .fwl (colon separated values in plain text) and imported that into Google Sheets to diff the values: https://docs.google.com/spreadsheets...it?usp=sharing For some reason the NCD/CAFD couldn't read the M2C files (too new?), so my janky diff viewer will have to do for now. Beyond that it's mostly been guess and check. Open questions: - Is there an explicit way to enable the new center console switches, or does C_FDS_FES_Verbau do this? - Do we need to code DME, EPS, GHAS, ZGW or any other ECUs (it seems like the FES switches communicate with the ICM analog-ly, then the ICM uses flex-ray to propagate those changes; the M1/M2 buttons are analog to LIN to the FEM). Seems like I've covered changes to these ECUs, but not sure how much needs to be enabled downstream. FWIW, EPS doesn't seem to have any settings for this and DME isn't often coded. - Do we need to flash any ECUs? Not seeing obviously missing settings, but I don't know if the ECUs are missing other functionality. - How much do we need to change in Kombi, does Kombi 1 even support this or do we need an LCI console? Requests: - An M3/M4 with Kombi 1 that I can pull settings from. Finally, if you want to follow along with my parallel German translated world, it's available here https://www.1erforum.de/threads/mult...m-m140i.260091 Last edited by asciimike; 05-25-2020 at 01:53 PM.. Reason: T_VDC, POWER button updates |
Appreciate
6
|
05-25-2020, 07:32 PM | #2 |
Private First Class
159
Rep 159
Posts |
Bad news about the center console switches: I don't think we can enable them easily, and possibly at all (at least, not all of them).
Taking a look at the M3 center console wiring diagram, the POWER button goes straight to the DME (pin 48), which sure enough is labeled as "Signal, Sport button" (https://www.newtis.info/tisv2/a/en/f...lim/1VnXwhOBmx). Our cars don't have this connected (https://www.newtis.info/tisv2/a/en/f...onics/HtcQb0qJ). See connector A211*B pin 48 for the difference. A cursory glance at the DME doesn't show a simple way to add the wire (I believe we could wire it in, if you really want to run a single wire through the firewall) and code it in, so I think we're SOL. I have a feeling the N55 wasn't built with this in mind :/ I've attempted to cancel my center console switch order, but unsure if it's shipped or not. If it comes maybe I'll re-wire it to just do the same thing the current one does and have everyone gawk at the cool buttons in an OG The other development was trying to enable the M drive settings in the Kombi (ST_MDRV_2, CTR_DISP_M_SYS). Enabling M_DIGITAL_TACHO* in HU puts the option (M driving dynamics...) in the Kombi menu, but it's slaved to the EfficientDynamics gauge (setting called additional information) below the tach: turning one off turns both off. A dive into the HU and Kombi options brought up the HU setting "Calming_Kombi" which has the description: "Comment = Specifies whether the menu entry for additional analog displays (!FPK) is available under Kombi settings". Setting it to nicht_aktiv removes the menu option in the HU, but the EfficientDynamics gauge still remains in the Kombi. So over to Kombi, where we set "EDA_Enable" to nicht_aktiv ("Comment = 0 = Efficient Dynamics display deactivated 1 = Efficient Dynamics display active"), as well as KI_PIA_EDA = nicht_aktiv, KI_PIA_M_SPORT_DIGI_TACHO = aktiv (normally the values are reversed), but unfortunately, the stupid EfficientDynamics display continues to exist. That said, I gained one more nugget of information: IcmKod_B_FPK is enabled on the M2C, but not on my OG. A quick search indicates FPK is Full Panel Kombi, which mine (being pre-LCI) is not. I feel like I associate IcmKod_B with analog button inputs, so unsure why this would be treated like a button, but I've been wrong before. I really need to get an M3/M4 with one of our similar Kombi so I can get the right settings. That said, I believe Bimmercode will give the settings from the newer Kombi, so in a pinch I could probably use it for individual settings. I have a few open questions: - The steering wheel is connected to the FEM, not the ICM: does it route the LIN signal from the FEM to the ICM and then on to different ECUs over FlexRay, or do the signals go straight to the ECUs (like in the case of POWER)? If it's the latter, we're going to have a problem (we likely don't have wires). How are we able to change throttle response (e.g. Sport+) via ICM while the M3 needs a dedicated wire? Seems like an interesting design decision IMO... I would have assumed they simply went ICM to FEM to DME over FlexRay, rather than a dedicated wire. - Which brings me to the big question I have: were is the state stored? Clearly I can get the HU menus to show up, but the values don't seem to get saved anywhere. I assume that they go to the ICM and are stored there, but the settings are shown above and setting them that way doesn't seem to save the values? I must be doing something wrong (maybe I need a later IStep version flashed?). |
Appreciate
1
ahass48.00 |
05-27-2020, 05:50 PM | #3 | |
Lieutenant
158
Rep 479
Posts |
Quote:
|
|
Appreciate
0
|
05-29-2020, 11:50 AM | #4 | |
Private First Class
159
Rep 159
Posts |
Quote:
|
|
Appreciate
0
|
05-29-2020, 06:43 PM | #5 | |
Lieutenant
158
Rep 479
Posts |
Quote:
I wish I understood this stuff better. |
|
Appreciate
0
|
05-30-2020, 11:09 AM | #6 |
Private First Class
159
Rep 159
Posts |
The way I think about is that there are three levels for any given ECU:
- Hardware: the physical chips, wiring harnesses, and additional buttons/switches/displays/etc. that are required to perform the desired action. E.g. the DME or the Kombi unit (or even the center console buttons). - Firmware: the software that is installed on the ECU that controls how it works. This is the I-Step version for your car. Changing this involves "flashing" the ECU. - Software configuration: basically the configuration options the firmware exposes. This is what we refer to as VO/FDL coding, and is only applicable to certain I-Step versions (again, the firmware needs to expose the right things for us to configure). There is another layer on top of this which is "ECU interaction" ("networking" is likely the more technical term). The firmware in each ECU is able to perform some set of communication actions which no amount of FDL coding can get around, at which point the ECU would have to be re-flashed to get that ability. Enabling this feature involves the interaction between ICM, Kombi, FEM, HU, and likely DME, DSC, EPS, all of which need to have the right hardware, firmware, software configs, and ability to communicate with each other. So I've basically tried to approach it sequentially: do we have the physical ability to make this happen (do we have buttons: yes), do we have the ability to use signals (are the buttons hooked up to anything: idk, but I think so, unsure how to test until I get the non-blank ones and try to see if the next step works), can we interpret those signals in the way we want (if they are hooked up to something, how do we enable them, etc.), and then go down the paths of "we need to add new hardware" or "we have the hardware but the firmware needs to be updated to get the option", etc. Honestly, the hardest part is the lack of good documentation... RealOEM and newTIS aren't the easiest to navigate, and I don't have the source code for the ECUs, so it's a lot of guess and check :/ |
Appreciate
1
larry.beck217.00 |
06-26-2020, 08:16 PM | #7 |
Private First Class
159
Rep 159
Posts |
Ok, I finally got my buttons from AliExpress... Cheap, good paint, slightly tight fit, but real slow (I ordered them roughly a month ago).
The short answer is that they don't do anything, even with the steering wheel set to the M_Drive setting. I need to test that the buttons actually complete a circuit, though the original post seems to confirm it, and I doubt the LEDs would do anything in that regard. I still feel like I'm missing something that ties all of this together though (the ability for the HU to actually set M1 and M2 settings). |
Appreciate
1
ahass48.00 |
07-06-2020, 09:35 AM | #9 |
New Member
0
Rep 11
Posts |
M1 & M2 Button
Hello,
so i own a M2C and M2Lci. The last 2 Weeks I tried to activate the whole M Dynamic Modus incl. M1 & M2. I also followed all your Post in this and the german Forum. I read everything out of the M2LCI and just could not manage to find important values for The M Modes. I also had a friend by and he also was not able to manage these settings. What we found out is you will definitely need new ECUs since the M2C has more cables going into these. We coded all the values you said an many of them alone, just to figure out which caused the biggest problems. On many Values the M2LCi Instrument Cluster showed almost every error possible. What we achieved was to have the M Mode Info in the Cluster and the M Settings in the iDrive, we also did manage to change the M1 M2 Configurations but these resulted in no function. I also purchased the M1 m2 Buttons, the new center console button including the Drive Logic switch. None of these showed any signal. For the M Mode buttons on the center console the cable didn’t had enough pins. The Drive Logic switch didn’t had an location too put the cable into at all. so our result for this whole mod is simple. This will simply not work or you put in a lot of money. Thank You |
Appreciate
0
|
07-06-2020, 09:49 AM | #10 |
New Member
0
Rep 11
Posts |
M1 & M2 Button
My solution is get the Thor M Flasher and flash everything to competition. I did this today and it is everything you expect from the competition except the power
|
Appreciate
0
|
08-07-2020, 04:50 PM | #11 |
Major
566
Rep 1,094
Posts |
Can you go into more detail? This thread is about making the M1 and M2 buttons working. Do you mean you got them to work with Thor?
|
Appreciate
0
|
08-10-2020, 04:14 AM | #12 |
New Member
0
Rep 11
Posts |
So the M buttons will not work with the M Modes. What would work, the Buttons coded some different setting for example MDM or Sport, Sport Plus. But this would be very pricey. Friend of mine would charge me aprox. 2000-3000€. You also need some new control units.
The Thor flasher is a different solution to get the best out of the OG M2. (If you want the M1 M2 to work you have to change the Engine, and all needed Control Units.) |
Appreciate
0
|
08-27-2020, 06:50 PM | #13 |
Registered
0
Rep 4
Posts
Drives: BMW - M235i Coupe
Join Date: Aug 2020
Location: Brazil
|
Hello guys.
I know that's not the right place to ask this, but reading the forum i thing you are close to put those buttons to work. I a M235i owner, and i would like to code M1 and M2 buttons to change between the ride modes. (for me that's enought ) So, could someone help me? I Just bought the two buttons from aliexpress, in a month, i hope, they'll be here. Thank you. |
Appreciate
0
|
08-31-2020, 10:17 AM | #14 | |
New Member
0
Rep 11
Posts |
Quote:
Are you ready to spend like 2k possibly even more, if than this would be possible with some small hardware and big software changes. What would be cheaper, do some diy button and buy a after market exhaust with remote flap control and control with m1 and m2 the flaps. There is no simple way to get those button working. |
|
Appreciate
0
|
09-10-2020, 09:27 AM | #15 | |
Registered
0
Rep 4
Posts
Drives: BMW - M235i Coupe
Join Date: Aug 2020
Location: Brazil
|
Quote:
If you have any picture to share or a diagram, it will be very helpfull |
|
Appreciate
0
|
05-04-2021, 02:01 PM | #16 |
Second Lieutenant
584
Rep 213
Posts
Drives: BMW F87 M2C
Join Date: Jan 2020
Location: UK
|
Reviving an old thread just saw this in a WhatsApp group I'm in
|
Appreciate
2
DrKevM52281.00 beppeM3+123d205.00 |
05-04-2021, 03:54 PM | #18 |
Captain
654
Rep 604
Posts |
This is sweet!! I'd be interested. I hate having blank buttons
__________________
|
Appreciate
0
|
05-05-2021, 06:25 AM | #19 | |
Second Lieutenant
584
Rep 213
Posts
Drives: BMW F87 M2C
Join Date: Jan 2020
Location: UK
|
Quote:
I've placed an order for a kit, so fingers crossed |
|
05-05-2021, 03:12 PM | #20 |
First Lieutenant
194
Rep 309
Posts
Drives: 2018 M2 LBB - 6MT
Join Date: Jan 2019
Location: Toronto
|
I think in this case the M1 button is equivalent to hitting the rocker button upwards (I.e., towards Sport/Sport+), and M2 button equivalent to hitting the rocker downwards (towards comfort/eco). I believe this is different from how the buttons work on the M2C, which are individual/customizable drive modes. Not saying this is useless, but not the same thing, unless I'm mistaken.
|
Appreciate
0
|
05-05-2021, 04:31 PM | #21 | |
Second Lieutenant
584
Rep 213
Posts
Drives: BMW F87 M2C
Join Date: Jan 2020
Location: UK
|
Quote:
Drive modes on the S55 engined vehicles are totally different/more customisable. It's not an essential mod but it does make the steering wheel buttons seem more complete, and also means you can keep your hand on the wheel whilst switching. |
|
Appreciate
0
|
05-05-2021, 07:55 PM | #22 |
Private First Class
159
Rep 159
Posts |
> Yeah that's exactly how it works, just mimics the sport/comfort switch.
Huh, wonder how that happens. IIRC, the drive dynamics switch (comfort/sport/sport+) sent both wires straight to the ICM, while the steering wheel buttons are translated into a LIN bus signal sent to the FEM. I guess you could splice a signal directly from the buttons to the ICM, but that feels pretty invasive, as it involves going through the clock spring and down to the ICM (which is under the center console). Then again, the M2C has a single wire that goes all the way to the DME vs using existing busses, so I guess BMW has done crazier things. |
Appreciate
0
|
Post Reply |
Bookmarks |
|
|