@terra
Can you make it clear why we need ediabas and bmw standard tools, ? I downloaded the SP-daten-e46 file of the internet and loaded on to Winkfp. shouldn't be enough to flash my DME if I have the vable communicating with my car? What am I missing here?
And on winkfp when I enter ZUSB as 7561520 it takes it to Unverbaut which translates to undeveloped? what does that mean
Don't worry about the Unverbaut thing, it was never a problem for me. I think it's a bug. If you import the assembly line data, it'll give you the integration position, but when you close WinKFP and then open it again, it'll say Unverbaut again. Also, yes that cable is ready to go, even for newer BMWs.
You need EDIABAS running because EDIABAS talks to your car in its specific, proprietary language (which other people seem to have reverse-engineered, such as BMW Scanner). There are certain algorithms that ECUs use, and EDIABAS talks to them in the right ones. You can actually see the algorithm if you use certain programs in BMW Standard Tools. I don't remember which ones.
BMW Standard Tools comes with EDIABAS, INPA, WinKFP, and NCS-Expert which is really all you care about. The other stuff is development tools that is poorly documented and honestly I don't know what it does. I do know that you can do a whole lot with the tools, though. The only people that will know exactly what it does are going to be ECU developers at BMW. This is BMW's non-public in-house stuff, which is why it is so not user friendly and has no good help files. They expect that the people using it are already trained internally on how to use it, and that if someone screws up writing ECU information at the factory, they've got the diagnostic hardware to actually fix it.
When we get into actually programming our ECUs, it gets into the very cryptic and hidden world of embedded systems programming. We get a glimpse of it through BMW Standard Tools

The dealer doesn't use this. They used to use SSS/Progman and DIS. SSS/Progman has these things actually all installed on the machine, but they didn't have direct access to change the files unless they were some sort of administrator. If you ever get around to installing SSS/Progman, you can view those files and see NCS-Expert is in there. SSS/Progman really is nothing more than an easy interface for NCS-Expert, and it talks to an external EDIABAS server. This is one reason why we do it on a virtual machine: to simulate that EDIABAS server by running it on our own machine. It's talking to NCS-Expert to do those changes. I mean the way that BMWs work on changing parameters, it has to talk to NCS-Expert.