When you click on links to various merchants on this site and make a purchase, this can result in this site earning a commission. Affiliate programs and affiliations include, but are not limited to, the eBay Partner Network.
Character values: digits = face value (0-9), lowercase letters = ASCII % 10
Weighted sum: reverse order, base-10 with 16-bit weight overflow
defvin_to_number(vin):
vl = vin.lower()
positions = [[color=#79c0ff]7, 9, 11, 12, 13, 14, 15, 16]
result =0
weight =10# Start at 10 (null byte consumed weight=1) for pos inreversed(positions):
c = vl[pos]
b =int(c) if c.isdigit() else (ord(c) %10if c.islower() else0)
result = (result + b * weight) &0xFFFFFFFF
weight = (weight *10) &0xFFFF return result
Step 2: Plaintext Construction (INTERLEAVED!)
The plaintext is NOT a simple concatenation. It's formed by interleaving two 8-character hex strings character-by-character: definterleave(feat_hex, vin_hex): return''.join(feat_hex+ vin_hexfor i inrange(8))Where:
Voice control activation - per the manual you need the push button at the end of the headlights stalk in order to invoke voice control on a 958.1
But, the newer 2016-2018 Cayennes (958.2) came with the voice control button on the steering wheel.
If replacing the wheel + activating the code enables the function, this may be a better deal than replacing the stalks. Wondering if anyone has done this.
Character values: digits = face value (0-9), lowercase letters = ASCII % 10
Weighted sum: reverse order, base-10 with 16-bit weight overflow
defvin_to_number(vin):
vl = vin.lower()
positions = [[color=#79c0ff]7, 9, 11, 12, 13, 14, 15, 16]
result =0
weight =10# Start at 10 (null byte consumed weight=1) for pos inreversed(positions):
c = vl[pos]
b =int(c) if c.isdigit() else (ord(c) %10if c.islower() else0)
result = (result + b * weight) &0xFFFFFFFF
weight = (weight *10) &0xFFFF return result
Step 2: Plaintext Construction (INTERLEAVED!)
The plaintext is NOT a simple concatenation. It's formed by interleaving two 8-character hex strings character-by-character: definterleave(feat_hex, vin_hex): return''.join(feat_hex+ vin_hexfor i inrange(8))Where:
Started as PCM3.1 but PCM3 uses the same algorithm too. It will either activate or not. I have SportChrono enabled, but I am missing the full hardware/software to go with it. There is some track logging enabled in the option menus but doesn't do much. It is just enablement codes. If you use the Diag-Modes USB, it will make a backup of your features. You can even upload the backup to the web tool to see what is enabled already.
If I can figure out PCM4 stuff then I'll alter the name to just PCM-Forge. If folks can pm a link to other head unit firmware, I am happy to investigate it all.
Felt tempted, although this link header says for 3.1, I’d be sceptical it would work (or may brick) my 997.2 PCM3.0
Not sure if it would brick a head unit using the USB method, but if you have a PIWIS, and you try to activate a feature and the code is not correct, it shouldn't brick your head unit. It would just reject the code andnot activate that feature.
I do not have PIWIS working yet. Maybe I may never...
So you need a small USB stick like 4-16gb 2.0(plain SANDISK Cruzer is best), format FAT32. Using the PCM-Forge Web App, select all options your car has + the ones you want to add, it will create a new activation file and install it in PCM. Backup of your old activation gets put on the USB first thing... then installs the new one. Reboot PCM and added feature are enabled. . Last night I had my Cayenne on my home network with a 50ft network cable via the same USB port in the center console. Enabling Telnet and edit network configs via a usb stick. Attempting to add an OIL Service reset and a few other things...google earth, LTE upgrade... Only so much can be done without building firmware patches or whole new firmware iso's...doable I built the tools todo so if others are inclined.
I have 4-5 2.0 USB "smart" brand are not recognized. An Intel usb 3.0 that works... and an old 4gb Sandisk Cruzer Micro. You can test a USB stick in your car, PCM will see it and say there is no music. Good it means the PCM recognizes the usb stick. Nothing on the screen at all and the stick will not work.
This was all figured out from the PCM_NA_20150721.ISO with tools built to take apart the Audi MMI.
I know everyone wants Carplay, just so you know these PCM/MMI systems were originally designed in 2008.. iPhone 3G was the new thing. The Hitachi SH-4 CPU first appeared in 1997, first used in the Sega Dreamcast. .. so there are some limitations. First Apple Carplay(2016) and Android Auto(2015) were not a thought back then. This is why whole units get swapped or proper decoding hardware gets added.