Diagnose right in your browser — plug in an ELM327 and the site reads your car itselfProgram for Windows and macOS — all-module scan on any make

BMW 3 Series E46 (1998–2006) — Diagnosis

The table below is the real diagnostic profile the Diagnost program uses for the BMW 3 Series E46 — every unit it polls, reads fault memory from and (where marked) codes. This is not marketing: it is the program's working database.

Control units read on the E46

UnitSystemCoding
ms430ds0Engine M54 (petrol 6cyl, MS43)
dsc_mk60Brakes / ABS / DSC (MK60, from 2001)
DSC_E46Brakes / ABS / DSC (early MK20/MK4)
KOMBI46Instrument cluster (facelift 2002+)
IKEInstrument cluster (pre-facelift pre-2002)
EWSEWS immobiliser
ews3EWS immobiliser
MEV9N46Engine N42/N46 (petrol 4cyl)
MSS54DS0Engine S54 (M3)
D60M47A0Engine M47 (diesel 320d)
D60M57A0Engine M57 (diesel 330d)
BMS46DS0Engine M43TU (316i/318i)
ms450ds0Engine (MS45)
D_MOTOREngine (auto-detect, fallback)
D_EGSAutomatic transmission (auto-detect)
gs20Automatic transmission (GS20, live data)
MRS3airbag
MRS2airbag
SIMairbag
ihka46Climate control
ZKE5Central body electronics (GM)
ZKE3_GM5Central body electronics (GM5)
lws5Steering angle sensor
szm46Centre switch cluster
LSZLights
LCMLights (headlights)
SHD46Sunroof
MIDOn-board display
radioRadio
rdcTyre pressure (RDC)
ulfBluetooth
tel_usTelephone module

Have a problem with your E46?

Describe the symptoms or paste the codes — the AI knows this chassis' typical weak points.

Start diagnosis

Fault memories on this car (if it has a CAN bus — roughly 2008 and newer) are read by the program with an ordinary ELM327 adapter too. A K+DCAN cable (E series) or ENET cable (G series) in the Windows version is what unlocks dealer-level depth: coding, service intervals, factory options, per-module mileage and the full fault list for every unit in the table above.