Hacking your PCM for Android Auto/Nav/GPS support

Porsche talk that defies categories!
edub
Posts: 18
Joined: Mon Nov 15, 2021 10:44 am
Has thanked: 2 times
Been thanked: 16 times
Hi All,

While the method below works, it has been superseded by easier to use methods to patch the radio. Check out https://rennlist.com/forums/718-gts-4-0 ... st18231744 and https://github.com/Mr-MIBonk/M.I.B._Mor ... pported%3F


Your Goal

This guide will give you methods to add or access Android Auto, Navigation, Carplay, the Track Precision app or change a region or map pack on your PCM 4 equipped car. (latest 718's for example)


The goal of this guide is to give you some background knowledge and process of PCM hacking. It can be a primer for you to perform your own research or just to modify your vehicle. Because of the differences in vehicles and layers of knowledge required to troubleshoot vehicle hacking, this guide is not a comprehensive walkthrough for ‘your’ car.

Overview of this guide
  • Terminology
  • Prerequisites
  • Connecting to the car
  • Launching MIB
  • Enabling GEM
  • Patching the PCM
  • Enabling features
Terminology we will use

PCM - Porsche Communication Management. This is the hardware and software making up the stereo, display panel, various antenna and radios, and available software features in a car. The standard PCM features are documented in the vehicle manual that comes with the car. Support and warranty is provided by your dealer and by Porsche.

MMX - the Multi Media Controller. A sub-component of the PCM system. Configurable over telnet on port 23

GEM - Green Engineering Menu. This is a ‘developer’ interface to the PCM which is initially locked out on Porsche vehicles. We will use GEM to gather information about the PCM beyond what is available in the standard interface. GEM is unsupported by Porsche. It is accessed by pressing specific buttons on your radio once the feature is unlocked by MIB.

MIB - More Incredible Bash. (Bash is ‘Bourne Again Shell’, a software interface native to many Unix/Linux operating systems). MIB provides an interface with predefined actions you can take on a PCM to modify its existing software features. This software is supported by a community of MHI2 hackers, and appears to be extensively documented in various forums.

MHI2 - This is the model PCM installed in the MY20 / 21 718’s. This model is made by Harman Automotive group. Harman is used by the Volkswagen Automotive Group in many vehicle lines including Bentley, Audi, Skoda, Volkswagen, Porsche. In laymens terms this is the 'radio' system in the car.

MY## - Model Year (## the year). MY21 is a 2021 year model car, MY20 is a 2020 year car etc.

FEC - Feature Enablement Code. These are numbers representing software features enabled in the PCM. Using GEM and MIB, you can query and export your car’s existing FEC’s and identify which features your car has (features represented on your build sheet, and features not represented on your build sheet but that are still configurable in the car). When modifying FEC’s in the PCM, a software license signing process must take place to activate the FEC feature. This signing process is done using tools possessed by authorized service centers. This process is circumvented by hackers by patching software running in the PCM.

File systems on the PCM - I'll come back to this and why patching your PCM isn't that difficult or dangerous.



Prerequisites

You need a usb to ethernet adapter with chipset ASIX AX88772. Amazon sells a compatible one UGREEN Ethernet Adapter USB 2.0


Get a FAT32 formatted SD card, 16GB > if you are planning to upload maps, otherwise 1 and 2GB cards work.

Download MIB (215MB or so) from https://mibsolution.one/#/1/18 (login guest / guest). Unzip the contents of the MIB file into the SD card.

You need linux utilities ‘lsusb’, ‘ethtool’ and ‘ifconfig’ installed on a linux/unix computer that you can physically plug the usb->ethernet adapter into. There are many ways to install these utilities if you don’t have them already, use google.


Configure the ethernet adapter settings to imitate one Porsche allows.

Plug your usb->ethernet adapter into your linux/unix computer

Identify the USB->ethernet adapter plugged into your linux/unix system

From a terminal on your linux system

Code: Select all

bradlee@watchtower:~$ ifconfig -s

Iface MTU Met RX-OK RX-ERR RX-DRP RX-OVR TX-OK TX-ERR TX-DRP TX-OVR Flg

eth0 1500 0 0 0 0 0 0 0 0 0 BMU

enx000ec6728c57 0 0 0 0 0 0 0 0 0 0 BMPOU

lo 65536 0 184803277 0 0 0 184803277 0 0 0 LRU
Alternative

Code: Select all

bradlee@watchtower:$ lshw -class network -short

WARNING: you should run this program as super-user.

H/W path      Device           Class      Description

=====================================================

/0/100/4/0.1  eth6             network    I350 Gigabit Network Connection

/1            enx0469f8ed33b3  network    Ethernet interface

/2            enx000ec6728c57  network    Ethernet interface
//Alternative


enx000ec6728c57 is our adapter. If you’re not sure which adapter is the right one, disconnect it, run ifconfig again and see which device ‘Iface’ is missing from the list.

Confirm the default pid/vid of the DUB-E100 usb->ethernet adapter. This is how the adapter appears to my linux machine before modifying it.

Code: Select all

bradlee@watchtower:~$ lsusb | grep ASIX

Bus 001 Device 007: ID 0b95:7720 ASIX Electronics Corp. AX88772
0b95:7720 is the current pid/vid.


Flash the USB Adapter pid/vid

Code: Select all

bradlee@watchtower:~$ sudo ethtool -E enx000ec6728c57 magic 0xdeadbeef offset 0x0088 value 0x01

bradlee@watchtower:~$ sudo ethtool -E enx000ec6728c57 magic 0xdeadbeef offset 0x0089 value 0x20

bradlee@watchtower:~$ sudo ethtool -E enx000ec6728c57 magic 0xdeadbeef offset 0x008A value 0x05

bradlee@watchtower:~$ sudo ethtool -E enx000ec6728c57 magic 0xdeadbeef offset 0x008B value 0x3c

bradlee@watchtower:~$ sudo ethtool -E enx000ec6728c57 magic 0xdeadbeef offset 0x0048 value 0x01

bradlee@watchtower:~$ sudo ethtool -E enx000ec6728c57 magic 0xdeadbeef offset 0x0049 value 0x20

bradlee@watchtower:~$ sudo ethtool -E enx000ec6728c57 magic 0xdeadbeef offset 0x004A value 0x05

bradlee@watchtower:~$ sudo ethtool -E enx000ec6728c57 magic 0xdeadbeef offset 0x004B value 0x3c

Unplug the usb->ethernet adapter. Plug it back in.

Check the output of lsusb to confirm our ethernet adapter represents the new pid/vid

Code: Select all

bradlee@watchtower:~$ lsusb | grep ASIX

Bus 001 Device 008: ID 2001:3c05 D-Link Corp. DUB-E100 Fast Ethernet Adapter(rev.B1) [ASIX AX88772]
If you see 2001:3c05 you are successful. Now you have configured your adapter to be compatible with your Porsche PCM.


Connecting to the car

Plug the ethernet adapter into your car (glove box USB port)

Connect your laptop ethernet port with an ethernet cable to the usb->ethernet adapter plugged into the car (you should see lights on your adapter light up now)

Configure your laptop ethernet port with a static IP address, 172.16.250.250, subnet mask 255.255.255.0


Turn the car on but don’t start the engine.

Telnet to the PCM RCC on port 123

Code: Select all

bradlee@watchtower:~$telnet 172.16.250.248 123
This will prompt you for a login name and password

Login name: root
Password: look this up ahead of time, at https://mibsolution.one/

(You will need to lookup your model PCM’s login credentials. A list of possible credentials is in the MIB zip file, 'date_MHI2_Password_List_V##.pdf')

On a US model MY21 718 PCM, root / CeaCCDmi were the credentials to login. Other model PCM credentials are in a pdf in the MIB download you put on the SD card.

Launching MIB


Put SD card in slot 1 - (driver side for US models)

Mount SD card in slot SD1

Code: Select all

mount -uw /net/mmx/fs/sda0/
Start M.I.B by typing

Code: Select all

/net/mmx/fs/sda0/start
You will see a window now with a title ‘MIB’ and more colorful text.

If you got this far, now is a good time to turn off your car, and re-turn the key so that power does not turn off during next steps. You will telnet back to your PCM again and re-launch MIB to resume.


Backing up PCM

FIRST THING before you start changing settings in MIB. Run ‘Advanced Backup’.

You want a full backup of your PCM so if anything happens you have a place to restore from.

Full backup takes 5-10 minutes to write all data to SD card.


Enabling GEM

Look for the menu, ‘Developer Menu activation’. Run that. Your PCM will restart after dev mode is enabled. You may need to reconnect to your PCM over telnet from your laptop.

Install MIB in GEM

Reconnect via telnet and find the option to 'install MIB into GEM' in the MIB menu. Run that. This allows you to launch MIB without the need for your laptop. The SD card with MIB copied to it must be in the PCM to run MIB from GEM directly from the PCM.


Launch GEM using PCM buttons

Once you have enabled GEM and installed MIB into GEM, you can disconnect your laptop from the car.

Press and hold ‘Car’ + ‘Tuner’ buttons on the PCM for 5 seconds to launch GEM. You should see a menu which says ‘starting up’ in green text. This is how you'll get into MIB in the future without your laptop.

You can browse GEM using the PCM dial knobs, you should be able to go forward in a menu or execute an action by pressing the dial button on your selection, to go back a menu roll the dial to the ‘..’ and press the dial button or use the back button on the PCM.


Patching the PCM

Launch GEM, open MIB - select ‘IFS-ROOT-Stage2 flash patched image’ and select a patch file that appears. (It will be the same version name ‘MHI2_US_POG11_P5177_MUA1453_PATCH’ as whatever you PCM displayed )

This patch enables several features like Nav, AA, Carplay, USB support, Sport chrono and some others which most people desire. *new features will not work properly without the patch applied*

Once patched, the PCM will reboot. You can now run NAV and AA/Carplay, wifi, track app and so on.


Enabling features

WLAN menu - this is used to access the car’s hotspot and required for the lap time app use in Porsche.
WLAN Screenshot.png
WLAN Screenshot.png (31.03 KiB) Viewed 17407 times
Nav - turns on various navigation options
NAV Screenshot.png
NAV Screenshot.png (26.13 KiB) Viewed 17407 times
Check for GPS antenna
GPS Screenshot.png
GPS Screenshot.png (24.86 KiB) Viewed 17407 times
Last edited by edub on Wed Mar 22, 2023 9:17 pm, edited 3 times in total.

#1

User avatar
Tom
Site Admin
Posts: 8922
Joined: Fri Jun 25, 2021 2:04 pm
Location: Silicon Valley, CA
Has thanked: 932 times
Been thanked: 3990 times
Contact:
Wow! Impressive work. Almost makes me want to buy an Android. Efforts like this give me hope that --eventually-- all the computerized systems on these cars will be better understood by their owners. Where does one even start to figure all this out and come up with this guide?

I'd just like the system to keep the auto start-stop function turned off, so I don't have to remember to turn it off every time I get in the car... I'm sure that's a bit-flip somewhere.... but where is it and how do we get there....?

#2

DanK
Posts: 2
Joined: Wed Dec 22, 2021 11:47 pm
Has thanked: 2 times
Been thanked: 1 time
You very wisely say to make a full backup of your PCM, but don't actually explain how to use that. If I do somehow screw up my system, how do I use my backup? Is no screwup unrecoverable?

#3

edub
Posts: 18
Joined: Mon Nov 15, 2021 10:44 am
Has thanked: 2 times
Been thanked: 16 times
Hey great point. I guess in the ease of the process, I forgot to mention that part.

If you need to restore from the backup you restore from the same MIB menu where you created the backup.
PXL_20211223_075601366.jpg
PXL_20211223_075601366.jpg (517.13 KiB) Viewed 17304 times
PXL_20211223_075544045.jpg
PXL_20211223_075544045.jpg (556.5 KiB) Viewed 17304 times
GEM (and MIB as a result) runs before the firmware you are patching, so even without a functioning radio firmware.


Since we're talking about backups there is the rule to remember, you don't have a backup unless you've restored from a backup. With a single radio on hand this is a difficult rule to test. There are more involved processes we can evoke if we broke everything, but that would take another level of malice and understanding.

#4

DanK
Posts: 2
Joined: Wed Dec 22, 2021 11:47 pm
Has thanked: 2 times
Been thanked: 1 time
Awesome! One tweak to your instructions, and one question.

First, minor thing in the "Enabling GEM" section. Going through the flow, with "Install MIB in GEM" being right after "'starting up' in green text", I got the impression that the "Install MIB" option was going to be in my PCM already, and it took me a bit of exploring before I realized this was directing me back to the menu on the laptop. (It makes sense that MIB wouldn't already be on the GEM to install it into the GEM, but just the way it was laid out confused me...)

Second, I'm having trouble getting Android Auto to work, and hope you have an idea. I activated Android Auto, and verified it was activated through the MIB menus. I plug in my Android phone (S21), and the headunit asks if I want to connect Media or Android Auto, so I select Android Auto. But Android Auto never shows up on the headunit. Any ideas?

#5

edub
Posts: 18
Joined: Mon Nov 15, 2021 10:44 am
Has thanked: 2 times
Been thanked: 16 times
DanK wrote: Fri Dec 31, 2021 2:36 pm Awesome! One tweak to your instructions, and one question.

First, minor thing in the "Enabling GEM" section. Going through the flow, with "Install MIB in GEM" being right after "'starting up' in green text", I got the impression that the "Install MIB" option was going to be in my PCM already, and it took me a bit of exploring before I realized this was directing me back to the menu on the laptop. (It makes sense that MIB wouldn't already be on the GEM to install it into the GEM, but just the way it was laid out confused me...)

Second, I'm having trouble getting Android Auto to work, and hope you have an idea. I activated Android Auto, and verified it was activated through the MIB menus. I plug in my Android phone (S21), and the headunit asks if I want to connect Media or Android Auto, so I select Android Auto. But Android Auto never shows up on the headunit. Any ideas?

Thanks for the feedback. I re-worded some language in that section to make it more clear.

Sounds like your AA wasn't working until the patch was applied (which bypasses the FEC check in the PCM). I updated instructions to make the patch requirement a little more explicit.

#6

User avatar
Bill in Bama
Posts: 517
Joined: Tue Aug 31, 2021 7:09 am
Location: Fort Payne, AL
Has thanked: 16 times
Been thanked: 155 times
Impressive, I think. I get lost pretty early in the procedure, not a techie and while I have learned how to navigate a computer the programming side is Greek to me. I'm more than happy to pay someone to do this for me, the chance of me creating more problems is pretty high.
'21 718 GTS 4.0, AGM/Espresso/ Cognac
'17 Cayenne base, White/Luxor/Black
'16 Cayman GTS, great car, sold for the 4.0
'13 Cayenne base, DBM/Luxor beige
'06 Cayman S, first mid-engine car
'86 944 Turbo, fast! Stone grey
'84 944, my first Porsche DBM

#7

User avatar
Tom
Site Admin
Posts: 8922
Joined: Fri Jun 25, 2021 2:04 pm
Location: Silicon Valley, CA
Has thanked: 932 times
Been thanked: 3990 times
Contact:
Bill in Bama wrote: Fri May 13, 2022 5:25 am Impressive, I think. I get lost pretty early in the procedure, not a techie and while I have learned how to navigate a computer the programming side is Greek to me. I'm more than happy to pay someone to do this for me, the chance of me creating more problems is pretty high.
FaceTime or other mobile video chat might let someone walk you through it as you go. I've done that in similar circumstances.

#8

User avatar
Bill in Bama
Posts: 517
Joined: Tue Aug 31, 2021 7:09 am
Location: Fort Payne, AL
Has thanked: 16 times
Been thanked: 155 times
You overestimate my skill level. I wouldn't want to subject anyone to the pain I could inflict on them!
'21 718 GTS 4.0, AGM/Espresso/ Cognac
'17 Cayenne base, White/Luxor/Black
'16 Cayman GTS, great car, sold for the 4.0
'13 Cayenne base, DBM/Luxor beige
'06 Cayman S, first mid-engine car
'86 944 Turbo, fast! Stone grey
'84 944, my first Porsche DBM

#9

User avatar
Tom
Site Admin
Posts: 8922
Joined: Fri Jun 25, 2021 2:04 pm
Location: Silicon Valley, CA
Has thanked: 932 times
Been thanked: 3990 times
Contact:
Bill in Bama wrote: Fri May 13, 2022 7:28 am You overestimate my skill level. I wouldn't want to subject anyone to the pain I could inflict on them!
:lol: I've done THAT in other circumstances too...

#10

Post Reply