You can pull codes by turning the key to "on" (KOEO - key on engine off) and you will then need to press down the gas pedal 5 times consecutively within 5 seconds. If you depress the gas pedal too slow or too fast, you won't get the CEL (check engine light) to blink in the dash cluster... It may take a few tries to "get it", just try and depress the gas pedal with the same rythm 5 times. If you do it correctly, what will happen next is the CEL will start to blink any stored codes. You will need to count the CEL flashes and then once you have the codes, you can determine what may be causing any problems...
For instance, if there are no faults or stored codes, the CEL will produce:
blink -pause- blink, blink, blink, blink -pause- blink, blink, blink, blink -pause- blink, blink, blink, blink (this is the no fault code of "1444").
Get yourself a pen & paper to write down what the CEL does.
Here is a link to the Motronic codes:
http://ee1394.com/bmw/docs/bmwDTCodes.pdf