Login Register

Vida CEM swapping

A mid-size luxury crossover SUV, the Volvo XC90 made its debut in 2002 at the Detroit Motor Show. Recognized for its safety, practicality, and comfort, the XC90 is a popular vehicle around the world. The XC90 proved to be very popular, and very good for Volvo's sales numbers, since its introduction in model year 2003 (North America). P2 platform.
Post Reply
oscilloscope
Posts: 285
Joined: 20 May 2022
Year and Model: 2005
Location: uk
Has thanked: 27 times
Been thanked: 11 times

Re: Vida CEM swapping

Post by oscilloscope »

brobert wrote: 22 Jan 2023, 13:58 ECU, ECM, CEM - what a soup of acronyms :(
I think that I've seen Volvo refer to *any* module in the car as "ECU".
Egg on face for sure but glad that we got this cleared up.

@rkam
Yes, T5Luke wrote a CEM dumper but you need a DICE and I only have a Mongoose cable (DICE clones are stupid expensive).
Now that I think of it, I might be able to edit the embedded DICE string and make it use my Mongoose cable.
In the past I customer would call them brains , so engine brain , body brain , rear body brain. , it did get even more confusing when they would use the correct acronym and use completely different words to fit it.

User avatar
bobbik
Posts: 10
Joined: 13 February 2012
Year and Model: '05 V50 2.4i
Location: Poland
Has thanked: 1 time
Been thanked: 5 times

Post by bobbik »

Yes, T5Luke wrote a CEM dumper but you need a DICE and I only have a Mongoose cable (DICE clones are stupid expensive).
Now that I think of it, I might be able to edit the embedded DICE string and make it use my Mongoose cable.
Is that dumper works also for P1 CEM with two Motorola MCU's? Where can I find it?

dikidera
Posts: 1304
Joined: 15 August 2022
Year and Model: S60 2005
Location: Galaxy far far away
Has thanked: 67 times
Been thanked: 175 times

Post by dikidera »

brobert wrote: 22 Jan 2023, 13:58 ECU, ECM, CEM - what a soup of acronyms :(
I think that I've seen Volvo refer to *any* module in the car as "ECU".
Egg on face for sure but glad that we got this cleared up.

@rkam
Yes, T5Luke wrote a CEM dumper but you need a DICE and I only have a Mongoose cable (DICE clones are stupid expensive).
Now that I think of it, I might be able to edit the embedded DICE string and make it use my Mongoose cable.
Why would you need DICE? What is so special about DICE? It uses the very same principle as literally anything else. An MCU, a CAN controller and CAN transceiver.

rkam
Posts: 102
Joined: 19 October 2022
Year and Model: 14473_96090_XC7007
Location: Norway
Has thanked: 5 times
Been thanked: 25 times

Post by rkam »

dikidera wrote: 22 Jan 2023, 17:10
Why would you need DICE? What is so special about DICE? It uses the very same principle as literally anything else. An MCU, a CAN controller and CAN transceiver.
DiCE is made to be used as a J2534 interface. It is J2534-2 compliant. Not all J2534 interfaces are.

The reader mentioned looks for DiCE in the registry, and find the path to the .dll file that handles the J2534 communication.
Therefore a DiCE is needed to use this software, unless you change the software or registry entries.

Many software tools, also commercial ones, are based on Marks J2534 implementation starting out as a lua script early 2012.
Last edited by rkam on 23 Jan 2023, 00:38, edited 1 time in total.

NFedor
Posts: 3
Joined: 22 January 2023
Year and Model: XC90
Location: Moscow
Been thanked: 1 time

Post by NFedor »

Hello. Did you manage to find the algorithm for calculating the checksum in eeprom CEM? Example C5EB8216-CRC 71B1, C5EB5B84-CRC C98E.

dikidera
Posts: 1304
Joined: 15 August 2022
Year and Model: S60 2005
Location: Galaxy far far away
Has thanked: 67 times
Been thanked: 175 times

Post by dikidera »

rkam wrote: 22 Jan 2023, 23:47
dikidera wrote: 22 Jan 2023, 17:10
Why would you need DICE? What is so special about DICE? It uses the very same principle as literally anything else. An MCU, a CAN controller and CAN transceiver.
DiCE is made to be used as a J2534 interface. It is J2534-2 compliant. Not all J2534 interfaces are.

The reader mentioned looks for DiCE in the registry, and find the path to the .dll file that handles the J2534 communication.
Therefore a DiCE is needed to use this software, unless you change the software or registry entries.

Many software tools, also commercial ones, are based on Marks J2534 implementation starting out as a lua script early 2012.
It is a bummer that all J2534 revisions/specs are paid. But it's actually fairly surprising that no one has leaked a single copy.

vtl
Posts: 4724
Joined: 16 August 2012
Year and Model: 2005 XC70
Location: Boston
Has thanked: 114 times
Been thanked: 603 times

Post by vtl »

dikidera wrote: 23 Jan 2023, 07:25 It is a bummer that all J2534 revisions/specs are paid. But it's actually fairly surprising that no one has leaked a single copy.
https://github.com/hackingvolvo

dikidera
Posts: 1304
Joined: 15 August 2022
Year and Model: S60 2005
Location: Galaxy far far away
Has thanked: 67 times
Been thanked: 175 times

Post by dikidera »

Haha, vtl I know about it and have been using it. I had to modify the code a bit to allow it to work with RPI and my next changes are to allow it to work with high and low speed CAN simultaneously, as it currently only supports low speed CAN. Additionally a very thin wrapper had to be written to allow communication between the Windows driver and the RPI, as it was originally written for Arduino. One little problem is that VIDA sets a 60ms timeout for messages, so this means I have to pass the VIDA message via my chosen communication protocol, to my wrapper which transmits it via can and waits for a reply to send back via the wrapper to VIDA on windows all of which should happen below 60ms.
Additionally it is missing a lot of functionality, like filters and so forth. Olaf never got around to doing it, as he seemingly disappeared after early 2013 and as such the project was abandoned.

But regardless, my comment was about the other revisions of CAN, I can find a PDF for the very first j2534 spec, but nothing about j2534-2.

rkam
Posts: 102
Joined: 19 October 2022
Year and Model: 14473_96090_XC7007
Location: Norway
Has thanked: 5 times
Been thanked: 25 times

Post by rkam »

I believe J2534-2 is an extension to allow communication with more modules.
Here are some sections marked with J2524-2
https://github.com/diamondman/J2534-Pas ... 34_v0404.h

DiCE J2534 help file can also be useful.
J2534.zip
(116.44 KiB) Downloaded 123 times

Some history and revisions:
https://www.kvaser.com/developer-blog/s ... on-part-1/

Constantinos
Posts: 7
Joined: 28 February 2022
Year and Model: Volvo XC90 2006
Location: London

Post by Constantinos »

Good evening.
I have been for a cheap but effective way to unlock my cem pin through the obd2 port
I found the teensy 4.0 method but I'm having a hard time finding parts.
I found a pcb file which has all the wiring for the pcb as well.
However, I cannot find the bosch cf160 transceivers needed for the job.
Also, in the schematic on github, I can see that some resistors that need installing, but I'm not sure where to install them on the pcb.
The pcb link:
https://www.pcbway.com/project/sharepro ... 037d5.html

The github link: https://github.com/vtl/volvo-cem-cracker

Post Reply
  • Similar Topics
    Replies
    Views
    Last post