
Diagnostics and Coding
Factory tool on every module, written findings
- Price range
- $165–$265
- Typical time
- 1–2 hours

$250–$2,400 · 2 hours–2 days
The part of European repair most shops send to the dealer: a failed control unit replaced, flashed to the current software and coded to your car, with the immobilizer and the options intact.
Factory tools for eight brands, repairs covered by a 2-year/24,000-mile warranty
Symptoms
Problem
No start, dash dark, key not recognized
Likely cause
Body domain controller (FEM, BDC, CAS, EIS) failed or lost its data after a voltage event
The fix
Confirm supply and grounds, replace or repair the controller, align the immobilizer, code the options
Problem
Engine runs but a dozen modules report no communication
Likely cause
Gateway failure or a shorted node pulling the bus down
The fix
Isolate the bus by segment, replace the gateway or the offending node, code to the VIN
Problem
Transmission stuck in one gear with internal TCM fault codes
Likely cause
Mechatronic or TCM electronics failed, common on DSG and some ZF units
The fix
Replace or repair the unit, flash the matching software, run the adaptation
Problem
Used engine controller fitted, car cranks but will not fire
Likely cause
Immobilizer data in the donor unit does not match the car
The fix
Align the DME to the car or clone the original data where the platform supports it
Problem
Module replaced elsewhere and half the options vanished
Likely cause
Unit was never coded to the equipment list for this VIN
The fix
Code the vehicle order and the option list, verify each function
A control unit leaves the factory as generic hardware. The software for the exact engine, transmission and market, the equipment list for the car and, on most modules, the immobilizer data that ties it to the other security units are written at the plant or at the dealer. Fit a bare unit and the car either refuses to start or runs in a default state with options missing and warnings on.
Programming is the word that covers three different steps. Flashing writes the application software for the VIN, which may be a newer release than the car left the factory with and may cure a documented fault. Coding writes the equipment and configuration data, which is what makes a rear camera, a comfort access door handle or a specific headlight type work. Alignment or pairing links the unit into the immobilizer chain so the engine controller, the body controller and the key agree.
All three need a connection to the manufacturer. For BMW that means ISTA with the programming data; for Mercedes, XENTRY with online SCN coding; for Audi and VW, ODIS with the security gateway login; for Porsche, PIWIS; for Jaguar and Land Rover, SDD or Pathfinder with the software download. Behind them, a J2534 pass-through with the OEM subscription does the heavy flashing on engine and transmission controllers.
On BMW and MINI the list starts with the CAS on E-chassis cars and the FEM and BDC on F- and G-chassis cars. These body controllers hold the keys, the central locking and most of the comfort functions, and they fail from water in the footwell, a bad jump start or a corrupted update. The DME is next, often after a failed flash elsewhere, and the FRM light module on E90 and E70 cars that bricks itself when the battery goes flat.
On Mercedes-Benz it is the EIS ignition switch and the ESL steering lock, the SAM front and rear body modules, and the engine and transmission controllers on cars that came in with a dealer quote for the pair. On Audi and Volkswagen it is the gateway, the engine ECU, the DSG mechatronic, the instrument cluster and the MMI head unit, all of which carry component protection on MQB and MLB cars and must be released online.
On Porsche the usual work is the gateway, the front body controller and the DME after water or voltage damage. On Jaguar and Land Rover it is the BCM, the KVM keyless module, the RFA and the air suspension controller, which fail together with the battery on cars that sit, and the engine and transmission controllers on cars that lost communication.
A new unit from the manufacturer is the simplest path on every brand and the only path on a few: Mercedes FBS4 security modules and some Porsche units are tied to the VIN at the factory and cannot be moved from another car. A tested used unit costs a fraction of that, and on BMW, most Audi and VW modules and Jaguar and Land Rover controllers it can be aligned or cloned to your car with the right tooling. The estimate shows both routes where both exist, with the saving and the trade-off written down.
A board-level repair is the third route, and we use it only where the fault is known and the fix is proven: a BMW FRM with a corrupted memory, a Mercedes ESL with a worn motor, a MINI footwell module with a failed output stage. Where a repair is attempted, the estimate says what happens if it fails, which is usually that the used or new route follows with the repair labor credited.
Whichever route is chosen, the failure is confirmed first. A module that does not answer the vehicle test is often a module without power or ground, and buying a controller to fix a corroded connector is the most expensive mistake in this line of work.
The first risk is voltage. A flash that takes forty minutes on a car whose battery sags to 11 volts halfway through leaves a module that no longer boots, and some cannot be recovered. Every programming job here runs on a regulated power supply holding the car at the voltage the manufacturer specifies for the whole write.
The second is the wrong software. A DME flashed with a release for a different market or a different transmission will run, badly, and store faults nobody can explain. The factory tool selects the software by VIN and the integration level of the rest of the car, which is why a BMW programming session often updates several modules together so they can talk to each other.
The third is skipping the follow-up. A new steering angle sensor needs a calibration, a new battery controller needs a registration, a new TCM needs an adaptation drive, a new body controller needs the key count checked. The job is finished when the vehicle test reads clean after a road test, not when the progress bar fills.
Usually not, and the shop plans for that. A car with a failed CAS, FEM, BDC or EIS will not start, so it arrives on a flatbed; tell us the symptom when you book and we schedule the bay so the car is not sitting outside for days. If the car has a working key and starts, drive it in; a module that is only failing intermittently gives more data while it still answers the bus.
Bring every key you own, the registration, and any paperwork from a previous attempt. If a dealer or another shop already tried to program the unit, their notes shorten the job, because a half-written module behaves differently from a dead one.
Programming labor alone, when you supply a module or a used unit is sourced and aligned, runs $250–$650 depending on the brand and how much immobilizer work the unit needs. A module supplied, flashed and coded here runs $650–$2,400, where the module price, new versus used, drives the figure far more than the labor. A BMW FEM or BDC programmed lands around $650–$1,400, a CAS around $600–$1,100, a Mercedes EIS or ESL around $650–$1,900, a Jaguar or Land Rover BCM or KVM around $700–$1,600, and VAG component protection release runs $180–$320 per component.
Each estimate is written after the failure is confirmed and before any unit is ordered. The work is covered for 2 years parts and 2 years labor, up to 24,000 miles, nationwide, which includes the module when the shop supplied it. To start, call or text (817) 765-6604 with the year, model, the symptom and whether the car starts.
Modules come from the manufacturer, from the original-equipment supplier where they sell the same unit, or as tested used units with a known donor VIN. The estimate names which, because it changes the price by hundreds of dollars and, on a few brands, it changes whether the job is possible at all.
What moves the price: new versus used, how many security steps the unit needs (a gateway with component protection and a FEM with key data sit at the top), whether other modules must be updated to the same integration level, and whether the original unit can be read for cloning. Customer-supplied modules are programmed when the platform allows it, with the warranty covering the labor only.


