BMW iDrive 7: Eigene Apps installieren – Diagnose, Leistungsanzeigen und SSH-Zugang

BMW bietet mit iDrive 7 bereits zahlreiche Fahrzeugfunktionen und Anzeigen. Doch was wäre, wenn man das originale Infotainmentsystem um zusätzliche Diagnose- und Performance-Anwendungen erweitern könnte?

Genau das ermöglicht das Open-Source-Projekt MGU Custom Apps des GitHub-Entwicklers cauliflowermossgrape.

Damit lassen sich beispielsweise ein virtueller Leistungsprüfstand, eine G-Kräfte-Anzeige, ein Fehlerspeicher-Scanner und zusätzliche Motoranzeigen direkt im originalen BMW-Central Information Display (CID) darstellen.

In dieser Anleitung erklären wir die technischen Voraussetzungen, die Einrichtung eines SSH-Zugangs zur MGU-Headunit und die Installation der Custom-Apps.

Wichtig: Das ist keine gewöhnliche App-Installation. Für den erstmaligen Root-Zugang muss die Headunit mit einem Debug-Paket programmiert werden. Der Vorgang ist mit erheblichen Risiken verbunden und richtet sich an technisch erfahrene Anwender.

Bei der erstmaligen Einrichtung des SSH-Zugangs ist besondere Vorsicht erforderlich.

Das GitHub-Projekt verwendet standardmäßig einen bereits in der Debug-Firmware hinterlegten SSH-Schlüssel. Zusätzlich bietet es die Möglichkeit, einen individuellen Schlüssel für das eigene Fahrzeug einzurichten.

Wir empfehlen, die Option „Give this car its own unique SSH key“ deaktiviert zu lassen.

Der Entwickler weist ausdrücklich darauf hin, dass der Austausch des SSH-Schlüssels nur einmal vorgenommen werden sollte. Bei einem erneuten Flash-Vorgang, einem erneuten Aufruf des Tools oder beim Verlust des individuellen Schlüssels kann der SSH-Zugang verloren gehen.

Folgende Sicherheitsmaßnahmen sollten unbedingt beachtet werden:

  • Die Option für einen individuellen SSH-Schlüssel nicht ohne fundierte Kenntnisse aktivieren.
  • Nach erfolgreicher Einrichtung sämtliche SSH-Zugangsdaten sicher aufbewahren.
  • Vor weiteren Änderungen zunächst die bestehende SSH-Verbindung testen.
  • Keine manuellen Änderungen an SSH-Schlüsseln oder der authorized_keys-Datei vornehmen.
  • Keine Firmware- oder Debug-Programmierung erneut durchführen, solange deren Notwendigkeit und Auswirkungen nicht geklärt sind.

Wichtig: Ein verlorener SSH-Zugang bedeutet nicht automatisch, dass die Headunit beschädigt ist. Allerdings kann die erneute Herstellung des Root-Zugriffs schwierig oder im ungünstigsten Fall mit der verwendeten Methode nicht mehr möglich sein.

Der standardmäßige SSH-Schlüssel ist außerdem kein individueller Sicherheitsschlüssel. Da dieser Schlüssel Bestandteil des öffentlich verfügbaren Projekts ist, sollte ein nicht mehr benötigter SSH-Zugang deaktiviert werden.

1. Welche Funktionen bieten die Custom-Apps?

Das GitHub-Projekt enthält mehrere Anwendungen, die auf dem BMW-Infotainmentsystem ausgeführt werden.

AnwendungBeschreibung
RedlineDigitale Drehzahlanzeige mit Schaltblitz und Ganginformationen
M VitalsErweiterte Motor- und Fahrzeugdaten wie Ladedruck, Temperaturen und Drehmoment
Virtual DynoBerechnung einer Leistungs- und Drehmomentkurve anhand der Fahrzeugbeschleunigung
G-ForceAnzeige der Längs- und Querbeschleunigung
Drag TimerZeitmessungen für 0–100 km/h, 100–200 km/h und weitere Intervalle
Brake TestErmittlung von Bremszeiten, Verzögerung und Bremsweg
Warm-UpÖl- und Kühlmitteltemperatur mit Aufwärmprognose
Fault ScannerAuslesen und Löschen von Steuergeräte-Fehlerspeichern
eDriveInformationen zu Hybridbatterie, elektrischer Reichweite und Ladevorgängen

