RKS+CAN Adapter für CAN-Bus Sniffing
CAN-Interface
CAN Hardware, CAN Software, CAN Protokolle - CAN-Bus Forum für Dein CAN-Bus Projekt. CAN-Bus und Elektronik.

Diagnose-CAN-Bus anreizen (VW)


 
Gehe zu Seite: 1, 2  Weiter
Neues Thema beginnen Auf Beitrag antworten Weitergeben, Thema teilen Lesezeichen setzen Druckansicht CANhack.de - Übersicht » Diagnose CAN
Autor Nachricht
frogger
Gast




 


Kostenloser Account, kein CAN Entwicklungs-Support

Beitrag14-11-2007, 8:55    Titel: Diagnose-CAN-Bus anreizen (VW) Antworten mit Zitat

Weiß jemand, wie das Protokoll auf dem Diagnose-Bus (VW Golf 5) abläuft? Zeit scheint auf jeden Fall beim Senden von Antworten wichtig zu sein. Hier ein Ausschnitt, was ich beobachtet habe (VAG-Com fordert Daten an, ich höre auf dem CAN-Bus mit):

.....ID...DLC..........DATA..........
<< 0x200 7 xx xx xx xx xx xx yy (wobei yy die Zieladresse ist, z. B. Motorsteuerung)
>> 0x2yy 7 xx ...
<< 0x740 6 a0 0f 8a ff 32 ff
>> 0x300 6 a1 0f 8a ff 4a ff
<< 0x740 5 10 00 02 10 89
>> 0x300 1 B1
>> 0x300 5 10 00 52 50 89
<< 0x740 1 B1

Die Nachrichten 0x200 und 0x740 werden von VAG-Com gesendet, 0x300 erhalte ich immer als Antwort (im späteren Verlauf auch die Meßwertblöcke).

Die Nachrichten mit Länge 1 scheinen immer zwischen 0xB1 und 0xBf hochzuzählen. Die Nachricht 0x740 sendet ähnliches, allerdings werden Werte regelmäßig übersprungen: B1, B5, B9, BD etc.

Hat jemand Ahnung, wie man hier vorgehen muß und welche Bedeutung die Nachrichten der Länge 1 haben? Gibt es Material, Links?
Nach oben
rathma
Gast




 


Kostenloser Account, kein CAN Entwicklungs-Support

Beitrag14-11-2007, 20:34    Titel: Re: Diagnose-CAN-Bus anreizen (VW) Antworten mit Zitat

B(x) ist die bestätigung das was empfangen wurde.

viel spass beim rausfinden wie das transportprotukoll läuft.

zur info, das sind gleich zwei protukolle auf einmal 1x das transportprotokoll 1x das kwp2000

mit den tp 2.0 hab ich mich noch nicht so auseinander gesetzt, ich weiss bloss, das es noch zweitkritischer ist als beim tp.1.6, wobei ich beim 1.6er das genaue timing auch noch nicht so raus habe, ich antworte da immer so schnell wie möglich, wobei ich dann auch ab und zu zu schnell geantwortet habe.

ich hab mir so 2 - 3 logs ausgedruckt paar buntstifte in die hand genommen und dann mal rechnen angefangen... so schwer ist das mit den tp nicht wenn mans mal raus hat icon_smile.gif
Nach oben
frogger
Gast




 


Kostenloser Account, kein CAN Entwicklungs-Support

Beitrag15-11-2007, 9:28    Titel: Re: Diagnose-CAN-Bus anreizen (VW) Antworten mit Zitat

Wenn eine Botschaft (eine Zeile) oder auch mehrere (ein ganzer Block) mit der ID 0x300 auf dem Bus liegt, dann ist offenbar immer das erste Byte einer jeden Zeile wichtig:

0x2y bedeutet: Datenzeile y
0x1y bedeutet: Ende eines Datenblock mit Zeile y
0xBy bedeutet: Quittierung der zuletzt empfangenen Zeile y eines Datenblocks
0xA0 bedeutet: Connection Setup Request (Byte 2 enthält Blockgröße n)
0xA1 bedeutet: Connection Setup Response
0xA3 bedeutet: Connection Test
0xA4 bedeutet: Break
0xA8 bedeutet: Disconnect

