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
Treur
Posts: 126
Joined: 16 November 2024
Year and Model: 2007 V70
Location: Estonia
Has thanked: 3 times
Been thanked: 6 times

Re: Vida CEM swapping

Post by Treur »

vtl wrote: 29 Dec 2025, 05:31 I still can't read this slop, it is written like for brain damaged (by brain damaged, too) ;) "By reconstructing the full 29-bit extended CAN ID through bitwise operations, we calculate a substantial identifier value of 0x0080401E, which translates to 8,404,510 in decimal." - zero value in this whole sentence. Actually, negative: I still read it.
CEM-B was written by drug addicts, or maybe Indians with their left heels under a bush.

This system shouldn't work at all. It's just one paranoia after another.

Even if we're talking about a PIN code, it exists and can't be used. And even if it were possible, what's the point of it if the module itself simply provides it upon request!?

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

Post by vtl »

Treur wrote: 29 Dec 2025, 05:52 CEM-B was written by drug addicts, or maybe Indians with their left heels under a bush.

This system shouldn't work at all. It's just one paranoia after another.
One paranoia after another is called a defensive programming ;) It is pretty common in industries where software failure means injured or dead man. Or, worse, profit losses! ;)

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: 29 Dec 2025, 05:59
Treur wrote: 29 Dec 2025, 05:52 CEM-B was written by drug addicts, or maybe Indians with their left heels under a bush.

This system shouldn't work at all. It's just one paranoia after another.
One paranoia after another is called a defensive programming ;) It is pretty common in industries where software failure means injured or dead man. Or, worse, profit losses! ;)
I call this by the word - idiocy)))

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 »

vtl wrote: 29 Dec 2025, 05:31 I still can't read this slop, it is written like for brain damaged (by brain damaged, too) ;) "By reconstructing the full 29-bit extended CAN ID through bitwise operations, we calculate a substantial identifier value of 0x0080401E, which translates to 8,404,510 in decimal." - zero value in this whole sentence. Actually, negative: I still read it.
It is its internal monologue, I just showed its thinking. The fact that it now knows even if its internal monologue is slop, is already a win. Sure, I gave it all my knowledge, it has full access to my IDB file for the TCM, it has all my knowledge, like 1, 1.5+ years of variable naming, comments etc. But it did everything, the full analysis on its own, of things I couldn't do.

And other functions which I could not figure out, it reconstructed the algorithm on its own, I then threw that info on Gemini 3 Pro for full verification and it agreed as well.

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

Post by vtl »

dikidera wrote: 29 Dec 2025, 07:43 It is its internal monologue, I just showed its thinking. The fact that it now knows even if its internal monologue is slop, is already a win. Sure, I gave it all my knowledge, it has full access to my IDB file for the TCM, it has all my knowledge, like 1, 1.5+ years of variable naming, comments etc. But it did everything, the full analysis on its own, of things I couldn't do.

And other functions which I could not figure out, it reconstructed the algorithm on its own, I then threw that info on Gemini 3 Pro for full verification and it agreed as well.
So, what problem you were trying to solve before declaring a bankruptcy and turning to AI? :)

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: 29 Dec 2025, 07:53
dikidera wrote: 29 Dec 2025, 07:43 It is its internal monologue, I just showed its thinking. The fact that it now knows even if its internal monologue is slop, is already a win. Sure, I gave it all my knowledge, it has full access to my IDB file for the TCM, it has all my knowledge, like 1, 1.5+ years of variable naming, comments etc. But it did everything, the full analysis on its own, of things I couldn't do.

And other functions which I could not figure out, it reconstructed the algorithm on its own, I then threw that info on Gemini 3 Pro for full verification and it agreed as well.
So, what problem you were trying to solve before declaring a bankruptcy and turning to AI? :)
Oh, come on.... ))) Yesterday I decompiled some software and fed it all to the AI. It ended up giving me an HTML file with all the sequences (what I should send, what responses I should get, what to catch, and where to crash). Yes, you can figure this out yourself, but it's better to delegate such routine tasks to the AI.

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 »

vtl wrote: 29 Dec 2025, 07:53
dikidera wrote: 29 Dec 2025, 07:43 It is its internal monologue, I just showed its thinking. The fact that it now knows even if its internal monologue is slop, is already a win. Sure, I gave it all my knowledge, it has full access to my IDB file for the TCM, it has all my knowledge, like 1, 1.5+ years of variable naming, comments etc. But it did everything, the full analysis on its own, of things I couldn't do.

