Automatische ISOTP-Fragmentierung erkennen
- DrMickeyLauer
- Autor
- Offline
- Neues Mitglied
- Softwarearchitekt, Autor, Musiker
Der UniCarScan verhält sich hier im Rahmen der Spec und durchaus vorbildlich.
Jetzt frage ich mich nur noch, warum mein (handelsübliches) Steuergerät nicht auf meinen Request antwortet, obwohl er doch vom UniCarScan vollständig transportiert wird…
Developer of automotive diagnostic tools and flash updaters for iOS.
Bitte Anmelden oder Registrieren um der Konversation beizutreten.
- DrMickeyLauer
- Autor
- Offline
- Neues Mitglied
- Softwarearchitekt, Autor, Musiker
"""An ISO-TP frame is always 8 bytes long and unneeded bytes filled with the padding byte as 0xAA or 0x55""".
Das entspricht auch dem Verhalten aller anderen Adapter, die ich kenne. Insofern – wenn ich das Verhalten nicht ändern kann – kann ich den UniCarScan nicht für UDS over ISOTP benutzen.
Developer of automotive diagnostic tools and flash updaters for iOS.
Bitte Anmelden oder Registrieren um der Konversation beizutreten.
- admin
- Offline
- Administrator
- WGSoft.de Support
Hier steht "unneeded". Also keine Fill-Bytes und die Datenlänge muss immer 8 sein. Wenn 12 Bytes zu versenden sind, dann sollten also 16 gesendet werden und der Adapter wird das korrekt segmentieren.An ISO-TP frame is always 8 bytes long and unneeded bytes filled with the padding byte as 0xAA or 0x55.
Gruß
Wladimir Gurskij
Bitte Anmelden oder Registrieren um der Konversation beizutreten.
- DrMickeyLauer
- Autor
- Offline
- Neues Mitglied
- Softwarearchitekt, Autor, Musiker
Aber hier gerne auch noch mal etwas "offizielles":
In ISO14229-3 Unified Diagnostic Services on CAN implementation (UDSonCAN) findet man unmißverständlich folgenden Abschnitt:
11 Data link layer diagnostic implementation requirements
11.1 Usage of legislated 11-bit OBD CAN Identifiers for enhanced diagnostics
The 11-bit CAN Identifiers for legislated OBD can also be used for enhanced diagnostics (e.g. the functional request CAN Identifier can be used for the functionally addressed TesterPresent (0x3E) request message to keep a non-defaultSession active).
If the 11-bit CAN identifiers are used for enhanced diagnostics as specified in ISO 15765-4, then the following requirements apply:
a) the network layer timing parameters according ISO 15765-4 shall also apply for enhanced diagnostics;
b) the DLC (CAN data length code) shall be set to eight and the CAN frame shall include eight bytes (unused bytes shall be padded).
11.2 Usage of legislated 29-bit OBD CAN Identifiers for enhanced diagnostics
The 29-bit CAN Identifiers for emissions-related legislated OBD servers comply with the normal fixed addressing format specified in ISO 15765-2 and can also be used for enhanced diagnostics.
If the 29-bit CAN identifiers as specified in ISO 15765-4 are re-used for enhanced diagnostics, then the following requirements apply:
a) the network layer timing parameters as specified in ISO 15765-4 shall also apply for enhanced diagnostics;
b) the DLC shall be set to eight and the CAN frame shall include eight bytes (unused bytes shall be padded).
Mit "the DLC (CAN data length code) shall be set to eight and the CAN frame shall include eight bytes" scheint mir völlig klar: Für UDS ist also DLC=8 mit Padding Pflicht und das ist der Grund, warum mein Steuergerät auf die Frames vom UniCarScan nicht antwortet.
Developer of automotive diagnostic tools and flash updaters for iOS.
Bitte Anmelden oder Registrieren um der Konversation beizutreten.
- admin
- Offline
- Administrator
- WGSoft.de Support
Gruß
Wladimir Gurskij
Bitte Anmelden oder Registrieren um der Konversation beizutreten.
- DrMickeyLauer
- Autor
- Offline
- Neues Mitglied
- Softwarearchitekt, Autor, Musiker
Developer of automotive diagnostic tools and flash updaters for iOS.
Bitte Anmelden oder Registrieren um der Konversation beizutreten.