Gestern ist mein Bastel-Convers+ gekommen. Es ist vom vFL, aber ich gehe davon aus das es zum FL nur den Unterschied mit den zusätzlichen Zeigern für Tank und Motortemperatur gibt und hoffe das die Software und Funktionen soweit gleich sind. Habe natürlich gleich einen Testaufbau gemacht. Nun kann ich endlich auch dessen Geheimnisse lüften!
Mit dem IPC-Stecker aus meinem Reserve-Kabelbaum erstmal mit +12V versorgt und siehe da, es sringt sofort an. Zeigt aber erstmal nur das Ford-Logo und km-Stand, etc. So als hätte man das Auto gerade geöffnet. Wow, der KM-Stand beträgt nur knapp 22.000. Hmmm dafür sieht es mir eigentlich zu alt aus... Naja, darum kümmer ich mich später auch noch
Um es bedienbar zu bekommen muss ich wohl wenigstens die Zündung simulieren. Also flux einen CAN-Transmitter an den MS-CAN des IPC angeschlossen und mit CANHacker die Zündung simuliert. Wow, was für ein Getöse! "Ding-Dong" und "Düdel-düdel-düd" usw. weils es nen Haufen Fehler erkennt ("Motorstörung" und was alles mögliche leuchtet).
Damit ich was tun kann, z.B. "OK" drücken, habe ich dann noch einen rechten Tastenblock ("Steuerkreuz") damit verkabelt. Widerstandsleiter für die Pfeile und Schaltsignal für den "OK" Knopf verbunden und schon kann ich durch die Menüs navigieren. Dort wird natürlich erstmal nur Bordcomputer und Einstellungen angezeigt.
Um noch etwas über das Modul zu erfahren noch einen ELM-Adapter mit an den CAN-Bus und mal die DTCs gelöscht und die Infos gelesen:
Um es so kompatibel wie möglich zu meinem Convers+ (FL) zu machen, würde ich alsbald ein Firmware-Update auf die letzte Release aufspielen. Auch muss ich dem Ding mal meine CCC verpassen. Anders als die sonstigen Module "empfängt" das IPC die CCC ja nicht über den Bus, sondern hält diese selbst im Flash oder einem EEPROM vor.
Aber zuerst untersuche ich mal die CAN-Busse. Das IPC hat zwei, einen zum MS-CAN für die gesamte Fahrzeugkommunikation und einen zum MM-CAN an dem eigentlich nur das Radio dran hängt. An beide CANs hab ich mal einen CAN-Sniffer angeschlossen und mit CANHacker gelauscht. Nun weiss ich auch endlich welche CAN-IDs vom IPC kommen Meine persönliche CAN-DB hat damit nun fast keine Lücken mehr, auch wenn ich noch nicht alle Nachrichten entschlüsselt hab. Die Herkunft der Nachrichten ist fürs Reverse-Engineering äußerst wichtig, denn darüber kann man oft erahnen was in den Nutzdaten so drin stehen könnte.
Dann habe ich ein wenig mit CAN-Botschaften rumgespielt die ich so kenne. Z.B. blinken. Dieses erzeugt normal das BCM. Es steuert wann welche Lampe an und ausgeht. Man kann also damit auch das Blinkintervall bestimmen. Hab dann mal nene Wechselblinker gemacht. Sieht lustig aus
Anschließend mal eine Replay-Attacke: Ich hab div. Aufzeichnungen vom MS-CAN während einer kompletten Fahrt. Darin sind natürlich auch die IPC-CANs enthalten. Wenn ich dieses Log einfach abspielen lasse, würden die IDs kollidieren. Nachdem ich aber nun wusste welche IDs vom IPC erzeugt werden, konnte ich diese vorher aus dem Log herausfiltert. Dann den Rest einfach mit CANHacker "abspielen" lassen und alles sieht aus als säße man im Auto. Drehzahl, Geschwindigkeit, Licht, Blinker, ... sozusagen ein Fahrsimulator für Arme
Kollege Zufall hat mich dann auch den CAN-Botschaften der Standheizung näher gebracht. Ich hab einfach versucht mir unbekannte CAN-IDs, also von denen ich bislang nicht weiss wer sie erzeugt und was sie beinhalten, dem IPC vorzuspielen um zu sehen wie es darauf reagiert. Gleich die erste war ein Volltreffer und im Display stand "Zusatzheizung aktiv"! Als ich die Botschaft näher untersuchte stellte sich raus das die vom BCM erzeugt wird. Den Verdacht hatte ich schon länger, werde dem aber weiter nachgehen.
Weiterhin will ich noch herausfinden wie man die einzelnen Instrumente geziehlt ansteuert. Datum und Uhrzeit sind kein Problem, das kann ich schon, aber Drehzahl, Tacho, etc. muss ich noch finden. Wenn ich was brauchbares hab, mach ich mal nen Video Anschließend gehts ans Eingemachte, denn selbstverständlich mache ich auch einen elektronischen Teardown. Mal schauen was im EEPROM (24C16) so alles drin steht. Ich berichte...