M-Drive and MDM in non M cars

KClemente

Sergeant
Nov 26, 2019
284
147
0
Ride
E90 335i
@AzNdevil

0x4EDD3 is the 0x399 toggle in IKM0S.

If toggle is 00, st_dsc_can will not change. Set to 01 to enable.

Sidenote: I had to change K_SPORT_MDRV_DSC to 04 to get the M button to set the DSC to MDM mode. You can also set it to 01 to have the M button to turn off DSC completely. Though you'd be able to change it via CIC if you build and install superwofy's CAN module.
 
  • Like
Reactions: AzNdevil

AzNdevil

Lieutenant
Staff member
Nov 4, 2016
566
269
0
Hong Kong
@AzNdevil

0x4EDD3 is the 0x399 toggle in IKM0S.

If toggle is 00, st_dsc_can will not change. Set to 01 to enable.

Sidenote: I had to change K_SPORT_MDRV_DSC to 04 to get the M button to set the DSC to MDM mode. You can also set it to 01 to have the M button to turn off DSC completely. Though you'd be able to change it via CIC if you build and install superwofy's CAN module.

thanks so much, let me play around with it when i have time and see where it gets me

btw can someone confirm the logic for the dsc button?
do i feed pin41 on dsc module with 12V?
do i disconnect 12V or do i need to bring it to ground to simulate a button press?
need to figure out how to wire this to the stock 335 dsc button

thanks

let me consolidate this thread and put together some kind of guide after i get everything worked out (when i have time)
 
Last edited:

KClemente

Sergeant
Nov 26, 2019
284
147
0
Ride
E90 335i
Ugh the button logic still isn’t seemed to be fully understood to this day lol.

For future reference, my OEM M3 dsc (pn: 3452 7844739) likes the oem M3 dsc off button next to the shifter. I didn’t have to do any 12v pullup to trigger the button. Actually if i applied 12v to pin 41, it would spark lol

Wiring diagrams both show the 335i and M3 switches as normally open switches that close when you press the button. Though it shows the ground wire for the 335i button but not the M3 button. Wire up your stock dsc button by just moving the current trigger wire to the dsc unit

The weird part is, the 10 second long button press error would occur whenever I have the switch disconnected, which I don’t know why as it’s *supposed to be a normally open switch.
 
Last edited:

AzNdevil

Lieutenant
Staff member
Nov 4, 2016
566
269
0
Hong Kong
Ugh the button logic still isn’t seemed to be fully understood to this day lol.

For future reference, my OEM M3 dsc (pn: 3452 7844739) likes the oem M3 dsc off button next to the shifter. I didn’t have to do have to do any 12v pullup to trigger the button. Actually if i applied 12v to pin 41, it would spark lol

Wiring diagrams both show the 335i and M3 switches as normally open switches that close when you press the button. Though it shows the ground wire for the 335i button but not the M3 button. Wire up your stock dsc button by just moving the current trigger wire to the dsc unit

The weird part is, the 10 second long button press error would occur whenever I have the switch disconnected, which I don’t know why as it’s *supposed to be a normally open switch.
pfft that sucks, i thought @RSL had this figured out or something...i vaguely remember him saying something about a relay or wiring diagram of sorts

if 12v to dsc pin41 = spark then its a short
i still need to find a pin that fits so i can do some measuring of my own
frankly speaking, its either bring to ground or bring to 3/5/12v

do you know how many wires come out of the oem m3 dsc switch itself?

i have no errors without pin 41 hooked up at the moment but i cant disable anything
traction control works (just dumped the clutch a few times to test it)
abs works

and i do have an answer to what happened wrt my previous question for dsc module coding
i will add the details here later but in short, seems protools does coding through nettodat and i was able to write dsc87 AND mk60_m3 coding to the dsc module
 

lilg1993

Private
Jun 3, 2020
29
13
0
Sidenote: I had to change K_SPORT_MDRV_DSC to 04 to get the M button to set the DSC to MDM mode. You can also set it to 01 to have the M button to turn off DSC completely. Though you'd be able to change it via CIC if you build and install superwofy's CAN module.

