If sold in the United States, all vehicles made after 1996 must be compliant with On-Board Diagnostic coding. This includes BMW vehicles. These codes are easy to access, provided you have the hardware to do so. OBD-II scanners are readily available at most automotive retailers. If the vehicle was put together before 1996 you may not find a device that can read older codes.
Slide the BMW's key into the ignition. Don't start the car or switch on the electrical system. Just leave the key there for later use.
Connect the diagnostic scan tool to the port beneath the dashboard and steering column. You may have to feel around for it, but it's a large outlet and you will not need tools to find it.
Turn the scanner on.
Turn the key in the ignition. This will boot up the BMW's diagnostic system.
Wait for the code to appear on the scanner. Jot the alpha-numeric code onto a scrap of paper before turning the BMW and the scanner off.
Copy the alpha-numeric trouble code into a search engine. You will likely get a page of results that offer definitions for that particular fault code. Write this definition down. If you seek out a professional mechanic, offering this information will save him time, as he will not have to troubleshoot the issue.