Bitte vervollständigen :D

So sende ich mit ID 0x740, wobei eine fremdgesendete Botschaft 0x300 immer quittiert. Empfange ich jedoch Botschaften mit 0x300, so muß ich immer mit einer Botschaft 0x740 quittieren.

Was das Anreizen von Botschaften betrifft, so wird es schwieriger, herauszufinden, was da gesendet werden muß. Ne Menge Datenfelder mit rätselhafter Bedeutung... :?

EDIT: Es ist mir jetzt möglich, kontinuierlich Meßwertblöcke anzufordern. Nach ca. 30 Blöcken endet die Kommunikation aber mit 0xA8 icon_sad.gif. 0x740 (also ich) sende dabei immer 5 Bytes mit dem ersten Byte 0x1y (letztes Nibble y hochzählen zw. 0x1 und 0xf, dann wieder bei 0 beginnen). Diese Botschaft enthält als letztes Byte die gewünschte Adresse des Meßwertblocks.


Zuletzt bearbeitet am 15-11-2007, 13:27, insgesamt 2-mal bearbeitet.
Nach oben
rathma
Gast




 


Kostenloser Account, kein CAN Entwicklungs-Support

Beitrag15-11-2007, 11:05    Titel: Re: Diagnose-CAN-Bus anreizen (VW) Antworten mit Zitat

vielleicht machst was mit den kwp2000 falsch oder du fliegst aus den netzwerkmanagement, keine ahnung(ferndiagnose ist da immer schlecht, am besten mal einen trace hier posten vom allen nachrichten die du sendetst um empfängst), vielleicht sendest du aber auch zu langsam oder zu schnell.

deine auflistung ist eigendlich soweit richtig(zumindest wenn ich von tp.16 ausgehe) a3 ist erst beim tp 2.0 dazugekommen, damit hab ich mich noch nicht auseinander gesetzt(mangels golf5 und und zeit zum spielen).

hast du eigendlich rausgefunden was diese zwei eröffnungnachrichten bedeuten:
<< 0x740 6 a0 0f 8a ff 32 ff
>> 0x300 6 a1 0f 8a ff 4a ff


ganz am anfang hatte ich mal vermuted das es wirgenwelche checksummen, timinggeschichten sind aber das wars nicht.

gruss markus

ps mach das "?" bei a8 weg icon_biggrin.gif
Nach oben
frogger
Gast




 


Kostenloser Account, kein CAN Entwicklungs-Support

Beitrag15-11-2007, 11:37    Titel: Re: Diagnose-CAN-Bus anreizen (VW) Antworten mit Zitat


hast du eigendlich rausgefunden was diese zwei eröffnungnachrichten bedeuten:
<< 0x740 6 a0 0f 8a ff 32 ff
>> 0x300 6 a1 0f 8a ff 4a ff

Wenn ich eine Botschaft mit 0xA3 nach jeder Datenblockquittierung rausschicke, dann erhalte ich

>> 0x300 6 a1 0f 8a ff 4a ff

Darauf kann ich dann mit einer Meßwertanfrage antworten

<< 0x740 5 11 00 02 21 xx (xx ist die gewünschte Nummer des Meßwertblocks)

Wenn ich diese Vorgehensweise kontinuierlich durchziehe, dann kann ich den das Protokoll aufrechterhalten. In den Logs ist jedoch zu erkennen, daß VAG-Com 0xA3 nur alle 0xF Datenblöcke auf den Bus legt -- das scheint auszureichen. Warum ich die Botschaft mit Byte 0xa1 ständig anfordern muß, weiß ich nicht...


ist erst beim tp 2.0 dazugekommen, ...


Ist TP 2.0 ein offenes Protokoll? Sind die Specs zu haben? Wie steht es um KWP2000?


