Beiträge von Go4IT

    Wunderbar! Die JTAG-Pins für den direkten Zugriff auf den Chip hatte ich schonmal identifiziert:

    Aber um diese Positionen den Header-Pads zuordnen zu können hätte ich den Chip auslöten müssen, womit ich aber die Platine technisch unbrauchbar gemacht hätte weil so einen BGA-Chip wieder sauber drauf zu bekommen bedarf Spezialequipment und viel Erfahrung. Nun hat jemand anderes das getan, klasse und ich weiß auch endlich ein paar Belegungen des von mir schon entdeckten Headers: https://mk4-wiki.denkdose.de/artikel/abs/te…rt#die_bauteile

    Auf der Platine ist ja auch noch ein externes EEPROM (ST 9504W). Dieses hatte ich bei meinem Bastel-ABS schonmal ausgelötet und ausgelesen.

    Die Firmware selbst bekommt man ja, wie praktisch alle anderen auch, kostenlos von Ford, passend zu jedem Hardware-Typ. Was da dann noch für ein vollständiges Abbild fehlt ist der Bootloader des Mikrocontrollers (ein TMS470R1VF478), aber der ist auch nur wichtig wenn man den Chip extern komplett ersetzen oder reflashen möchte.

    Hier ein Schema des Chips und seiner integrierten Komponenten:

    Und hier die Memory-Map:

    Und noch ein paar Fakten die ich zusammengetragen habe aus meinen Unterlagen:

    • Die sog. Schlüssel-Codes (ID des Zündschlüssels) werden nur im BCM, bzw. bei Fahrzeugen mit Keyless-Go zusätzlich noch im RFA abgelegt. Diese liegen nicht im ABS oder PCM, dort wird nur der SYNC-Code gespeichert.

    Also bei meinem Fahrzeug hab ich das neue BCM eingebaut hab dann die Asbuilt Daten aufgespielt danach die Schlüssel gelöscht und auch meine angelernt danach hab ich erst die Modul initialisierung durchgeführt.

    Ja, genau so macht man es ja auch, selbst bei Ford. Es gibt wohl noch eine Variante die löschen und neuanlernen in einer Prozedur vereint. Die Variation dabei ist die Art die neuen Schlüssel anzulernen. Im Prinzip ist das aber immer dasselbe, man steckt die Schlüssel ab einem Startzeitpunkt nacheinander ins Schloß und dreht auf Position 1 ("ACC") und zurück. Das ganze muss man im richtigen Timing machen, damit es akzeptiert wird.

    Es gibt ja auch die Möglichkeit die Anlernprozedur ohne Programmiergerät durchzuführen, indem man mit einem Schlüssel ich glaube 6mal von "0" (OFF) auf "1" (ACC) und zurück dreht. Danach gibt es einen Quittierton und dann lernt man die Schlüssel mit fast derselben Prozedur an, drückt aber anstelle "OK" auf dem Tester dann einen Knopf auf der Funkvernbedienung.

    Das alles gibt uns die Sicherheit das rein das BCM für die Wegfahrsperre zuständig ist. Die Nebenmodule ABS, PCM, RFA dienen nur der zusätzlichen Sicherheit. Das finde ich wichtig, weil z.B. im Original Ford IDS ja angezeigt wird wo die Kontroll-Funktionen vom PATS ablaufen und das könnte ja auch das PCM sein, hier mal ein Screenshot aus einer anderen Sitzung mit einem anderen Fahrzeug:

    Beim Keyless ist die Sache noch ein Stückchen anders weil es praktisch nur die Schlüsselpositionen 0 (OFF) und 2 (ON) gibt, die Stellung 1 (ACC) hat man nicht. Jedoch verhindert die Wegfahrsperre das man mit einem ungültigen Schlüssel auf 2 kommt, ergo sieht man im IPC nur die Meldung "Wegfahrsperre aktiv" und sonst passiert nichts. Hier muss man mit anderen Mitteln dafür sorgen das die benötigten Module "aufwachen" bzw. nicht mehr einschlafen. Das geht entweder direkt bei CAN-Bus (über OBD) oder überbrücken des Battery-Safer Relays.

    Ich habe auch nochmal meine alten Reverse-Engineering Unterlagen vom BCM rausgekramt falls da noch was interessantes dabei sein sollte. Muss ich aber noch in Ruhe durchackern.

    Das PDF ist interessant, da kann man weitere Erkenntnisse draus gewinnen. Was es uns verrät ist, das der SYNC code 8 Byte lang ist, von der ABS Hardware-ID die letzten 6 Ziffern im Verfahren benötigt werden und das es das BCM ist, welches über IMMO ON oder IMMO OFF entscheidet. Mehr aber auch nicht. Das China-Platinchen für 5€ ist ein günstig aufgebauter CAN-Filter, aufgebaut vermutlich mit einem STM32 Mikrocontroller und den Transceivern drumherum. Der soll dem BCM vorgaukeln das am Fahrzeug noch alles ist wie immer, selbst wenn PCM oder ABS (RFA evtl. auch...) getauscht wurden. Dazu wird der Filter mit dem SYNC Code und der ABS-ID programmiert und simuliert diese dann fortan, indem es die Antworten dieser Module, bei Anfrage durch das BCM abfängt und durch eigene Antworten ersetzt, oder sogar die Anfragen an die Module selbst schon rausfiltert. Wie man an SYNC Code und ABS-ID kommt beschreibt die kleine Anleitung ebenfalls nicht. Ist aber auch egal.

    Wichtig für uns ist, das hier die Kommunikation zwischen den Modulen über den HS-CAN Bus läuft. Da die Module bei jedem Versuch das Fahrzeug in den Startzustand zu versetzen miteinander reden müssen, bietet das die Chance die Kommunikation zu belauschen. Hier müsste ja dann der SYNC Code zu finden sein. Da dieser ja 8 Byte lang ist würde sogar eine Botschaft auf einer CAN-ID dazu ausreichen. Wenn man also seinen SYNC Code kennt, findet man die entsprechende Botschaft vermutlich sehr schnell über einen CAN Log.

    Soweit mir bekannt gibt es folgende Grundfunktionen (auf Layer 8 ;)) :

    1. "Ignition Key Programming"
    2. "Ignition Key Erase"
    3. "Module Initialization"

    Mit Funktion 1 fügt man neue, weitere Schlüssel dem PATS System hinzu. PATS kann bis zu 8 Schlüssel verwalten, sprich es sind so viele Speicherplätze in den Modulen für Schlüsselcodes vorgesehen. Zum hinzufügen eines neuen Schlüssels wird lediglich dieser neue benötigt.

    Da es auf Bedienerebene (möglicherweise sogar auf Programmebene) keine Möglichkeit gibt einen einzelnen Schlüssel zu löschen, bleibt einem für den Fall das einer abhanden kommt nur sämtliche Schlüssel mit der Funktion 2 zu löschen und alle neu zu programmieren.

    Das reine löschen aller Schlüssel mit Funktion 2 wäre natürlich sinnlos. Diese Funktion ist nur die Vorbereitung zum neuprogrammieren von mindestens 2 Schlüsseln mittels Funktion 1. Erst dann wird die Wegfahrsperre deaktiviert (DTCs löschen natürlich). Ob dies nun die alten oder komplett neue Schlüssel sind ist dabei egal.

    Demnach müsste Funktion 2 ja alle Schlüssel aus allen Modulen entfernen. Der Vorgang kann z.B. auch mit FORScan durchgeführt werden. Dabei wird vermutlich eine sichere Diagnosesitzung (Typ 0x27) mit dem BCM hergestellt, die Schlüssellöschungsfunktion aktiviert und diese macht dann alles weitere. Das ist nur Spekulation, es kann auch alles ganz anders sein!

    Beim programmieren des Schlüssels wird ebenfalls eine sichere Verbindung mit dem BCM hergestellt und die Anlernprozedur gestartet. Der Empfänger des Transponders im Schlüssel (also nicht der aktive Sender bei Keyless-Schlüsseln) muss dabei in der Nähe vom Zündschloss sein. Dafür haben Keyless-Fahrzeuge extra einen kleinen Schacht (eigentlich für den Notfall, wenn der Transponder nicht mehr funktioniert) wo sonst das Zündschloß sitzt. Aber auch bei schlüsselgestarteten Fahrzeugen befindet sich hier der RFID-Empfänger welcher wiederum direkt mit dem BCM verbunden ist.

    Die Prozedur geht davon aus das ein Schlüssel im Lenkradschloß steckt mit dem man zumindest die Stromzufuhr für die Module hat aktivieren können, ohne die ist ja eine Programmierung nicht möglich (hier ist das kleine Henne/Ei Problem von Keyless versteckt). Für den nachfolgend zu programmierenden Schlüssel geht die Prozedur davon aus das der zuvor programmierte noch im Schloß steckt und auf Position "1" steht.

    So wird man nach dem Start der Funktion 1 aufgefordert den Schlüssel auf Stellung "0" (OFF) zu drehen und zu entfernen, den neuen einzusetzen und mit diesem dann wieder auf Position "1" zu gehen. Sobald man die Zündung abgeschaltet hat beginnt ein Timer von 10 Sekunden. Schafft man es innerhalb dieser Zeit nicht den neuen Schlüssel einzustecken und auf Stellung "1" zu drehen, wird der Vorgang abgebrochen. Das BCM wird nur den zuletzt empfangenen Schlüsselcode beim Wechsel von Position "0" auf "1" auslesen und speichern. Hat man es geschafft, bestätigt man mit "OK" und der Schlüssel ist programmiert. Das ganze macht man für zwei Schlüssel und die Wegfahrsperre ist überwunden.

    Das PATS hat eine Funktion um die Anzahl der aktuell programmierten Schlüssel abzufragen, für gewöhnlich sind das 2. Das wird auch immer in den Menüs angezeigt.

    Wichtig: Programmiert man alle Schlüssel neu, muss man anschließend die Funktion 3 "Module Initialization" durchführen um den Immobilizer entgültig weg zu bekommen.

    Und damit nicht jeder damit rumspielen kann wie er will, hat Ford sich selbst noch als "man-in-the-middle" reingesetzt und die Sache mit den In/Outcodes eingebaut. Dieser Code wird einmal benötigt um die Funktion 1 überhaupt aufrufen zu können. Das und noch eine Zwangswartezeit von 12 Minuten beim aktivieren des sicheren Zugangs zum BCM sollte verhindern das Diebe das PATS all zu einfach zurücksetzen und das Fahrzeug mit neuen Schlüsseln ausstatten können. Zuerst noch mit einem In/Out-Code den man sich quasi über das interne Ford-Portal erstellen lassen konnte (gib Incode ein, erhalte den Outcode und mach damit was Du willst, ohne zeitliche Begrenzung). Ab dem Facelift wurde das System geändert und diese Kommunkation ging nur noch von der IDS-Software direkt aus zu Ford und zurück. Man benötigte also während der Programmierung, Live einen Zugang zum Ford-Netzwerk. Das machte es erstmal unmöglich Codes auszuschleusen, hierzu musste man den Schritt selbst "ausbauen" bzw. simulieren. Wie auch immer das den FORScan Entwicklern gelungen ist, sie haben es angeblich geschafft.

    Und, das sei noch gesagt, egal welche Software man nutzt, wie auch immer sie heißt und daher kommt, dieser Vorgang ist immer gleich, verwendet auch die gleichen Begriffe, einfach weil sie in der Firmware vom BCM so und nicht anders vorgesehen sind. Der Tester fungiert hier nur als "Bedienkonsole", er kann die Abläufe ansich aber nicht ändern. Daher wird man auch nicht auf noch so teuren Testern Funktionen wie das löschen einzelner Schlüssel, oder das nachprogrammieren einzelner Module im PATS finden. Um sowas zu machen muss man schon sehr genau wissen wie das intern alles funktioniert. Alles andere ist nur eine bessere Emulation von dem was Ford mit seinem IDS/FDRS macht.

    Und Du meinst das die ABS-Seriennummer nicht im Dump steht, nur auf dem Gehäuse? Das würde wenig Sinn machen, außer es handelt sich nur um eine Fabrikationsnummer.

    Ich habe auch den XProg, aber das ist ja eigentlich garnicht entscheidend. Entscheidend ist ja wie man an die Daten ran kommt? Wie hast Du es denn damit gemacht? Vermutlich Modul ausgebaut, gehöffnet und direkt Kontakte mit dem Programmer hergestellt? Das ist natürlich extrem aufwändig und im Fall des ABS auch invasiv, da dessen Deckel kaltverklebt ist, sich auch nicht mit Hitze sondern nur stumpfer Gewaltandwendung lösen lässt. Ich habe mehrere ABS-Module hier, vielleicht könnte ich die auf dieselbe Art wie Du mal auslesen.

    Was mir übers PATS bekannt ist, ist ja das jeweils 3 Module miteinander "gepaired" werden und nur in dieser Kombination ein Motorstart möglich ist. Der Motorstart selbst übernimmt das PCM und hier wird sicher auch die Startblockade implementiert. Das BCM hält vermutlich die Master-Funktionen um das PATS zu reprogrammieren. Dazu nimmt ein Tester Kontakt mit dem BCM auf, ruft die jeweilige Funktion auf und das BCM übernimmt die Regie. Es wird dann wohl die anderen Module ebenfalls in einen entsprechenden Zustand versetzen und z.B. deren Sync-Code löschen bzw. überschreiben. Die Sync-Code Generierung geschieht vermutlich ebenfalls im BCM. Wie dieser Code generiert wird ist mir nicht bekannt, aber ohne dieses Wissen wird es schwierig.

    Mein Anliegen damals war, ein anderes ABS einzubauen und ihm den Sync-Code des alten zu geben. Also wie bei einem Modul-Tausch, nur eben nicht mit komplettem zurückschreiben der Ursprungssoftware (das hätte das verbesserte ABS ja wieder zu einem 0815 gemacht), sondern eben nur den PATS relevanten Teil. Die Frage ist, ob es so einfach geht und ob die Module nicht beim Start den vom BCM erhaltenen Sync-Code mit irgendwas überprüfen?

    Ford bot ja auch mit IDS schon die Möglichkeit defekte Module zu ersetzen, natürlich hardwaregleich und fabrikneu. Versuchte man ein gebrauchtes damit zu verwenden scheiterte die Reprogrammierung. Ansonsten hat die Funktion mutmaßlich selbst nur einen Dump des EEPROM/Flash vom Modul durchgeführt (vermutlich lokal auf der Festplatte zwischengespeichert) und anschließend in das neue Modul wieder hochgeladen. Im Idealfall erkannte das PATS dann keinen Unterschied zu vorher. Eine Seriennummern-Komponente kann da ja eigentlich nicht im Spiel sein, denn sonst würde die interne Seriennummer nicht zu der auf dem Ersatzmodul passen. Dann hätte Ford das sicher anders konstruiert, z.B. erst Modul wechseln und dann halt einfach alle Schlüssel neu programmieren.

    Gibt doch mal bitte die vollständigen Daten des PCM (was Du MSG nennst, ein Kürzel was ich mal als Motorsteuergerät interpretriere) und ABS und BCM (wenn Schlüssel-Fahrzeug) oder RFA (wenn Keyless-Fahrzeug), sowie den Dumps die Dir vorliegen und wie Du diese erstellt hast. Um so eher kann man das mit anderen vergleichen um Zusammenhänge zu verfizieren.

    Wenn Du den Sync-Code erkannt hast dann müsste der ja auch im dritten Modul des PATS zu finden sein.

    Ich kenne den Anlernalgorithmus nicht, hatte mal vor langer Zeit mit jemandem zusammen versucht die Funktionen davon im BCM Code zu Disassemblen und zu verstehen, was in einem RTOS echt ein mühsames Geschäft ist, weil praktisch jede kleine Subfunktion über Mailboxen voneinander entkoppelt wird, man findet nur wenig "linearen" Code, meist zu wenig um die Gesamtfunktion zu verstehen.

    Klae ist nur das es beim PATS immer einen Herrn im Ring gibt, das dürfte das BCM sein.

    Das meine ich ja, dürfte einfach auch eine Frage des Alters sein. Daher halte ich eine gebrauchte Türdichtung auch für mutmaßlich wenig hilfreich. Man kann Glück haben, muss aber nicht. Gerade auf dem Versandweg. Hat man nen Schrotter vor der Haustüre der auch nen Mondeo hat könnte man sich das vor Ort ansehen, mir wär das aber zuviel Aufwand. Daher denke ich eine Türdichtung kauft man ja nur einmal im Autoleben nach, da sind die 90 oder 100€ ok für neu und original.

    Das ist normalerweise Meterware. Ford läßt sich die vom Lieferanten gleich abgelängt liefern und verlangt ganz toll viel Geld dafür.

    Genau das glaube ich auch. Ich habe schon ein paar "Hersteller" von solchen Dichtungen durch (z.B. https://www.graf-dichtungen.de/autotuerdichtung/) konnte aber genau diesen Querschnitt nicht finden. Auch scheint Ford den durchaus zu variieren, denn im Focus oder MK5 findet man andere Formen. Eine neue Dichtung für vorn kostet gute 90,- € ++ und das Zeug vom Schrotti ist zwar teils günstig (so ab 25,- € ++) aber dann auch schon 15-19 Jahre alt. Da kauft man sich womöglich dasselbe was man grad austauscht... am Ende werde ich dann wohl doch den Hunni hinlegen.

    Hallo Michael, wie bei jeder seriösen Suche nach noch unbekannten Fehlerquellen gilt auch hier:

    "Immer als erstes Fehlerspeicher (DTC) von allen Modulen auslesen"

    Damit beginnt jede Fehlersuche. Hierzu entweder eine FORD-Werkstatt aufsuchen oder bei der Freien Werkstatt nachfragen ob diese über das Ford IDS bzw. FDRS Diagnosesystem verfügen, sonst ist das auslesen vermutlich unvollständig.

    Aber unser Rat ist hierzu auch IMMER derselbe: Kauf Dir für 30 Öcken rum selbst einen OBD/USB-Adapter und lade Dir das kostenlose ForScan oder ELMConfig und mach die Fehleranalyse selbst. Spätestens beim zweiten Problem lohnt sich das! Schau ins Wiki, dort findest Du Adapter und Software erklärt, damit Du beim Kauf nicht auf die Nase fällst und Dir nen billigen China-Schrott andrehen lässt.

    Danach poste das Fehlerprotokoll hier und dann reden wir über weitere Hilfen/Maßnahmen. Alles andere ist reine Spekulation.

    So, ich hab das KI jetzt mal ausgebaut und die Lötstellen geprüft, konnte aber nichts auffälliges feststellen

    Ok, hast Du mit einem Mikroskop geprüft? Welche Vergrößerung, welcher Lichtwinkel? Mit bloßem Auge siehst Du da nichts.

    Die beste Prüfung, wenn Du das Ding schon zerlegt hast ist, den Stecker mal aufzustecken, das gane in Betrieb zu nehmen (Zündung an) und dann das KI mal mit den Händen links+rechts zu packen und leicht aber bestimmt zu verwinden. Sollte auf der Platine was nicht ok sein, im Sinne von kalten Lötstellen, lässt sich das so provizieren.

    Das mit den Rabattcodes ist immer so eine Sache... kleines Kaufmanns-Einmaleins: "Rabatt, Rabatt, das las Dir sagen, wird immer vorher draufgeschlagen"

    Und wenn es wirklich mal einer ist, dann geht es mit der Mischkalkulation wieder auf. Zudem sind die Zeiten der Globalrabatte eh bald Geschichte, dann bekommt jeder seinen persönlichen. Damit zu kalkulieren geht oft nicht auf. Auch weil man dafür in der Regel irgendwelche Newsletter abonnieren oder Daten hergeben soll oder es nur für die Erstbestellung gilt oder bei Vollmond im Februar, oder sonst irgendwelchen seltsamen Bedingungen die dann nicht passen.

    Was wirklich helfen würde wäre etwas die daparto was dann alle Aktionen und Rabatte mit berechnet und optimiert nach Lieferzeit/Paketzahl oder Preis.

    Fluch und Segen. Die Antworten werden aus "geklautem" Wissen zusammengewürfelt. Das Problem ist nicht die KI, die kann schon tolle Sachen und einem viel Arbeit bei der Suche ersparen. Das Problem ist das bald niemand mehr da sein könnte der echte und sinnvolle Beiträge dazu liefert und der KI die unwillkürlich gemachten Fehler austreibt weil man ihr einfach alles bedingungslos glaubt. Das wird meine Generation nicht mehr treffen, wir wissen noch was stimmt und was phantasiert ist, bzw. einfach wegen hoher Verbreitung und nicht aufgrund von Fakten dort als Antwort rein kommt.

    Also schalten wir ab und zu unser Hirn noch selbst ein und liefern der KI weiterhin schön Input :)

    Von einem Gang in die Werkstatt mit solch einem diffusen Problem kann man nur abraten. Die suchen sich tod und nehmen Dich dabei aus wie eine Weihnachtsgans (außer vielleicht Du gehst zum "Schlaf"...). Wenns nur am KI hängt könnte ich Dir ja mal eins von meinen schicken. Wie oft treten die Probleme denn auf? Hast Du schonmal den Drücktest gemacht?

    Interessant, ich habe ja genau die gleichen, ob es dieselben sind würde nur ein Blick auf die Platine verraten, aber so viel Mühe machen sich die Chinesen nicht. Das wird wirklich überwiegend das gleiche Zeug verkauft, nur mit tollen Phantasienamen.

    Merkwürdig das deines ordentlich dimmen und beim Start nicht flackern soll...