The oil service light on the BMW E46 is designed to illuminate at 5,000-mile intervals. The light needs to be reset after the oil has been changed to reset the mileage interval correctly. Otherwise, the light will remain illuminated on the instrument cluster. Up until 1999 (year 2000) models, a special tool was required to reset the light. However, it could also be reset by knowing the positions of the pins in the 20-pin Data Link Connector located under the bonnet.
Place the key in the ignition, but do not turn it to accessory or on positions.
Push the odometer/trip reset button on the instrument panel. While holding the button in, turn the ignition key one click to the first position.
Hold the button in until the words "Oil Service" or "Inspection" appear with the word "Reset" on the information display centre. If the word "Reset" does not appear on the display, the E46 has not reached the minimum consumption limit (mileage/consumption interval) and resetting the light cannot take place.
Press and hold the odometer/trip reset button again until the word "Reset" begins to blink rapidly.
Press the odometer/trip button one last time until the words "End SIA" appears on the display.
Open the bonnet and locate the 20-pin data link connector on the passenger side.
Compare the data link connector to the schematics to locate pin 7 and pin 19.
Turn the ignition key two clicks to the accessory power position (key-on/engine-off).
Return to the data link connector with the jumper wire.
Place one end of the jumper wire into pin 7 and the other end of the wire into pin 19 (or a clean metal ground in the engine compartment). Hold the jumper wire in place for three to five seconds to reset the oil service light.