Servus.
Ja, ich habe diese 'Matrix', also den Nachrichtenkatalog hier liegen.
Den habe ich mir in rund 10 bis 12.000 Stunden selbst erarbeitet und kenne nun jedes Bit, zumindest aus dem Komfort/Infotainment Bereich.
Der Ablauf beim MFL ist der folgende:
Das Lenksäulensteuergerät triggert alle paar mS den Zustand der Tasten des MFL ab (Via LIN Bus).
Das Ergebnis wird nun von diesem Steuergerät an das Bordnetz Steuergerät (LIN Bus -> z.B. Golf 4, T5 2003 bis 2009 usw) ODER an das Gateway (CAN Komfort) gegeben.
Wird es an das Gateway via CAN gesendet, so sieht die Nachricht immer gleich aus... Sie ist ein Byte lang.
Das CAN Gateway setzt den Kram nun für den Infotainment CAN um.
Je nach verbauter Gateway Version wird eine 2,3,4 oder 6 Byte Nachricht draus.
Bis auf das erste Byte (da sind die Infos über den Tastenzustand drin) sind die weiteren Bytes mit 0x00 aufgefüllt.
Das Radio schaut nun nicht nur stumpf in den Wert des Byte1 hinein, es erwartet auch, je nach Baujahr des Gerätes bzw. Teileindex, eine bestimmte Nachrichtenlänge.
Das 'Nichtfunktionieren' des MFL nach einem Softwareupdate des Radios (z.B. RNS 510) ist also vom Konzern gewünscht, denn es besteht kein weiterer Anlass dazu eine Nachricht künstlich um bis zu 5 Bytes zu erweitern, die gar nicht genutzt werden können.
Evtl. kennen auch einige von Euch das Phänomen, dass sich die Autobatterie nach einem Softwareupdate des RNS 510 entladen hat...
Auch hier lag es nur daran, dass die Länge der Statusnachricht des RNS 510 verändert wurde (von 6 auf 8 Byte), das Gateway aber nur 6 Bytes durchgelassen hat...
Im letzten Byte steht aber die Info für alle anderen Busteilnehmer drin 'Ich würde jetzt gerne schlafen gehen'...
Also wurde nach dem Abstellen des Autos die ganze Zeit der CAN Bus wachgehalten... Nach dem Einbau eines neuen Gateways war der Fehler dann weg.
Ich kann an dieser Stelle nur noch mal den Hinweis geben: Schaut euch die CAN Nachrichten nicht hexadezimal, sondern binär an.
Der Wert z.B. 0xA0 ist nichtssagend...
Die Schalterstellung der Bits auf binärer Ebene '10100000' sagt da schon mehr aus, besonders wenn sich der Wert plötzlich ändert.
Nur so könnt ihr 'jeden Schalter' einer Funktion zuordnen...
Wer evtl. mit einem Megahirn ausgestattet ist und sich HEX Werte in Echtzeit binär darstellen kann, kann darauf verzichten
Ich kann das, wie viele hier, nicht.