Zunächst mal ist es beim E46 sinnvoll, den Fehlerspeicher mit der "richtigen" Software auszulesen - die üblichen OBD-Tester, Carly und Konsorten liefern oft keine vernünftigen Fehlerbeschreibungen.
Davon abgesehen, bedeuten diese Fehlercodes "Gemisch zu mager" - also hast Du zu 99% ein Problem mit Falschluft. Am einfachsten ist das mit einer Nebelmaschine, aber häufig findet man recht schnell Risse in den Luftschläuchen und Faltenbälgen, fehlende Verschlussstopfen an der Ansaugbrücke oder ähnliches, indem man danach sucht. Zum Thema Falschluft findest Du auch einige Threads hier im Forum.