I have one persistent info error remaining on my BMW F30 that my OCD won't let go. BMW also threw in the towel on this as described in this NHTSA bulletin: https://static.nhtsa.gov/odi/tsbs/2013/MC-10149299-9999.pdf

CDA904 No message (status, trailer, 0x2E4), receiver DME, transmitter AHM

Can you point me in the right direction? What CANBUS message ID should I be sniffing for? I reached several dead ends.

Background: The car never had a trailer connected, so no trailer module (AHM). I may have inadvertently a while back coded some or all the ECUs with a VO/FA (Vehicle Order) that contained a code "3AC". This adds a trailer module to the car in the software. Several ECUs have some settings changed to reflect that and they start expecting communication from the AHM module (trailer ECU).

In a nutshell the problem: The DME ECU in error memory has the above error. It seems to indicate that the DME (or another ECU that the DME communicates with) expects a message from the AHM that "here I am, alive, etc" Obviously, there is no AHM there physically to send any CANBUS messages.

The car and its CANBUS network: BMW F30, 2012, 328i, N26 engine. DME is on PT_CAN(1) and PT-CAN2 (redundancy) with 500kbs both. It is also connected to the FlexRay (I think 1mbs)

PT-CAN(1) bus ties DME to FEM (body) and BKOMBI (cluster). FEM and KOMBI are the end nodes with 120ohm each.

PT-CAN2 ties DME to EGS (transmission) and GWS (gear selector switch).

FlexRay ties the DME to DSC (Dynamic Stability Control), EPS (steering), ICM (chassis).

The AHM (trailer module, if physicality present, would connect to the K-CAN2 network that ties together REM (Rear Electronic Module) with some other ECUs.

I think ZGM (gateway ECU) connects to all the ECU via all the networks.


What I did so far that did not work:

  • When I followed the BMW factory diagnosis software ISTA+ (used by all BMW dealers) to troubleshoot this particular error, it prompted for the re-initialization of the FlexRay. (and other canbusses?)

  • Recoded all the ECUs with the factory VO/FA that never contained the AHM trailer code 3AC, as to turn off all AHM related settings.

  • Flashed all the ECUs (except NBT_HU) to the latest firmware.

  • The original error code was for CF2501 No message (status, trailer, 0x2E4), receiver EGS, transmitter AHM. But I used an EEPROM-level program called BMW TOOL32 and reset all the adaptations/bonds in the EGS (Transmission) along with the CAN-learning function. This error code disappeared, but immediately migrated to the DME with CDA904 No message (status, trailer, 0x2E4), receiver DME, transmitter AHM.

  • Reset adaptations for the DME as well. There was no way to reset CAN-learning (if any) for this ECU.

  • Based on what I read, DME is either looking for an error every 8 sec or every 1 min. Cannot confirm which one is true. And if DME does not receive an "I am alive" message from the AHM (or through another module that it tasked with reading AHM messages), then DME will throw the error.

  • Connected a CANBUS sniffing and parsing module/program directly to the PT-CAN(1) and PT-CAN2 and K-CAN2 networks separately. Did not use the OBDII port on purpose to make it's not reading an isolated network segment. I was looking for Hex ID 2E4 (from the error message) but that never showed up. (Excellent QT-based program using Arduino+ cheap CANBUS module for sniffing:) https://github.com/adamtheone/canDrive

It would be of tremendous help to identify/confirm what CANBUS ID code should I be looking for while sniffing. Here is a collection of related CANBUS codes that may make sense to some of you:

0xCD98 52632 PT-CAN, no message (trailer status, 2E4): The diagnostic function monitors reception of the message.

"0xCD98 Botschaft (Drehmomentanforderung DSC, B6)" //torque request

0x2E4 Status Anhänger (8) Status Trailers (8) 0x71 AHM

0x4F1 Netzwerkmanagement Network management 0x71 AHM

0x5F1 Dienste services 0x71 AHM

BO_ 740 Status_trailer: 8 AHM (740 decimal = 2E4 hex)

Engine-DME Motor Elec. Cd98: message error, DME Receiver, AHM/DSC Transmitter

What I see as options, short of fixing the actual problem:

  • Block DME from looking for/receiving the missing AHM message

  • Auto-delete the DME error via some CANBUS command in regular intervals (less than 8 sec intervals)

  • Send a fake AHM CANBUS message that the AHM is there and ok.

  • Install a physical AHM module ($80+) (if you can't beat them...join them!)

Thank you for any assistance!

  • Welcome to Motor Vehicle Maintenance & Repair! Aug 18, 2023 at 20:42
  • Thank you @Pᴀᴜʟsᴛᴇʀ2 New here, but member on several other communities.
    – TommyS
    Aug 18, 2023 at 20:46

1 Answer 1


Well, I ended up installing the trailer module ECU to satisfy the DME and EGS ECUs yearning for commms with the AHM (trailer) module. Not the solution I envisioned, but it worked at a lower cost than others.

You must log in to answer this question.

Not the answer you're looking for? Browse other questions tagged .