After checking with the ELM327 it appeared that the fuel trim of bank 1 was at fault. According to the BMW service manual(google, gen.lib.rus.ec) the lambda was too long beyond min. or max.
According to many sources this can be multiple things:
- engine ventilation valve
- vacuum leak
- MAF sensor
- exhaust leak
- water temperature sensor
- air temperature sensor
- lambda sensor pre-cat
- fuel pressure
- air pump
- steppermotor
Cleaned the MAF with some IPA. And checked it's functionality, between 1V and 4V. Also good.
After replacing the carter vent and inlet hose the check engine light was still on. Bummer.
Closing the intake off and blowing cigarette smoke in the engine, all small vacuum tubes to the air pump, in the front of the engine and on one injector where leaking.
Replacing all still didn't cause the check engine light to turn off yet..
But the next morning... The error codes where cleared by the engine management system and result! I forgot to do a reset. Check engine light off! And it passed the emissions test with flying colours.
BMW 3 Touring E46 | 1999.06-2005.05 - 318 i - 1895ccm 118hp M43E19

buitendiameter = 70; binnendiameter = 64; hoogte = 20; difference(){ union(){ difference(){ translate([0, 0, 0])cylinder(r=buitendiameter/2,h=hoogte+3,$fn=80); translate([0, 0, -1])cylinder(r=binnendiameter/2,h=hoogte+1,$fn=80); } translate([0, 0, 10])cylinder(r=10/2,h=10,$fn=80); } translate([0, 0, 0])cylinder(r=7/2,h=hoogte+4,$fn=80); }