With the engine idling, disconnect the vacuum hose from the M56 valve cover, and test if the hose is sucking air. That should be immediately obvious as the hose is now directly connected to the intake manifold without any sort of reducer in between. If not obvious, try using a plastic bag on the hose to see if there is vacuum at all.
The most common symptoms of a bad idle control valve are rough idle and a check engine light on your dashboard. You may also notice fluctuating idle speed or a stalling engine on idle when your IAC valve is bad. Here is a more detailed list of the signs of a bad or failing idle air control valve (IAC) to look for: 1. Check Engine Light.
(11121437395) Elring Rubber grommets, (1127526447) Victor Reins oil filler cap gasket (11129070990), Corteco Valve Cover Gasket Set are less than $50 on FCP Euro, add something to the cart for free shipping like an Elring Intake manifold Gasket (11611436631),and or a Liter of Genuine Bmw cooolant (82142209769) , and a Storage bag (83292458654).
Comes out for me at £87.58. This is for a 2005 320ci (e46) M54 engine, as far as i can tell all the parts are the same through the range and they also work for the M54 engines
I know I performed this on my X5, but this will be 99% identical to E39's, E46's, E53's and anything else with an M54-M52TU engine. Parts used were bought at Autozone, PCV valve item # PCV1124DL $2.99. 1 Foot of 3/4 internal diameter Hose $1.50. 1 Foot of 3/8 internal diameter Hose $1.50.
There is a unique thread today on temporarily BYPASSING the CCV, for reasons that are up to the owner, but one of which can be to TEST whether the smoke or other symptoms are due to the CCV: > E39 (1997 - 2003) > PCV Crankcase Vent Valve Temporary Installations
bad crankcase oil separator valve CCV, aka PCV [air:fuel ratio] bad idle control valve ICV [air:fuel ratio] bad throttle position sensor TPS [air:fuel ratio] bad VANOS seals [compression, air:fuel ratio] head gasket leak, or a cracked block [compression, air:fuel ratio] However, that list above is NOT a debugging algorithm!