PDA

View Full Version : DIY - E65 Video In Motion using NCS Dummy and NCS Expert


mortyx10
02-23-2012, 06:54 AM
Hello everyone

here is my original thread, thought post it here as well. http://www.bmwcoding.com/showthread.php?2269-DIY-E65-Video-In-Motion

First things first....
Big thanks goes to macchiato66. This was his original idea and he is the one who helped me to get it right, So full credit goes to him.
Also thanks to Revtor for his great app and informative posts.

Warnings: 1. This is intended for passanger use only
2. I am not responsible if you break anything in your car

okay lets get to business....

1. Download NCS Dummy if you don't have it from http://forums.bimmerforums.com/forum/showthread.php?t=1553779

2. Backup the following files from daten/E65 folder:
E65CVT.000
MMI_E65.C02 (or whatever your MMIGT module is, it could be MMI_E65.C03, etc.)
SWTFSW02.dat

3. Disassemble SWTFSW02.dat
Add the following and reassemble.
SWT_EINTRAG : 1500 "TV_ABSCHALTUNG"

4. Disassemble E65CVT.000
under GRUPPE : {"Codierung_MMI"} add the following and reassemble.
FSW_PSW : 1500 0007 // TV_ABSCHALTUNG aktiv

It will look like:
GRUPPE : {"Codierung_MMI"}
AUFTRAGSAUSDRUCK : S0001,S0002,S0003,S0166 // E65,E66,E67,E68
FSW_PSW : 0831 0007 // KEY_MEMORY_MMI aktiv
FSW_PSW : 0832 0007 // WELLENBAND_MW aktiv
FSW_PSW : 0833 0007 // LETZTES_MENUE aktiv
FSW_PSW : 0834 0007 // ANIMATION_SCHIEBEN_4 aktiv
FSW_PSW : 0835 0074 // FARBSET_4 farbset_b
FSW_PSW : 13C5 0007 // HILFE_ALLG aktiv
FSW_PSW : 0837 0007 // ANIMATION_SCHIEBEN_1 aktiv
FSW_PSW : 0838 0007 // ANIMATION_SCHIEBEN_2 aktiv
FSW_PSW : 0839 0007 // ANIMATION_SCHIEBEN_3 aktiv
FSW_PSW : 083A 0074 // FARBSET_1 farbset_b
FSW_PSW : 083B 0074 // FARBSET_2 farbset_b
FSW_PSW : 083C 0074 // FARBSET_3 farbset_b
FSW_PSW : 083D 0076 // ASSISTENZFENSTER_1 kurzinfo
FSW_PSW : 083E 0076 // ASSISTENZFENSTER_2 kurzinfo
FSW_PSW : 083F 0076 // ASSISTENZFENSTER_3 kurzinfo
FSW_PSW : 0843 0076 // ASSISTENZFENSTER_4 kurzinfo
FSW_PSW : 0844 000B // TEL_US_BUSINESS nicht_aktiv
FSW_PSW : 11C5 000B // FARBEINST_ECE_SINGLE nicht_aktiv
FSW_PSW : 13C7 0007 // MENUENAME aktiv
FSW_PSW : 13C6 0007 // KLIMAPFEILE aktiv
FSW_PSW : 13C9 0007 // SERVICE aktiv
FSW_PSW : 13C4 0007 // CHECK aktiv
FSW_PSW : 13C8 0007 // PREV_TELN aktiv
FSW_PSW : 1500 0007 // TV_ABSCHALTUNG aktiv

5. Disassemble MMI_E65.C02 and add the following coding block and reassemble:
CODIERDATENBLOCK : {00003021} 00000000 0010 "Erprobungsumfaenge"
UNBELEGT1 : {00003021} 00000000 0001 {} (FC)
UNBELEGT2 : (02)
PARZUWEISUNG_FSW : {00003021} 00000000 0001 1500 {} (02) {h} {} // TV_ABSCHALTUNG
PARZUWEISUNG_PSW1 : 000B (00) // nicht_aktiv
PARZUWEISUNG_PSW1 : 0007 (01) // aktiv
UNBELEGT1 : {00003021} 00000000 0001 {} (01)
UNBELEGT2 : (00)
UNBELEGT1 : {00003021} 00000001 000F {} (FF)
UNBELEGT2 : (00)

