So my car brought up the ABS, DSC and red brake warning lights. On reading the fault codes I got 5DF5 Internal fault. Basically this means your ABS/DSC ECU is dead, the main cause (according to the 'net) is that the joints on the board are bad. This can be cured by "reflowing" the solder if, like me you are useless with a solder iron on such small terminals then the only option is to replace the unit. More 'net surfing will result in finding out this is possible but unless you're willing to throw £1k at the dealer for a new unit and recoding then you'll end up with faults in the memory and warning lights still on. But, I have just successfully fitted a second hand unit and recoded it so I have fully working ABS and DSC and no warning lights. Here's how:
Step 1: Read the part number on your ABS pump
The number on mine was 34.51 - 6 759 045 I did look on realoem and that basically confused things as the numbers on there for the part you order are different. In the end I just stuck the part number into ebay and got plenty of results - Mine cost £43.00 after some haggling.
Step 2: Replace your old unit with the new one. I did this by sucking out most of the fluid from the bottle and then disconnecting the pipes and wiring plug from the unit. It can also help if you remove the bonnet switch as this does restrict room. After this, as the book of lies says: "refitting is a reverse of removal"
Step 3: Fill up the bottle back to the max and fire up your laptop. (Don't forget to attach your battery charger in case your battery isn't great) Load up DIS and run a test on the DSC/MK60 and then the component functions menu which should now show DSC with an "x" against it. Look at the fault codes and all you should see is one telling you the VIN is incorrect.
Still using DIS, now go to the component activation and activate the ABS pump, you should here the pump running for about 3 seconds. I did this a couple of times to make sure the block was now full of fluid.
Step 4: Bleed the brakes as you normally would. I did this in this order; N/S/R, O/S/R, N/S/F, O/S/F. I put approx 2 litres through the system and the brake pedal didn't feel great so had another go and got a little more air - The air does have a long way to travel from the pump to the rears especially so keep this in mind. I got plenty of air out at the back the first time I bled them and again on the second.
Step 5: Start the car and check the brakes. You should now only have the DSC light (triangle) and ORANGE brake warning light;
(My brake light is red in picture due to the handbrake still being on) The ABS light should now be off indicating your ABS is now functional again.
Step 6: Back tot the laptop, this time NCS EXPERT. You are using this to code your VIN to the ECU. For me the steps went like this;
1. load expertmode
2. F1 VIN/ZCS/FA
3. F3 ZCS/FA
4. Select E46
5. Select ECU - Any of the available modules will provide NCS with your VIN.
6. F4 process ECU - Choose MK60 module
7. F3 Execute job
NCS should have now completed successfully.
Step 7: Make sure the wheels and the steering wheel are straight and load up INPA. Select E46, select Chassis and double click on DSC. Reading the fault codes you should have one showing the VIN is not initialised and that you need to calibrate the ZWS (Steering wheel angle sensor also known as the LWS). From here you should be able to press Shift F4 and then Option 1 which will calibrate your sensor. If your copy of INPA doesn't have this feature on Shift F4 you may have this: From the start menu Shift F9 is special tests, listed under here is sometimes "e46 steering angle sensor calibration" you can run the calibration from there.
This is where it all went wrong for me, the copy of INPA that came with my cable didn't have the "shift F4" option, it did have "e46 steering sensor calibration" under special tests but this wouldn't connect to the ECU and run the calibration either. Here's how I got around it;
Step 7 (take 2):
1. Load up Toolset 32 / Tool32.
2. Choose "Load SGBD Group File"
3. Scroll through the list until you reach DSC_MK60.PRG select this and click "open"
4. Under "jobs" in the box on the left scroll down until you reach "lenkwinkel dsc abgleichen" double click on this and wait about 10 seconds for it to process.
5. Look at the dash and you should now have no warning lights meaning your steering angle sensor is calibrated and VIN-matched to the car!
Step 8: Disconnect everything, relax and bask in the glory that you've successfully fixed the problem that caused your dashboard to look like a Christmas tree!
As you can see in the pics, it took me a while to get from the end of step 6 to step 8. To be honest, if it wasn't for @e36coupe-328 's Google skills being so much better than mine and finding Step 7 take 2 for me I'd still be swearing at INPA!
Good luck and I hope you find this of some use
*** Apologies for the photos being round the wrong way - They were taken on an iPotato ***