Die Verfügbarkeit einzelner Fahrzeugdaten hängt von den tatsächlich bereitgestellten Steuergeräteinformationen ab.

Ein besonderer Vorteil: Die Apps werden in das BMW-App-Menü integriert und können über die vorhandene iDrive-Bedienung genutzt werden.

Der Entwickler verwendet außerdem eine eigene OpenGL-ES-Renderengine, mit der Animationen auf der unterstützten Hardware mit bis zu 60 Bildern pro Sekunde dargestellt werden können.

Die Anwendungen benötigen im laufenden Betrieb keine ständige Internetverbindung.

2. Welche BMW-Modelle werden unterstützt?

Entscheidend ist nicht allein die Baureihe, sondern die verbaute Headunit und deren Softwarestand.

Die App-Sammlung wurde für die BMW MGU mit iDrive 7 entwickelt. Der Entwickler nennt als getestete Firmware:

P18_23w44.2

Andere Softwareversionen können funktionieren, müssen jedoch zunächst geprüft werden.

Mögliche Fahrzeugbaureihen mit entsprechender MGU-Ausstattung sind beispielsweise:

  • BMW 1er F40
  • BMW 2er F44
  • BMW 3er G20/G21
  • BMW 4er G22/G23/G26
  • BMW 5er G30/G31
  • BMW 7er G11/G12
  • BMW X3 G01
  • BMW X5 G05

Diese Modellliste ist keine bestätigte Kompatibilitätsliste. Entscheidend sind die tatsächlich verbaute MGU, die Softwareversion und das Ergebnis der Installationsprüfung.

Funktioniert das auch mit iDrive 8?

Das separate SSH-Projekt nennt neben iDrive 7 auch iDrive-8-Varianten mit BDC3 beziehungsweise BCP.

Daraus folgt jedoch nicht, dass die hier vorgestellten Apps bereits mit iDrive 8 kompatibel sind.

Die App-Sammlung ist bislang ausdrücklich für iDrive 7 dokumentiert. Für iDrive 8 sollte keine Installation ohne entsprechende Kompatibilitätsbestätigung erfolgen.

3. Benötigte Hardware und Software

Für die hier beschriebene Installation unter Windows werden folgende Komponenten benötigt.

KomponenteVerwendungszweck
Windows 10/11 PC oder LaptopAusführung der Installationsprogramme
BMW ENET-KabelEthernet-Verbindung zur Fahrzeugdiagnose
Python 3.9 oder neuerAusführung des SSH-Tools und der Build-Skripte
Node.js 14 oder neuerExtraktion des BMW-App-SDK und Erstellung der Apps
OpenSSH-ClientVerbindung zur MGU und Übertragung von Dateien
Stabilisiertes FahrzeugnetzteilAbsicherung der Spannungsversorgung während der Programmierung
MGU-Headunit mit kompatibler FirmwareZielsystem

Downloads

SoftwareDownload
MGU Custom AppsGitHub – idrive7-apps
MGU SSH RootGitHub – idrive7-8-ssh-root
Pythonpython.org
Node.jsnodejs.org

Beide GitHub-Projekte können über Code → Download ZIP heruntergeladen und anschließend entpackt werden.

Für diese Anleitung verwenden wir beispielhaft folgende Verzeichnisstruktur:

C:\MGU\ssh

C:\MGU\apps

In ssh befinden sich die Dateien des SSH-Projekts, in apps die Dateien der App-Sammlung. Die jeweiligen Projektdateien müssen direkt in diesen Ordnern liegen.

4. Vorbereitungen und Datensicherung

ACHTUNG – unbedingt vor der ersten Programmierung lesen!