ps mach das '?' bei a8 weg icon_biggrin.gif
erledigt icon_biggrin.gif
Nach oben
rathma
Gast




 


Kostenloser Account, kein CAN Entwicklungs-Support

Beitrag15-11-2007, 12:01    Titel: Re: Diagnose-CAN-Bus anreizen (VW) Antworten mit Zitat

das kwp2000 verwenden viele autohersteller, leider hab ich nach stunden langen sachen bei google nicht wirklich was gefunden was ins detail geht icon_sad.gif

für das transportprotukoll liegt die osek spezification zu grunde, die wurde aber mit sicherheit von vw noch ein bisschen an eigene bedürfnisse angepasst.
die osek org (irgendwie ein zusammenschluss aus vag bmw mb opel bosch siemens...) haben glaub ich die doc frei im internet zur verfügung gestellt(in englisch), schau dich einfach mal bei denen auf den ftp server um
http://www.osek-vdx.org/

gruss
markus
Nach oben
frogger
Gast




 


Kostenloser Account, kein CAN Entwicklungs-Support

Beitrag15-11-2007, 13:08    Titel: Re: Diagnose-CAN-Bus anreizen (VW) Antworten mit Zitat

Ich habe mir mal folgendes (sehr aktuelles) Buch ausgeliehen:

Bussysteme in der Kfz-Technik
Zimmermann, Schmidgall
ISBN 3-8348-0235-2
2. Auflage 4/2007
hier das Inhaltsverzeichnis

TP 2.0 und KWP2000 sind hier detailliert erläutert (so scheint es). Ich zieh ich mir das mal jetzt rein, bevor ich weitermache...

PS: Ich habe die Liste oben schon etwas vervollständigt. 0xA0 ist ein 'Connection Setup Request', 0xA1 ist die dazugehörige Antwort ('Response'). Aufbau wie folgt:

Byte 2: Blockgröße n, d. h. nach n Datenzeilen ist eine Quittierung nötig ( 1 bis max. 15)
Byte 3: max. zulässige Zeit T1 zw. letzter Botschaft eines Blocks und der Quittierung
Byte 4: T2 nicht definiert (i. d. R. 0xFF)
Byte 5: min. notwendige Zeit T3 zw. zwei aufeinanderfolgenden Botschaften
Byte 6: T4 nicht definiert (i. d. R. 0xFF)

(T1 bis T4 sind 6-Bit-Werte mit 2-Bit-Skalierungsfaktor; Faktor zeigt an, ob 100 Mikrosek, 1 ms, 10 ms oder 100 ms)


Zuletzt bearbeitet am 15-11-2007, 16:17, insgesamt 2-mal bearbeitet.
Nach oben
Frank5
Gast




 


Kostenloser Account, kein CAN Entwicklungs-Support

Beitrag15-11-2007, 14:08    Titel: Re: Diagnose-CAN-Bus anreizen (VW) Antworten mit Zitat

Hallo
Wokann man sich denn so ein gutes Buch ausleihen??
Bei uns in der Bücherei sind die Bücher allemind.10Jahre alt. Und das Buch neu kaufen ist leider auch nicht drin.
Gruss
Frank
Nach oben
frogger
Gast




 


Kostenloser Account, kein CAN Entwicklungs-Support

Beitrag15-11-2007, 14:14    Titel: Re: Diagnose-CAN-Bus anreizen (VW) Antworten mit Zitat

am besten in die Uni-Bibliothek deines Vertrauens gehen. Da können i. d. R. auch Nicht-Studenten Bücher ausleihen.
Nach oben
Maxx
Gast




 


Kostenloser Account, kein CAN Entwicklungs-Support

Beitrag15-11-2007, 15:41    Titel: Re: Diagnose-CAN-Bus anreizen (VW) Antworten mit Zitat

Das ist ja ein geniales Buch.
Lohnt sich ein Kauf? icon_confused.gif

SGM
Nach oben
rathma
Gast




 


Kostenloser Account, kein CAN Entwicklungs-Support

