I have just recently picked up an e46 325i 5-speed manual, unfortunately the car has already thrown me a couple of warning lights and has stored some codes. What I am experiencing is that the car starts, idles and runs perfect from a cold start, but if I am to shut the engine off hot after 10 miles, 20 miles, 30 miles or whatever and then start the engine again after 5 minutes or so the idle hunts up and down and within a few hundred yards of taking off I get 3 warning lights and the car enters limp mode. The lights are EML, DSC triangle and amber brake (!). This happens every time I start and run the car while hot, and doesn’t resolve until it’s cooled down. The codes stored in my C110 code reader are D3 idle speed control valve, mechanical fault. The first time it occurred I had to carry on for 50 miles or so which ended up also causing a check engine light with 2 other codes stored, these were: CA fuel trim bank 1 control limit, and CB fuel trim bank 2 control unit. Yesterday I removed the ICV and checked it, it was already moving freely but I thoroughly cleaned it out with carb and intake cleaner and reinstalled it, checking for leaks in the rubber boots and that the DISA valve was functioning ok while I was at it. Took the car out for a spin for half an hour and thought the issue was resolved, but went to drive off again 15 minutes later and the fault returned with the same D3 fault code stored. Any suggestions for what to try next or where to look? I don’t want to replace the ICV without being certain that’s definitely at fault. I took resistance readings from the ICV as follows
Was planning to try running the car with the MAF disconnected next just to see what happens, would this show that the MAF may be at fault?