Das war nun wirklich nicht einfach. Schon seit Jahren liegt hier noch ein altes Notebook mit installiertem Windows XP, das einzig und allein den Zweck erfüllt, Diagnosesoftware wie INPA/EDIABAS zu beherbergen und Dinge macht, wie Satellitenreceiver upzudaten. Dinge, für die man eine gute, alte, serielle Schnittstelle braucht, auf welche neuere Notebooks gerne verzichten. Die Konfiguration der Software und vor allem Installation eines Interfaces, welches man an die im Fahrzeug verbaute ADS- (rund, bei BMW z.B. beim e36 und e39 im Motorraum) bzw. OBD-Buchse (On-Board-Diagnose, 16-polig, bei BMW im Innenraum, beim e65 links im Fahrerfussraum) anstecken kann, dauerte damals Tage – genau aus diesem Grund wurde an dem Notebook auch die letzten Jahre keinerlei Änderung vorgenommen, zu groß die Angst, dass etwas schief und damit alles wieder von vorne los geht.
Aber es hilft ja nichts: Aus aktuellem Anlass, nämlich dem eines Fahrzeugwechsels, musste ich mich mit dem Thema erneut beschäftigen und durfte feststellen, dass es mittlerweile USB-Lösungen gibt (frühere Tests mit USB-zu-seriell-Adaptern verliefen bei drei damals getesteten Adaptern negativ). Für Fahrzeuge bis (wenn ich das recht in Erinnerung hab) 2007 reicht das von mir gekaufte Interface für 39 Euro völlig aus – aktuellere Modelle benötigen auch ein aktuelleres Interface, was mit knapp 150 Euro zu Buche schlägt (rechts im Bild). Ich habe mich für das auf dem linken Bild verlinkte Interface auch deshalb entschieden, weil mein altes, serielles Interface ebenfalls von diesem Händler war und ich damit sehr zufrieden bin. Bei Amazon hat es zwar nur eine Bewertung und diese auch „nur“ mit 4 Sternen, wobei der Rezensionsschreiber nur zwei Dinge bemängelt: Dass das Kabel nur 1,5m lang ist und dass keine CD mit Software beiliegt. Ein anderthalb Meter langes Kabel langt LOCKER (und selbst, wenn man vom Kofferraum aus Verbindung will, kauft man sich halt noch für 2 Euro ein USB-Verlängerungskabel dazu. Die größte Frechheit finde ich allerdings den Hinweis auf die fehlende Software. Hier muss man wissen, dass die hier beschriebene INPA-Software nur für BMW-Werkstätten erhältlich ist. Es gibt meines Wissens keinen legalen Weg, diese Software zu bekommen. Wie sollte dann wohl ein Händler für Interfaces diese auf legalem Wege dazu legen können? Alternative Software wie BMW-Scanner oder Carsoft kann schnell mal ein paar tausend Euro kosten, d.h. auch diese wird er nicht dazulegen. Mann, mann.. ein Glück bin ich BMW-Händler..
Schritt 1 – Windowsinstallation
Die erste Hürde war, ein funktionierendes Windows auf das Macbook Air (late 2010) zu bekommen. Prinzipiell bietet sich natürlich das MacOS-Bordmittel Bootcamp an, um Windows parallel in einer zusätzlichen Partition zu installieren und direkt zu booten. Das hatte ich schon mal vor etwa 5 Jahren (Kinder, wie die Zeit vergeht) mit Vista gemacht. Leider bringt Bootcamp direkt nach Start des Assistenten die Meldung, dass zu wenig Speicherplatz zur Verfügung stünde..
„Das Startvolume kann nicht partitioniert werden, da nicht genügend Speicherplatz vorhanden ist. Sie benötigen mindestens 10 GB freien Speicherplatz.“
..und bricht ab. Mein Macbook Air ist mit seiner 60GB-SSD zwar schon ziemlich mickrig ausgestattet, allerdings sollten doch wohl noch 10 GB frei sein? Ein Blick in den Finder bestätigt die Vermutung: 16 GB frei. Also muss die Platte wohl von Hand partitioniert werden. Das Festplattendienstprogramm gibt mir dann aber einen anderen Wert aus. Nur noch knappe 5 GB frei.
Wie so oft hilft Google: Die SSD löscht Dateien nicht direkt, sondern markiert sie nur als gelöscht, lässt also das Überschreiben mit anderen Daten zu – ok, das wusste ich schon. Es gibt aber wohl keine Möglichkeit, fragmentierte Dateien so zu defragmentieren, dass ausreichend große, zusammenhängend freie Blöcke entstehen. Kurz gesagt: Ich kann zwar 16 GB an neuen Daten auf die SSD schreiben, kann die gelöschten Daten aber nicht wirklich löschen und damit Platz für eine neue Partition schaffen.
Also bleibt mir nur das Aufsetzen als neues System (das ist das, was man mit Windows-Rechnern früher gerne im Monatsabstand gemacht und an das man seit dem Kauf des ersten Macs nie wieder dran gedacht hat). Schnell eine externe Platte gesucht, die man als Time Machine Medium missbrauchen kann und eine Komplettsicherung durchgeführt (jaja, ich weiß, der vorbildliche Mac-User hat natürlich schon ein fertiges Time-Machine-Backup auf seiner TimeCapsule liegen, was sich maximal um 15 Minuten zum aktuellen Stand unterscheidet – der kann sich das natürlich nun schenken). Im Vergleich zum iMac mit Terrabytes von Daten, geht die Sicherung der knapp 45 GB des MBA sehr schnell vonstatten.
Nach der Sicherung wird der Mac in den Recovery-Mode versetzt (beim Booten Control+R gedrückt halten). Im Wiederherstellungsmodus kann dann das Festplattendienstprogramm gestartet und mit diesem die Festplatte gelöscht werden. Anschließend kann das Macbook aus dem Time-Machine-Backup wiederhergestellt werden (auch das bietet das Menü im Wiederherstellungsmodus an). Ein paar Minuten später sitzt man wieder vor einem funktionierenden System und kann nun den Boot Camp Assistenten starten.. um festzustellen, dass dieser nur noch Windows 7 tauglich ist. Auch hier bringt Google die Erkenntnis. Seit MacOS X Lion wird Windows XP nicht mehr unterstützt. Man kann es – theoretisch – installieren, in dem man den Mac platt macht, Snow Leopard installiert, dessen Boot Camp startet (mit Snow Leopard geht WinXP noch) und nach der Installation von XP wieder auf Lion updated. Theoretisch. Die Praxis zeigt aber, dass die Foren voll sind mit Menschen, die danach irgendwelche Probleme hatten, weil XP die Hardware vom Macbook Air nicht sauber unterstützt. Auf selbstgebastelte Treiber hatte ich keine große Lust und somit musste ich der Tatsache ins Gesicht sehen, die letzten 3 Stunden einfach verschwendet zu haben.
Die zweite Möglichkeit, ein altes Windows unter OS X zu installieren, heißt: Virtualisieren! Für MacOS fallen mir spontan zwei Virtualisierungstools ein, nämlich Parallels und VMWare. Ich habe mich für VMWare Fusion entschieden. Was mich an der virtuellen Geschichte stört ist, dass alle Anschlüsse noch mal durchgeschleift werden – wenn das Interface dann also per USB angschlossen wird, emuliert die virtuelle Maschine einen USB-Port, an dem ein Chip hängt, der einen seriellen Port emuliert – das kann eigentlich nicht gut gehen. Windows XP ist dann mangels anderen Möglichkeiten trotzdem schnell in der virtuellen Maschine installiert, das klappt entweder per CD (beim Macbook Air mangels internem über ein entferntes oder externes Laufwerk) oder per ISO-Datei (die kann man sich mit den meisten Brennprogrammen erstellen – MacOS liefert auch hier mit dem Festplattendienstprogramm wieder ein Bordmittel mit).
Lange Vorgeschichte.
Schritt 2 – Installation der BMW-Software
Bei der Diagnosesoftware habe ich mich im ersten Schritt für INPA/EDIABAS entschieden und da für die Version EA-90X 5.00. Die Software wird über eine normale Installationsroutine installiert.
Im Laufe der Routine kann angegeben werden, wie das Interface angeschlossen ist und um welches es sich handelt. Hier muss zuerst (zumindest mit dem oben verlinkten Interface)
STD:OBD
ausgewählt werden, im folgenden Schritt muss der Haken bei
USB-Seriell-Adapter verwenden
gesetzt werden und als Port muss ein COM zwischen 2 und 8 ausgewählt werden. Dieser muss natürlich frei sein. Bei mir habe ich COM4
gewählt, die Installation läuft anschließend durch und meldet irgendwann den Erfolg.
Nach einem Neustart des virtuellen Systems wird die Installationsroutine erneut gestartet, jetzt wird aber der Knopf „Update“ gewählt. Wird INPA ohne dieses Update gestartet, bleibt die Startmaske bis auf ‚Info‘ und ‚Ende‘ leer, eine Fahrzeugauswahl ist also nicht möglich (und glaubt mir, man sucht eine Weile, bis man da drauf kommt!).
Schritt 3 – Treiberinstallation des Interfaces
Die Treiber für das USB-Interface können beim Hersteller heruntergeladen und irgendwo auf C:\ entpackt werden. Nach dem Anstecken an einen USB-Port fragt VMware Fusion nach, ob es denn an den Mac oder an Windows weitergereicht werden soll – hier wird selbstverständlich die Windows-Kiste gewählt. Es dauert ein paar Sekunden, bis Windows von seinem Glück erfährt und nachfragt, ob man den Treiber automatisch installieren möchte. Nein, möchten wir nicht. Wir suchen selbst nach dem Treiber und wählen als Suchort das Verzeichnis, in das wir soeben die Treiber entpackt haben.
Nach der Installation die Finger vom Rechner lassen! Nach einer halben Minute meldet sich nämlich erneut Windows und möchte den Port installieren. Auch hier gilt wieder die gleiche Vorgehensweise und man lässt im o.g. Verzeichnis suchen. Das sollte es gewesen sein, das Interface ist installiert. Ein Neustart ist jetzt zwar nicht zwingend, schadet aber auch nicht.
Schritt 4 – Konfiguration
In diesem Schritt bin ich mir ehrlich gesagt nicht sicher, ob das alles wirklich nötig ist. Ich habe alles so gemacht, d.h. auch hier schadet es nichts.
Zuerst die Umgebungsvariable PATH editieren und um C:\EDIABAS\BIN erweitern, sollte dieser Pfad noch nicht mit drin sein. Dazu Rechtsklick im Explorer auf den Arbeitsplatz, Eigenschaften, Erweitert, Umgebungsvariablen und dort PATH markieren und ganz hinten reinschreiben
; C:\EDIABAS\BIN
Das Semikolon davor ist wichtig und dient als Trennzeichen. Alternativ gibt man in einer Commandbox set PATH = %PATH%; C:\EDIABAS\BIN
ein – das sollte das gleiche bewirken.
Nun das OBDSetup ausführen. Dazu folgende Datei starten:
C:\EDIABAS\HARDWARE\OBDSETUP.EXE
Es erscheint kurz ein DOS-Fenster.
Jetzt den COM-Port einstellen. Den oben verwendeten COM-Port brauchen wir nun, um ihn mit dem tatsächlich vergebenen des Interfaces zu vergleichen (bei mir COM4). Dazu wieder Rechtklick auf den Arbeitsplatz, Eigenschaften, Hardware und den Gerätemanager starten. Hier unter den Anschlüssen den USB/Serial-Port auswählen (im Screenshot markiert):
Per Doppelklick und weiter per Klick auf ‚erweitert‘ folgende Einstellungen vornehmen (bis auf die COM-Anschlußnummer und die Wartezeit sollte alles schon passen):
OBD.INI anpassen. Unter C:\EDIABAS\BIN muss nun die OBD.INI editiert werden, damit der COM-Port und Anschlussart zu dem des Interfaces passt (das sollte schon richtig sein, da er das aus der Installationsroutine übernimmt):
[OBD]
Port=Com4
Hardware=USB
RETRY=ON
;Tracelevel=0xFFFFFFFF
;Tracelevel=0xFFFFFFFF
;Tracelevel=0xF0000000
;Tracelevel=0x0000FFFF
; Bit 0 = Funktionsaufruf
; Bit 1 = io Ergebnis
; Bit 2 = nio Ergebnis
; Bit 3 = Detailinfos
; Nibble 0 = readchar_wait
; Nibble 1 = main
; Nibble 2 = cmd
; Nibble 3 = obd
; Nibble 4 = send_and_receive_...
; Nibble 5 = read_telegram_...
; Nibble 6 = send_telegram
; Nibble 7 = SendData
[UNIT_A]
Port=Com2
Hardware=OBD
...
[UNIT_O]
Port=Com16
Hardware=OBD
Die OBD.INI speichern und nach C:\WINDOWS\ kopieren. Rebooten.
Theoretisch sollte ein Zugriff nun schon möglich sein, allerdings hängt das vom Interface ab. Bei mir ging es natürlich nicht. Weitere Stunden im Internet und viel herumprobieren brachten aber auch hier die Lösung. INPA prüft, ob Batteriespannung vom Fahrzeug anliegt und ob die Zündung an ist. Bei mir konnte er beides nicht feststellen. Deshalb noch folgenden Schritt durchführen:
Ebenfalls in C:\EDIABAS\BIN liegt die Datei EDIABAS.INI – auch diese editieren und folgende zwei Einträge – sollte das noch nicht so sein – auf Null setzen:
; UbattHandling
; Description : Ubatt ON/OFF handling
; Value : 0 = Ubatt ON/OFF: No EDIABAS error
; 1 = Ubatt ON/OFF: EDIABAS error
; Default = 1
UbattHandling = 0
; IgnitionHandling
; Description : Ignition ON/OFF handling
; Value : 0 = Ignition ON/OFF: No EDIABAS error
; 1 = Ignition ON/OFF: EDIABAS error
; Default = 1
IgnitionHandling = 0
Mit den zwei Einträgen bringt man ihn wohl dazu, die Prüfung zu ignorieren (so habe ich das verstanden – keine Gewähr, aber die gibt’s auf den ganzen Artikel, die ganze Rubrik, das ganze Blog nicht – wie immer seid ihr selbst schuld, wenn ihr das hier nachmacht).
Für die ganz faulen Leser werde ich in den nächsten Tagen mal die Dateien hochladen – mit dem obigen Interface und der Installation auf COM4 muss dann nichts mehr editiert werden.
So, ich glaube, das war es auch ’schon’… Bei dem o.g. Interface ist es natürlich wichtig, es auf ‚EDIN‘ zu schalten und nicht auf ‚KKL‘ – was der Unterschied ist? Keine Ahnung, das wollte ich noch herausfinden, aber ich war schon lange genug damit beschäftigt, festzustellen, dass EDIN für EDiabas INpa steht und kein eigenes weiteres Protokoll darstellt… Sollte mir noch etwas einfallen, dan ergänze ich hier entsprechend. Viel Spass und schießt eure Steuergeräte nicht ab!
Ach ja, wenn es bei euch nun funktioniert und ihr zufrieden mit der Anleitung seid.. ich freue mich über ein Feierabendbier.. oder zwei. Wenn ihr richtig zufrieden seid, freue ich mich auch über einen neuen BMW :)
In den Artikeln sind häufig Partnerlinks enthalten, überwiegend zu Amazon und eBay. Durch einen Klick darauf gelangt ihr zum Anbieter und wenn ihr dort etwas kauft, bekommen wir eine kleine Provision. Euch entstehen dadurch keine Nachteile, ihr helft so aber, dass die Seite weiterhin existiert und dafür danke ich euch! :) |
Hello
thanks you for the everything that you have done. I actually have the same exact Macbook air and am trying to run this using VMware as well. I actually used google translate to understand it because i am from the US :)
I was just wondering if you could possibly email me the files i need for this?? Ive been trying to go around and getting everything together with no luck. I would really appreciate it…
Thank You Very Much
John
Hey John,
what kind of files do you need? The whole INPA-stuff or just the two files odb.ini and ediabas.ini?
Cheers
Simon
Die Kommentarfunktion ist deaktiviert.