In my case it is somehow the matter of the pin itself. Can you please set the pin to this one and try if it will be cracked (not shuffled, as is in flash): 57 99 91 53 67 58
Vida CEM swapping
Re: Vida CEM swapping
-
vtl
- Posts: 4723
- Joined: 16 August 2012
- Year and Model: 2005 XC70
- Location: Boston
- Has thanked: 114 times
- Been thanked: 603 times
Does it have a checksum? I've never changed anything in the dump.
From what I saw, the crackability depends on how the pin verification code is placed withing the address space (how it is aligned to something, like cache line or flash page?).
- RickHaleParker
- Posts: 7129
- Joined: 25 May 2015
- Year and Model: See Signature below.
- Location: Kansas
- Has thanked: 8 times
- Been thanked: 958 times
Got a CEM-H on the bench. Cannot get it to communicate with the pin cracker. The cracker just sits and waits for the CEM CAN-LS to respond.
Power Supply: ( 13.8V 2.5A )
+13.8V => D:8 & D:15.
GND = D:6
CAN bus:
CAN-HS => D:33 & D:48.
CAN-LS => D:40 & D:55
Termination:
120Ω D:31 & D:46 ( CAN-HS )
120Ω D:34 & D:49 ( CAN-LS )
What am I missing?
PS: Found it. It was poor connections on the solderless breadboard.
Power Supply: ( 13.8V 2.5A )
+13.8V => D:8 & D:15.
GND = D:6
CAN bus:
CAN-HS => D:33 & D:48.
CAN-LS => D:40 & D:55
Termination:
120Ω D:31 & D:46 ( CAN-HS )
120Ω D:34 & D:49 ( CAN-LS )
What am I missing?
PS: Found it. It was poor connections on the solderless breadboard.
⸙⸙⸙⸙⸙⸙⸙⸙⸙⸙⸙⸙⸙⸙⸙⸙⸙⸙⸙⸙⸙⸙⸙⸙⸙⸙⸙⸙⸙⸙⸙⸙⸙⸙⸙⸙⸙⸙⸙⸙⸙⸙⸙⸙⸙⸙⸙⸙⸙⸙⸙⸙⸙⸙⸙⸙⸙⸙⸙⸙⸙⸙⸙⸙⸙⸙⸙⸙⸙⸙⸙⸙⸙
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.
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.
No, it does not have any checksum. I modified it multiple times in the flash - it just works. I am asking for that, because in my case it somehow have problems guessing byte on position 2 if it is close to 100. If it is less then 50 - there are no problems with guessing correct value. Also, I already checked this pin on two different CEMs with different (probably) flash versions - in the car and on the bench. Same result.
-
vtl
- Posts: 4723
- Joined: 16 August 2012
- Year and Model: 2005 XC70
- Location: Boston
- Has thanked: 114 times
- Been thanked: 603 times
Try with SAMPLES == 100.rp9 wrote: ↑18 May 2021, 10:12 No, it does not have any checksum. I modified it multiple times in the flash - it just works. I am asking for that, because in my case it somehow have problems guessing byte on position 2 if it is close to 100. If it is less then 50 - there are no problems with guessing correct value. Also, I already checked this pin on two different CEMs with different (probably) flash versions - in the car and on the bench. Same result.
-
vtl
- Posts: 4723
- Joined: 16 August 2012
- Year and Model: 2005 XC70
- Location: Boston
- Has thanked: 114 times
- Been thanked: 603 times
The way the cracker works - it sends a sequence of 3 meaningful bytes in 6 bytes pin and collects the the reply latency. Originally it was 2 bytes, but in most of cases more samples are needed to collect a statistically meaningful distribution. It is possible to send these 2 bytes over and over, but why not sending the third byte?
Now, going over all 100 values in all 3 bytes (BCD bytes, 0-99, not 0-255) is 100*100*100 pins, which takes quite a time even at 500 Kbps. So there's that SAMPLES value that limits the range for the last byte. SAMPLES thus serves two goals: collecting more samples and scanning through the third byte as well.
The problem with the SAMPLES less than 100 is that it may or may not hit the correct byte. When it does, the pin comparison routing in CEM goes to the next byte check and that increases the latency, quite significant on some CEM software versions. When it does not hit the correct byte, the latency anomaly detection may fail. All depends on the CEM software.
So in cases when quick pin scan with the default SAMPLES=30 does not do anything - set it to 100 and have a couple of beers while it is scanning through the whole range.
Now, going over all 100 values in all 3 bytes (BCD bytes, 0-99, not 0-255) is 100*100*100 pins, which takes quite a time even at 500 Kbps. So there's that SAMPLES value that limits the range for the last byte. SAMPLES thus serves two goals: collecting more samples and scanning through the third byte as well.
The problem with the SAMPLES less than 100 is that it may or may not hit the correct byte. When it does, the pin comparison routing in CEM goes to the next byte check and that increases the latency, quite significant on some CEM software versions. When it does not hit the correct byte, the latency anomaly detection may fail. All depends on the CEM software.
So in cases when quick pin scan with the default SAMPLES=30 does not do anything - set it to 100 and have a couple of beers while it is scanning through the whole range.
- RickHaleParker
- Posts: 7129
- Joined: 25 May 2015
- Year and Model: See Signature below.
- Location: Kansas
- Has thanked: 8 times
- Been thanked: 958 times
Got Frankenstein to bench crack at Samples = 100, Latency + high_std.
I'm thinking the default code should be:
1. Samples = 100, Calc_bytes = 3.
2. Pick two sets for B0 - B1. First set based on Latency + high_std. Second set based on Latency + low_std.
3. Brute force using set one if it fails then brute force using set two.
That should produce a reliable code base.
Reliability is a higher priority than speed.
Would drastically cut done on "Not working for me".
Might want to add a version number so we can look at the output and tell what code the end user is running. I would print it out at the end along with any other information that would be helpful.
⸙⸙⸙⸙⸙⸙⸙⸙⸙⸙⸙⸙⸙⸙⸙⸙⸙⸙⸙⸙⸙⸙⸙⸙⸙⸙⸙⸙⸙⸙⸙⸙⸙⸙⸙⸙⸙⸙⸙⸙⸙⸙⸙⸙⸙⸙⸙⸙⸙⸙⸙⸙⸙⸙⸙⸙⸙⸙⸙⸙⸙⸙⸙⸙⸙⸙⸙⸙⸙⸙⸙⸙⸙
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.
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: 4723
- Joined: 16 August 2012
- Year and Model: 2005 XC70
- Location: Boston
- Has thanked: 114 times
- Been thanked: 603 times
https://d5t5.com/article/volvo-cem-pin-code
> P2 — (S60 / V70II / XC70II / S80 / XC90) 1/ For cars MY2005 — 2012 (except 3,2 6V and 4,4 V8) decode via OBD with VDD — VDASH Dongle in 30 minutes!
Aha...
> P2 — (S60 / V70II / XC70II / S80 / XC90) 1/ For cars MY2005 — 2012 (except 3,2 6V and 4,4 V8) decode via OBD with VDD — VDASH Dongle in 30 minutes!
Aha...
- RickHaleParker
- Posts: 7129
- Joined: 25 May 2015
- Year and Model: See Signature below.
- Location: Kansas
- Has thanked: 8 times
- Been thanked: 958 times
Have not tried yet. If you think you maybe able to glean some useful information from it I'll bump it up on my priority list.
How much current does the 5V power supply need?
⸙⸙⸙⸙⸙⸙⸙⸙⸙⸙⸙⸙⸙⸙⸙⸙⸙⸙⸙⸙⸙⸙⸙⸙⸙⸙⸙⸙⸙⸙⸙⸙⸙⸙⸙⸙⸙⸙⸙⸙⸙⸙⸙⸙⸙⸙⸙⸙⸙⸙⸙⸙⸙⸙⸙⸙⸙⸙⸙⸙⸙⸙⸙⸙⸙⸙⸙⸙⸙⸙⸙⸙⸙
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.
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.
-
- Similar Topics
- Replies
- Views
- Last post
-
- 1 Replies
- 6396 Views
-
Last post by RickHaleParker
-
- 5 Replies
- 8644 Views
-
Last post by forumoto