And other functions which I could not figure out, it reconstructed the algorithm on its own, I then threw that info on Gemini 3 Pro for full verification and it agreed as well.
So, what problem you were trying to solve before declaring a bankruptcy and turning to AI? :)
Well for one, the full structure of the CAN signal configuration(at least for tcm). From how specifically the ordering is on the CAN IDs, who sets them specifically, where, what each bit pattern represents.It made mistakes, but if you correct it and nudge in the right path, it seems to produce miracles. Provided the code is not obfuscated though.

From there specific functions related to the hydraulic pressure on some maps.

Here is some output. Note where it said acceptance mask is actually the diagnostic Id 000FFFFE, it was simply wrong there.

Code: Select all

====================================================================================================
TABLE: dword_7ECC8 (off_7EA20 - HCAN0 base)
====================================================================================================
  Header (0x00-0x07): 00 00 00 00 FF FF 00 00
  Acceptance Mask: 0xFFFF

  CAN ID ENTRIES (offset 0x08-0x47):
  Mbox  Offset   Raw Bytes        Encoded      29-bit CAN ID 
  ----------------------------------------------------------------------
  0     0x08     00 00 00 00      (disabled)
  1     0x0C     00 00 00 00      (disabled)
  2     0x10     00 00 00 00      (disabled)
  3     0x14     00 00 00 00      (disabled)
  4     0x18     00 00 00 00      (disabled)
  5     0x1C     00 00 00 00      (disabled)
  6     0x20     00 00 00 00      (disabled)
  7     0x24     00 00 00 00      (disabled)
  8     0x28     00 00 00 00      (disabled)
  9     0x2C     00 00 00 00      (disabled)
  10    0x30     00 00 00 00      (disabled)
  11    0x34     00 00 00 00      (disabled)
  12    0x38     00 00 00 00      (disabled)
  13    0x3C     00 00 00 00      (disabled)
  14    0x40     00 00 00 00      (disabled)
  15    0x44     00 00 00 00      (disabled)

  TRAILING DATA (after CAN IDs):
  Control bytes (0x48-0x57): 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
    Interpretation: M0=off M1=off M2=off M3=off M4=off M5=off M6=off M7=off M8=off M9=off M10=off M11=off M12=off M13=off M14=off M15=off 
  Active mailbox bitmask (0x58-0x5B): 0x0000 = binary 0000000000000000
    Active RX mailboxes: 
  End marker (0x5C-0x5F): FF FF FF FF

====================================================================================================
TABLE: dword_7F128 (hcan0_off_7EA48 - secondary)
====================================================================================================
  Header (0x00-0x07): 00 00 00 00 FF FF 00 00
  Acceptance Mask: 0xFFFF

  CAN ID ENTRIES (offset 0x08-0x47):
  Mbox  Offset   Raw Bytes        Encoded      29-bit CAN ID 
  ----------------------------------------------------------------------
  0     0x08     00 00 00 00      (disabled)
  1     0x0C     00 00 00 00      (disabled)
  2     0x10     00 00 00 00      (disabled)
  3     0x14     00 00 00 00      (disabled)
  4     0x18     00 00 00 00      (disabled)
  5     0x1C     00 00 00 00      (disabled)
  6     0x20     00 00 00 00      (disabled)
  7     0x24     00 00 00 00      (disabled)
  8     0x28     00 00 00 00      (disabled)
  9     0x2C     00 00 00 00      (disabled)
  10    0x30     00 00 00 00      (disabled)
  11    0x34     00 00 00 00      (disabled)
  12    0x38     00 00 00 00      (disabled)
  13    0x3C     0A 85 7C 40      0x0A857C40   0x10A2407C
  14    0x40     CA C6 18 F1      0xCAC618F1   0x18DAF118
  15    0x44     08 09 05 00      0x08090500   0x01200005

  TRAILING DATA (after CAN IDs):
  Control bytes (0x48-0x57): 00 00 00 00 00 00 00 00 00 00 00 00 00 08 08 08
    Interpretation: M0=off M1=off M2=off M3=off M4=off M5=off M6=off M7=off M8=off M9=off M10=off M11=off M12=off M13=on M14=on M15=on 
  Active mailbox bitmask (0x58-0x5B): 0x2000 = binary 0010000000000000
    Active RX mailboxes: 13 
  End marker (0x5C-0x5F): FF FF FF FF

