BMW fault code 2AAF / P10C5 (N54, N55): fuel pump plausibility — the EKP code that precedes every starvation story
2AAF means the DME cross-checked low-side fuel pressure against expectation and it didn't add up. Factory test path, the EKP story, and the upgrade decision.
2AAF is the low-pressure fuel system's honesty test: the DME ran a plausibility check on the low-side (EKP) fuel pump delivery and the numbers didn't match expectation. On N54/N55 it's the early-warning code for fuel starvation — the one that shows up as a high-pressure-fuel code later, after a pull leans out.
What the factory document says
Factory service document2AAF / P10C5 — Fuel pump, plausibility (factory fault doc)Se abre en el conocimiento de servicio de tu cuenta — requiere iniciar sesión.The check is active with terminal 15 on and 3 seconds after start, between coolant temps of −20 °C and 105 °C, tank level above 5 liters, engine speed 600–7,000 rpm, evaluated over 2 seconds. The factory test path is short and good: run the plausibility check on the low-pressure sensor by comparing the DME's monitored value against an actual mechanical pressure gauge; if the two match, replace the EKP (pump control module). In other words — trust, then verify the sensor, then blame the pump system.
What usually actually causes it
Community ranking, paraphrased:
- A tired in-tank low-pressure pump — the classic N54/N55 aging story. Delivery sags under load; the DME notices the discrepancy. The 2AAF is your polite notice before it becomes fuel-cut stumble.
- EKP module faults — the controller itself, exactly as the factory test concludes when sensor data checks out.
- Wiring and connections to pump or module — corroded grounds and connectors sag under current draw.
- Tune demand exceeding stock delivery — added boost or E85 raises flow demand; a pump that was fine on stock tune sets 2AAF the week after a flash. That's not a fault, that's physics.
The fix path
- Gauge-verify the low-side pressure per the factory test before replacing anything — the DME value vs a mechanical gauge sorts sensor-vs-system in ten minutes.
- Confirmed weak delivery on a stock-ish car → pump replacement; on a tuned car, skip straight to the LPFP upgrade guide — doing the job twice is the expensive path.
- Big-power plans → port injection takes load off the low side entirely.
- Watch low-side pressure under a logged pull: reading your datalog shows the sag before the code sets.
What does 2AAF actually check?
A plausibility comparison: the DME's monitored low-side fuel pressure against what it expected, active from 3 seconds after start, evaluated over 2 seconds, between 600 and 7,000 rpm. The numbers not matching is the entire complaint.
Sensor or pump first?
The factory test path answers this directly: compare the DME's monitored value against a mechanical pressure gauge. If the two match, the sensor is honest and the EKP pump-control module side is the suspect; if they disagree, the sensor story comes first.
Can a tune cause 2AAF?
Yes, legitimately — added boost or ethanol raises flow demand, and a pump that was fine on the stock map sets 2AAF the week after a flash. That is not a fault, that is physics, and the LPFP upgrade guide is the honest end of that road.
- GuidesLPFP upgrades and second-pump wiring
- GuidesReading your datalog: RPM, boost, AFR
- TroubleshootingNo-start and long-crank diagnosis: the fork in the first ten seconds
- TroubleshootingIs it the tune or the car? The honest differentiator
- ReferenceThe code reader's companion: tools, codes, and what the data means