Das SSH-Projekt verwendet beim erstmaligen Einrichten die Funktion Flash + Enable.

Dabei wird ein Debug-Paket auf die Headunit programmiert.

Laut Entwickler kann dieser Vorgang vorhandene Codierungen und CAFD-Zuordnungen beeinflussen. Bei Fehlern besteht außerdem das Risiko, dass die MGU nicht mehr ordnungsgemäß startet.

Vor der Programmierung sind daher folgende Maßnahmen erforderlich:

  1. Aktuellen Softwarestand und Headunit-Typ bestimmen.
  2. Fahrzeugauftrag (FA/VO) sowie die relevanten Codierdaten der Headunit mit geeigneten Diagnose- beziehungsweise Codierwerkzeugen sichern.
  3. Vorhandene individuelle Codierungen dokumentieren.
  4. Eine stabile Spannungsversorgung durch ein geeignetes Fahrzeugnetzteil sicherstellen.
  5. Fahrzeug abstellen, gegen Wegrollen sichern und die Zündung einschalten.
  6. Sicherstellen, dass keine Diagnose-, Update- oder Codiersitzung gleichzeitig ausgeführt wird.

Ein Codierungsbackup ist kein vollständiges Firmware- oder Flash-Backup. Es kann einen Programmierfehler mit nicht mehr startender Headunit nicht zwangsläufig beheben.

Bei der Verwendung von BimmerCode sind außerdem die tatsächlich vorhandenen Wiederherstellungssicherungen zu prüfen. Für eine umfassende Sicherung können je nach Fahrzeug und Ausstattung professionelle Werkzeuge wie E-Sys erforderlich sein.

5. SSH-Zugang auf der BMW MGU einrichten

SSH steht für Secure Shell und ermöglicht einen verschlüsselten Zugriff auf das Betriebssystem eines anderen Geräts.

Die BMW MGU verwendet ein Linux-basiertes Betriebssystem. Das Projekt idrive7-8-ssh-root ermöglicht nach entsprechender Vorbereitung den Zugriff mit Root-Berechtigungen.

Root ist die höchste Berechtigungsstufe des Betriebssystems.

Schritt 1 – ENET-Verbindung herstellen

Das ENET-Kabel mit der OBD-Schnittstelle des Fahrzeugs und dem Ethernet-Anschluss des PCs verbinden.

Zündung einschalten und sicherstellen, dass die Headunit aktiv ist.

Unter Windows das Terminal beziehungsweise die PowerShell als Administrator starten.

Das Projekt verwendet die fahrzeugseitige Ethernet-Diagnoseverbindung und erkennt das Gateway normalerweise automatisch.

Schritt 2 – Python und OpenSSH prüfen

PowerShell öffnen und die Versionen kontrollieren:

python --version
node --version
ssh -V

Falls Python oder Node.js nicht erkannt werden, die Installation beziehungsweise die PATH-Umgebungsvariable prüfen.

Fehlt unter Windows der SSH-Client, kann dieser gegebenenfalls über die optionalen Windows-Features nachinstalliert werden.

Schritt 3 – SSH-Projekt vorbereiten

In der PowerShell in das zuvor entpackte SSH-Verzeichnis wechseln:

cd C:\MGU\ssh

Die benötigte Python-Abhängigkeit installieren:

python -m pip install -r requirements.txt

Schritt 4 – Verbindung zum Fahrzeug prüfen

Zunächst ausschließlich den lesenden Statusbefehl ausführen:

python ssh_enable.py status

Das Programm versucht nun, über die ENET-Verbindung Informationen der MGU auszulesen.

Hierzu gehören nach Entwicklerdokumentation unter anderem die Softwareversion, der Debug-Zustand und die IP-Adresse der Headunit.

Dieser Statusbefehl führt keine Programmierung durch.

Falls bereits die Kommunikation scheitert, sollten zunächst die ENET-Verbindung, die Netzwerkkonfiguration und der aktive Fahrzeugzustand überprüft werden.