Beitrag15-11-2007, 15:44    Titel: Re: Diagnose-CAN-Bus anreizen (VW) Antworten mit Zitat

also doch timing icon_smile.gif weisst du in was für einheiten (ms us sek?)

das buch muss ich haben icon_smile.gif einscannen und mir vorbeischicken (hat jetzt keiner gelesen) na schmarn kosted bei einen sehr bekannten buchhandel keine 40 euro und ich werd heute abend mal seid jahren wieder meine bücherrei aufsuchen
Nach oben
frogger
Gast




 


Kostenloser Account, kein CAN Entwicklungs-Support

Beitrag15-11-2007, 16:35    Titel: Re: Diagnose-CAN-Bus anreizen (VW) Antworten mit Zitat

also doch timing icon_smile.gif weisst du in was für einheiten (ms us sek?)

Der oben genannte Skalierungsfaktor bestimmt die Einheit. Hab's oben nachgetragen.

Den Teil mit TP 2.0 hab ich nun voll verstanden. Kleine Zusammenfassung:

1. Mit 'Basis-ID 0x200' einen Kanal aufbauen:
Byte 1: Logische Adresse (d. h. Steuergerätenr., z. B. 0x02 bei Getriebe)
Byte 2: Opcode
(u. a. 0xC0 für Request, 0xD0 für Positive Response)
Byte 3 und 4: RX ID (0x10 für ungültig)
Byte 5 und 6: TX ID (gewünschte ID für zu empf. Datenblöcke, z. B. 0x300)
Byte 7: Application Type (bei VW meist 0x01)
2. Erhalt der Antwort 'Basis-ID + Logische Adresse' (z. B. 0x202 bei Getriebe)
Bytes wie oben, Sender teilt TX ID mit, mit der man künftig Datenblöcke senden muß
3. Mit nun empfangener TX ID das Timing vereinbaren
4. usw.

Ansonsten: Das Buch ist leicht zu lesen, zudem ist es ziemlich aktuell (2. Auflage von 4/2007). Kauf lohnt sich wohl für interessierte.
Nach oben
rathma
Gast




 


Kostenloser Account, kein CAN Entwicklungs-Support

Beitrag15-11-2007, 17:12    Titel: Re: Diagnose-CAN-Bus anreizen (VW) Antworten mit Zitat

buch ist schon bestellt, blos mein buchladen meines vertrauens meint ca 8 tage lieferzeit. naja in der zwischenzeit gehts weiter mit treiberprogrammieren.

ein nachteil hat das buch aber, wenn alles so wie du meinst gut erklärt ist wird hier im board bald wieder totale funkstille sein icon_cool.gif
Nach oben
frogger
Gast




 


Kostenloser Account, kein CAN Entwicklungs-Support

Beitrag15-11-2007, 17:56    Titel: Re: Diagnose-CAN-Bus anreizen (VW) Antworten mit Zitat

ein nachteil hat das buch aber, wenn alles so wie du meinst gut erklärt ist wird hier im board bald wieder totale funkstille sein icon_cool.gif

Na, die CAN-Matrix eines jeden Fahrzeugherstellers wird nach wie vor nirgends zu lesen sein. Mal abgesehen von den sonstigen Eigenheiten eines jeden Herstellers bei den Protokollen...

Nach der Timing-Vereinbarung geschieht noch eine kleine Kommunikation, die ich nicht verstehe:

<< 0x740 5 10 00 02 10 89
>> 0x300 1 B1
>> 0x300 5 10 00 02 50 89
<< 0x740 1 B1
<< 0x740 5 11 00 02 1a 9b

Das erste Byte ist ja nun klar: 0x10 = Blockende + Sequenznummer 0. 0x300 sendet mir ähnliche Daten zurück, die Sequenznummer auf der anderen Seite ist ja auch 0. Nun sendet VAG-Com einen weiteren Block, wobei die Sequenznummer 1 ist (klar).

Was steht in der Nutzlast der Datenblöcke, die hier gesendet werden? Ist das schon KWP2000? Zumindest beim Motorsteuergerät kann ich diese Daten aber auch weglassen, geht trotzdem.
Nach oben
rathma
Gast




 


