I've been doing a load of research over the last couple of weeks after my DSC module on my 09/01 330Ci decided to die and leave me with the three lights of death on the dash (no abs, no dsc, no traction control). DIS short test followed by fault code read pointed to control unit failure. This did not clear no matter how many times I tried it nor after any period of time. The module was toast. I then rang a couple of indy's who told me this module can't be recoded and is locked to a VIN from new. New module plus fitting was around £1500 including fitting. Hmmm.
After reading many conflicting views on e46fanatics about whether you could safely separate the module from the pump and successfully recode it to a different car, I decided it was worth trying to find a replacement module rather than attempt to get the faulty one repaired or better yet pay BMW £1200+ for a new module. I was fairly sure my pump and block were ok so the first step was identifying which module I had and then sourcing one from eBay or a breakers yard. The DSC control unit part number is not actually visible from the engine bay as it is bolted to the pump but a few minutes of googling found that ABS pump P/N 34516759045 always accompanied the ATE MK60 control unit with P/N ending 6759047. Great, so find a pump matching that P/N and the correct matching module should be attached to it.
Nights of ebay trawling led me to a bargain £38 ABS pump and module with the correct P/N showing on the pump. Worth a punt, especially as I saw people trying to sell these modules for as much as £200+. The block turns up and the module is correct. Great, onto fitting.
** Disclaimer: this is the way in which I replaced and recoded my DSC module. I do not maintain that this is the ideal or entirely correct methodology nor do I accept any repercussions if this is attempted and it goes wrong **
Use something to extract the majority of the fluid from the brake fluid reservoir. I found a cheap turkey baster was perfectly adequate for this, find them in a pound shop or the rang for a quid.
Once empty, loosen the 6 brake lines on the top of the DSC block. 11mm brake line spanner was correct for my car except for the vacuum pipe from the servo which seems to be a 12mm for some random reason.Undo the brake line unions all the way and have some plastic bags/sandwich bags to hand to put the lines into and catch the excess fluid.The two larger outer pipes of the block of 4 (vacuum and return fluid) are attached to flexi hoses and can be moved out of the way.
Unplug and remove bonnet shut sensor switch to make it easier to remove the pump,block and module assembly.
Remove the two 13mm bolts holding the assembly to the car. The third prong of the metal mount is held in place by sliding over an eyelet. Just pull that clear once the bolts are out and it will start to move.
Manoeuvre the assembly as a complete unit out of the compartment and around the other brake lines. The lines can be flexible to a certain extent provided you are careful. In any case the assembly should come out after a few attempts.
Once out, separate the module from the block and pump by releasing the two T25 bolts from the pump side. Pull the screws out and then the module will wiggle off the back of the DSC block. Attach new module to existing DSC block and pump and bolt it back up.
The whole lot can go back in now and installation is the opposite of removal. Once all the lines are reattached and nipped up tight, refill the reservoir with dot4 to the max ready for bleeding.
Pull out your laptop with DIS running, run a short test on the DSC/MK60 followed by the component functions menu which should hopefully show your DSC module with an X next to it. A run off of the fault codes will probably show incorrect VIN (this is fine and will be sorted later). For now, go to component activation for DSC functions and activate the ABS pump to run the fluid through the block and into the system. You should hear a buzzing noise for 3 seconds or so.
Now bleed all four calipers as you would after a normal fluid change being sure to keep the fluid topped up.
Test the car. At this point you should have an effective and working braking system with now two yellow lights for traction control and DSC indicating that ABS has been reactivated. (invalid VIN seems to leave the ABS active instead of disabling the whole system like a faulty module does). If the brakes pedal is spongy or not effective, go back a step, you have probably let some air into the system somewhere or not cycled the pump properly.
Now you need to code the module with the VIN form the car. Use NCS expert for this. Do this your normal way depending on what profile you use. For me it was:
Select ECU then any of the available modules should provide NCS with your cars details. e.g EWS
F4 process ECU and choose the MK60 module
F3 execute job
Done. NCS should complete successfully (hopefully)
Now grab INPA and load up the E46 option menu. Drill down to chassis, double click DSC. F2 identification should now show your cars VIN for this module. Reading the codes in INPA will show that the VIN is not initialized and ZWS calibration is needed. Good stuff, Make sure your steering wheel is centered then press Shift+F4 and then option 1.
Clear the codes again and the re-read. In between this if the two remaining yellow lights go out you know you've been successful.
Celebrate how a £38 module and £6 of DOT4 fluid have saved you a serious amount of money.
Apologies for the lack of photos but hopefully this will be of use to someone. I found various threads on this topic with random conflicting information but no concise DIY from start to finish with all necessary steps to get the DSC module to accept a new VIN and re-initialize. Just goes to show it can be done and that you don't need to spend loads of cash on a fixing this problem.