View Single Post
      05-25-2020, 12:07 PM   #1
asciimike
Private First Class
159
Rep
159
Posts

Drives: 2017 M2
Join Date: Apr 2018
Location: Denver, CO

iTrader: (0)

Garage List
2017 M2  [0.00]
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
nioh_lbbm21716.50
Tano374.50
ahass48.00
ZPrime611.50