====================================================================================================
TABLE: also_can_ids_7F320 (hcan0_off_7EA70 - MAIN)
====================================================================================================
  Header (0x00-0x07): 00 00 00 00 FF FF 00 00
  Acceptance Mask: 0xFFFF

  CAN ID ENTRIES (offset 0x08-0x47):
  Mbox  Offset   Raw Bytes        Encoded      29-bit CAN ID 
  ----------------------------------------------------------------------
  0     0x08     00 00 00 00      (disabled)
  1     0x0C     00 00 00 00      (disabled)
  2     0x10     00 00 00 00      (disabled)
  3     0x14     0A 8A 06 00      0x0A8A0600   0x11420006
  4     0x18     88 88 24 00      0x88882400   0x11100024
  5     0x1C     0A 85 7C 40      0x0A857C40   0x10A2407C
  6     0x20     08 84 06 00      0x08840600   0x10800006
  7     0x24     08 0A 06 00      0x080A0600   0x01400006
  8     0x28     0A 05 16 00      0x0A051600   0x00A20016
  9     0x2C     08 04 1E 40      0x08041E40   0x0080401E
  10    0x30     0A 02 6C 40      0x0A026C40   0x0042406C
  11    0x34     CA C6 18 F1      0xCAC618F1   0x18DAF118
  12    0x38     08 88 22 00      0x08882200   0x11000022
  13    0x3C     08 09 05 00      0x08090500   0x01200005
  14    0x40     88 06 22 00      0x88062200   0x00D00022
  15    0x44     08 06 2A 40      0x08062A40   0x00C0402A

  TRAILING DATA (after CAN IDs):
  Control bytes (0x48-0x57): 00 00 00 08 08 08 08 08 08 08 08 08 08 08 08 08
    Interpretation: M0=off M1=off M2=off M3=on M4=on M5=on M6=on M7=on M8=on M9=on M10=on M11=on M12=on M13=on M14=on M15=on 
  Active mailbox bitmask (0x58-0x5B): 0x07F8 = binary 0000011111111000
    Active RX mailboxes: 3 4 5 6 7 8 9 10 
  End marker (0x5C-0x5F): FF FF FF FF

====================================================================================================
TABLE: can_ids_7F4FC (off_7EA98)
====================================================================================================
  Header (0x00-0x07): 00 00 00 00 FF FF 00 00
  Acceptance Mask: 0xFFFF

  CAN ID ENTRIES (offset 0x08-0x47):
  Mbox  Offset   Raw Bytes        Encoded      29-bit CAN ID 
  ----------------------------------------------------------------------
  0     0x08     00 00 00 00      (disabled)
  1     0x0C     00 00 00 00      (disabled)
  2     0x10     00 00 00 00      (disabled)
  3     0x14     00 00 00 00      (disabled)
  4     0x18     00 00 00 00      (disabled)
  5     0x1C     00 00 00 00      (disabled)
  6     0x20     00 00 00 00      (disabled)
  7     0x24     00 00 00 00      (disabled)
  8     0x28     0A 8A 06 00      0x0A8A0600   0x11420006
  9     0x2C     88 88 24 00      0x88882400   0x11100024
  10    0x30     0A 85 7C 40      0x0A857C40   0x10A2407C
  11    0x34     08 84 06 00      0x08840600   0x10800006
  12    0x38     08 0A 06 00      0x080A0600   0x01400006
  13    0x3C     0A 05 16 00      0x0A051600   0x00A20016
  14    0x40     08 04 1E 40      0x08041E40   0x0080401E
  15    0x44     0A 02 6C 40      0x0A026C40   0x0042406C

  TRAILING DATA (after CAN IDs):
  Control bytes (0x48-0x57): 00 00 00 00 00 00 00 00 08 08 08 08 08 08 08 08
    Interpretation: M0=off M1=off M2=off M3=off M4=off M5=off M6=off M7=off M8=on M9=on M10=on M11=on M12=on M13=on M14=on M15=on 
  Active mailbox bitmask (0x58-0x5B): 0xFF00 = binary 1111111100000000
    Active RX mailboxes: 8 9 10 11 12 13 14 15 
  End marker (0x5C-0x5F): FF FF FF FF

