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
sirloins
Posts: 43
Joined: 5 November 2020
Year and Model: 2010 V50 T5 AWD M66
Location: Ottawa, Canada
Been thanked: 3 times

Re: Vida CEM swapping

Post by sirloins »

I've been playing around with some commands.

So this "pin" is sent in this "programming" mode. I am exploring commands while still in "normal" mode.

I see from the service list there are many functions related to security, does anyone have any idea how to correctly attempt a login?

An example service is A3. There are a few modes that seem to respond:

A3 01 - Request Seed (I get 00's back, but no error)
A3 02 - Send Key (I do not get an error back, but I don't know exactly what it is expecting)

What I would like to do is see about getting logged in this way, and being able to read flash by memory address.

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

Post by vtl »

Seed is what P3 has. P3 PIN procedure is not like in P2.

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

Post by vtl »

2 more P2 CEMs got cracked! :)

Don't forget you need a common ground between Teensy and CEM ;)

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 »

Ahh okay, I think I messed up my services query and saw those ones. I was hoping to use the commands like A7 01 to read some data from flash etc.

Do you happen to know what commands are available once logged in with the PIN?

T5Luke
Posts: 142
Joined: 11 November 2020
Year and Model: S60 T5 2001
Location: DE
Has thanked: 11 times
Been thanked: 130 times

Post by T5Luke »

Not so much, you can upload your own bootloader and set instruction counter to it...

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

Post by vtl »

Yes, you need SBL.

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 »

Understood, thanks guys.

So if my understanding is correct with both this P1 and P2 CEM, when put into programming mode we are running in some flash bootloader with minimum commands available. There are commands to load an SBL into RAM then jump and start executing it (As we can't write flash while running from flash).

The SBL is either found via a VBF from VIDA perhaps (if you have done any software changes). Otherwise, one would have to write their own.

I may try to write some simple hello world type program that I can load into ram and run as the SBL. I tried a bunch of commands once in this programming mode and found the following:

While still "locked" these commands were found:

50 88 - Read Part Number (from vtl arduino code) - returned 50 8E 00 00 08 69 07 19 (ECU Part Number)

50 90 - Reads some other code - returned 50 96 00 00 00 08 62 19 (Appears to be ECU Serial)

50 BE - Send PIN to get access to the rest of the commands

50 C0 - returned 50 C6 00 08 68 86 48 41 (This is "Start PBL" command from that doc I mentioned)

Once the correct PIN was sent, these additional commands worked:

50 9C - Returned 50 9C 00 00 00 00 00 00

50 A9 through AF -All returned the same 50 A9 02 00 00 00 00 00

Obviously, I did not send the correct parameters to the above commands which is why they returned 02, but it shows there is something there.

I saw a document written by some student I think that did some ECU work for hilton? They listed a bunch of commands, while they do not match the exact ones I saw above, I assume the A9 through AF commands are used for the loading/starting of that SBL.

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: 12 Nov 2020, 07:07 While still "locked" these commands were found:
The communication protocol for P1 & P2 is Ford's GGD ( Generic Global Diagnostic ).
If you poke around there are documents on GD that are not supposed to be accessible to the public.
⸙⸙⸙⸙⸙⸙⸙⸙⸙⸙⸙⸙⸙⸙⸙⸙⸙⸙⸙⸙⸙⸙⸙⸙⸙⸙⸙⸙⸙⸙⸙⸙⸙⸙⸙⸙⸙⸙⸙⸙⸙⸙⸙⸙⸙⸙⸙⸙⸙⸙⸙⸙⸙⸙⸙⸙⸙⸙⸙⸙⸙⸙⸙⸙⸙⸙⸙⸙⸙⸙⸙⸙⸙
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: 4727
Joined: 16 August 2012
Year and Model: 2005 XC70
Location: Boston
Has thanked: 114 times
Been thanked: 606 times

Post by vtl »

sirloins wrote: 12 Nov 2020, 07:07I saw a document written by some student I think that did some ECU work for hilton?
This was Robert himself :wink:

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 »

Damn haha, I didn't put 2 and 2 together. I actually am saving up for a tune from them for my V50 seems like a good company!

Thanks for the pointers guys, appreciate answering my very uninformed questions!

I actually found a dev-board here in Canada for the MC9S12 that I may pickup (used). I know this doesn't help the P2 guys much though.

Post Reply
  • Similar Topics
    Replies
    Views
    Last post