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.
DIY: How to do coding to disable Start/Stop ECO for dummies
“Coding” means changing parameters in a control panel, not programming. It’s like adjusting settings in Windows or macOS. You can do it to your vehicle if you have the right tools. But it’s hard to find people who will guide you step by step.
What You Need
1. MB car (2005 ~ present)
2. J2534 Pass Thru adapter (There are many products)
3. Xentry Pass Thru (Mercedes benz's official diagnostic software for Mechanics)
4. (Option 1, Old) Vediamo Version 4.2.2 (It's more advanced software than Xentry. It's for developers but many peoples including weekend home mechanics use it)
5. (Option 2, New) DTS Monaco 8.16 (It's more advanced software than Vediamo. It's for programmers but many weekend home mechanics also use it)
6. Seed key calculator (There is a free software, open source, GPL3).
7. Laptop (Windows 10 or 11, 64bit Intel/AMD CPU, 8+GB RAM, 100+GB free space SSD)
Where to get them
1. Car -> you have.
2. J2534 Pass Thru adapter -> Manufacturer, Amazon, eBay, Aliexpress. ($20 ~ $170 ~ $5,000)
3, 4, 5. Xentry -> MB sell it for $xx,000. But most mechanics and all home mechanics get it from somewhere on internet.
6. Seed key calculator -> There is an open source application, MBSeedKey, https://github.com/Xplatforms/mbseedkey/releases/ This application needs DLL files but doesn't include them. So, you need to find the DLLs. Do google, and you will find them with easy (For example, search with "MB SeedKey latest version with DLL"). Copy the DLLs to the lib sub-folder (Example: C:\MBSeedKey\lib\*.dll or C:\MBSeedKey\dlls\*.dll or C:\Program Files (x86)\MBSeedKey\lib\*.dll ...).
7. You can use an any latest laptop you have. If not, buy a latest laptop with x64 Intel/AMD CPU (No M1 Macbook). SDD is recommended. Windows 10/11 (64bit) is a must. Don't buy a laptop ready for Xentry on eBay/Aliexpress. That's a waste of money.
Which J2534 Pass Thru Adapter is the best?
You can use any J2534 adapter on the market, as long as it has a Windows 10 x64 device driver and Pass Thru library software for Windows 10/11. If you already have a J2534 adapter, you can try it. If you don’t know which one to buy, I suggest Tactrix Openport 2.0. When buying a new adapter, make sure it’s genuine or clone and comes with both Windows 10 device driver and Pass Thru library. You don’t need to buy DoIP adapters, even though they are excellent and can do more things, such as flashing a dead ECU over DoIP or supporting the latest vehicles.
Installation Procedure
1. Install "Xentry Pass Thru" and activate it (do Google). (PS: There are two versions of Xentry, XDOS or Pass Thru. Xentry XDOS is for SD C4 or DoIP adapter).
2. Install J2534 driver and Pass Thru library. It should be provided by the manufacturer of the adapter.
3. (Option 1) Install Vediamo 4.2.2 and activate it (do Google).
4. (Option 2) Install DTS Monaco 8.16 and activate it (do Google).
5. Install Seed Key Calculator.
To make Vediamo 4.2.2 work with a J2534 pass thru adapter,
6. Edit "C:\Program Files (x86)\Vediamo\Caesar\driver\slave.ini".
7. Find section "[PartJ]" and replace "DeviceName" with your Pass Thru adapter's name. For example, DeviceName = "Softing - VAS5054A#XXXXXXXX", or DeviceName = "Openport......(example)"
8. You don't know your adapter's name? It's in the windows registry. Or, run Xentry, then xentry will pop up a dialog to let you select a pass thru driver. Type the name in the slave.ini
9. Run Vediamo 4.2.2, and click on "Update" button. Select "Part J" only (unselect all others), click on "Update".
Warming Up
1. Connect your laptop to the vehicle's OBD port using the J2534 adapter.
2. Run Xentry
3. Do a quick test. Does it run? Yes ==> go to next step. No ==> you are doing something wrong, go back.
When coding, keep the car “ON” (without running the engine); don’t press the brake pedal and press the start button twice, or turn the key two clicks. i.e., Off -> ACC -> On -> Run. The battery will drain, but it’s fine for a short time. If coding takes long, connect an AC-12V wall charger to the battery. MB recommends a 30A charger (12V x 30A = 360W), but that’s overkill for home use. To save battery, turn off headlights, room lights, and HVAC fan.
Let's Find the Control Unit Name
To disable Start/Stop ECO, we need to change the parameter in the Main Engine ECU, which controls the “Last Mode / Default On / Default Off” options. The front SAM only controls the “Default On / Default Off” options, and “Last Mode” is better than “Default On”. To change the parameter, we need to know the control unit name (ID) of the Main Engine ECU controller. This name varies depending on the vehicle model.
1. Run Xentry. Select Diagnosis.
2. Search "Motor electronics ... for combustion engine ... " (or similar items).
3. Search "Control unit variant".
4. It's MED40 in this vehicle (example). So, let's do "variant coding" of MED40.
Let's Do It
1. Run Vediamo. Click on "Ecoute" application.
2. Click on "Select..." (1st icon on the top menu)
3. On the dialog, check *.cbf and click on "Change folder"
4. Where are *.cbf files? It's in Xentry. (Vediamo and DTS Monaco use *.cbf, *.smr-d files in Xentry).
5. Select "C:\Program Files (x86)\Mercedes-Benz\Xentry\MB_PKW\Caesar\cbf"
6. Choose "MED40" on the dialog and click on "OK"
7. Now the window shows "MED40", "System:MED40" / "ECUs" / "MED40 - xxxxxx"
8. Right click on "MED40 - xxxxx.." and select "Properties"
9. Change the connection to "xxxxxxx...... HSCAN_UDS_500". Always choose "500". Click on "OK"
10. Click on "Initiate ECU Contact" (3rd icon on the top menu)
11. Select "Code the variant of an ECU" (11th icon on the top menu)
12. You will see the "Variant Coding - MED40" dialog.
13. Select "VCD_Implizite_Variantenkodierung" on the dialog. It's German, not English. Don't panic.
14. Find "Betriebsstrategie Stopp Start". Click on it with mouse.
15. You will see "Stopp Start Standard Logik, Default ON" on the right panel.
16. Select "Stopp Start Standard Logik, Last Mode" with mouse.
17. WARNING. STOP HERE, Take a break.
18. Click on "Save to Files". This saves current parameters in a sub-folder, "MED40", i.e., "C:\Program Files (x86)\Mercedes-Benz\Xentry\MB_PKW\Caesar\cbf\MED40\YYYY-MM-DD.html". If something goes wrong, you can recover current states with this file.
19. Go to the folder, verify if it's saved well. Double click on the file (*.html) and you can see the the content coding (parameters).
20. Click on "ECU-Coding"
21. It will show "warning: SCN number can be erased......". Ignore it.
22. Click on "OK" (or go or proceed... anyway). 23. It will fail, but that’s normal. Don’t worry. You need a higher “access level to the ECU” for the variant coding.
24. Select a menu on the top menu, "ECU" / "Manual Command Input ..."
25. Type "27 0B" and click on "Send" button. Why 27??? What is 0B??? It means "Hello ECU, would you let me know a temporary PIN to generate a seed key for access level 0B?"
26. ECU will answer back "67 0BBF DF 6F 37". It means "Hi, the temporary PIN is BF DF 6F 37" for access level 0B (= required level for sensitive variant codings).
27. Run "MBSeedKey". Change DLL folder if the DLLs are not in dlls sub-folder.
28. Select "MED40_MED40_.......dll". Why should I need to select a dll file? Mercedes hided a different seed key algorithm in each DLL. The key calculator simply use the algorithm. So, it needs to know which dll is going to be used. If you choose a wrong dll, the key generator will answer a wrong key, and the ECU don't allow you to pass. Therefore, you can't make mistake. Don't worry.
29. Select 0B on Access Level. (There are access levels, such as 1, 3, 5, 9, B. To do EURO6 emission related variant codings(parameter change), 0B access level is required)
30. Type "BF DF 6F 37" (for example) on SEED:, and press "Generate Key".
31. Key will be displayed "9B 1A 69 C0" (for example).
32. Go back to the vediamo.
33. Type "27 0C9B 1A 69 C0" on the Vediamo / Manual Command Input... / Request Message and click "Send"
34. ECU must answer back "67 0C". It means "Ok, you are allowed to 0B level". If the ECU answer other than 06 0C (for example, 0x7F ....), you did something wrong - go back to step 28.
35. Close the "Manual Command Input..." dialog
36. Open the previous "Code the variant of the ECU" again.
37. Do the STEP 11 ~ 16 again.
38. Click on "ECU-Coding"
39. It will go through. If not, you did something wrong.
40. Click on "Save to Files". It will save parameters "after" coding. You can compare before/after data to see which parameters were changed.
41. On left tree window, click "System: MED40 / ECUs / MED40 - xxxxx / Function". You can see "FN_HardReset"
42. Double click on "FN_HardReset". It will make the MED40 reload the parameters you modified.
43. Click on "Exit ECU Contact" (4th icon on the top menu).
44. Close Vediamo program.
You done. Congratulations~ You just became a kid holding a loaded gun in your hand. Be careful, don't change any parameters until you know 100% what it is and 100% sure if you are correct.
(Part 2) Let's use DTS Monaco 8.x. Vediamo 4.2.2 is outdated, as it was released in 2012. Vediamo 5.x is newer, but it requires SD C4 equipment. DTS Monaco 8.x is more advanced than Vediamo 4.x/5.x, and the good news is that it works with J2534 Pass Thru adapters.
"How to do coding Start/Stop ECO with DTS Monaco 8.x".
Vediamo 4.2.2 and DTS Monaco 8.x are similar. Vediamo 4.2.2 uses *.cbf files from Xentry, while DTS Monaco 8.x uses *.smr-d files from Xentry. *.smr-d is a newer version of *.cbf, i.e., *.smr-d = *.cbf + *.dll. You can extract the *.dll from the *.smr-d. The DLLs for the seed key calculator were extracted from the *.smr-d. You can do it yourself, but someone already did it for you. DTS Monaco 8.x also supports *.cbf, but only with SD C4 or DoIP adapters. Since you have a J2534 adapter, you can’t use *.cbf in DTS Monaco 8.x. But that’s fine, because *.smr-d is better than *.cbf. You don’t miss anything.
Where are *.smr-d files? It's in "C:\Program Files (x86)\Mercedes-Benz\Xentry\Kontexte\ODXProjekte\PKW_COMMON\dbr". You don't need to beg the files. You already have them.
(1) Install DTS Monaco, activate it, (2) run system configuration, (3) add J2534 adapter, (4) create a project, (5) add control unit modules to the project, (6) close system configuration, (7) create a new workspace from the project : do google or watch youtube. There are many tutorial videos.
Here is what others don't say to you:
8. When you open the workspace, you will see the below screen.
9. Select "Quick Test" and choose "MED40" on the tap, and click on "Start" to do a quick test. Does it work? It should work. If not, you are doing something wrong. Go back...
10. Follow the steps in the image below.
11. WARNING. Before doing the coding, save current parameters to a file ("Coding Set" / "Save")
12. You need to get access level 0B to do the Euro6 emission related variant coding. Follow the steps in the image below.
12. Click on "Do Coding". It will go through.
13. Reset the control unit (Select, Diagnostic Service -> MED40(example) -> Ecu Reset -> [11 01] HardReset Reset, and click on "Transmit")
14. Done
Congratulations! You have learned how to use a semi-automatic rifle. But please be careful and don’t pull the trigger unless you are absolutely sure of what you are doing.
(Part 2) Let's use DTS Monaco 8.x. Vediamo 4.2.2 is outdated, as it was released in 2012. Vediamo 5.x is newer, but it requires SD C4 equipment. DTS Monaco 8.x is more advanced than Vediamo 4.x/5.x, and the good news is that it works with J2534 Pass Thru adapters.
"How to do coding Start/Stop ECO with DTS Monaco 8.x".
Vediamo 4.2.2 and DTS Monaco 8.x are similar. Vediamo 4.2.2 uses *.cbf files from Xentry, while DTS Monaco 8.x uses *.smr-d files from Xentry. *.smr-d is a newer version of *.cbf, i.e., *.smr-d = *.cbf + *.dll. You can extract the *.dll from the *.smr-d. The DLLs for the seed key calculator were extracted from the *.smr-d. You can do it yourself, but someone already did it for you. DTS Monaco 8.x also supports *.cbf, but only with SD C4 or DoIP adapters. Since you have a J2534 adapter, you can’t use *.cbf in DTS Monaco 8.x. But that’s fine, because *.smr-d is better than *.cbf. You don’t miss anything.
Where are *.smr-d files? It's in "C:\Program Files (x86)\Mercedes-Benz\Xentry\Kontexte\ODXProjekte\PKW_COMMON\dbr". You don't need to beg the files. You already have them.
(1) Install DTS Monaco, activate it, (2) run system configuration, (3) add J2534 adapter, (4) create a project, (5) add control unit modules to the project, (6) close system configuration, (7) create a new workspace from the project : do google or watch youtube. There are many tutorial videos.
Here is what others don't say to you:
8. When you open the workspace, you will see the below screen.
9. Select "Quick Test" and choose "MED40" on the tap, and click on "Start" to do a quick test. Does it work? It should work. If not, you are doing something wrong. Go back...
10. Follow the steps in the image below.
11. WARNING. Before doing the coding, save current parameters to a file ("Coding Set" / "Save")
12. You need to get access level 0B to do the Euro6 emission related variant coding. Follow the steps in the image below.
12. Click on "Do Coding". It will go through.
13. Reset the control unit (Select, Diagnostic Service -> MED40(example) -> Ecu Reset -> [11 01] HardReset Reset, and click on "Transmit")
14. Done
Congratulations! You have learned how to use a semi-automatic rifle. But please be careful and don’t pull the trigger unless you are absolutely sure of what you are doing.
Alternately, these ECO Start/Stop disable methods work:
1. An OBDII dongle from Midcity Engineering (~$150) allows ECO S/S to be enabled/disabled at will.
2. Disconnect the charge sensor at the main battery's negative terminal.
Alternately, these ECO Start/Stop disable methods work:
1. An OBDII dongle from Midcity Engineering (~$150) allows ECO S/S to be enabled/disabled at will.
2. Disconnect the charge sensor at the main battery's negative terminal.
I agree with you as long as the ECO start/stop is the only thing you want to do
This works! It took quite a bit of effort. I spent a full Saturday finding, downloading, and setting-up software/DLLs.
So satisfying to finally be rid of this annoying feature all by myself.
This works! It took quite a bit of effort. I spent a full Saturday finding, downloading, and setting-up software/DLLs.
So satisfying to finally be rid of this annoying feature all by myself.
Congraturation.~ Finding and installing the software is almost all. Coding itself is not a rocket science but a tedious trial and error. It's doable as long as we know where the parameters are located. I've retrofitted W205 rear taillights. https://mbworld.org/forums/c-class-w...eason-2-a.html
I agree with you as long as the ECO start/stop is the only thing you want to do
My comments were not intended to trivialize your post. Kudos to you for assembling this combination of hardware and software, for navigating through the morass of cryptic menus and charts, and (mostly) for documenting your experience and sharing your knowledge on the forum. Your pioneering has encouraged me to order a J2534 pass-thru adapter, and (being fundamentally a geek) to do some exploration myself (about which I will report any noteworthy discoveries).
Will you post your 1-800 24/7 hotline phone number so that I might call when I accidentally re-flash my ECU to 0xFFFFFFFF? (lol).
Can one of you who has successfully installed XEntry and other requisite software make specific recommendations for sourcing these? I spent 2+ days downloading 60GB worth of files from an ebay vendor, and can't unpack the files from their compressed file format (I'm sure it's not my PC or its storage capacity - the unpack utility reports the files as corrupted, and I'm not going to attempt another download). This vendor is not responsive to assistance requests, and I'm ready to move on to something that's going to work without hours of wasted effort. Does any vendor provide the files on media, or is everything an excruciatingly time consuming download?
Unfortunately I try many many times to do it with no luck!
I try this mbseed circulator and Daimler Seed Calculator v2.3
The ecu can’t unlock
anybody have ideals whats is wrong?
I get response from ecu 7F 27 35, 7F 27 12.
Unfortunately I try many many times to do it with no luck!
I try this mbseed circulator and Daimler Seed Calculator v2.3
The ecu can’t unlock
anybody have ideals whats is wrong?
I get response from ecu 7F 27 35, 7F 27 12.
Thanks
If disabling the ECO start/stop is all you want to do, it's simpler to disconnect the battery charge sensor as I suggest in post #3 above. I did this on my G550 3 years ago and I haven't been bothered by this annoying feature since, and I've experienced no problems.
If disabling the ECO start/stop is all you want to do, it's simpler to disconnect the battery charge sensor as I suggest in post #3 above. I did this on my G550 3 years ago and I haven't been bothered by this annoying feature since, and I've experienced no problems.
yes disabling start/stop but not this way. I want to reprogram the module, so if I want to use it again just push the start/stop button
This is incredibly helpful. Thank you @realeric.
Are there any more hints or examples you can provide to help us further navigate this DIY process since you first posted this? For example, the UK and EU cars have the ability to hold down the recirculation button which will close all the windows and sunroof. Hit it again and it reverses them to their previous opening widths. I'd love this feature.
Unfortunately I try many many times to do it with no luck!
I try this mbseed circulator and Daimler Seed Calculator v2.3
The ecu can’t unlock
anybody have ideals whats is wrong?
I get response from ecu 7F 27 35, 7F 27 12.
Make sure that you download the latest version of MBSeedCal from the official GitHub repository, as it's free of malware. Then, copy only the DLLs to the MBSeedCal directory. You can find the DLLs by googling (Search with "MB SeedKey latest version with DLL"). Do not use any other files included in the DLLs download. Use the exe file from the GitHub repository. Also, check that you select the correct ECU name for your engine. For example, MED40 is only compatible with M274 engine. I hope this helps you solve your problem.
Last edited by realeric; 07-08-2023 at 10:08 AM.
Reason: Link is not allowed
Make sure that you download the latest version of MBSeedCal from the official GitHub repository, as it's free of malware. Then, copy only the DLLs to the MBSeedCal directory. You can find the DLLs by googling (Search with "MB SeedKey latest version with DLL"). Do not use any other files included in the DLLs download. Use the exe file from the GitHub repository. Also, check that you select the correct ECU name for your engine. For example, MED40 is only compatible with M274 engine. I hope this helps you solve your problem.
Can you try for me?
this is my team viewer
ID 622 783 466
password dr59txj6
My whatsup or viber is +35799660885
Make sure that you download the latest version of MBSeedCal from the official GitHub repository, as it's free of malware. Then, copy only the DLLs to the MBSeedCal directory. You can find the DLLs by googling (Search with "MB SeedKey latest version with DLL"). Do not use any other files included in the DLLs download. Use the exe file from the GitHub repository. Also, check that you select the correct ECU name for your engine. For example, MED40 is only compatible with M274 engine. I hope this helps you solve your problem.
I find that my car use CR43
I try all the cr43 ddl files with no luck :-(
1. Software used: Xentry 2020, DTS Monaco 8.16, IgnitionEnabler.exe. For details see ^. I took it easy. Spent 3 weeks chasing down all needed bits. Learning how to do it without ruining car. Reading and re-reading a handful of forums.
2. For seed key calc I used unlockecu[dot]sn[dot]sg website (no dlls needed there) as well as mbseedkey command line app from github[dotcom]com[slash]Xplatforms[slash]mbseedkey (dlls needed).
3. Hardware used: openport 2.0 from aliexpress. Took 2 weeks to deliver. Gave me time to learn more about everything.
4. Used Xentry to get list of all Electronic Control Units (ECUs). For example, ECU for Electronic Ignition Lock (EZS) was reported as EZS213_EZS213_Rel_21, i.e. use ezs213.smr-d file in Monaco.
5. I ended up using ezs213.smr-d and cpc_ng.smr-d to do all the work. Initially I used med41.smr-d (Motor Electronics ECU). Turned out the right one for newer cars is cpc_ng.smr-d (Powertrain ECU). Here is a quick summary of what I've done:
* Open two smr-d files in Monaco's temporary workspace, ezs213.smr-d and cpc_ng.smr-d.
* Go to Diagnostics Services tab.
* Disable car firewall (required for newer cars), i.e. transmit two commands from ESZ213 ECU. Session > Extended Start, then General Jobs > Security Access Level 3B.
* Enable variant coding. Use following commands under CPC_NG > Security Access. First, [27 09] Request Send Adjustment to get seed value, generate seed key, [27 0A] Send Seed Adjustment. Then [27 0B] Request Seed Variantcoding to get seed value, generate seed key, [27 0C] Send Seed Variantcoding.
* Go to Varian Coding tab.
* Connect to CPC_NG, select [001] Implizite Variantenkoderung Write.
* SAVE CURRENT DATA.
* Find "3S LastMode" line (byte 16, offset 6). Change it to "Unbegrenzter LastMode 3S". Do Coding.
* Back to Diagnostics Service tab. CPC_NG > Ecu Reset -> [11 01] HardReset Reset.
Here is what I've done in more details. YMMV.
1. Connect openport 2.0 device to car's OBD port and USB port of your laptop.
2. Turn on ignition. Pressing Start button once is enough.
3. Run IgnitionEnabler.exe. Monaco was erroring randomly without it for me.
4. Start Monaco. Make sure to Run as Administrator.
5. Create Temporary Workspace. Make sure to SELECT BOTH ezs213.smr-d and cpc_ng.smr-d when prompted to select smr-d files. For workspace I used MBCar_MBVan_SMR_DiagnosticsCAN_V_02_05. You might have different list of workspaces to choose from. The important part is that there should be Quick Test, Diagnostic Services and Varian Coding tabs among others. The rest does not matter.
6. Go to Quick Test, click Start button (near tab's top left corner). Not sure if it is really needed but I always did it.
7. Next, we need to disable car's firewall. This is the extra step needed for newer cars. Some forums state that you need to use a Monaco workspace which has Authorize EZS button. It's a convenience, not a requirement. What that button does is described in the steps below.
8. Go to Diagnostics Services tab. We'll be sending command to car by pressing Transmit button. Watch for errors in result, at the bottom of the tab. If you get one then you are doing something wrong. Stop.
9. Double click on EZS213 [UDS_CAN_D]. It should change from orange to green.
10. Select EZS213 [UDS_CAN_D] > Session > [10] Extended Start. Press Transmit button (located below the box where you selected Extended Start).
11. Select EZS213 [UDS_CAN_D]> General Jobs > Security Access Level 3B. Transmit. If no errors, car's firewall is disabled!
12. EZS213 [UDS_CAN_D] should stay green to the very end, otherwise firewall will be back.
13. Next, we need to authorize variant coding. Similar to how it is done in the post ^.
14. Double click on CPC_NG [UDS_CAN_D]. It should turn green.
15. Select CPC_NG [UDS_CAN_D] > Security Access > [27 09] Request Seed Adjustment. Transmit. You should get 8-byte seed value, e.g. AD,36,8D,8C,E5,92,A9,56. Copy it (select cell, right click, Copy Cell).
17. Go to unlockecu[dot]sn[dot]sg, select CPC_NG9A_14_31_09_2018219031236, paste the seed value. It should immediately generate a seed key, e.g. B7 73 13 3A. Copy it.
18. Back to Monaco. Select CPC_NG [UDS_CAN_D] > Security Access > [27 0A] Send Seed Adjustment, paste seed key into Seed Key parameter (in Settings box, next to the box where you selected Send Seed Adjustment). Transmit. Make sure no errors reported.
19. Select CPC_NG [UDS_CAN_D] > Security Access > [27 0B] Request Seed Variantcoding. Transmit. You should get 4-byte seed value, e.g. 64,2E,E2,56. Copy it (select cell, right click, Copy Cell).
20. Open cmd, run mbseedkey_cli.exe -d C:\MBSeedKey\dlls\CPC_NG_CPC_NG_14_31_11.dll -a 0B -s 642EE256. Copy generated value, e.g. 6D 8F 8A D8.
21. Back to Monaco. Select CPC_NG [UDS_CAN_D] > Security Access > [27 0C] Send Seed Variantcoding, paste the seed key into Seed Key parameter. Transmit. Make sure no errors reported. If no errors, then variant coding is enabled!
22. Go to Varian Coding tab.
23. Connect to CPC_NG [UDS_CAN_D], select [001] Implizite Variantenkoderung Write domain.
24. SAVE CURRENT DATA!!!
25. Find "3S LastMode" line (byte 16, offset 6). Change it to "Unbegrenzter LastMode 3S". Press Do Coding button. Watch for errors.
26. Back to Diagnostics Services tab.
27. Select CPC_NG > Ecu Reset -> [11 01] HardReset Reset. Transmit.
Done!
Last edited by mbw2020; 08-04-2023 at 03:32 PM.
Reason: adding more details
1. Software used: Xentry 2020, DTS Monaco 8.16, IgnitionEnabler.exe. For details see ^. I took it easy. Spent 3 weeks chasing down all needed bits. Learning how to do it without ruining car. Reading and re-reading a handful of forums.
2. For seed key calc I used unlockecu[dot]sn[dot]sg website (no dlls needed there) as well as mbseedkey command line app from github[dotcom]com[slash]Xplatforms[slash]mbseedkey (dlls needed).
3. Hardware used: openport 2.0 from aliexpress. Took 2 weeks to deliver. Gave me time to learn more about everything.
4. Used Xentry to get list of all Electronic Control Units (ECUs). For example, ECU for Electronic Ignition Lock (EZS) was reported as EZS213_EZS213_Rel_21, i.e. use ezs213.smr-d file in Monaco.
5. I ended up using ezs213.smr-d and cpc_ng.smr-d to do all the work. Initially I used med41.smr-d (Motor Electronics ECU). Turned out the right one for newer cars is cpc_ng.smr-d (Powertrain ECU). Here is a quick summary of what I've done:
* Open two smr-d files in Monaco's temporary workspace, ezs213.smr-d and cpc_ng.smr-d.
* Go to Diagnostics Services tab.
* Disable car firewall (required for newer cars), i.e. transmit two commands from ESZ213 ECU. Session > Extended Start, then General Jobs > Security Access Level 3B.
* Enable variant coding. Use following commands under CPC_NG > Security Access. First, [27 09] Request Send Adjustment to get seed value, generate seed key, [27 0A] Send Seed Adjustment. Then [27 0B] Request Seed Variantcoding to get seed value, generate seed key, [27 0C] Send Seed Variantcoding.
* Go to Varian Coding tab.
* Connect to CPC_NG, select [001] Implizite Variantenkoderung Write.
* SAVE CURRENT DATA.
* Find line for byte 16, offset 6. Change it to Last Mode. Do Coding.
* Back to Diagnostics Service tab. CPC_NG > Ecu Reset -> [11 01] HardReset Reset.
Here is what I've done in more details. YMMV.
1. Connect openport 2.0 device to car's OBD port and USB port of your laptop.
2. Turn on ignition. Pressing Start button once is enough.
3. Run IgnitionEnabler.exe. Monaco was erroring randomly without it for me.
4. Start Monaco. Make sure to Run as Administrator.
5. Create Temporary Workspace. Make sure to SELECT BOTH ezs213.smr-d and cpc_ng.smr-d when prompted to select smr-d files. For workspace I used MBCar_MBVan_SMR_DiagnosticsCAN_V_02_05. You might have different list of workspaces to choose from. The important part is that there should be Quick Test, Diagnostic Services and Varian Coding tabs among others. The rest does not matter.
6. Go to Quick Test, click Start button (near tab's top left corner). Not sure if it is really needed but I always did it.
7. Next, we need to disable car's firewall. This is the extra step needed for newer cars. Some forums state that you need to use a Monaco workspace which has Authorize EZS button. It's a convenience, not a requirement. What that button does is described in the steps below.
8. Go to Diagnostics Services tab. We'll be sending command to car by pressing Transmit button. Watch for errors in result, at the bottom of the tab. If you get one then you are doing something wrong. Stop.
9. Double click on EZS213 [UDS_CAN_D]. It should change from orange to green.
10. Select EZS213 [UDS_CAN_D] > Session > [10] Extended Start. Press Transmit button (located below the box where you selected Extended Start).
11. Select EZS213 [UDS_CAN_D]> General Jobs > Security Access Level 3B. Transmit. If no errors, car's firewall is disabled!
12. EZS213 [UDS_CAN_D] should stay green to the very end, otherwise firewall will be back.
13. Next, we need to authorize variant coding. Similar to how it is done in the post ^.
14. Double click on CPC_NG [UDS_CAN_D]. It should turn green.
15. Select CPC_NG [UDS_CAN_D] > Security Access > [27 09] Request Seed Adjustment. Transmit. You should get 8-byte seed value, e.g. AD,36,8D,8C,E5,92,A9,56. Copy it (select cell, right click, Copy Cell).
17. Go to unlockecu[dot]sn[dot]sg, select CPC_NG9A_14_31_09_2018219031236, paste the seed value. It should immediately generate a seed key, e.g. B7 73 13 3A. Copy it.
18. Back to Monaco. Select CPC_NG [UDS_CAN_D] > Security Access > [27 0A] Send Seed Adjustment, paste seed key into Seed Key parameter (in Settings box, next to the box where you selected Send Seed Adjustment). Transmit. Make sure no errors reported.
19. Select CPC_NG [UDS_CAN_D] > Security Access > [27 0B] Request Seed Variantcoding. Transmit. You should get 4-byte seed value, e.g. 64,2E,E2,56. Copy it (select cell, right click, Copy Cell).
20. Open cmd, run mbseedkey_cli.exe -d C:\MBSeedKey\dlls\CPC_NG_CPC_NG_14_31_11.dll -a 0B -s 642EE256. Copy generated value, e.g. 6D 8F 8A D8.
21. Back to Monaco. Select CPC_NG [UDS_CAN_D] > Security Access > [27 0C] Send Seed Variantcoding, paste the seed key into Seed Key parameter. Transmit. Make sure no errors reported. If no errors, then variant coding is enabled!
22. Go to Varian Coding tab.
23. Connect to CPC_NG [UDS_CAN_D], select [001] Implizite Variantenkoderung Write domain.
24. SAVE CURRENT DATA!!!
25. Find line for byte 16, offset 6. Change value to Last Mode. Press Do Coding button. Watch for errors.
26. Back to Diagnostics Services tab.
27. Select CPC_NG > Ecu Reset -> [11 01] HardReset Reset. Transmit.
Done!
Are you a software developer or coder? Nice work figuring it out and writing it up for the rest of us!
I have a very crude understanding of how to use vediamo, but would like to learn more. At least I’m good with xentry lol
i have run into issues communicating with certain modules like electronic parking brake on 2019+ models
does disabling aforementioned firewall allow me to communicate with these modules again through xentry? I know when I worked at the Mercedes dealers these modules were only accessible if I logged into Mercedes servers