Keinesfalls einfach mit einem Flash-Vorgang fortfahren.

Schritt 5 – Grafische SSH-Oberfläche starten

Für die erstmalige Einrichtung bietet der Entwickler eine grafische Benutzeroberfläche an.

Start:

python gui.py

Das Fenster bietet folgende Hauptfunktionen:

FunktionBedeutung
Detect VINFahrzeug-Identifizierungsnummer auslesen
Flash + EnableErstmalige Debug-Programmierung und SSH-Einrichtung
EnableSSH auf einer bereits vorbereiteten MGU erneut aktivieren
DisableEingerichtete SSH-Persistenz entfernen und Debug/SSH deaktivieren

Außerdem gibt es Einstellungen zur dauerhaften SSH-Erreichbarkeit und zum SSH-Schlüssel.

Schritt 6 – SSH erstmalig aktivieren

Nur durchführen, wenn die Kompatibilität geprüft wurde, die Codierung gesichert ist und ein möglicher Ausfall der Headunit beherrscht werden kann.

  1. VIN über Detect VIN auslesen und kontrollieren.
  2. MGU-Variante und Verbindungseinstellungen prüfen.
  3. Die Option für einen individuellen SSH-Schlüssel zunächst deaktiviert lassen. Der Entwickler empfiehlt sie nicht für die normale Einrichtung.
  4. Die vorgesehene Ersteinrichtung mit Flash + Enable starten.
  5. Programmierung und eventuelle Neustarts der Headunit nicht unterbrechen.
  6. Nach Abschluss die ausgegebenen SSH-Verbindungsdaten kontrollieren.

Das Programm führt laut Dokumentation die Debug-Programmierung, SSH-Registrierung und Einrichtung der Zugriffsberechtigungen aus.

Eine unterbrochene oder fehlerhafte Programmierung kann die Headunit unbrauchbar machen.

Hinweis zur Sicherheit: Das Projekt verwendet standardmäßig einen im Entwicklungsimage hinterlegten SSH-Schlüssel. Dieser ist nicht automatisch für jedes Fahrzeug individuell. Ein dauerhaft offener Root-Zugang stellt daher ein Sicherheitsrisiko dar.

Schritt 7 – SSH-Verbindung prüfen

Nach erfolgreicher Einrichtung speichert das Programm Verbindungsdaten in einem fahrzeugbezogenen Ordner:

C:\MGU\ssh\data\enrollments\<VIN>\

Darin befinden sich beispielsweise:

  • id_rsa – privater SSH-Schlüssel
  • id_rsa.ppk – Schlüssel für PuTTY beziehungsweise WinSCP
  • connect.txt – Verbindungsinformationen einschließlich MGU-IP

Die genaue IP-Adresse wird durch das Tool ermittelt.

Der SSH-Aufruf entspricht grundsätzlich folgendem Schema:

ssh -i "C:\MGU\ssh\data\enrollments\<VIN>\id_rsa" root@<MGU-IP>

Die Platzhalter <VIN> und <MGU-IP> müssen durch die tatsächlich ermittelten Werte ersetzt werden.

Nach erfolgreicher Anmeldung besteht Zugriff auf das Linux-System der MGU.

Wichtig: Die privaten Schlüssel niemals öffentlich hochladen oder weitergeben. Die SSH-Verbindung ausschließlich zu einem eigenen beziehungsweise ausdrücklich autorisierten Fahrzeug herstellen.

6. BMW-App-SDK aus der Headunit extrahieren

Das Custom-Apps-Projekt enthält die Anwendungen und den Quellcode, jedoch nicht das originale BMW-App-SDK.

Dieses SDK ist urheberrechtlich geschützter BMW-Code und muss für den beschriebenen Build-Prozess separat aus der eigenen Headunit gewonnen werden.

Hierfür nutzt der Entwickler eine bereits im System vorhandene BMW-Anwendung namens x_call.

Schritt 1 – App-Verzeichnis öffnen

In der PowerShell:

cd C:\MGU\apps

