There are a zillion forum threads out there detailing problems with certain light-modules and the methods used to fix / replace / re-program them, ranging from serious in-depth coding discussion to a 'For Dummies' type guide on where to start when attempting this at home. Still, none of them seem to properly discuss what the modules are, what they do and where to look when you think (or someone tells you!) that they are at fault, so the purpose of this guide is to explain just that. Even when an error-code points at a faulty module (and there are so many light-module related fault-codes that they often do!), it may still just be a break in the wiring or a bad earth, so now you won't be baffled at the complexity of your BMWs lighting network the next time you replace a bulb, check the fuse and you're light still won't turn on.
How the F10 Lighting System works:
Unlike other modern cars, most if not all Fxx Series BMWs have a computer-module housed in each light-unit. These are called TMS modules and their job is to receive on/off commands from the car and regulate power to each bulb in the light-unit. In the headlights they also work as ballast for the halogen / xenon bulbs and control the auto-levelling function. The TMS modules all connect to a larger module known as the FRM, mounted inside the car's dashboard (usually in the driver's footwell), which controls all the various lights in the vehicle. Not just the exterior lights, but every single interior and courtesy light is connected separately to the FRM. All of the switch-gear is connected directly to the FRM module, even the ones mounted next to the map-reading lights that they operate and, when pressed, rely on the FRM to send power back to the bulb. In turn, the FRM reports to the central-CAS that all is OK, or reports a fault and sends up a message on the iDrive. The FRM module is not solid-state electronics either... it runs software. When the FRM receives a command to say, turn on the lower courtesy light in the rear passenger side door, the FRM scans the car for lights matching that code, finds it and sends power accordingly. When lights are swapped out for parts with a different FRM-code then the module won't find what it's looking for and can't turn the light on. This is where FRM coding and programming comes in - amending the light-codes in the module to match those of your new lights.
Troubleshooting:
Obviously the bulb and fuse are OK, so where to look first if the light still won't turn on and the error message is still displayed? Before you get into the serious stuff, check for a physical fault first - this is most likely to be the culprit.
Breaks in Wire - If only one light is affected, say the N/S high-beam and all other lights work fine, then chances are there is a physical problem with the wiring. If modules are failing then noticeable faults should be more sporadic than a single light not turning on. An FRM-xxx fault-code will likely show up along with 'Left High-Beam Failure'. This is because the FRM cannot find the bulb in question or senses a short-circuit, but doesn't mean the FRM itself is faulty. The FRM-module scans constantly and will quickly find the bulb and cancel the error-message once a physical fault has been sorted, so ignore the FRM part of the fault-code and check the wiring first.
Common places where wire-breaks occur are inside the headlight unit itself, particularly where the car has been in a front impact of some sort, and to the right of the driver's (O/S) footwell. All the wiring for the switches and the FRM module dwell here and it is easy to knock them, especially if trim has been removed for other work. The wiring connector plugs can also get knocked and throw up FRM errors, so check all 5 are seated in the module.
TMS Module Failures:
- Side-light / Angel Eye failure.
- Halogen headlight bulb failure.
- TMS-xxx fault-codes.
FRM Module Failures:
- Random front / rear lighting issues - e.g brake-lights stop working, indictors stop working, all lights work sporadically.
- Front/rear driving-lights only stay on for about 30-seconds then dim and do not come back on.
- Random exterior lights flashing on/off when headlights or ignition operated.
- One or more light related error messages, but lights still work.
- FRM-xxx fault-codes.
The FRM-module is a silver box located in the driver's-side footwell to the right of the pedals (on a right-hand-drive car.) It only requires removal of the plastic trim under the dash and at the front of the driver's door frame to replace and is held in by two 10mm nuts. Be careful though, wiring harnesses from lights/switch connect to both sides of the module, with the rearward facing ones quite hard to see, so make sure all 5 are fully removed before yanking the module. Spurious lighting modules are hard to find and will come blank, so require a full set of codes to be programmed matching your vehicle for them to work. Used genuine parts are your friend here, with FRM-modules ranging from £60-100 on eBay. All FRM-modules are interchangeable, even different part numbers, but you need to find one with the correct FRM version for your car. With most modern Fxx Series it will be running the FRM-3 software, so check it already this version. If not you can completely re-install the FRM software for your car, but you will need a copy of the software and coding become very involved. If you find a matching part for your car, chances are it had the same lighting array so will operate the lights correctly without coding, but if the car your module came from had a slightly different level of trim, or there had been an update to light configurations, then some lights will have a different code and you will need to check which ones are not functioning properly and amend the code stored in the FRM to suit those units. This is also true if standard lights are being upgraded to M-Sport variants, which will have a different code. Replacing the FRM, or any higher level module on your BMW should be programmed in some way, even if it is just to update the VIN-number stored on it to match your vehicle, so everything works 100% with the CAS and no errors are randomly thrown up in the future, though if you do get lucky and it works with all your lights then there is no reason it won't do so forever.
Coding / Programming the FRM Module:
This is the daunting part for most people experiencing FRM-module problems or upgrading light-units. First of all you will need to be quite computer savvy. It really helps to know your way around Windows as setting up the software and getting it talking to the car will be a very steep learning curve for those who are not handy with their operating system. There is so much to write about BMW coding that I could do a multitude of posts covering it, so I will stick to what is needed for this task, though if you are getting seriously into it then check out the forums on
Apart from an OBD-ENET cable, there is software you will need including INPA, NCS Expert and Progman. These are available in a great package in this post - http://www.beemerlab.org/2019/03/bmw-inpa-506-for-fxx-series-enet-cable.html
Coding / Programming the FRM Module:
This is the daunting part for most people experiencing FRM-module problems or upgrading light-units. First of all you will need to be quite computer savvy. It really helps to know your way around Windows as setting up the software and getting it talking to the car will be a very steep learning curve for those who are not handy with their operating system. There is so much to write about BMW coding that I could do a multitude of posts covering it, so I will stick to what is needed for this task, though if you are getting seriously into it then check out the forums on
Apart from an OBD-ENET cable, there is software you will need including INPA, NCS Expert and Progman. These are available in a great package in this post - http://www.beemerlab.org/2019/03/bmw-inpa-506-for-fxx-series-enet-cable.html
The forum threads I found essential are below:
BMWcoders.com - every subtle coding nuance is detailed on there, including lots on FRM.
For most of the tasks involved in repairing / recoding / installing a new FRM module see this guide - Coding in a new FRM Module for Dummies [https://www.e90post.com/forums/showthread.php?t=1184199]
Another great thread that covers individual light failures in the FRM, resetting short-circuit counters and forcing individual lights to come on is here - Resetting Short Circuit Counters in FRM Module [https://www.bimmerfest.com/forums/showthread.php?t=866044]
A list of FRM Lamp IDs can be found in this post - BMW Fxx Series FRM Lamp ID Codes List
Front Bumper / Headlight Removal Guide
https://forum.bmw5.co.uk/topic/130693-headlights-problem/
Awesome write-up!
ReplyDeletebrilliant really helpful thanks
ReplyDelete