6. Replace your original files with the reassembled ones.

7. Using NCS Expert read your MMIGT.

8. Find the function TV_ABSCHALTUNG
it is set to aktive by default. (Which means video in motion is disabled)

9. Change it to nicht_aktiv and code.

10. Done


To make everything easier I have attached my modified files (you can find them in other thread, I couldn't attach here), but they only work for you if you are using the same NCS version files as mine.
Check your original files see if the creation date is 31/08/2009 then we are using the same files.

Good Luck
Morty

mortyx10
02-23-2012, 06:41 PM
I can see here everyone has already bought the hardware VIM and have it installed. lol

Blackbox760
02-24-2012, 01:53 AM
Thank you for this, and maybe I can answer your question here about working with bytes and bits instead of using NCS, if we understand the bytes and bits we can do reverse engineering like adding the code you described..;) Of course we will ultimately use the tools to do the changes but first we must understand how to change before we use the tools like NCS for dummy and NCS. But I find it very interesting that the guy could figure out how to add code and activate it.

mortyx10
02-24-2012, 01:58 AM
Thank you for this, and maybe I can answer your question here about working with bytes and bits instead of using NCS, if we understand the bytes and bits we can do reverse engineering like adding the code you described..;) Of course we will ultimately use the tools to do the changes but first we must understand how to change before we use the tools like NCS for dummy and NCS. But I find it very interesting that the guy could figure out how to add code and activate it.

I can understand that but to add cd changer for example (as someone asked) you don't even need to modify nettodat just simply activate it in MMI. but I'm with you.

Ggreg
02-24-2012, 06:36 AM
This is great work..... The link to NCS dummy does not work,

mortyx10
02-24-2012, 06:40 AM
This is great work..... The link to NCS dummy does not work,

The link is fixed.
Thanks

dgoodsell
02-24-2012, 07:16 AM
Great info....:thumbup: I hope to try it out this weekend....does this make the front screen similar to the back screen for those with rear entertainment? does it use the DVD player in the trunk to play the movies?

mortyx10
02-24-2012, 07:18 AM
Great info....:thumbup: I hope to try it out this weekend....does this make the front screen similar to the back screen for those with rear entertainment? does it use the DVD player in the trunk to play the movies?

This is only to make the video play while in motion.
can you watch dvds (or TV) in front when stationary?

dgoodsell
02-24-2012, 07:22 AM
This is only to make the video play while in motion.
can you watch dvds (or TV) in front when stationary?

I can not...is there a way to code the front scree to operate like the rear entertainment screen?

mortyx10
02-24-2012, 07:30 AM
I can not...is there a way to code the front scree to operate like the rear entertainment screen?

Take a look here http://www.bimmerfest.com/forums/showthread.php?t=592395&highlight=

it might work for your car as well.

dgoodsell
02-24-2012, 07:36 AM
Take a look here http://www.bimmerfest.com/forums/showthread.php?t=592395&highlight=

it might work for your car as well.

Thanks Bro!!....:bigpimp:

You know if your technique works with this method mentioned in that post?

mortyx10
02-24-2012, 07:41 AM
Thanks Bro!!....:bigpimp:

You know if your technique works with this method mentioned in that post?

they are two different things, you first need to enable video in your front screen, then you'll see that it stops showing the image as soon as you drive, only the sound plays.
by doing what I've explained in this thread then you can watch videos on the move as well.

mortyx10
02-24-2012, 07:42 AM
just make sure you know what you are doing, having any problems let me know by pm, Thanks

dgoodsell
02-24-2012, 07:44 AM
Got it....thats what I was trying to ask just didn't word it right I guess. I will try it this weekend it seems pretty easy.....thanks for the help bro....appreciate it.

mortyx10
02-24-2012, 07:46 AM
Got it....thats what I was trying to ask just didn't word it right I guess. I will try it this weekend it seems pretty easy.....thanks for the help bro....appreciate it.

Happy that it helped
Good luck
Thanks

Dead
02-24-2012, 09:18 AM
waw excellent find man , but why didn't you disable it the first time

FSW_PSW : 1500 0007 // TV_ABSCHALTUNG nicht_aktiv

so it well be 1 step and you don't need to reprogram with ncs