Schritt 2 – Vorhandenes SDK-Archiv ermitteln

Über die bestehende SSH-Verbindung lässt sich der Dateiname zunächst anzeigen:

ssh -i "C:\MGU\ssh\data\enrollments\<VIN>\id_rsa" root@<MGU-IP> "ls -1 /usr/lib/oap-mainapp/preinstalled_apps/x_call@*.tgz"

Der Befehl liefert bei entsprechendem Dateibestand den tatsächlichen Namen des x_call-Archivs.

Schritt 3 – Archiv auf den PC übertragen

Das Archiv anschließend mit SCP herunterladen.

Beispiel mit Platzhaltern:

scp -i "C:\MGU\ssh\data\enrollments\<VIN>\id_rsa" "root@<MGU-IP>:/usr/lib/oap-mainapp/preinstalled_apps/x_call@VERSION.tgz" .

x_call@VERSION.tgz muss durch den zuvor ermittelten vollständigen Dateinamen ersetzt werden.

Schritt 4 – Archiv entpacken

Den Zielordner erstellen:

mkdir x_call

Danach das heruntergeladene Archiv entpacken:

tar -xzf ".\x_call@VERSION.tgz" -C ".\x_call"

Auch hier muss VERSION durch den tatsächlichen Dateinamen ersetzt werden.

Schritt 5 – SDK extrahieren

Nun das Extraktionswerkzeug des Projekts ausführen:

node kit/tools/extract_sdk.js x_call/javascript/app.js

Bei erfolgreicher Ausführung entsteht im Projektverzeichnis ein neuer Ordner:

C:\MGU\apps\oap-sdk\

Darin befinden sich die für den App-Build benötigten SDK-Komponenten.

Hinweis: Wenn das benötigte Archiv auf der Headunit nicht vorhanden ist oder das Format abweicht, muss die Ursache anhand der Originaldokumentation geprüft werden. Nicht einfach Dateien fremder Firmwarestände übernehmen.

7. Custom-Apps erstellen

Sind die Projektdateien und das SDK vollständig vorhanden, können die Anwendungen für die Installation vorbereitet werden.

Der Entwickler stellt dafür fertige Build-Skripte bereit.

Alle Apps erstellen

Im Verzeichnis C:\MGU\apps folgenden Befehl ausführen:

.\deploy\make-car-kit.cmd

Das Skript erstellt die App-Pakete und bündelt sie mit dem Installer sowie der Renderengine.

Das Ergebnis wird unter folgendem Pfad abgelegt:

C:\MGU\apps\dist\mgu-custom-apps.tar.gz

Nur eine bestimmte App erstellen

Wer zunächst beispielsweise nur die Redline-Anwendung vorbereiten möchte, kann die Paketerstellung einschränken:

python kit/tools/make_kit.py redline

Dadurch wird ein Installationspaket für die ausgewählte Anwendung erzeugt.

Ein großer Vorteil dieses Verfahrens: Es müssen nicht zwingend sämtliche Apps gleichzeitig installiert werden.

8. Installation auf der BMW MGU

Jetzt wird das erstellte App-Paket über die SSH-Verbindung zur Headunit übertragen.

Schritt 1 – Kompatibilitätsprüfung

Zuerst den vom Entwickler vorgesehenen Prüfmodus ausführen:

powershell -ExecutionPolicy Bypass -File .\deploy\push-to-car.ps1 check -Key "C:\MGU\ssh\data\enrollments\<VIN>\id_rsa" -Ip <MGU-IP>

Dieser Befehl überträgt das Paket zur MGU und führt dort die vorgesehene Installationsprüfung aus.

Der eigentliche Installationsmodus wird dabei noch nicht ausgeführt.

Achtung: Auch die Prüfung ist nicht vollständig schreibfrei, da das Skript das Paket zunächst auf die Headunit kopiert. Die zu prüfenden Systemänderungen werden aber noch nicht installiert.

Wenn die Prüfung Fehler oder eine unbekannte Firmwarestruktur meldet, den Vorgang abbrechen.