====================================================================================================
TABLE: unk_7EE88 (off_7EAC0 - HCAN1 base)
====================================================================================================
  Header (0x00-0x07): 00 00 00 00 FF FF 00 00
  Acceptance Mask: 0xFFFF

  CAN ID ENTRIES (offset 0x08-0x47):
  Mbox  Offset   Raw Bytes        Encoded      29-bit CAN ID 
  ----------------------------------------------------------------------
  0     0x08     00 00 00 00      (disabled)
  1     0x0C     00 00 00 00      (disabled)
  2     0x10     00 00 00 00      (disabled)
  3     0x14     00 00 00 00      (disabled)
  4     0x18     00 00 00 00      (disabled)
  5     0x1C     00 00 00 00      (disabled)
  6     0x20     00 00 00 00      (disabled)
  7     0x24     00 00 00 00      (disabled)
  8     0x28     00 00 00 00      (disabled)
  9     0x2C     00 00 00 00      (disabled)
  10    0x30     00 00 00 00      (disabled)
  11    0x34     00 00 00 00      (disabled)
  12    0x38     00 00 00 00      (disabled)
  13    0x3C     00 00 00 00      (disabled)
  14    0x40     00 00 00 00      (disabled)
  15    0x44     00 00 00 00      (disabled)

  TRAILING DATA (after CAN IDs):
  Control bytes (0x48-0x57): 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
    Interpretation: M0=off M1=off M2=off M3=off M4=off M5=off M6=off M7=off M8=off M9=off M10=off M11=off M12=off M13=off M14=off M15=off 
  Active mailbox bitmask (0x58-0x5B): 0x0000 = binary 0000000000000000
    Active RX mailboxes: 
  End marker (0x5C-0x5F): FF FF FF FF

====================================================================================================
TABLE: dword_7F608 (diagnostic_hcan1_off_7EAE8)
====================================================================================================
  Header (0x00-0x07): 00 00 00 00 FF FF 00 00
  Acceptance Mask: 0xFFFF

  CAN ID ENTRIES (offset 0x08-0x47):
  Mbox  Offset   Raw Bytes        Encoded      29-bit CAN ID 
  ----------------------------------------------------------------------
  0     0x08     00 00 00 00      (disabled)
  1     0x0C     00 00 00 00      (disabled)
  2     0x10     00 00 00 00      (disabled)
  3     0x14     00 00 00 00      (disabled)
  4     0x18     00 00 00 00      (disabled)
  5     0x1C     00 00 00 00      (disabled)
  6     0x20     00 00 00 00      (disabled)
  7     0x24     00 00 00 00      (disabled)
  8     0x28     00 00 00 00      (disabled)
  9     0x2C     00 00 00 00      (disabled)
  10    0x30     00 00 00 00      (disabled)
  11    0x34     00 00 00 00      (disabled)
  12    0x38     00 00 00 00      (disabled)
  13    0x3C     CB C6 F1 33      0xCBC6F133   0x18DB33F1
  14    0x40     CA C6 F1 18      0xCAC6F118   0x18DA18F1
  15    0x44     6B 00 FE FF      (acceptance mask entry)

  TRAILING DATA (after CAN IDs):
  Control bytes (0x48-0x57): 00 00 00 00 00 00 00 00 00 00 00 00 00 08 08 08
    Interpretation: M0=off M1=off M2=off M3=off M4=off M5=off M6=off M7=off M8=off M9=off M10=off M11=off M12=off M13=on M14=on M15=on 
  Active mailbox bitmask (0x58-0x5B): 0xE000 = binary 1110000000000000
    Active RX mailboxes: 13 14 15 
  End marker (0x5C-0x5F): FF FF FF FF

====================================================================================================
TABLE: dword_7F7BC (hcan1_off_7EB10 - MAIN HCAN1)
====================================================================================================
  Header (0x00-0x07): 00 00 00 00 FF FF 00 00
  Acceptance Mask: 0xFFFF

  CAN ID ENTRIES (offset 0x08-0x47):
  Mbox  Offset   Raw Bytes        Encoded      29-bit CAN ID 
  ----------------------------------------------------------------------
  0     0x08     00 00 00 00      (disabled)
  1     0x0C     00 00 00 00      (disabled)
  2     0x10     00 00 00 00      (disabled)
  3     0x14     00 00 00 00      (disabled)
  4     0x18     00 00 00 00      (disabled)
  5     0x1C     00 00 00 00      (disabled)
  6     0x20     00 00 00 00      (disabled)
  7     0x24     CB C6 F1 33      0xCBC6F133   0x18DB33F1
  8     0x28     CA C6 F1 18      0xCAC6F118   0x18DA18F1
  9     0x2C     0A 87 00 40      0x0A870040   0x10E24000
  10    0x30     08 0E 26 00      0x080E2600   0x01C00026
  11    0x34     88 07 06 00      0x88070600   0x00F00006
  12    0x38     0A 07 26 40      0x0A072640   0x00E24026
  13    0x3C     0A 03 1E 40      0x0A031E40   0x0062401E
  14    0x40     0A 01 24 40      0x0A012440   0x00224024
  15    0x44     6B 00 FE FF      (acceptance mask entry)

  TRAILING DATA (after CAN IDs):
  Control bytes (0x48-0x57): 00 00 00 00 00 00 00 08 08 08 08 08 08 08 08 08
    Interpretation: M0=off M1=off M2=off M3=off M4=off M5=off M6=off M7=on M8=on M9=on M10=on M11=on M12=on M13=on M14=on M15=on 
  Active mailbox bitmask (0x58-0x5B): 0xFF80 = binary 1111111110000000
    Active RX mailboxes: 7 8 9 10 11 12 13 14 15 
  End marker (0x5C-0x5F): FF FF FF FF

