I attached photo of DTC report
Now I can see the DTCs clearly. Here is the full analysis for your 2009 BMW 5 Series (WBANX52050C292056, 248290 km) with the
original CAS3++ (9217853) reinstalled.
DTC Analysis & Fix Plan
1. A0AA — CAS: Control-Unit Fault (Current)
This is the main problem. The CAS3++ itself has an internal fault. This confirms the CAS module is damaged — this is likely why you tried the donor CAS in the first place.
Possible causes:
- Internal EEPROM corruption
- Failed processor or power supply circuit inside CAS
- Water/corrosion damage on the CAS PCB
- Failed flash memory
Fix: The CAS3++ needs bench repair or replacement with
another CAS3++ (not CAS3). A specialist can attempt EEPROM repair on the bench. If the hardware is physically damaged, you need a donor CAS3++ with matching hardware revision.
---
2. A11A — CAS: ELV Fault (Current)
The electronic steering lock (ELV) has a fault. This is very common on E60/E90 CAS3 modules and is often the
root cause of the whole problem.
Possible causes:
- ELV motor failure (most common)
- ELV microswitch failure
- ELV communication line broken inside CAS
- CAS internal fault (A0AA) causing ELV to not initialize
Fix:
- Option A: Repair the ELV motor/microswitch on the bench — a CAS specialist can replace the ELV components
- Option B: Install an ELV emulator — bypasses the steering lock entirely
- Option C: If A0AA is the root cause, fixing the CAS internal fault may also resolve the ELV fault
---
3. 9501 — SZL: Steering-Angle Sensor Not Adjusted (Current)
The steering angle sensor lost its calibration. This happens whenever the CAS is swapped or battery is disconnected for extended time.
Fix: Perform
steering angle sensor calibration with ISTA/D, Launch X-431, or any tool that supports SZL calibration. Turn steering wheel full lock left → full lock right → center. Confirm with the tool.
---
4. 94C1 — SZL: Coding-Data Error (Current)
The SZL coding doesn't match the current vehicle configuration. This was likely caused by the donor CAS3 being installed (different FSV/configuration).
Fix: Re-code the SZL using ISTA/P or E-Sys with the correct FA/VO for your vehicle. After coding, the steering angle sensor calibration (9501) should also be repeated.
---
5. E2D6 — Message (Kilometre Reading, 0x330) Faulty, Receiver CON, Transmitter KOMBI (Current)
The controller (CON — likely the headunit/iDrive controller) is receiving an invalid mileage message from the instrument cluster. This can happen when:
- The CAS was swapped and the mileage broadcast was interrupted
- KOMBI coding is mismatched
Fix: This should clear after re-coding the vehicle with ISTA/P and performing a full FA/VO write. Clear DTCs after coding. If it persists, check KOMBI coding specifically.
---
6. CF35 — Messages From CAS, Receiver EGS, Transmitter CAS (History)
The EGS (automatic transmission) logged that it lost CAS messages. This was caused by the donor CAS3 swap (different communication protocol/VIN).
Fix: History fault —
clear DTC. With the original CAS3++ back in, this should not return.
---
7. CF25 — Message (Seat Occupancy/Seat Belt) From SSFA, Receiver EGS (History)
The EGS lost seat occupancy/belt buckle messages during the CAS swap period.
Fix: History fault —
clear DTC. Should not return.
---
8. CF2A — Message (Vehicle Mode) From SZM, Receiver EGS (History)
The EGS lost vehicle mode messages from the center console switch module during the swap.
Fix: History fault —
clear DTC. Should not return.
---
9. A3B2 — Message Error (Terminal Status, 0x130), Receiver Instrument Panel, Transmitter CAS (History)
The instrument cluster lost the terminal status (ignition state) message from CAS during the swap.
Fix: History fault —
clear DTC. Should not return with original CAS.
---
10. 9CC5 — LM: No Message, LIN (RLS) (History)
The light module lost communication with the rain/light sensor on the LIN bus. Likely unrelated to the CAS swap — could be a loose connector or intermittent RLS issue.
Fix: Clear DTC first. If it returns, check the RLS connector on the windshield and the LIN bus wiring to the light module.
---
Summary — Priority Order
- A0AA + A11A (CAS fault + ELV fault) — This is your primary problem. The CAS3++ has an internal fault. Get it bench-repaired by a CAS specialist, or source another CAS3++ (NOT CAS3). If only the ELV is faulty, an ELV repair or emulator solves it.
- 94C1 (SZL coding) — Re-code SZL with ISTA/P or E-Sys after CAS is sorted.
- 9501 (Steering angle) — Calibrate after SZL coding.
- E2D6 (Mileage message) — Re-code with ISTA/P, then clear.
- CF35, CF25, CF2A, A3B2 (History faults) — Clear all. These are leftovers from the donor CAS3 period.
- 9CC5 (RLS) — Clear and monitor.
Bottom line: Your original CAS3++ has a hardware fault (A0AA). Fix or replace it with another CAS3++, then re-code the car and clear all DTCs. Do not attempt to use the CAS3 donor (6943834) — it will never work properly in this car.