Schritt 2 – Apps installieren

Erst wenn die Kompatibilitätsprüfung erfolgreich war:

powershell -ExecutionPolicy Bypass -File .\deploy\push-to-car.ps1 install -Key "C:\MGU\ssh\data\enrollments\<VIN>\id_rsa" -Ip <MGU-IP>

Der Installationsprozess übernimmt laut Entwickler mehrere Aufgaben:

  1. Sicherung der betroffenen App- und Konfigurationsdateien
  2. Installation der neuen Anwendungspakete
  3. Registrierung der Custom-Apps innerhalb der BMW-App-Plattform
  4. Einrichtung der benötigten SOME/IP-Schnittstellen und Berechtigungen
  5. Installation der zusätzlichen GPU-Renderengine
  6. Neustart der BMW-App-Plattform

Anschließend sollten die zusätzlichen Anwendungen nach dem Neuladen im BMW-App-Menü erscheinen.

Schritt 3 – Funktionen kontrollieren

Nach der Installation empfiehlt sich eine schrittweise Prüfung:

  • Werden die neuen App-Kacheln angezeigt?
  • Starten die Anwendungen ohne Fehlermeldung?
  • Funktioniert die Bedienung über iDrive?
  • Werden reale Motordaten angezeigt?
  • Funktionieren weiterhin die serienmäßigen BMW-Funktionen?

Das Projekt verfügt außerdem über einen Demonstrationsmodus.

Wird ausschließlich DEMO angezeigt, müssen die tatsächliche Datenverbindung und die bereitgestellten Fahrzeugsignale überprüft werden. Eine sichtbare App-Kachel allein bestätigt noch keine vollständig funktionierende Fahrzeugdatenanbindung.

9. Apps wieder entfernen

Auch die Deinstallation ist im Projekt berücksichtigt.

Zum Zurücksetzen der Custom-Apps wird die Restore-Funktion verwendet:

powershell -ExecutionPolicy Bypass -File .\deploy\push-to-car.ps1 restore -Key "C:\MGU\ssh\data\enrollments\<VIN>\id_rsa" -Ip <MGU-IP>

Das Skript versucht, die Custom-Apps zu entfernen und die bei der ersten App-Installation gesicherten Originaldateien wiederherzustellen.

Dabei werden unter anderem die angelegten App-Einträge und Startmechanismen entfernt.

Wichtig: Diese Wiederherstellung betrifft die Änderungen der App-Installation. Sie macht die vorherige Debug-Programmierung der Headunit nicht rückgängig.

SSH-Zugang deaktivieren

Wenn der SSH-Zugang nicht mehr benötigt wird, kann das separate SSH-Tool verwendet werden.

Hierfür im SSH-Projektverzeichnis:

cd C:\MGU\ssh
python ssh_enable.py disable

Laut Entwickler entfernt disable die eingerichtete SSH-Persistenz und deaktiviert den Debug-/SSH-Zugang.

Das ursprünglich programmierte Debug-Paket wird dadurch jedoch nicht automatisch durch die originale BMW-Firmware ersetzt.

SSH nach der Installation absichern

Nach erfolgreicher App-Installation sollte geprüft werden, ob weiterhin ein dauerhaft aktiver SSH-Zugang erforderlich ist.

Wer SSH vorübergehend schließen möchte, kann im Verzeichnis des SSH-Projekts folgenden Befehl verwenden:

python ssh_enable.py close

Auf einer entsprechend vorbereiteten Headunit lässt sich der Zugang später über enable erneut aktivieren.

Wer die eingerichtete SSH-Persistenz vollständig entfernen und den Debug-/SSH-Zugang deaktivieren möchte, findet hierfür den Befehl disable in der Entwicklerdokumentation.

Hinweis: Diese Befehle ersetzen keine vollständige Wiederherstellung der ursprünglichen BMW-Firmware.

10. Häufige Probleme

Die Headunit wird nicht gefunden

Zunächst ENET-Verbindung, Netzwerkkarte, Zündung und die Windows-Administratorrechte prüfen.