this needs to be Sticky :thumbup:

mortyx10
02-24-2012, 02:29 PM
waw excellent find man , but why didn't you disable it the first time

FSW_PSW : 1500 0007 // TV_ABSCHALTUNG nicht_aktiv

so it well be 1 step and you don't need to reprogram with ncs

this needs to be Sticky :thumbup:

I'd like to mention macchiato66 once again, all credit goes to him.

as for your question I can answer.

what we are doing here is unhidding a hidden function already existed in our module. we can never introduce a new functionality to a module.
so by disassembling, modifying and reassembling these files, we are just giving this hidden function a human readable translation. This is actually all NCS expert does. (you can read more about this in NCS dummy threas by Revtor)
It is there and it is active by default, so by doing the above procedure you are just telling your NCS to show this function in your trace file as well.
one more thing you can never code your car just by modifying your daten files, you don't even need to be connected to your car to do so.
Hope this helps.

PAPER
02-25-2012, 02:20 PM
Hello everyone

here is my original thread, thought post it here as well. http://www.bmwcoding.com/showthread.php?2269-DIY-E65-Video-In-Motion

First things first....
Big thanks goes to macchiato66. This was his original idea and he is the one who helped me to get it right, So full credit goes to him.
Also thanks to Revtor for his great app and informative posts.

Warnings: 1. This is intended for passanger use only
2. I am not responsible if you break anything in your car

okay lets get to business....

1. Download NCS Dummy if you don't have it from http://forums.bimmerforums.com/forum/showthread.php?t=1553779

2. Backup the following files from daten/E65 folder:
E65CVT.000
MMI_E65.C02 (or whatever your MMIGT module is, it could be MMI_E65.C03, etc.)
SWTFSW02.dat

3. Disassemble SWTFSW02.dat
Add the following and reassemble.
SWT_EINTRAG : 1500 "TV_ABSCHALTUNG"

4. Disassemble E65CVT.000
under GRUPPE : {"Codierung_MMI"} add the following and reassemble.
FSW_PSW : 1500 0007 // TV_ABSCHALTUNG aktiv

It will look like:
GRUPPE : {"Codierung_MMI"}
AUFTRAGSAUSDRUCK : S0001,S0002,S0003,S0166 // E65,E66,E67,E68
FSW_PSW : 0831 0007 // KEY_MEMORY_MMI aktiv
FSW_PSW : 0832 0007 // WELLENBAND_MW aktiv
FSW_PSW : 0833 0007 // LETZTES_MENUE aktiv
FSW_PSW : 0834 0007 // ANIMATION_SCHIEBEN_4 aktiv
FSW_PSW : 0835 0074 // FARBSET_4 farbset_b
FSW_PSW : 13C5 0007 // HILFE_ALLG aktiv
FSW_PSW : 0837 0007 // ANIMATION_SCHIEBEN_1 aktiv
FSW_PSW : 0838 0007 // ANIMATION_SCHIEBEN_2 aktiv
FSW_PSW : 0839 0007 // ANIMATION_SCHIEBEN_3 aktiv
FSW_PSW : 083A 0074 // FARBSET_1 farbset_b
FSW_PSW : 083B 0074 // FARBSET_2 farbset_b
FSW_PSW : 083C 0074 // FARBSET_3 farbset_b
FSW_PSW : 083D 0076 // ASSISTENZFENSTER_1 kurzinfo
FSW_PSW : 083E 0076 // ASSISTENZFENSTER_2 kurzinfo
FSW_PSW : 083F 0076 // ASSISTENZFENSTER_3 kurzinfo
FSW_PSW : 0843 0076 // ASSISTENZFENSTER_4 kurzinfo
FSW_PSW : 0844 000B // TEL_US_BUSINESS nicht_aktiv
FSW_PSW : 11C5 000B // FARBEINST_ECE_SINGLE nicht_aktiv
FSW_PSW : 13C7 0007 // MENUENAME aktiv
FSW_PSW : 13C6 0007 // KLIMAPFEILE aktiv
FSW_PSW : 13C9 0007 // SERVICE aktiv
FSW_PSW : 13C4 0007 // CHECK aktiv
FSW_PSW : 13C8 0007 // PREV_TELN aktiv
FSW_PSW : 1500 0007 // TV_ABSCHALTUNG aktiv

