1. Volscan
  2. Blog
  3. CEM vehicle configuration

Volvo CEM vehicle configuration: how the car knows its own equipment

A Volvo does not have to guess whether it has a trailer module, keyless entry or City Safety. Its central electronic module keeps a list — written at the factory, read by every workshop tool, and surprisingly useful for understanding what a diagnostic scan shows.

· 7 min read

Diagram: a CEM module labelled 'Vehicle configuration, 217 fields, 1 byte each' linked by a dashed line marked 22 F106 to a table of example fields — 001 vehicle type XC60, 005 engine D5244T21, 009 gearbox TF-80SC AWD, 021 keyless entry 'Yes, with PCC', 023 cruise control 'ACC Stop & Go', 037 blind spot information Yes, 059 parking assistance rear and front, 099 park assist camera No, 192 City Safety Mode 2, 020 trailer module No
One request to the CEM returns a few hundred bytes; the diagnostic data turns each byte into a named field with a readable value. The values shown are examples of the kind of answer the record gives.

What the CEM is

The central electronic module is the body computer of a modern Volvo. It drives the exterior and interior lighting, the central locking and the alarm, holds the immobiliser, distributes power, and on most models acts as the gateway between the two CAN buses — the high-speed bus with the engine, gearbox and brakes, and the low-speed bus with the doors, climate and instruments. If you have read our piece on HS-CAN and LS-CAN, the CEM is the module that sits on both.

Because it is the module everything passes through, it is also where Volvo keeps the car's description of itself. A workshop tool that connects to a P3 car talks to the CEM first: to read the VIN, to open the path to modules behind the gateway, and to find out what the car is.

The vehicle configuration record

On P3 cars (S60, V60, XC60, V70, XC70, S80 from about 2007) the CEM holds a record called Vehicle Configuration Parameters. It is one block of data, read with a single request, in which each byte is one field. The definition for a 2014-era CEM lists 217 fields; the exact number depends on the CEM software version, as new options bring new fields.

The record is written at the factory to match the car as built, and updated by the dealer when a module is replaced or an accessory such as a trailer module is retrofitted. Other modules do not carry their own copy of the whole list; they ask the CEM, or are configured from it, which is why a replacement module has to be "programmed to the car" before it behaves correctly.

In short: the configuration is the car's own answer to "what am I?" — one byte per question, written once, consulted by every module and every tool.

What is in it: engine, gearbox and 200 options

The fields are numbered and named in Volvo's diagnostic data, and most of them are multiple choice: the byte is a code and the data maps each code to a text. A few examples from the definition, with some of their possible values:

FieldPossible values (examples)
001 Vehicle typeS60, V70, S80, XC70, XC60 … (68 values)
002 Doors4 doors, 5 doors
005 EngineB6324S, B8444S, D5244T21 … (170 named engines)
009 GearboxM66 FWD, M66 AWD, TF-80SC, TF-80SC AWD … (35 values)
010 Gearbox typeManual, Automatic, Powershift
020 Trailer moduleNo; 7-pin socket with rear fog light; with reverse light; with power supply …
021 Keyless entry and startNo; Yes, with PCC; Yes, Keyless Start only
023 Cruise controlNo; Yes; ACC; ACC Stop & Go
037 Blind spot information systemNo; Yes
059 Parking assistanceNo; rear; rear and front
081 Active suspensionNo; Yes
099 Park assist cameraNo; accessory only; without zoom; prepared for rear camera
192 City SafetyNo; Mode 1; Mode 2

The rest of the list reads like an order form: audio player, digital radio, navigation, Bluetooth hands-free, headlight type and symmetry (left- or right-hand traffic), alarm, occupant weight sensor, rear belt detection, folding rear headrests, the trailer socket's pin layout, and on and on. Three details are worth noticing:

How a tool reads it

On P3 cars the CEM speaks UDS, the ISO 14229 diagnostic protocol, on the high-speed bus. The configuration record has the data identifier F106, so a tool sends 22 F1 06 — "read data by identifier" — to the CEM's request address and gets the whole record back in a multi-frame answer of a few hundred bytes. No session change or security access is needed to read it; writing it is another matter and is dealer territory.

The bytes mean nothing on their own. The layout — which byte is field 005, which code is which engine — comes from Volvo's diagnostic data for that CEM software version. A tool that has the data for the CEM's diagnostic software can decode the record; one that does not can only show hex. This is the same split that runs through all of Volvo diagnostics, and the reason a generic OBD-II scanner never shows any of it: the request is Volvo's own, and so is the decoding. See why a generic OBD-II scanner misses Volvo fault codes.

Earlier cars keep a similar description in the CEM too — on P1 and P2 cars it is read with Volvo's D2 block requests and has a different, smaller layout — but the P3 record is the one that grew into a full equipment list.

Why a diagnostic tool needs it

It is tempting to treat the configuration as trivia. It is not. Three everyday diagnostic questions are answered by it and by nothing else.

Silent module, or no module?

A scan of a P3 car asks thirty-odd module addresses from the model's profile, and typically a third of them stay silent. Some of those are faulty or asleep; most are simply not fitted to this particular car. Without the configuration a tool can only report "did not answer" for all of them. With it, "trailer module: No" and "park assist camera: No" turn the silence into the expected result, and the modules that should have answered stand out.

Which engine is this, really?

Every tool identifies the engine from the VIN first (see our VIN decoder guide). That breaks down when the car is newer than the tool's data: the VIN carries an engine code the data has never seen, and the engine module ends up missing from the list. The configuration solves it because the car itself names the engine. A 2017 XC60 whose VIN code A5 is unknown to 2014 data still reports D5244T21 in field 005 — and the data, which already lists that engine by name, can at least pick the nearest known member of the family.

Does the car match its parts?

After a module replacement or a retrofit, the configuration is what the car expects and the new module is what it got. A mismatch is why a used CEM from another car locks you out of your own, and why a retrofitted trailer module does nothing until the field is set. Reading the record shows the expectation side of that comparison without touching anything.

What Volscan does with it

Volscan reads the configuration record from the CEM on P3 cars and uses the engine field today: when the VIN's engine code is unknown to the diagnostic data, the engine comes from the car. If the data knows that engine, it is used as is; if it knows only a sibling — D5244T23 for a car that reports D5244T21 — the nearest engine of the same family is applied and the vehicle card says so, "nearest to D5244T21 reported by the vehicle". You can still pick the engine by hand, and the choice shows what the car reported next to it.

Marking silent modules as "not fitted" from the option fields, and showing the equipment list itself, are the next steps; both only need the record the app already reads. Like everything else in Volscan the configuration is read-only: the app never writes a byte of it, and the request it sends is the same read request a workshop tool starts with.

FAQ

What is the CEM in a Volvo?

The central electronic module. It is the body computer: it controls lighting, locking, the immobiliser and the power distribution, acts as the gateway between the high-speed and low-speed CAN buses on most models, and holds the vehicle configuration — the record of which engine, gearbox and options the car was built with.

Can I read the vehicle configuration with a generic OBD-II scanner?

No. The configuration is a manufacturer record, not part of the emissions data a generic scanner asks for. On P3 cars it is read with Volvo's own request to the CEM, and the meaning of each byte comes from Volvo's diagnostic data, not from the car.

Why does a diagnostic tool care about the configuration?

Three reasons: it tells a silent module apart from a module that is simply not fitted, it names the engine on a car whose VIN code the tool's data does not know, and it shows what the car expects after a module has been replaced or an accessory retrofitted.