Mit dem Statusbefehl des SSH-Projekts kontrollieren, ob die Diagnosekommunikation grundsätzlich funktioniert.

SSH kann keine Verbindung aufbauen

Kontrollieren, ob der SSH-Zugang erfolgreich eingerichtet wurde.

Außerdem sicherstellen, dass die IP-Adresse aus connect.txt stammt und der richtige Schlüssel verwendet wird.

Auf bereits vorbereiteten Headunits lässt sich SSH über die Enable-Funktion erneut aktivieren.

SDK konnte nicht extrahiert werden

Prüfen, ob das x_call-Archiv vollständig übertragen und korrekt entpackt wurde.

Insbesondere muss der in der Anleitung angegebene Pfad zur JavaScript-Datei tatsächlich existieren.

Die Apps werden nicht angezeigt

Die App-Plattform muss nach der Installation neu geladen werden.

Nach einem Firmwareupdate kann außerdem die vom Projekt verwendete App-Integration nicht mehr zum geänderten Softwarestand passen. Dann ist eine erneute Kompatibilitätsprüfung erforderlich.

Die Apps zeigen keine Fahrzeugwerte

Nicht alle Signale sind bei sämtlichen Motor- und Fahrzeugvarianten verfügbar.

Einige Anwendungen verwenden SOME/IP-Daten, andere greifen für bestimmte Funktionen über die interne Diagnoseschnittstelle auf Steuergeräte zu.

Die jeweilige Verfügbarkeit und Skalierung der Werte muss zum Fahrzeug passen.

Fehlerspeicher löschen funktioniert nicht wie erwartet

Der Fault Scanner kann über die Diagnose-Gateway-Funktion unterschiedliche Steuergeräte ansprechen.

Das Löschen von Fehlerspeichern sollte erst nach einer vollständigen Diagnose erfolgen. Dabei können Steuergeräte neu starten oder wichtige Hinweise auf vorhandene Fehler verloren gehen.

11. Sicherheit und wichtige Einschränkungen

Bei diesem Projekt handelt es sich nicht um eine offizielle BMW-Funktion.

Die Veränderung der Headunit kann Auswirkungen auf die Betriebssicherheit, Softwareupdates, Gewährleistungsansprüche und Werkstattdiagnosen haben.

Besonders zu beachten sind folgende Punkte:

  • Eine fehlerhafte MGU-Programmierung kann kostspielige Reparaturen erforderlich machen.
  • Ein dauerhaft aktivierter Root-SSH-Zugang erhöht die Angriffsfläche des Infotainmentsystems.
  • Der standardmäßig verwendete Entwicklungs-Schlüssel ist nicht automatisch individuell für jedes Fahrzeug.
  • Datenanzeigen können fehlerhaft oder unvollständig sein.
  • Leistungs- und Bremswegmessungen sind berechnete beziehungsweise sensorbasierte Näherungen und ersetzen keine kalibrierten Messsysteme.
  • Die Diagnose-App kann auch Fehlerspeicher sicherheitsrelevanter Steuergeräte verändern.
  • Dynamische Tests ausschließlich unter sicheren und rechtlich zulässigen Bedingungen durchführen, beispielsweise auf abgesperrtem Gelände.

Während der Fahrt darf die Bedienung der zusätzlichen Anwendungen nicht von der sicheren Fahrzeugführung ablenken.

12. GitHub-Projekte und weiterführende Downloads

Die vorgestellte Lösung basiert auf zwei frei veröffentlichten Entwicklerprojekten.

ProjektFunktionLink
MGU Custom AppsAnwendungen, Build-System und InstallationsskripteGitHub öffnen
iDrive 7/8 SSH RootSSH-Zugang über ENETGitHub öffnen
Windows App-InstallerÜbertragung und Installation der AppsInstallationsskript ansehen
Windows Build-SkriptErstellung des App-PaketsBuild-Skript ansehen
SDK-ExtraktionExtraktion des App-SDKSDK-Werkzeug ansehen

