CarTechnoloGY
What is the Decode of the VO / FA ( vehicle order ) in hex in the ECU - Printable Version

+- CarTechnoloGY (https://cartechnology.co.uk)
+-- Forum: Discussions All about Software and Hardware (https://cartechnology.co.uk/forumdisplay.php?fid=310)
+--- Forum: Automotive Help & Discussions / Software and Hardware (https://cartechnology.co.uk/forumdisplay.php?fid=40)
+---- Forum: BMW - Mini - Rolls Royce (https://cartechnology.co.uk/forumdisplay.php?fid=61)
+---- Thread: What is the Decode of the VO / FA ( vehicle order ) in hex in the ECU (/showthread.php?tid=20544)

Pages: 1 2


What is the Decode of the VO / FA ( vehicle order ) in hex in the ECU - BMWS1000RR - 27-12-2016

Does anyone have the secret code or algro I guess to the VO / FA structure in hex for the ECU?

I need to recode in a hex editor as the K46 is not supported in Esys and WinKFP that I have seen. I have tried to connect to that K001 ECU so many ways, it just does not work. I would be open to the method of this if you know it.

However, since I have the BDM and have the dump files anyway, I would like to recode the VO at the hex level.

so here is what the code looks like in Tool32 ..

Satz : 1 S182A
FAHRZEUGAUFTRAG ( VEHICLE CONTRACT ) = K046_#0814*0D10%0ND6&0000$182$222$223$224$228$235$275$384$538$590$992$181$183
JOB_STATUS = OKAY
_TEL_AUFTRAG = 3 Bytes
0000 : 22 3F 06 "?.
_TEL_ANTWORT = 203 Bytes
0000 : 62 3F 06 03 41 84 54 AD 05 16 42 44 50 42 E9 16 b?..A„T­ ..BDPBé.
0010 : 41 04 10 84 58 49 24 92 49 24 D2 49 44 92 61 24 A..„XI$’ I$ÒID’a$
0020 : D5 49 75 53 61 45 53 61 56 50 65 94 91 61 14 58 ÕIuSaESa VPe”‘a.X
0030 : 4C 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 L....... ........


The codes are wrote on the dealer work order sheet that you get when you buy a car or motorcycle as

X182A DTC
X222A Shift Assistant Pro
X223A DDC
X224A Riding Modes Pro
Q228A Race-Packet
Q238A Dynamic Package 1
X519A Heated Handlebar Grips
X538A Cruise Control

so the question is ... how are these express in that hex dump there? which ones are which?

I have already tried Dec to Hex. 182 is B6 hex ... no B6 there.
I have already tried 2"s Comp .. that did not work out

They must be some math going on with the CS1 or RSA or ISN or VIN somehow to get the hex value for these option codes in hex.


RE: What is the Decode of the VO / FA ( vehicle order ) in hex in the ECU - ROD-BENDERS - 27-12-2016

Have you checked xor values ? Xor is used a lot in the auto industry


RE: What is the Decode of the VO / FA ( vehicle order ) in hex in the ECU - BMWS1000RR - 27-12-2016

Let me break down what I know

62 3F 06 return 3 bytes info follows
03 41 no clue, but it is in every dump file I have seen and that is several.
84 54 AD 05 16 42 44 >>>>>>>> this starts the VO starts here and $182 is always the first VO in the files I have seen so far.

So, can you get $182 out of that with the XOR process?


My guess is that each VO number is 2 bytes 84 54 .. AD 05 ... 16 42 .. not sure however.


RE: What is the Decode of the VO / FA ( vehicle order ) in hex in the ECU - ROD-BENDERS - 27-12-2016

Wheres Clusters ! We need some help here mate wink

Sent from my SM-N910F using Tapatalk


RE: What is the Decode of the VO / FA ( vehicle order ) in hex in the ECU - BMWS1000RR - 29-12-2016

@Clusters ? any ideas anyone ?


RE: What is the Decode of the VO / FA ( vehicle order ) in hex in the ECU - IZGOY - 29-12-2016

"as the K46 is not supported in Esys and WinKFP that I have seen"Do not write stupidity !!!WinKFP not needed!!!!))))))NCS-Expert tool or e-sys choose K24!


RE: What is the Decode of the VO / FA ( vehicle order ) in hex in the ECU - BMWS1000RR - 14-01-2017