Do you have any special DME flashing/coding done to enable MDM, or its just the M3 hardware with proper module coding? No CAN module?

If you code K_SPORT_MDRV_DSC to 04 and didn't have superwofy's CAN module, you should still be able to turn off DSC completely with the button next to the shifter, while enabling MDM by pressing the M button, right?

pfft that sucks, i thought @RSL had this figured out or something...i vaguely remember him saying something about a relay or wiring diagram of sorts

if 12v to dsc pin41 = spark then its a short
i still need to find a pin that fits so i can do some measuring of my own
frankly speaking, its either bring to ground or bring to 3/5/12v

do you know how many wires come out of the oem m3 dsc switch itself?

i have no errors without pin 41 hooked up at the moment but i cant disable anything
traction control works (just dumped the clutch a few times to test it)
abs works

and i do have an answer to what happened wrt my previous question for dsc module coding
i will add the details here later but in short, seems protools does coding through nettodat and i was able to write dsc87 AND mk60_m3 coding to the dsc module

Check this post here, it should help. My mechanic is just finishing the wiring for the center console tonight/tomorrow hopefully...if I can pick up the pin/grommet for the DSC connection locally (thanks @KClemente for the p #'s). If so I'll confirm the switch pinout.

Separate question but since swapping in the M-Drive enabled SZL (p# 61319123060) there is a steering angle sensor code - it says "serial number calibration required". As mentioned in another post, I don't know shit about coding, so if anybody knows what needs to be done to make this code and light fuck off, that would be great!
 
Last edited:
  • Love
Reactions: AzNdevil

AzNdevil

Lieutenant
Staff member
Nov 4, 2016
566
269
0
Hong Kong
Do you have any special DME flashing/coding done to enable MDM, or its just the M3 hardware with proper module coding? No CAN module?

If you code K_SPORT_MDRV_DSC to 04 and didn't have superwofy's CAN module, you should still be able to turn off DSC completely with the button next to the shifter, while enabling MDM by pressing the M button, right?



Check this post here, the should help. My mechanic is just finishing the wiring for the center console tonight/tomorrow hopefully...if I can pick up the pin/grommet for the DSC connection locally (thanks @KClemente for the p #'s). If so I'll confirm the switch pinout.

Separate question but since swapping in the M-Drive enabled SZL (p# 61319123060) there is a steering angle sensor code - it says "serial number calibration required". As mentioned in another post, I don't know shit about coding, so if anybody knows what needs to be done to make this code and light fuck off, that would be great!

thanks so much for the pinout! its not on newtis/ista

steering angle sensor code, factory code dsc with m3 VO, it should go away
if not, try to write vin to dsc module and factory code
 
  • Like
Reactions: lilg1993

KClemente

Sergeant
Nov 26, 2019
284
147
0
Ride
E90 335i
Do you have any special DME flashing/coding done to enable MDM, or its just the M3 hardware with proper module coding? No CAN module?

If you code K_SPORT_MDRV_DSC to 04 and didn't have superwofy's CAN module, you should still be able to turn off DSC completely with the button next to the shifter, while enabling MDM by pressing the M button, right?
Yep, holding the dsc button for around 2 seconds will still turn it off completely. And the only "special flashing" is flashing an IKM0S bin via mhd. It's critical to make sure you use your respective country variant bin especially for US model cars.
 
  • Like
Reactions: lilg1993

RSL

Lieutenant
Aug 11, 2017
937
501
0
You don't even need IKM0S, MDrive works on other roms by enabling a few codes. I've been on INA0S with everything working for the last few years.

pfft that sucks, i thought @RSL had this figured out or something...i vaguely remember him saying something about a relay or wiring diagram of sorts

if 12v to dsc pin41 = spark then its a short
i still need to find a pin that fits so i can do some measuring of my own
frankly speaking, its either bring to ground or bring to 3/5/12v

do you know how many wires come out of the oem m3 dsc switch itself?

i have no errors without pin 41 hooked up at the moment but i cant disable anything
traction control works (just dumped the clutch a few times to test it)
abs works

and i do have an answer to what happened wrt my previous question for dsc module coding
i will add the details here later but in short, seems protools does coding through nettodat and i was able to write dsc87 AND mk60_m3 coding to the dsc module

Sorry, been out of it for a while. Yes, myself and at least one other had to run +12v to pin 41 on DSC. Mine is 5/2010 build 2011 335is, but I don't think I have any pics with my DSC module number handy for reference. If using an actual M3 DSC, this should not be an issue.

The telltale sign is getting the button pressed >10 sec error after turning the car on. If you get that with nothing or ground connected to pin 41 with M3 DSC flashed to non-M DSC, you probably need +12v to the pin instead and will then need to connect the DSC Off button to a relay to break +12v to turn it off manually. I used +12v, but 3 or 5v may work. Before I added the relay for the button, I just set default to DSC off when MDrive activated.

If there are no codes (and codes aren't disabled) and it still doesn't work, it's hard to say, especially with all the other hardware that changed to support it.
 

AzNdevil

Lieutenant
Staff member
Nov 4, 2016
566
269
0
Hong Kong
1000446477.jpg


pins and waterproof plug thingys have arrived.... let see if i have time to mess around with it tonight....
 

AzNdevil

Lieutenant
Staff member
Nov 4, 2016
566
269
0
Hong Kong
ok today was a big fail, i have no idea the dsc plug comes apart for repinning, so i routed the wire and called it a day

any idea how to repin the black/white dsc plug?
1000446970.jpg
 

RSL

Lieutenant
Aug 11, 2017
937
501
0
The DSC connector has a slide in it that will prevent pins from coming out even with the tabs pressed in. It's blue IIRC. Need to slide that out first and then release the pins.
 

AzNdevil

Lieutenant
Staff member
Nov 4, 2016
566
269
0
Hong Kong
The DSC connector has a slide in it that will prevent pins from coming out even with the tabs pressed in. It's blue IIRC. Need to slide that out first and then release the pins.

i was trying to depin one of the existing wires to check if the pins i ordered would work + the direction of the pin/tab
somehow it didnt occur to me i need to stick something in to release it...

maybe i will find sometime to play with this on wednesday... i really need a way to disable traction control soon as i wont have as much time to play with this after next month

img_9902-jpg.jpg
 

RSL

Lieutenant
Aug 11, 2017
937
501
0
Yours looks different than mine. I used a Lisle 56500 to depin. It's a little tight, but the small tabs worked. Can pick it up at almost any auto parts store for like $15, but I'm not sure yours even has the same pin type.

20221029_121707.jpg

Mine has a little cap on the firewall inside the cubby for the DSC. Popped that off and the wire for 41 feeds right through above the dead pedal.

20221029_113905.jpg

Not sure what DSC you have in there now, but 1M DSC flash on non-M DSC works through the DTC button. If everything else is otherwise working for M3 DSC/MDrive, setting DSC to off for MDrive preset in the DME bin will turn it off when MDrive activates.
 

AzNdevil

Lieutenant
Staff member
Nov 4, 2016
566
269
0
Hong Kong
Yours looks different than mine. I used a Lisle 56500 to depin. It's a little tight, but the small tabs worked. Can pick it up at almost any auto parts store for like $15, but I'm not sure yours even has the same pin type.

View attachment 84967

Mine has a little cap on the firewall inside the cubby for the DSC. Popped that off and the wire for 41 feeds right through above the dead pedal.

View attachment 84968

Not sure what DSC you have in there now, but 1M DSC flash on non-M DSC works through the DTC button. If everything else is otherwise working for M3 DSC/MDrive, setting DSC to off for MDrive preset in the DME bin will turn it off when MDrive activates.

ahh mine looks the same, i just stole the pic from google showing the depinning thing going into the dsc plug
i have cheap chinese depinning tools that should fit...i will figure out a way somehow i guess

i poked a hole in the grommet with a screwdriver beside the big(er) cable and fished the wire through

i have a m3 dsc module installed now..... and it wont take any other firmware except for 7846816 (the m3 flash)
thats why i cant even flash a non m firmware on there for the time being :(

worst case scenario i will try and get the m mode button working first so i can at least have another way to disable traction control
 
  • Like
Reactions: RSL

AzNdevil

Lieutenant
Staff member
Nov 4, 2016
566
269
0
Hong Kong
ok finally got the wire to go into the dsc side at least last night, make sure to use wires that have are relatively stiff or the pin wont click into place into the dsc module plug.... look at how bent the orange wire is.... i had to fish through my pile of scrap wires to find something that works

and make sure to fish the rubber grommet out of the hole first with something pointy and sharp, i pushed the grommet in by accident and spent more time trying to take it out than preping + routing the wire..........

m3 dsc module + m3 flash = ground pin 41 to turn off traction control
i just poked on random bolts and check my cluster to see if anything happens

i will finish wiring the disable button to my traction control switch tonight but its very hot and humid outside at the moment...........

i suppose i will need to make a superwofy module to get m drive/mdm to work since i cant get a 1m firmware flashed onto my dsc...
i have similar hardware sitting around but will need to modify the code for it to work
i don't have i drive so i wont be able to change anything on the fly not that it really matters (imo)
i just want mdm working along with the m drive light cause it looks cool

so far i only have 0x399 toggle in IKM0S enabled
pressed the button and all it does is change my radio input
cruise control is not working for some reason, i think it might be related to dynamic cruise control (S544) in my VO which isnt supported by the m3 firmware


PXL_20230824_000649405.jpg
PXL_20230824_000352691.jpg
PXL_20230823_235909534.jpg
 
Last edited:

RSL

Lieutenant
Aug 11, 2017
937
501
0
Not exactly sure how it works on non-iDrive cars, but need coding to stop the media button from being media and add M instead. M Drive wasn't even available on non-iDrive cars for a long time, BMW eventually hacked something together to make it work.

Also fairly sure anything except the base CC won't work on the M3 DSC or maybe it was M3 Kombi. There is supposedly a way around it, but simply coding to the lesser CC doesn't do it and I never bothered past trying that.

You don't need a CAN module unless you want shifts lights or EDC. The rest of MDrive defaults can be set in IK and will activate if/when MDrive goes on.

Edit: well, you might need a CAN module if you can't get it working through normal channels with non-iDrive.
 

AzNdevil

Lieutenant
Staff member
Nov 4, 2016
566
269
0
Hong Kong
just did a bit of googling and my conclusion on this is....

non idrive + m drive/mdm exists in stock form for m3 built post 2011.5, it works by using hard coded settings
by default, m drive = DSC MDM, Sport Power, Sport Servotronic
I just fact-checked "no iDrive = no MDM" issue with someone who has 2011.5 model w/ no iDrive, and he says his car goes into MDM mode when he pushes the M button and that, apparently, all models past 2011.5 have it.
Ref: https://www.m3post.com/forums/showpost.php?p=8570451&postcount=115
So let me summarize how to access all possible combinations for a car with no IDrive, no EDC, and no DCT:
...

l) DSC MDM, Sport Power, Sport Servotronic: Hit M Button.
Ref: https://www.m3post.com/forums/showpost.php?p=9070971&postcount=42

since we are running a hybrid of 1M and M3 stuff, there are multiple configurations that can exist but as @RSL tested, some works, some don't

based on IKM0S bin + M3 dsc module
my understanding on m-drive/mdm (for ikm0s) is that.... (@RSL @carabuser please correct me if i am wrong)
  1. szl m drive button triggers dsc module through F-CAN to send out a 0x1D6 canbus packet on PT-CAN to indicate button press
  2. dme will pick up packet from PT-CAN
if CW_SPORT_SZL(sport switch enable) and lc_var_spt_swi(m drive switch) is enabled (set to 01)​
  • dme will send a packet on PT-CAN which gets routed to K-CAN by JBBF to KOMBI to turn the m drive light on
  • dme will use the other throttle map (high or low i don't remember)
3. dsc mode (on/mdm/off) when m drive is engaged is configured using the K_SPORT_MDRV_DSC variable in the ikm0s bin​
4. dsc mode will be changed via the 0x399 m-drive packet. in order for the dme to send 0x399 m-drive packets, there are two options, either...​
  • ikm0s bin has to be patched which further requires either...
  • mhd jake to enable some developer mode in mhd for your account or...
  • use something external to modify the dme directly
  • use a superwofy module which requires...
    • disabling everything m related (CW_SPORT_SZL(sport switch enable) and lc_var_spt_swi(m drive switch)) in ikm0s bin
    • remove 0x315 canbus id filter from dme as sport mode (throttle map change) canbus packet is now generated by the superwofy module instead of the dme

currently i have CW_SPORT_SZL and lc_var_spt_swi both set to 01, the m/radio button doesnt light up the m drive cluster light
i havent logged the variable states in memory for the buttons for further troubleshooting

base cruise control (S540) should work...i will try this soon....
supposingly default coding dsc/szl and kombi after vo change should get it working...
at least thats all i needed to do when i installed the m3 m drive szl with the cc stalk (my car didnt come with cruise control from factory)

edit: removed S544, added S540 with a WD92 VO works, default coded ihka/kombi/radio using protools.
base cruise control sucks. if i try to set the speed lower than what i am driving, it cancels itself out
its very unrefined/rough compared to dynamic cruise control. can't lower your requested speed while its engaged
but hey... at least it works

i wonder if i can get dynamic cruise control (S544) to work by retrofitting a ldm module like early cars...
realoem lists it compatible with KG92
1692984226996.png


1692984736227.png
 
Last edited:

RSL

Lieutenant
Aug 11, 2017
937
501
0
I don't think I've ever even seen a non-M with base CC, but I guess some are out there. I have DCC and I think it stopped working when M3 Kombi was added (last thing done). The M3 Kombi itself had a CC error with 544 and I changed to 540 to shut it up, but doesn't allow it to function.

The hack for DCT picking up settings from 0x399 is done and in public MHD for IN and IK. Need to enable the address in the XDF and when MDrive goes active, DCT will automatically pick up the default settings. Without it, you'd need to set DCT settings manually with shifter/DriveLogic button after enabling MDrive.

I'll dig up the MDrive logging params I used for IK.
 

AzNdevil

Lieutenant
Staff member
Nov 4, 2016
566
269
0
Hong Kong
I don't think I've ever even seen a non-M with base CC, but I guess some are out there. I have DCC and I think it stopped working when M3 Kombi was added (last thing done). The M3 Kombi itself had a CC error with 544 and I changed to 540 to shut it up, but doesn't allow it to function.

The hack for DCT picking up settings from 0x399 is done and in public MHD for IN and IK. Need to enable the address in the XDF and when MDrive goes active, DCT will automatically pick up the default settings. Without it, you'd need to set DCT settings manually with shifter/DriveLogic button after enabling MDrive.

I'll dig up the MDrive logging params I used for IK.
the only thing i did differently this time was default coding my kombi when changing between different CC modes
let me try 544 again today. i hate 540. i almost bought a LDM module last night...its only 14$usd on ebay, shipping to hong kong costs more than the module....

mind sharing "The hack for DCT picking up settings from 0x399?" i can't seem to find anything on this in the DCT swap threads on spoolstreet at least

i think i have the mdrive logging params are somewhere in this post

thanks @RSL
 

RSL

Lieutenant
Aug 11, 2017
937
501
0
All M3s got the 540 garbage, but I have a non-M DSC with M3 flashed to it. Pretty sure M3 Kombi needs 540 and hardware-wise, I think my DSC needs 544, so one or the other cause a fail depending which I code with everything in there now. When I had stock Kombi and 544, everything worked normally on 1M DSC for sure and maybe M3 DSC flash also.

mhd_399.png


If it was announced somewhere here, I didn't see it, but I hadn't signed in for a few months. I had been using a custom APK that adds the logic, but in July, I finally did an update to latest public MHD to check and it worked, so Jake added it at some point.

For IK, set 4EDD3 to 1 and flash, nothing else needs to be done. This adds logic to set what we've called the "MDrive Active" bit to 1 in 0x399. Without it, external modules (like DCT) will simply ignore the 0x399 message and not pick up any settings meant for them automatically.