Die App-Sammlung steht unter der MIT-Lizenz. Das SSH-Projekt verwendet die Unlicense.

Beide Projekte stammen vom GitHub-Entwickler cauliflowermossgrape. Die ursprünglichen Repositories sollten für Updates und mögliche Änderungen der Kompatibilität regelmäßig geprüft werden.

Fazit

Das Projekt MGU Custom Apps zeigt, welche Möglichkeiten in der BMW-MGU-Headunit stecken.

Drehzahlanzeigen, Motordaten, G-Kräfte, Hybridinformationen und Diagnosefunktionen lassen sich auf unterstützten Systemen direkt in die originale iDrive-Oberfläche integrieren.

Besonders interessant ist, dass die Anwendungen nicht lediglich grafische Oberflächen darstellen, sondern mit den vorhandenen BMW-Fahrzeugschnittstellen kommunizieren können.

Allerdings ist der technische Aufwand nicht zu unterschätzen. Für die Installation werden Root-Zugriff, das passende BMW-App-SDK und ein kompatibler Softwarestand benötigt.

BimmerGuide-Empfehlung: Zunächst ausschließlich die Headunit identifizieren, die vorhandene Firmware prüfen und die Datensicherung vorbereiten. Die eigentliche Programmierung sollte nur erfolgen, wenn sämtliche Voraussetzungen erfüllt sind und eine fachgerechte Wiederherstellung im Fehlerfall möglich ist.

Dieser Beitrag beschreibt ein unabhängiges Open-Source-Projekt. BimmerGuide steht in keiner Verbindung zu BMW AG oder zum ursprünglichen Entwickler. Die beschriebenen Schritte wurden redaktionell anhand der veröffentlichten Entwicklerdokumentation aufbereitet und nicht eigenständig an einem Fahrzeug validiert. Technische Änderungen erfolgen in eigener Verantwortung.

Passendes Zubehör für diese Anleitung

Für die Verbindung und Einrichtung der BMW MGU können folgende Hilfsmittel benötigt werden.

BMW ENET-Kabel

Verbindung zwischen BMW OBD-Schnittstelle und Laptop über Ethernet.

Auf Amazon suchen
USB-C auf LAN-Adapter

Für Laptops ohne eigenen RJ45-Anschluss. Ideal in Verbindung mit einem ENET-Kabel.

Auf Amazon suchen
Batteriestützgerät

Professionelle Spannungsversorgung mit geeignetem Programmiermodus für längere Steuergerätearbeiten.

Auf Amazon suchen
Weiteres Zubehör entdecken: BimmerGuide Werkstatt-Deals ansehen

Werbung / Affiliate-Links: Als Amazon-Partner verdienen wir an qualifizierten Verkäufen. Für dich entstehen keine zusätzlichen Kosten.






ℹ️ Hinweis zu den Abbildungen
Auf BimmerGuide werden teilweise mithilfe künstlicher Intelligenz erstellte oder bearbeitete Illustrationen und Titelbilder verwendet.
Sie dienen ausschließlich der Veranschaulichung technischer Inhalte und stellen nicht zwangsläufig reale Fahrzeuge, Bauteile oder Situationen dar.




Neuste Beiträge

Hardware Hex Adressen R56

Übersicht 00:SPEG01:MRS602:SZL12:DME_DDE18:GSAW20:RDC24:CVM27:PGS29:DSC30:EPS36:ULF/CBX3637:AMP3B:NAV3C:CDC3F:CCC_ASK40:CAS44:MDSD47:CCC_TUNER4B:VID_MODUL53:IBOC54:SDAR55:ULF2hi5B:DAB60:KOMBI62:MCGW63:CCC_HOST/RAD64:PDC67:ZBE71:AHM72:FRM73:CID78:IH_X7D:FDM190:RABDBL291:RATAL292:RAD VI_HW9B:CH2-BluetoothA0:CCC_APPL/CH2-SD-CardA9:CDC Decoder DETAILANSICHT

Weiterlesen »
% DEALS