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
User avatar
RickHaleParker
Posts: 7129
Joined: 25 May 2015
Year and Model: See Signature below.
Location: Kansas
Has thanked: 8 times
Been thanked: 958 times

Re: Vida CEM swapping

Post by RickHaleParker »

vtl wrote: 06 Nov 2020, 10:35 Volvo does not use ID code of the device (the one that does a physical read access restriction for the flash), as it turned out. Instead it uses its own PIN code that Volvo implements in its own protocol. That PIN is just a few bytes in the dump, you still need to look for them in a car/platform-specific location.
Thanks for the reminder. You did find the hardware unlocked. :lol:

If he where to get two dumps from different cars but same software revision and compare them for the differences that would narrow down the list of suspect addresses. The odds that the two have the same PIN is what .. 1 in 281474976710656. If he knew for certain the length of the P1 pin. He could narrow the location down further. Differences less then the length of the pin can be ruled out.
⸙⸙⸙⸙⸙⸙⸙⸙⸙⸙⸙⸙⸙⸙⸙⸙⸙⸙⸙⸙⸙⸙⸙⸙⸙⸙⸙⸙⸙⸙⸙⸙⸙⸙⸙⸙⸙⸙⸙⸙⸙⸙⸙⸙⸙⸙⸙⸙⸙⸙⸙⸙⸙⸙⸙⸙⸙⸙⸙⸙⸙⸙⸙⸙⸙⸙⸙⸙⸙⸙⸙⸙⸙
1998 C70, B5234T3, 16T, AW50-42, Bosch Motronic 4.4, Special Edition package.
2003 S40, B4204T3, 14T twin scroll AW55-50/51SN, Siemens EMS 2000.
2004 S60R, B8444S TF80 AWD. Yamaha V8 conversion
2005 XC90 T6 Executive, B6294T, 4T65 AWD, Bosch Motronic 7.0.

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

Post by vtl »

A second successful PIN crack was reported :)

sirloins
Posts: 43
Joined: 5 November 2020
Year and Model: 2010 V50 T5 AWD M66
Location: Ottawa, Canada
Been thanked: 3 times

Post by sirloins »

I have a P1, using a socketcan (can to USB) adapter I was able to send a few of the commands you listed to my CEM.

I was able to enter programming mode (all other canbus traffic stops). Also was able to read the part number.

May I ask where you found these commands to send? was it just something you logged, or are these commands listed somewhere (like in VIDA database etc).

I actually backed the Teensy kickstarter back in the day, but those are version 3.x. I just placed an order for a canbus shield + teensy 4.0 to see what happens.

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

Post by vtl »

The codes and more were sent to me by a fellow Volvo enthusiast who was interested in cracking PIN himself. That saved me months of research time. Otherwise I was going to purchase a CEM reload in VIDA Online and sniff all the CAN traffic. I did that once for ECM software update.

I thought I will need Teensy 4.0 because of its 600 MHz and 2 clocks per instruction after an ultimate failure with ESP32, but in reality everything turned out to be much simpler and the PIN can be cracked on a much slower hardware. 3.x would do it just fine. I even made a version that uses Teensy's built-in CAN controller + external transceiver and sampling via slow interrupt - it works as well, though more samples are needed for a good signal-to-noise ratio. Probably will share this version on github some time later.

User avatar
RickHaleParker
Posts: 7129
Joined: 25 May 2015
Year and Model: See Signature below.
Location: Kansas
Has thanked: 8 times
Been thanked: 958 times

Post by RickHaleParker »

vtl wrote: 09 Nov 2020, 11:38 The codes and more were sent to me by a fellow Volvo enthusiast who was interested in cracking PIN himself. That saved me months of research time. Otherwise I was going to purchase a CEM reload in VIDA Online and sniff all the CAN traffic. I did that once for ECM software update.
A ton of Volvo protocols, devices, timings, codes, identifiers and commands, are hidden in the VIDA database.
Here is a primer on the subject.
⸙⸙⸙⸙⸙⸙⸙⸙⸙⸙⸙⸙⸙⸙⸙⸙⸙⸙⸙⸙⸙⸙⸙⸙⸙⸙⸙⸙⸙⸙⸙⸙⸙⸙⸙⸙⸙⸙⸙⸙⸙⸙⸙⸙⸙⸙⸙⸙⸙⸙⸙⸙⸙⸙⸙⸙⸙⸙⸙⸙⸙⸙⸙⸙⸙⸙⸙⸙⸙⸙⸙⸙⸙
1998 C70, B5234T3, 16T, AW50-42, Bosch Motronic 4.4, Special Edition package.
2003 S40, B4204T3, 14T twin scroll AW55-50/51SN, Siemens EMS 2000.
2004 S60R, B8444S TF80 AWD. Yamaha V8 conversion
2005 XC90 T6 Executive, B6294T, 4T65 AWD, Bosch Motronic 7.0.

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

Post by vtl »

RickHaleParker wrote: 09 Nov 2020, 23:58 A ton of Volvo protocols, devices, timings, codes, identifiers and commands, are hidden in the VIDA database.
Here is a primer on the subject.
I know...

Image

sirloins
Posts: 43
Joined: 5 November 2020
Year and Model: 2010 V50 T5 AWD M66
Location: Ottawa, Canada
Been thanked: 3 times

Post by sirloins »

Thanks, yep I have been knee-deep in those SQL tables haha.

Might have missed them, but I hadn't seen some of the commands used in the cem-cracker. Like enter programming mode, request part number.

I got the program working on the teensy 3.6 using the FlexCAN library though. I think either there is too much delay with this FlexCAN library, or the CEM I have is not susceptible to this.

I will try with the MCP 2515 SPI Can Controller as in the example and report back.

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

Post by vtl »

You may want to increase SAMPLES to 100. This all is in assumption you are working with Renesas-based CEM. Others are untested.

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

Post by vtl »

Been playing with VIDA SQL a few years back, ended up with this: https://github.com/vtl/volvo-ddd

User avatar
RickHaleParker
Posts: 7129
Joined: 25 May 2015
Year and Model: See Signature below.
Location: Kansas
Has thanked: 8 times
Been thanked: 958 times

Post by RickHaleParker »

sirloins wrote: 10 Nov 2020, 09:25 Might have missed them, but I hadn't seen some of the commands used in the cem-cracker. Like enter programming mode, request part number.
I found a potential location "Reload CEM" but I have not been able to convert the Hex string in to a valid zip file.
When I try to open the zip it comes up invalid.
2020-11-10 (1).png
⸙⸙⸙⸙⸙⸙⸙⸙⸙⸙⸙⸙⸙⸙⸙⸙⸙⸙⸙⸙⸙⸙⸙⸙⸙⸙⸙⸙⸙⸙⸙⸙⸙⸙⸙⸙⸙⸙⸙⸙⸙⸙⸙⸙⸙⸙⸙⸙⸙⸙⸙⸙⸙⸙⸙⸙⸙⸙⸙⸙⸙⸙⸙⸙⸙⸙⸙⸙⸙⸙⸙⸙⸙
1998 C70, B5234T3, 16T, AW50-42, Bosch Motronic 4.4, Special Edition package.
2003 S40, B4204T3, 14T twin scroll AW55-50/51SN, Siemens EMS 2000.
2004 S60R, B8444S TF80 AWD. Yamaha V8 conversion
2005 XC90 T6 Executive, B6294T, 4T65 AWD, Bosch Motronic 7.0.

Post Reply
  • Similar Topics
    Replies
    Views
    Last post