21.05.2011, 21:51
So, ich war heute (2x) am Auto und habe Versuche am OBD2 Bus durchgeführt.
Beim ersten mal hatte ich Probleme mit meinem Atmel Board - keine synchronisation mit dem Bus möglich, also wieder nach Hause gefahren und später dann ein anderes Board mitgenommen.
Wie eingangs beschrieben benutze ich als Terminalprogramm auf dem PC das H-Term und als Interface das selbstgebaute ELM322 Board.
Beides zusammen an die Diagnosebuchse und schon ging es los..... die Daten rasen über den Bildschirm
Der ELM322 gestattet einen Monitorbetrieb, d.h. er zeigt alle Daten die auf dem Bus anliegen ungefiltert an.
Man versetzt ihn dazu mit Hilfe von AT Befehlen in diesen Modus (siehe Michaels Beispiel oben)
Zunächst sagen wir dem ELM322 mit dem Befehl AT H1 das auch der Kopf (Header) eines jeden
Datensatzes angezeigt wird.
Damit erkennen wir wer Absender und wer Empfänger der Daten/Nachricht/Kommandos ist
Mit AT MA starten wir den Monitormodus
Schnell wird klar das man so nicht weiter kommt, es sind zuviele Daten die da runtersausen....
Mit dem Befehl AT MR xx können wir die Daten derart filtern das nur Nachrichten angezeigt werden die für den Busteilnehmer xx bestimmt sind.
Oder mit dem Befehl AT MT xx nur Nachrichten die vom Teilnehmer xx abgesendet wurden.
Fangen wir mal mit dem Instrumenten Cluster (IPC) und dem DIC (Driver Info Display) an!
Das hat laut Michaels Tabelle weiter oben die Adresse 96 bzw 60h (ELM322 möchte Hexwerte!)
AT MT 60 zeigt uns ab jetzt nur noch Nachrichten an die vom IPC auf den Bus gesendet werden.
Umschaltung Imperial/Metrisch gefällig?
IPC sendet für imperial:
A8 EB 60 84 67
und für metrische Anzeige:
A8 EB 60 04 41
Das können wir mit dem ELM322 auch machen!
Dazu geben wir dem ELM322 "die Identität" des IPCs mit dem Kommando AT SH
AT SH A8 EB 60
A8 EB 60 ist der s.g. Header der Nachricht.
A8 habe ich noch nicht 100% entschlüsselt, EB ist der Empfänger und 60 der Absender (hier IPC)
Nach diesem AT Kommando AT SH A8 EB 60 sendet der ELM322 bei jedem Datensatz ein A8 EB 60
vorne weg und erscheint somit auf dem Bus als regulärer Teilnehmer!
gesagt getan
wir geben im H-Term 84 67 ein (siehe Daten für imperial)
sofort schaltet das IPC und das Klimaanlagenbedienteil auf imperial um
nun geben wir im H-Term 04 41 ein (siehe Daten metrische Anzeige)
sofort schaltet das IPC und das Klimaanlagenbedienteil wieder auf metrisch zurück
Hiermit haben wir quasi von Außerhalb ins Geschehen eingegriffen.
Zusammengefasst:
wenn wir Absender, Empfänger und den Datensatz kennen, können wir mit dem ELM322
diese Nachrichten nachbilden.
Vorteil des einfachen Corvette C5 Datenbusses: der "echte" Teilnehmer merkt nicht das ein Clone
an seiner Stelle unter seinem Namen mitsendet.
ich bin dann einen Schritt weiter gegangen.
Was passiert wenn wir das Fenster auf der Beifahrerseite öffnen und schließen?
Das geht ja auch von der Fahrerseite aus.
Das Türmodul Fahrerseite hat laut Michas Tabelle die Adresse 160 bzw A0h.
Also filtern wir wieder mit AT MT A0 die Daten und schauen uns an was am Bus anliegt.
Fenster runter:
8A CA A0 81 26 36
Fenster rauf
8A CA A0 82 26 E2
Wir setzen den Header vom ELM322 mit AT SH 8A CA A0 auf den eben gelesen Header
und senden einfach mal 81 26
Zack, Fenster fährt komplett runter (komplett weil express down)
würden wir sofort nochmals 81 26 senden würde es stehen bleiben.
und wieder rauf:
82 26
na nu..... das Fenster fährt nur ein paar cm und bleibt dann stehen......
auf dem Bus habe ich zuvor beobachtet das 8A CA A0 82 26 E2 zig mal hintereinader gesendet wird und zwar solange wie wir den Finger auf dem Fensterheber-Taster halten.
Das machen wir genauso, 82 26 wird fortlaufend für 5-10 sec gesendet.
Fenster ist wieder ganz oben
Tür auf und Tür zu ist leider nicht so trivial!
Da funkt uns die Alarmanlage dazwischen.
Wir dürfen auf keinen Fall so tun als ob der BEfehl zum entriegeln der Tür vom Türmodul kommt!
Das geht nicht..... das gibt sofort Alarm!
Wir müssen so tun als ob der Entriegelbefehl vom Keyles Entry Empfänger stammt - das ist sehr wichtig!
ich prüfe noch ob gleichzeitig auch eine Info an die Security gesendet wird das jetzt "legal" entriegelt wird.
Hier aber schon mal die Daten die ich aufgenommen habe:
Tür auf mit FOB:
CA C4 B0 10 22 07 75 (nach der ersten Betätigung)
CA C4 B0 10 00 07 98 (nach der zweiten Betätigung -> Beifahrerseite geht auf - und jeder weiteren Betätigung)
Tür zu mit FOB
CA C4 B0 90 00 07 58
wir sehen hier das B0 der Absender ist und das ist laut Michas Liste das Keyles Entry, bzw der Funk-Empfänger im kofferraum
Der Empfänger auf dem Bus ist C4 und das ist laut Tabelle die Security.
ich habe das jetzt nicht probiert, da ich zuvor schon zig mal den Alarm ausgelöst hatte weil ich versuchte die per FOB verriegelte Tür von innen zu öffnen.
Die Nachbarn waren schon stinkig
ich werde die Tage weiter machen, dann aber mit abgezogenem Hupenrelais
Und hier noch etwas vom IPC:
Anfragen auf dem Bus (IPC sendet) für:
Öldruck A9 4A 60 11 07
Kühlmittel 89 48 60 10 53
Getrieböl E9 3A 60 10 C6
Reifendruck vorne CB E4 60 11 10 A5
und hinten CB E4 60 11 30 22
Bitte bedenken, solche Anfragen haben im Gegensatz zum Umstellen der Einheiten eine Antwort zur Folge!
Die kommt auch prompt.
Mal exemplarisch fürs Getriebeöl:
wir senden E9 3A 60 10 C6
Die sofort folgende Antwort lautet: C8 3B 10 10 46 63
dritte von links ist 10, das ist das PCM als Absender!
10 46 63 ist die eigentliche Antwort
Tja und jetzt?
Auf dem DIC stand 30°C bzw 86°F
Das muss man also noch umrechnen.....
das soll erst mal für heute genügen!
ich hoffe ich habe bei den ganzen Zahlen keine Dreher reingebaut.
Alles hier geschriebene habe ich an meiner 02er C5 probiert, gehe aber davon aus das
es für alle Baujahre gültig ist.
Eine Frage noch an Michael:
wenn ich das fahrerseitige Fenster bediene, sehe ich absolut keine Reaktion auf dem Datenbus!
Ich könnte mit den heute gewonnen Informationen ein Window Valet aufbauen, aber leider nur für
die Beifahrerseite.
Hast Du eine Ahnung wie man das Driver Door Modul dazu bekommt das Fenster zu bewegen?
Beim ersten mal hatte ich Probleme mit meinem Atmel Board - keine synchronisation mit dem Bus möglich, also wieder nach Hause gefahren und später dann ein anderes Board mitgenommen.
Wie eingangs beschrieben benutze ich als Terminalprogramm auf dem PC das H-Term und als Interface das selbstgebaute ELM322 Board.
Beides zusammen an die Diagnosebuchse und schon ging es los..... die Daten rasen über den Bildschirm
Der ELM322 gestattet einen Monitorbetrieb, d.h. er zeigt alle Daten die auf dem Bus anliegen ungefiltert an.
Man versetzt ihn dazu mit Hilfe von AT Befehlen in diesen Modus (siehe Michaels Beispiel oben)
Zunächst sagen wir dem ELM322 mit dem Befehl AT H1 das auch der Kopf (Header) eines jeden
Datensatzes angezeigt wird.
Damit erkennen wir wer Absender und wer Empfänger der Daten/Nachricht/Kommandos ist
Mit AT MA starten wir den Monitormodus
Schnell wird klar das man so nicht weiter kommt, es sind zuviele Daten die da runtersausen....
Mit dem Befehl AT MR xx können wir die Daten derart filtern das nur Nachrichten angezeigt werden die für den Busteilnehmer xx bestimmt sind.
Oder mit dem Befehl AT MT xx nur Nachrichten die vom Teilnehmer xx abgesendet wurden.
Fangen wir mal mit dem Instrumenten Cluster (IPC) und dem DIC (Driver Info Display) an!
Das hat laut Michaels Tabelle weiter oben die Adresse 96 bzw 60h (ELM322 möchte Hexwerte!)
AT MT 60 zeigt uns ab jetzt nur noch Nachrichten an die vom IPC auf den Bus gesendet werden.
Umschaltung Imperial/Metrisch gefällig?
IPC sendet für imperial:
A8 EB 60 84 67
und für metrische Anzeige:
A8 EB 60 04 41
Das können wir mit dem ELM322 auch machen!
Dazu geben wir dem ELM322 "die Identität" des IPCs mit dem Kommando AT SH
AT SH A8 EB 60
A8 EB 60 ist der s.g. Header der Nachricht.
A8 habe ich noch nicht 100% entschlüsselt, EB ist der Empfänger und 60 der Absender (hier IPC)
Nach diesem AT Kommando AT SH A8 EB 60 sendet der ELM322 bei jedem Datensatz ein A8 EB 60
vorne weg und erscheint somit auf dem Bus als regulärer Teilnehmer!
gesagt getan
wir geben im H-Term 84 67 ein (siehe Daten für imperial)
sofort schaltet das IPC und das Klimaanlagenbedienteil auf imperial um
nun geben wir im H-Term 04 41 ein (siehe Daten metrische Anzeige)
sofort schaltet das IPC und das Klimaanlagenbedienteil wieder auf metrisch zurück
Hiermit haben wir quasi von Außerhalb ins Geschehen eingegriffen.
Zusammengefasst:
wenn wir Absender, Empfänger und den Datensatz kennen, können wir mit dem ELM322
diese Nachrichten nachbilden.
Vorteil des einfachen Corvette C5 Datenbusses: der "echte" Teilnehmer merkt nicht das ein Clone
an seiner Stelle unter seinem Namen mitsendet.
ich bin dann einen Schritt weiter gegangen.
Was passiert wenn wir das Fenster auf der Beifahrerseite öffnen und schließen?
Das geht ja auch von der Fahrerseite aus.
Das Türmodul Fahrerseite hat laut Michas Tabelle die Adresse 160 bzw A0h.
Also filtern wir wieder mit AT MT A0 die Daten und schauen uns an was am Bus anliegt.
Fenster runter:
8A CA A0 81 26 36
Fenster rauf
8A CA A0 82 26 E2
Wir setzen den Header vom ELM322 mit AT SH 8A CA A0 auf den eben gelesen Header
und senden einfach mal 81 26
Zack, Fenster fährt komplett runter (komplett weil express down)
würden wir sofort nochmals 81 26 senden würde es stehen bleiben.
und wieder rauf:
82 26
na nu..... das Fenster fährt nur ein paar cm und bleibt dann stehen......
auf dem Bus habe ich zuvor beobachtet das 8A CA A0 82 26 E2 zig mal hintereinader gesendet wird und zwar solange wie wir den Finger auf dem Fensterheber-Taster halten.
Das machen wir genauso, 82 26 wird fortlaufend für 5-10 sec gesendet.
Fenster ist wieder ganz oben
Tür auf und Tür zu ist leider nicht so trivial!
Da funkt uns die Alarmanlage dazwischen.
Wir dürfen auf keinen Fall so tun als ob der BEfehl zum entriegeln der Tür vom Türmodul kommt!
Das geht nicht..... das gibt sofort Alarm!
Wir müssen so tun als ob der Entriegelbefehl vom Keyles Entry Empfänger stammt - das ist sehr wichtig!
ich prüfe noch ob gleichzeitig auch eine Info an die Security gesendet wird das jetzt "legal" entriegelt wird.
Hier aber schon mal die Daten die ich aufgenommen habe:
Tür auf mit FOB:
CA C4 B0 10 22 07 75 (nach der ersten Betätigung)
CA C4 B0 10 00 07 98 (nach der zweiten Betätigung -> Beifahrerseite geht auf - und jeder weiteren Betätigung)
Tür zu mit FOB
CA C4 B0 90 00 07 58
wir sehen hier das B0 der Absender ist und das ist laut Michas Liste das Keyles Entry, bzw der Funk-Empfänger im kofferraum
Der Empfänger auf dem Bus ist C4 und das ist laut Tabelle die Security.
ich habe das jetzt nicht probiert, da ich zuvor schon zig mal den Alarm ausgelöst hatte weil ich versuchte die per FOB verriegelte Tür von innen zu öffnen.
Die Nachbarn waren schon stinkig
ich werde die Tage weiter machen, dann aber mit abgezogenem Hupenrelais
Und hier noch etwas vom IPC:
Anfragen auf dem Bus (IPC sendet) für:
Öldruck A9 4A 60 11 07
Kühlmittel 89 48 60 10 53
Getrieböl E9 3A 60 10 C6
Reifendruck vorne CB E4 60 11 10 A5
und hinten CB E4 60 11 30 22
Bitte bedenken, solche Anfragen haben im Gegensatz zum Umstellen der Einheiten eine Antwort zur Folge!
Die kommt auch prompt.
Mal exemplarisch fürs Getriebeöl:
wir senden E9 3A 60 10 C6
Die sofort folgende Antwort lautet: C8 3B 10 10 46 63
dritte von links ist 10, das ist das PCM als Absender!
10 46 63 ist die eigentliche Antwort
Tja und jetzt?
Auf dem DIC stand 30°C bzw 86°F
Das muss man also noch umrechnen.....
das soll erst mal für heute genügen!
ich hoffe ich habe bei den ganzen Zahlen keine Dreher reingebaut.
Alles hier geschriebene habe ich an meiner 02er C5 probiert, gehe aber davon aus das
es für alle Baujahre gültig ist.
Eine Frage noch an Michael:
wenn ich das fahrerseitige Fenster bediene, sehe ich absolut keine Reaktion auf dem Datenbus!
Ich könnte mit den heute gewonnen Informationen ein Window Valet aufbauen, aber leider nur für
die Beifahrerseite.
Hast Du eine Ahnung wie man das Driver Door Modul dazu bekommt das Fenster zu bewegen?