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
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

Re: Vida CEM swapping

Post by dikidera »

vtl wrote: 17 Nov 2024, 14:20
dikidera wrote: 17 Nov 2024, 12:37 @vtl

If we need a Teensy with fast clocks to detect CAN line jitter and side channel brute force the pin for CEM. How can VDASH do the same with a simple Mongoose JLR?
MY2006+ supports UDS.
So my P2 MY2005 (facelift) is excluded?

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

Post by vtl »

dikidera wrote: 17 Nov 2024, 15:48 So my P2 MY2005 (facelift) is excluded?
My P2 MY2005 as well ;)

Treur
Posts: 126
Joined: 16 November 2024
Year and Model: 2007 V70
Location: Estonia
Has thanked: 3 times
Been thanked: 6 times

Post by Treur »

Dudde wrote: 16 Nov 2024, 11:47
Treur wrote: 16 Nov 2024, 09:28 Hi friends. Can anyone help with SBL files for P2 and P3 platforms. I need for CEM, BCM P2 and all for P3. If anyone can help, I promise not to distribute.
For what do you need them if you mind me asking?
To read and write modules.

Treur
Posts: 126
Joined: 16 November 2024
Year and Model: 2007 V70
Location: Estonia
Has thanked: 3 times
Been thanked: 6 times

Post by Treur »

vtl wrote: 17 Nov 2024, 14:20
dikidera wrote: 17 Nov 2024, 12:37 @vtl

If we need a Teensy with fast clocks to detect CAN line jitter and side channel brute force the pin for CEM. How can VDASH do the same with a simple Mongoose JLR?
MY2006+ supports UDS.
5 bytes via UDS?))) tryied, 1pin/s, can’t faster (dice, skanmatic, Mongoose)

V70user
Posts: 13
Joined: 10 March 2024
Year and Model: 2003 V70 2.3T5
Location: Poland
Has thanked: 1 time
Been thanked: 3 times

Post by V70user »

According to a post below
viewtopic.php?p=609357#p609357

I can confirm that T5Luke's method works. Tested with Arduino Uno and Nano. Both read CEM flash without errors. Because CEM cracker still doesn't crack Brick CEMs so...
I tried it on three brick shape CEMs:
1- CEM 8645171 - 2000MY 07week
2- CEM 8645171 - 2000MY 11week
3- CEM 8688434 - 2002MY 36week

I used 12v from power supply. 12V connected to CEM pins as showed at picture and as an external power to Arduino. Ground from CEM and Arduino connected together.

In cases 1 and 2 You have to connect 5 wires. I used a sharp probing needles and scratched delicately connecting points on CEM's pcb
.
20241119_203815_A.jpg
20241119_203815_A.jpg (199.83 KiB) Viewed 365 times
20241119_204746_A.jpg
20241119_204746_A.jpg (197.21 KiB) Viewed 365 times
The whole readout takes 6 minutes. After this You can copy the entire readout and using for example HxD program create a new file with .bin extension and paste this readout.
Both CEMs 1 & 2 have PIN at 0x4000 therefore if You are going to use CEMTool , You have to copy this PIN and for CEMTool needs
paste it at 0x6000, otherwise CEMTool will show wrong PIN, because program search PIN at 0x6000.
.
CEM_8645171_SWD_PIN_A.jpg
CEM_8645171_SWD_PIN_A.jpg (37.32 KiB) Viewed 365 times
.
CEM_8645171_PIN0x6000.JPG
CEM_8645171_PIN0x6000.JPG (40.3 KiB) Viewed 365 times
.
In case 3 You have to connect only 4 wires (without RESET), otherwise the flash memory won't be read. Maybe it is only at that CEM, but it was read this way.
.
20241121_143223_A.jpg
20241121_143223_A.jpg (130.38 KiB) Viewed 288 times
.
In this CEM (2002MY 36week) PIN is placed at 0x6000 so there is no need to changing anything

And a cherry at the top of the cake
.
CEM_8645171_SWD_write.jpg
CEM_8645171_SWD_write.jpg (124.76 KiB) Viewed 365 times
.
Changes were made and have been successfully written back to CEM's flash memory.

Thank You all guys, and special thanks to T5Luke for his effort put in this project
Last edited by V70user on 21 Nov 2024, 07:23, edited 1 time in total.

shxc
Posts: 3
Joined: 10 November 2024
Year and Model: 2007 XC70 D5244T4
Location: LV
Has thanked: 2 times

Post by shxc »

Has anyone successfully made changes to CEM (L-shaped) flash memory on a MY2007? Any help would be greatly appreciated!

Dudde
Posts: 64
Joined: 22 January 2020
Year and Model: 2005 V70 and more
Location: Finland
Has thanked: 14 times
Been thanked: 17 times

Post by Dudde »

shxc wrote: 20 Nov 2024, 11:09 Has anyone successfully made changes to CEM (L-shaped) flash memory on a MY2007? Any help would be greatly appreciated!
What do you need help with?

shxc
Posts: 3
Joined: 10 November 2024
Year and Model: 2007 XC70 D5244T4
Location: LV
Has thanked: 2 times

Post by shxc »

Dudde wrote: 20 Nov 2024, 13:36
shxc wrote: 20 Nov 2024, 11:09 Has anyone successfully made changes to CEM (L-shaped) flash memory on a MY2007? Any help would be greatly appreciated!
What do you need help with?
Basically, I want to modify some configurations in the CEM, such as adding a sound amplifier. From what I understand, all information about configuration parameters should be available in the VIDA database.

Currently, I lack the knowledge of how to:
  1. Read the flash memory for that specific CEM.
  2. Correctly hex-edit the configuration (I’ve read that the configuration starts at the 8100 offset).
  3. Write the updated flash back to the CEM.
Thanks.

wxp73
Posts: 7
Joined: 29 March 2024
Year and Model: V70 T5 2001
Location: Spain
Has thanked: 1 time
Been thanked: 1 time

Post by wxp73 »

V70user wrote: 20 Nov 2024, 08:59 Both CEMs 1 & 2 have PIN at 0x4000
In my CEM at 0x4000 I have FFFFFFFFFFFF, so I need to copy that in 0x6000?

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

Post by vtl »

wxp73 wrote: 20 Nov 2024, 14:06
V70user wrote: 20 Nov 2024, 08:59 Both CEMs 1 & 2 have PIN at 0x4000
In my CEM at 0x4000 I have FFFFFFFFFFFF, so I need to copy that in 0x6000?
Brick CEM has pin either at offset 0x4000 or 0x6000. Yours is at 0x6000. Don't forget your dump can be byte swapped or not, depending on how your read it. Plus regular shuffle.

Post Reply
  • Similar Topics
    Replies
    Views
    Last post