5. Disassemble MMI_E65.C02 and add the following coding block and reassemble:
CODIERDATENBLOCK : {00003021} 00000000 0010 "Erprobungsumfaenge"
UNBELEGT1 : {00003021} 00000000 0001 {} (FC)
UNBELEGT2 : (02)
PARZUWEISUNG_FSW : {00003021} 00000000 0001 1500 {} (02) {h} {} // TV_ABSCHALTUNG
PARZUWEISUNG_PSW1 : 000B (00) // nicht_aktiv
PARZUWEISUNG_PSW1 : 0007 (01) // aktiv
UNBELEGT1 : {00003021} 00000000 0001 {} (01)
UNBELEGT2 : (00)
UNBELEGT1 : {00003021} 00000001 000F {} (FF)
UNBELEGT2 : (00)

6. Replace your original files with the reassembled ones.

7. Using NCS Expert read your MMIGT.

8. Find the function TV_ABSCHALTUNG
it is set to aktive by default. (Which means video in motion is disabled)

9. Change it to nicht_aktiv and code.

10. Done


To make everything easier I have attached my modified files (you can find them in other thread, I couldn't attach here), but they only work for you if you are using the same NCS version files as mine.
Check your original files see if the creation date is 31/08/2009 then we are using the same files.

Good Luck
Morty

Very Nice write up , & Great news for those that want this ...
:thumbup:

mortyx10
02-26-2012, 05:16 PM
Very Nice write up , & Great news for those that want this ...
:thumbup:

Thank you Paper

Has anyone actually done it?

Patriot123
02-26-2012, 11:30 PM
3. Disassemble SWTFSW02.dat
Add the following and reassemble.

Hi all! Please, say me what is the programm for disassemble NCS *.dat files?

mortyx10
02-26-2012, 11:33 PM
Hi all! Please, say me what is the programm for disassemble NCS *.dat files?

All done by NCS Dummy, you can download from the link provided.

richpu
03-02-2012, 09:28 AM
Hi All,
I can confirm that this works. I did this tonight. it took me around 5 mins to make the changes.

Fantastic. :thumbup:
Big thanks to macchiato66, Revtor and Mortyx10

Cheers
RichPu

PAPER
03-02-2012, 01:10 PM
Thank you Paper

Has anyone actually done it?

I'm not sure if any 1 has . I already have it in
my car so it was not necessary .

great work done by you & the others !!!

rippjd
03-05-2012, 02:10 PM
what we are doing here is unhidding a hidden function already existed in our module. we can never introduce a new functionality to a module.
so by disassembling, modifying and reassembling these files, we are just giving this hidden function a human readable translation. This is actually all NCS expert does. (you can read more about this in NCS dummy threas by Revtor)
It is there and it is active by default, so by doing the above procedure you are just telling your NCS to show this function in your trace file as well.
one more thing you can never code your car just by modifying your daten files, you don't even need to be connected to your car to do so.
Hope this helps.

The example on the page for NCSDummy shows adding to the list of parameters for "SPEEDLOCK_X_KMH_MIN_C0E" and "SPEEDLOCK_X_KMH_MAX_C0E" functions. I assume the reason we can not add a parameter to the existing function in the MMI (0AA7 "TV_VIDEO_ABSCHALTUNG") is because this would not change the "hidden function"?

==============================
PARZUWEISUNG_FSW : {00003002} 00000004 0001 0AA7 {} (08) {h} {} // TV_VIDEO_ABSCHALTUNG
PARZUWEISUNG_PSW1 : 0007 (00) // aktiv
PARZUWEISUNG_PSW1 : 000B (01) // nicht_aktiv
==============================

I also assume we can call it what ever we want, be it "TV_ABSCHALTUNG" or "Bob", as long as we are consistent.

mortyx10
03-05-2012, 05:27 PM
The example on the page for NCSDummy shows adding to the list of parameters for "SPEEDLOCK_X_KMH_MIN_C0E" and "SPEEDLOCK_X_KMH_MAX_C0E" functions. I assume the reason we can not add a parameter to the existing function in the MMI (0AA7 "TV_VIDEO_ABSCHALTUNG") is because this would not change the "hidden function"?

==============================
PARZUWEISUNG_FSW : {00003002} 00000004 0001 0AA7 {} (08) {h} {} // TV_VIDEO_ABSCHALTUNG
PARZUWEISUNG_PSW1 : 0007 (00) // aktiv
PARZUWEISUNG_PSW1 : 000B (01) // nicht_aktiv
==============================

I also assume we can call it what ever we want, be it "TV_ABSCHALTUNG" or "Bob", as long as we are consistent.

correct...you can only add parameters (which is simply possible by nettodat coding, no disassembly required) if the function is already defined. in this case we define it first in our SWTFSW02.dat and your right we can name it whatever, the keyword 1500 is more important. it must be unique.

stuartjohn24
03-07-2012, 04:26 AM
Hi mortyx10,

THANK YOU! I tried this before work today and it works perfectly! :thumbup:

I was dead set against paying 100 for some tacky chinese CAN BUS module to enable this function.

I cant thank you and those involved enough for working this out and sharing this DIY!

One note to anyone else doing this, it may be obvious but I made a mistake in the MMI_E65.C02 file where I added the coding data at the end of the file, NCS Expert did not like that!

I realised that the CODIERDATENBLOCK : {00003021}..... needed to be in numerical order in the file, and not at the end i.e. not after 31XX etc...

Many thanks again!

Stuart

D4hwt
03-07-2012, 05:59 AM
Well done guys. Loving your work.

D4hwt
03-13-2012, 02:57 AM
Hi guys,

any chance someone could send me a copy of their modded MMI_E65.C02 file
for some reason my NCS doesnt like my modded file, have tried moving the block into the correct space but always get an error when trying to read.. Have the 31/8/2009 files..
Cant seem to d/l is off the link in the other forum either..
Have coded a few other things but cant get this file to take for some reason.
Thanks in advance

hd750Li
03-13-2012, 04:46 AM
Hi guys, any chance someone could send me a copy of their modded MMI_E65.C02 file

See the attachment. It's a decompiled text file converted to pdf.

hd750Li
03-13-2012, 04:49 AM
Here is the actual C02 file. Just get rid of the .pdf extension.

D4hwt
03-13-2012, 05:33 AM
Thanks for that HD, however i'm getting the same error with your file as well..
COAPI 1043: ERROR DURING PROCESS CBD- FILE MMI_E65.C02..

FROM THE ERROR LOG


>> ERROR! Modul: COAPI2.CPP, Proc: coapiRunCabd, LineNr: 06, ErrorNr: 1043
CODIERDATEN_LESEN
ERROR! Modul: CBD_PROC.C, ProcNr: 02, LineNr: 01, ErrorNr: 32.
C:\NCSEXPER\daten\e65\MMI_E65.C02

Have sucessfully coded other modules so i know my set up is good..
I get the Error if i try and read the MMIGT ECU as well as trying to code it.
Probably doing something blaringly obviously wrong but can't see what!!

Blackbox760
03-13-2012, 08:27 AM
Thanks for that HD, however i'm getting the same error with your file as well..
COAPI 1043: ERROR DURING PROCESS CBD- FILE MMI_E65.C02..

FROM THE ERROR LOG


>> ERROR! Modul: COAPI2.CPP, Proc: coapiRunCabd, LineNr: 06, ErrorNr: 1043
CODIERDATEN_LESEN
ERROR! Modul: CBD_PROC.C, ProcNr: 02, LineNr: 01, ErrorNr: 32.
C:\NCSEXPER\daten\e65\MMI_E65.C02

Have sucessfully coded other modules so i know my set up is good..
I get the Error if i try and read the MMIGT ECU as well as trying to code it.
Probably doing something blaringly obviously wrong but can't see what!!

You might have the wrong version of the MMIGT file, try using an older version and see if you can connect then.

pkathee
04-04-2012, 02:50 PM
Guys,
I am in the process of enabling Video In Motion. I am able to easily disassemble, reassemble and then replace the three files accordingly, but I keep getting this error every time I read the ECU;

Error in CABD! Look at CABI.ERR and ERROR. LOG!
COAPI-1043: error during processing CBD-file
MMI_E65.C02

Also, per the info on the thread, I tried placing the parameter "CODIERDATENBLOCK : {00003021}....." within file MM1_E65.C02 in a numerical order but still that doesn't help.

However, once I switch back to my original files, I am able to read and process the ECU without any issues. I have been coding other Modules including MMIGT successfully so I know my NCSExpert set up is working fine.

Is there anything that I am missing?

pkathee
04-04-2012, 08:28 PM
EDIT: PROBLEM SOLVED
I have successfuly enabled Video in Motion. All the props go to hd750Li. He is bad a$$- Literally.........:thumbup:

I had outdated and corrupted files but he was able to upload his files into my OS and now all is good. :banana::banana:


Guys,
I am in the process of enabling Video In Motion. I am able to easily disassemble, reassemble and then replace the three files accordingly, but I keep getting this error every time I read the ECU;

Error in CABD! Look at CABI.ERR and ERROR. LOG!
COAPI-1043: error during processing CBD-file
MMI_E65.C02

Also, per the info on the thread, I tried placing the parameter "CODIERDATENBLOCK : {00003021}....." within file MM1_E65.C02 in a numerical order but still that doesn't help.

However, once I switch back to my original files, I am able to read and process the ECU without any issues. I have been coding other Modules including MMIGT successfully so I know my NCSExpert set up is working fine.

Is there anything that I am missing?

politby
04-10-2012, 04:02 AM
Awesome mod, I just did this today and it worked great (MMI_E65.C03 in my case). :thumbup:

D4T_POM
05-22-2012, 12:37 AM
:thumbup:

Mr_Burger
05-22-2012, 02:10 AM
Thanks for that HD, however i'm getting the same error with your file as well..
COAPI 1043: ERROR DURING PROCESS CBD- FILE MMI_E65.C02..

FROM THE ERROR LOG


>> ERROR! Modul: COAPI2.CPP, Proc: coapiRunCabd, LineNr: 06, ErrorNr: 1043
CODIERDATEN_LESEN
ERROR! Modul: CBD_PROC.C, ProcNr: 02, LineNr: 01, ErrorNr: 32.
C:\NCSEXPER\daten\e65\MMI_E65.C02

Have sucessfully coded other modules so i know my set up is good..
I get the Error if i try and read the MMIGT ECU as well as trying to code it.
Probably doing something blaringly obviously wrong but can't see what!!

You might have the wrong version of the MMIGT file, try using an older version and see if you can connect then.
or upgrade to the latest EDIABAS..

D4hwt
05-22-2012, 05:42 AM
Cheers for the input guys I did get it to work by reinstalling NCS and using HD's file . Should've posted. Sorry.
Many thanks to the brains who figured this out. and to HD for the file.

D4T_POM
05-22-2012, 08:54 AM
Hopefully this works, will try tomorrow and get back to ya'all :thumbup:

Sent from my HTC EVO 3D X515m using Bimmer App

cn555ic
05-23-2012, 06:59 AM
will this work on a 2006 650I??

mortyx10
05-23-2012, 04:24 PM
will this work on a 2006 650I??

Hi, for you it's much easier, I'm not at my computer to tell you the exact function you need to change but you can find it using ncsdummy. Just read cappl module. You should set it to deny_full I think.

SuperSnoop
10-23-2012, 06:10 AM
correct...you can only add parameters (which is simply possible by nettodat coding, no disassembly required) if the function is already defined. in this case we define it first in our SWTFSW02.dat and your right we can name it whatever, the keyword 1500 is more important. it must be unique.

I already have a function defined as 1500. I assume I should just take the next available spot (1528 in my case), and then change all references to 1500 in all three files?

My rear DVD player isn't working at the moment, so I won't be able to test it right away, but this seems pretty simple.

rippjd
10-26-2012, 01:46 PM
If you have updated your NCSExpert with newer files from a SPDaten package (for example v45), then yes, a function is already defined for 1500. Some other forum recommended using 1600, which worked for me. The next available spot (1528) should also work. As long as the number has no defined fuction...

Young Scarface
03-28-2014, 12:16 PM
Hello fellow BMW owners. I have a 2006 750Li. I was wondering is there anyone in the NC/SC areas that can do the coding? I will pay you of course. Thanks in advance. I can be reached by PM or at 704-449-9994, names Travis.