Anyone have any help with how the VO FA codes are listed in the hex of the BIN dump? what hex matches what VO FA ?


RE: What is the Decode of the VO / FA ( vehicle order ) in hex in the ECU - Node - 14-01-2017

For now decoding the ending seems to be extremely easy. I will write my ideas when I will fully decode it all.

So complete decoding was even easier than I thought sad I wanted at least some challenge... So here it goes:

1. My first idea was that VO needs to contain numbers and English capital letters, so we have 36 values. Lowest number of bits required to encode that is 6, giving range of 0..63. So I tried to divide binary representation of the answer to groups of 6 bits.

2. I didn't know where exactly is the start, so I did that from the end, but now that I know where to start, I will explain it from beginning.

So answer is as posted:
0000 : 62 3F 06 03 41 84 54 AD 05 16 42 44 50 42 E9 16 b?..A„T­ ..BDPBé.
0010 : 41 04 10 84 58 49 24 92 49 24 D2 49 44 92 61 24 A..„XI$’ I$ÒID’a$
0020 : D5 49 75 53 61 45 53 61 56 50 65 94 91 61 14 58 ÕIuSaESa VPe”‘a.X
0030 : 4C 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 L....... ........

Let's skip first 4 bytes 62 3F 06 03. I guess this is some kind of header. Protocol header containing actual number of bytes I think is already not shown by tool32. Now write all remaining bytes as binary:
01000001‭10000100010101001010110100000101000101100100001001000100
01010000‭01000010111010010001011001000001000001000001000010000100
01011000‭01001001001001001001001001001001001001001101001001001001
01000100‭10010010011000010010010011010101‭010010010111010101010011
0110000101000101010100110110000101010110‭010100000110010110010100
1001000101100001000101000101100001001100‬

Now as in idea #1 lets group them to the groups of 6 bits, convert each to hex, add 0x20 and lookup the resulting number as ASCII code (I will show operations for 2 first lines and just the resulting character later):
010000 = 0x10 + 0x20 = 0x30 = '0'
01‭1000 = 0x18 + 0x20 = 0x38 = '8'
010001 = '1'
010100 = '4'
101011 = 'K'
010000 = '0'
010100 = '4'
010110 = '6'
010000 = '0'
100100 = 'D'
010001 = '1'
010000 = '0'
‬010000 = '0'
101110 = 'N'
100100 = 'D'
010110 = '6'
010000 = '0'
010000 = '0'
010000 = '0'
010000 = '0'
1000 - this probably marks the end of vehicle id and start of options, can't tell what it means from this single example, maybe it's always the same, or maybe it's some kind of checksum
010001 = '1'
011000 = '8'
‬010010 = '2'
010010 = '2'
010010 = '2'
010010 = '2'
010010 = '2'
010010 = '2'
010011 = '3'
010010 = '2'
010010 = '2'
010100 = '4'
0100‬10 = '2'
010010 = '2'
011000 = '8'
010010 = '2'
010011 = '3'
010101 = '5'
‬010010 = '2'
010111 = '7'
010101 = '5'
010011 = '3'
011000 = '8'
010100 = '4'
010101 = '5'
010011 = '3'
011000 = '8'
010101 = '5'
0110‬01 = '9'
010000 = '0'
011001 = '9'
011001 = '9'
010010 = '2'
010001 = '1'
011000 = '8'
010001 = '1'
010001 = '1'
011000 = '8'
010011 = '3'
00‬ - just the remaining unused bits

I hope from this you will be able to see how it relates to the string representation of VO wink


RE: What is the Decode of the VO / FA ( vehicle order ) in hex in the ECU - IZGOY - 15-01-2017

101011 = 'K' ?????
How to get the letter - K ???? Please explain.
101011 = 0х2B ?????
100100 = 'D'
100100= 0х24 ????


RE: What is the Decode of the VO / FA ( vehicle order ) in hex in the ECU - Node - 15-01-2017

As I said: "convert each to hex, add 0x20 and lookup the resulting number as ASCII code".

So 101011 is 0x2B in hex. Adding 0x20 get 0x4B. 0x4B is letter K in ASCII table (Windows utility called "character map" is usefull here). Absolutely the same you do with digits in options. You get respective ASCII codes by just adding 0x20.