Pricing
| Service | Price range | Typical time |
|---|---|---|
| Programming and coding labor, module supplied by you or sourced used | $250–$650 | 2–4 hours |
| Module supplied, flashed and coded (DME, TCM, FEM, BDC, CAS, EIS, BCM, gateway) | $650–$2,400 | 1–2 days |
| VAG component protection release, per component | $180–$320 | 1 hour |
| Software update or campaign flash on an existing module | $250–$650 | 2–4 hours |
| Diagnosis to confirm the module before anything is ordered | $165–$265 |
Typical Dallas independent-shop ranges. The module itself, new or used, moves the figure more than the labor; the estimate shows both routes when the brand allows a used unit.
The offer
Risk reversal
Covered for 2 years parts and 2 years labor, up to 24,000 miles, nationwide
No deposit, no card online: you approve the written range before any part is ordered
Published range
$250–$2,400
2 hours–2 days
Brands
BMW
3 Series E90, F30, G20, 5 Series E60, F10, G30, X3 and X5 E83, E70, F25, F15, G01, G05
Mercedes-Benz
C-Class W204, W205, W206, E-Class W212, W213, S-Class W221, W222
Audi
A4, A5 and Q5 B8, B9, 8R, FY, A6 and A7 C7, C8, A3 and S3 8V, 8Y
Volkswagen
Golf and GTI Mk5, Mk6, Mk7, Mk8, Jetta A5, A6, A7, Passat B6, B7 and the NMS
MINI
R50, R52, R53, R56, R55, R57, R58, R59, R60 Countryman and R61 Paceman
Land Rover
Range Rover L322, L405, L460, Range Rover Sport L320, L494, L461, Discovery LR3, LR4 L319 and Discovery 5 L462
Jaguar
XF X250 and X260, XJ X351, XE X760 and F-Pace X761
Porsche
911 996, 997, 991, 992, Boxster and Cayman 986, 987, 981, 718, Cayenne 955, 957, 958, 9YA
Questions
On BMW, MINI, most Audi and Volkswagen units and Jaguar and Land Rover controllers, yes: the unit is aligned to your immobilizer or cloned from the original, and component protection on VAG cars is released online. Mercedes FBS4 units and some Porsche modules are locked to the first VIN and must be new.
It helps, and on some jobs it is required. Reading the original unit recovers the coding, the key data and, for a cloned repair, the entire contents. When the old module is dead, the data comes from the manufacturer server by VIN, which takes longer and on a few brands needs a dealer step.
Yes, when the keys are present for the alignment. Bring every key you own to the appointment. A key that is not present cannot be re-enrolled later on some brands without another visit, and on Mercedes a missing key is disabled for security.
A flash or coding on an existing module is done in a day. A replacement runs one to two days once the unit is in hand: new units arrive from the manufacturer in a day or two, and used units depend on the donor. The estimate gives the window before you commit.
Yes, where the manufacturer has released a newer version for your VIN through the subscription. We check the current level against the server during the diagnosis and tell you whether an update exists, what it addresses, and whether other modules must move with it.
Sometimes, if the corrosion is caught early and the board is cleaned before the traces fail. More often the module is replaced and the cause of the water, a blocked sunroof drain, a leaking cowl seal, a failed door membrane, is fixed in the same visit so the new unit does not drown.
Book Module Programming in Dallas
Replacement and programming of European control units in Dallas: DME and ECU, TCM, BCM, FEM and BDC, CAS, EIS, gateways and SAM modules, flashed and coded to the VIN with the factory tool and OEM subscription.