====================================================================================================
TABLE: unk_7F970 (off_7EB38)
====================================================================================================
  Header (0x00-0x07): 00 00 00 00 FF FF 00 00
  Acceptance Mask: 0xFFFF

  CAN ID ENTRIES (offset 0x08-0x47):
  Mbox  Offset   Raw Bytes        Encoded      29-bit CAN ID 
  ----------------------------------------------------------------------
  0     0x08     00 00 00 00      (disabled)
  1     0x0C     00 00 00 00      (disabled)
  2     0x10     00 00 00 00      (disabled)
  3     0x14     00 00 00 00      (disabled)
  4     0x18     00 00 00 00      (disabled)
  5     0x1C     00 00 00 00      (disabled)
  6     0x20     00 00 00 00      (disabled)
  7     0x24     CB C6 F1 33      0xCBC6F133   0x18DB33F1
  8     0x28     CA C6 F1 18      0xCAC6F118   0x18DA18F1
  9     0x2C     0A 87 00 40      0x0A870040   0x10E24000
  10    0x30     08 0E 26 00      0x080E2600   0x01C00026
  11    0x34     88 07 06 00      0x88070600   0x00F00006
  12    0x38     0A 07 26 40      0x0A072640   0x00E24026
  13    0x3C     0A 03 1E 40      0x0A031E40   0x0062401E
  14    0x40     0A 01 24 40      0x0A012440   0x00224024
  15    0x44     6B 00 FE FF      (acceptance mask entry)

  TRAILING DATA (after CAN IDs):
  Control bytes (0x48-0x57): 00 00 00 00 00 00 00 08 08 08 08 08 08 08 08 08
    Interpretation: M0=off M1=off M2=off M3=off M4=off M5=off M6=off M7=on M8=on M9=on M10=on M11=on M12=on M13=on M14=on M15=on 
  Active mailbox bitmask (0x58-0x5B): 0xFF80 = binary 1111111110000000
    Active RX mailboxes: 7 8 9 10 11 12 13 14 15 
  End marker (0x5C-0x5F): FF FF FF FF

====================================================================================================
TABLE: off_7F04C (off_7EB60 - LINBUS)
====================================================================================================
  ** LINBUS table - different format (RAM addresses, not CAN IDs) **
  Raw header: FF FF 00 00 FF FF DD C7 FF FF DE 51 00 07 EC 7C
With this I am able to understand the relationship better of many data structure and reveal patterns previously eluding me.

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

Post by vtl »

Treur wrote: 29 Dec 2025, 09:48 Oh, come on.... ))) Yesterday I decompiled some software and fed it all to the AI. It ended up giving me an HTML file with all the sequences (what I should send, what responses I should get, what to catch, and where to crash). Yes, you can figure this out yourself, but it's better to delegate such routine tasks to the AI.
Pardon my sourness, I work in "AI" for a few years and am so tired of this slop oozing out of every corner of my life.
Last edited by vtl on 29 Dec 2025, 10:20, edited 1 time in total.

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

Post by vtl »

dikidera wrote: 29 Dec 2025, 10:09 With this I am able to understand the relationship better of many data structure and reveal patterns previously eluding me.
Well, that's a good example of AI use, if it teaches you the new things. Would be better to teach awk and other data transformation tools, so you get even better at this.

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: 29 Dec 2025, 10:16
Treur wrote: 29 Dec 2025, 09:48 Oh, come on.... ))) Yesterday I decompiled some software and fed it all to the AI. It ended up giving me an HTML file with all the sequences (what I should send, what responses I should get, what to catch, and where to crash). Yes, you can figure this out yourself, but it's better to delegate such routine tasks to the AI.
Pardon my sourness, I work in "AI" for a few years and am so tired of this slop oozing out of every corner of my life.
If you're tired, it means you're not interested.

Post Reply
  • Similar Topics
    Replies
    Views
    Last post