Kostenloser Account, kein CAN Entwicklungs-Support

Beitrag16-11-2007, 0:28    Titel: Re: Diagnose-CAN-Bus anreizen (VW) Antworten mit Zitat

das hat nix mehr mit tp öffnen oder so zu tun, das könnte eine eröffnung für kwp2000 sein, so in der richtung hallo ich will kwp oder diagnose oder flashen .... sicher kann ich es dir nicht sagen.

gruss
markus
Nach oben
frogger
Gast




 


Kostenloser Account, kein CAN Entwicklungs-Support

Beitrag16-11-2007, 14:49    Titel: Re: Diagnose-CAN-Bus anreizen (VW) Antworten mit Zitat

Ich hab jetzt mehr Infos, wie der KWP2000-Teil auf dem Diagnose-Bus funktioniert (genauere Infos im genannten Buch):

Beispiel-Botschaft:

<< 0x740 5 10 00 02 10 89

Die Nutzlast eines TP 2.0-Datenblockes sieht so aus (Bytes zähle ich ab ersten Nutzlast-Byte):

Byte 1 und 2: Länge der Nutzlast in Bytes (im Beispiel 2)
Byte 3: SID (Service Identifier), d. h. ausgewählter Dienst (z. B. 0x10 = Start Diagnostic Session, 0x1A = Read ECU Identification, 0x21 = Auslesen von Steuergerätewerten)
Byte 4: Irgendein Parameter, abhängig von der SID (Bei SID 0x10 eine 1-Byte-Session-Nummer, 0x89 bis 0xFE sind dabei herstellerspezifische Sessions; bei SID 0x21 wird die gewünschte Meßwertblock-Nummer erwartet)

Die Antwort auf so eine KWP2000-Botschaft sieht ähnlich aus. Beispiel zur obigen Botschaft:

>> 0x300 5 10 00 02 50 89

Byte 1 und 2: die Länge wie gehabt
Byte 3: bei positiven Antworten wird der gesendete SID (im Beispiel 0x10) mit 0x40 verknüpft (macht im Beispiel 0x50). Bei einer negativen Antwort ist die SID = 0x7F.
Byte 4: Bei einer negativen Antwort wird hier die SID wiederholt. Bei einer pos. Antwort wird hier offenbar der gesendete Parameter wiederholt (im Beispiel 0x89).
Byte 5: Bei einer negativen Antwort der Fehlercode (0x10 = general reject, 0x11 = service not supported, 0x12 = subfunction not supported, etc.)

Für eine negative Antwort kann man mal einen nicht vorhandenen Meßwertblock anfragen.

Das obige Beispiel zeigt also die Eröffnung einer Diagnose-Session über KWP2000. Die Session 0x89 ist herstellerspezifisch. Per Default befindet sich ein Steuergerät in der Default Diagnostic Session, wo nur eigeschränkte Dienste verfügbar sind (aus Sicherheitsgründen). Ich denke, daß man in der Default Session z. B. nicht Werte in die Steuergeräte schreiben kann. Die Eröffnung einer Session muß man also nur bei besonderen Wünschen vornehmen, kann ansonsten aber ausbleiben.
Nach oben
Neues Thema beginnen Auf Beitrag antworten Weitergeben, Thema teilen Lesezeichen setzen Druckansicht CANhack.de - Übersicht » Diagnose CAN
Gehe zu Seite: 1, 2  Weiter
Ähnliche Fachartikel und Themen
Thema Community Bereich
Keine neuen Beiträge CAN / Diagnose LCD CAN-Bus Allgemein
Keine neuen Beiträge LKW Diagnose Diagnose Software
Keine neuen Beiträge Diagnose CAN bei VW und Audi Diagnose CAN
Keine neuen Beiträge Carport-Diagnose und RKS+CAN Diagnose Software
Gehe zu:  
Du kannst keine Beiträge in dieses Forum schreiben.