Beiträge von Go4IT

    Und das kam "einfach so"? Oder hast Du an der CCC Änderungen vorgenommen?

    Hast Du den DTC mal gelöscht und geschaut ob er überhaupt wieder kommt?

    U-Fehler sind Netzwerkfehler und werden auch gern beim abklemmen der Batterie "generiert".

    Wenn Dein BCM wirklich inkompatibel wäre würde Dein Fahrzeug in Teilen nicht funktionieren.

    Merkwürdig nämlich die Fehlerkomponente "00" (Unspecified) als würde das BCM nicht sagen können was genau falsch ist. Ebenso der Fehlerstatus "FF" den so auch keine Aussagekraft besitzt.

    Wenn ich jetzt so drüber nachdenke... der Chip hat ja kein eigenes EEPROM und das er zum speichern von Daten das interne Program-Flash nimmt ist mehr als unwahrscheinlich, denn genau dafür wurde das externe EEPROM platziert. Dieses konnte ich nach dem öffnen einfach auslöten und auslesen (Datei im Anhang). Ich denke die Suche nach dem JTAG kann ich mir sparen, der Chip wird in seinem Flash nur die Firmware drin haben und die kennen wir ja bzw. lässt sich leichter geschaffen.

    Es würde vermutlich funktionieren dieses zwischen den Steuergeräten zu tauschen. Das Problem hier ist das man um da ran zu kommen beide ABS-Module ausgebaut und geöffnet auf dem Labortisch haben muss und das wird so eher nicht funktionieren. Allein weil das öffnen des Gehäuses ohne Gewalt nicht möglich ist.

    Also scheint mir der einzig sinnvolle Weg eine Softwarelösung für das Problem zu finden. EEPROM aus altem ABS über CAN-Bus auslesen und auf die gleiche Weise auf das neue programmieren.

    Im Reference Manual der TMS470 Familie ist zu lesen das TI ein Tool namens "nowFlash Tool" für das lesen, löschen und beschreiben des internen Flash-Speichers via JTAG bereitstellt. Das werde ich mir auch mal ansehen.

    Nachdem wir ja nun wissen wie man ein BCM cloned wäre mein nächstes Wunschziel das ABS. Auch das ist Teil des PATS-Systems und daher nicht ohne weiteres austauschbar. Ähnlich wie beim BCM vermute ich auch im ABS einen Speicherbereich in dem die Schlüssel/PATS-Codes hinterlegt sind. Und ähnlich wie beim BCM glaube ich auch hier das wenn man diese Daten identifizieren und separat umkopieren kann, ein Wechsel auch zwischen verschiedenen ABS-Modellen möglich sein sollte.

    Im Ford FDRS (ehem. IDS) gibt es ja auch genügend Prozeduren die ähnliches tun. Ein Module-Replacement wird da immer so begleitet das zunächst der Inhalt des Moduls runtergeladen wird, dann soll das Modul mechanisch gewechselt werden und anschließend wird es wieder mit den gleichen Daten beladen/programmiert. Dadurch wird sichergestellt das nur die defekte Hardware gewechselt wird, nicht aber die Programmierung oder Anlerndaten. Und so verwundet es auch nicht das dies mit Original-Mitteln erstmal nur für gleiche Bauteile möglich ist, also ein Upgrade nicht vorgesehen ist bei diesem Vorgang.

    Lange Rede... los gehts. Schauen wir uns mal an was da so drin steckt!

    Dummerweise hat Ford das ABS derart in der Karosserie versteckt das man an nichts wertvolles rankommt ohne es komplett auszubauen. Auch der eigentlich "abziehbare" Elektronik-Block ist dadurch das er zur Spritzwand zeigt unmöglich im eingebauten Zustand zu entnehmen. Hier mal ein Bild nachdem das Batteriefach komplett ausgebaut wurde, vorher bekommt man das Teil nichtmal zu Gesicht:

    Die Schrauben die den Kopf auf dem Block befestigen sind recht lang. Es besteht keine Chance die im eingebauten Zustand rauszudrehen, bzw. den Kopf vom Block abzuziehen. Hier mal ein Foto von einem "geteilten" ABS:

    Es konnte bis heute auch nicht zweifelsfrei geklärt werden ob ein ABS mit erweiterter Kontrolle (wie man ihn für den Hill-Assist oder das ACC benötigt) den gleichen mechanischen Block und nur einen anderen Steuerkopf besitzt oder nicht. Das bedeutet als im Endeffekt das man das alte ABS ausbauen und ein neues einbauen muss.

    Glücklicherweise kommt man bei ausgebautem Batteriefach wenigstens an den ABS-Stecker ran, man kann also seinen Clone daran wenigstens testen bevor man die Bremsflüssigkeit ablässt und später alles neu befüllen und entlüften muss (eine nicht zu unterschätzende Arbeit, sowohl zeitlich als auch fachlich!). Das habe ich einfach mal getan und wie erwartet den Fehler "Wegfahrsperre aktiv" erhalten.

    Reverse Engineering, Teil 1 - Informationsbeschaffung

    Wie immer muss es Opfer für die Wissenschaft geben, also habe ich mir ein "Schlacht"-ABS besorgt. Hier handelt es sich um ein Standard-ABS (IVD):

    Der Deckel vom Elektronik-Modul ist aufgeklebt und scheinbar nicht durch erwärmen weich zu bekommen. Ich musste das Gehäuse knacken (aufsägen), eine Methode die für einen späteren Tausch eher nicht in Frage kommen wird.

    Danach gibt sich folgendes Bild:

    Der Modulstecker sowie die Magnetventile sind mit Pressfit-Kontaktstiften in die Platine gedrückt. In der hohen Konzentration hält das unglaublich gut, ist also nicht mal eben so abzuziehen. Ich habe es aber trotzdem gemacht weil ich wissen wollte was sich ggf. auf der Unterseite befindet. Zum glück ist da nichts:

    Also konzentriere ich mich rein auf die Oberseite:

    Mein besonderes Interesse gilt erstmal dem Zentralprozessor (1), einem TMS470R1VF478 von Texas Instruments. Sowie dem darüber liegenden EEPROM (3) vom Typ ST 9504W. Es würde mich nicht wundern wenn genau darin die gesuchten Daten liegen würden... Wenn sowas in einem externen EEPROM gespeichert wird, dann könnte der Inhalt durchaus verschlüsselt, in der Regel nur mit etwas "Bitgefummel" obfuskiert sein. Das kennen wir ja schon vom Tacho.

    Also mal schauen was der Mikrocontroller so zu bieten hat.

    • 16/32 Bit RISC Architektur
    • 24 MHz Systemtakt
    • Build-In Debug Module (Interessant!)
    • Big-Endian Format
    • 288 KB Programmspeicher (Program-Flash)
    • 16 KB SRA
    • Betriebsspannung 1,8 - 2,0 V
    • IO-Spannung 3,0 - 3,6 V
    • Analoger Watchdog Timer
    • Digitaler Watchdog Timer
    • 2 SPI Interfaces
    • 2 SCI Interfaces
    • High-End CAN 2.0B Controller (32 Mailboxen)
    • Standard CAN 2.0B Controller (16 Mailboxen)
    • Serial Interface (128 Word Puffer)
    • Timer und AD-Wandler und jede Menge GPIOs
    • JTAG Interface (Interessant!)
    • Code Composer Studio Entwicklungsumgebung
    • HET Assember/Simulator

    Auch immer interessant ist die Bedeutung der einzelnen Ziffern der Typenbezeichnung zu kennen, die sog. "Device Numbering Conventions".

    TMS 470 R1 V F 47 8 BGJZ Q

    Daraus geht hervor das dieser Chip zur "TMS470" RISC-Familie gehört. "R1" spezifiziert die CPU auf den Typ ARM7TDMI. ARM7 ist eine weit verbreitete RISC-CPU. Der Zusatz TDMI (Thumb) spielt hier jetzt erstmal keine Rolle.

    Das V steht nur für die Betriebsspannung von 1,8V.

    "F" zeigt an das sich im Mikrocontroller ein Flash-Speicher befindet von dem das Programm ausgeführt wird.

    Die "47" weißt die internen Peripheribausteine aus wie ich sie oben schon angerissen habe.

    Die "8B" zeigt an das die Größe des Flash-Speichers zwischen 128kb und 1MB liegt.

    "GJZ" ist das BGA-Gehäuse des Chips (176 Pins, Ball Grid Array)

    Zuletzt gibt "Q" die Temperaturfestigkeit an. Hier wurde die höchste Güte für Automotive gewählt, -40 bis +125 °C

    Der JTAG-Port interessiert mich ganz besonders, denn hierüber lässt sich in der Regel die komplette Firmware auslesen und beschreiben. Natürlich werde ich auch hier einen Weg finden müssen die Watchdogs zu deaktivieren damit diese mir schön Zeit für mein Vorhaben lassen. JTAG bietet aber auch noch die Möglichkeit des Single-Step Debuggings, so kann man auch hinter das ein oder andere Geheimnis der Firmware gelangen.

    Laut Datenblatt befinden sich die JTAG-Ports an diesen Balls des BGA:

    Leider ist ein BGA nicht so einfach durchzumessen wie ein Chip mit Beinchen. Um von der Ball-Position zu einem Test-Punkt oder JTAG-Header zu finden müsste man diesen eigentlich entlöten. Den danach aber wieder funktionsfähig aufzulöten ist leider alles andere als trivial und daher lasse ich das erstmal.

    Die Pads (5) sehen ja stark nach einem Debug-Header aus, haben jedoch nicht die für JTAG übliche Pin-Zahl sondern deutlich mehr:

    Einfach mal probieren ist eher aussichtslos. Es gilt also herauszufinden welcher diese Pads mit den JTAG-Pins vom BGA verbunden ist.

    D.h. ich müsste zum Prüfen des Sachverhalts am Stecker C23-E/F sichten, ob was in den Kammern 1, 2, 9 und 10 bestückt ist. Falls nein, fehlt die Bus-Einbindung MM-Can. Keine Ahnung, wie leicht man an den Stecker rankommt, dass man ihn sehen kann.

    Genau so ist es. Und ich verstehe gut das man bei diesem Wetter keinen Bock hat das Auto zu zerlegen, außer man hat eine beheizte Werkstatt oder Tiefgarage zur Verfügung, was wohl nur wenigen auserwählten hier vorbehalten ist...

    Ich glaube dieser Stecker ist erreichbar wenn man den Teppichboden im Fahrerfußraum links weg macht. Dann könnte es doch noch halbwegs gut zugänglich sein. Aber sicher bin ich mir nicht. Könnte auch sein das man das IPC dafür ausbauen muss um da ran zu kommen.

    ABER - das würde ich erst tun wenn sichergestellt ist das am Stecker hinten eben KEIN CAN-Bus anliegt. Und hier habe ich ja schon eine Methode zur Eingrenzung vorgeschlagen. Eine weitere, noch weniger invasive und fingergefährdende wäre sich einen Laptop und ELM zu schnappen und einfach mal versuchen ob der CD-Wechsler auf dem CAN-Bus reagiert. Das wirklich einfachste wäre mit ELMConfig mal versuchen die DTCs vom Wechsler zu lesen:

    Lesen von DTCs ist reines OBD-Protokoll, darauf MUSS er reagieren, egal was seine sonstige Funktion angeht.

    Dann stellt sich die Frage, wo dieser MM-Can verläuft. Vermutlich nicht in unmittelbarer Nähe.

    Vermutlich wird der Bus die Extra-Länge abkönnen.

    Ja, kann er. Da Du ja den Stecker im Kofferraum hast muss auch die CAN-Leitung von diesem bis vorn zum Übergangsstecker gehen, dazwischen gibt es sonst keine mehr. Natürlich solltest Du mal kurz prüfen das die beiden Leitungen auch wirklich im CD-Wechsler Stecker bestückt sind, aber es würde mich wundern wenn nicht.

    Das einzige was dann halt sein könnte ist das was oldrebel schrieb, das der Armaturenbrett-Kabelbaum die gezeigte Brücke nicht enthält und Du diese herstellen musst. Ich würde auf keinen Fall eine neue CAN-Leitung quer durchs Auto verlegen wollen, das wäre Unsinn.

    Aber ich glaube immer noch daran das Kabelbaumseitig alles vorhanden ist.

    Ja, das war bestellbar, habe ich in einer der letzten Preislisten noch gefunden. Aber nicht in Verbindung mit DAB. Der Wagen hat kein DAB.

    Der Anschlussstecker für den Wechsler ist im Kofferraum original vorhanden.

    Ok, dann muss ich das im Wiki korrigieren, denn da behaupte ich das es den Wechsler im FL nicht mehr gegeben hätte. Hatte mich auch schon gewundert weil auch bei mir der Stecker vorhanden ist, aber ich habe auch ein Übergangsmodell.

    Heißt das auch das die Verkleidungsteile zwischen vFL und FL unterschiedlich sind?

    Hat der CD-Wechsler nach anstecken grundsätzlich eine Aktivität gezeigt? Sprich, ist sichergestellt das die Stromversorgung steht (Sicherung FC5) im hinteren Sicherungskasten)?

    Der CDP wird mit FORScan nicht gefunden (erweiterte Lizenz), wie hier abgebildet.

    Ich vermute, dass ein Zwischenstück erforderlich ist, das entweder DAB oder aber den CDP mit dem Radio / Navi und damit dem restlichen Kabelbaum verbindet.

    Das glaube ich nicht, bei CAN macht es keinen Sinn eine Option einzubauen, das wäre viel zu aufwändig und teuer. Da werden nicht genutzt Teilnehmer einfach in einem leeren Stecker enden. Aber es scheint ja als wäre der Wechsler nicht mit dem MM-CAN verbunden, gesetzt dem Fall der hat auch Strom.

    Die Schaltpläne vom FL besagen das bei Ausstattung ohne CD-Wechsler (konnte man das wirklich noch bestellen?) auch kein derartiger Stecker vorhanden wäre:

    Wohingegen bei Ausstattung mit CD-Wechsler im MM-CAN ein Abzweig an den im Armaturenbrett befindlichen Übergangsstecker C23-E/F erfolgt:

    und von dort aus dann nach hinten ins Heck führt und beim Turnier eben ohne dieses Verlängerungsstück direkt im Stecker C4ME42 (Pins 1 + 7) landet:

    Du könntest jetzt mit einem Mulitmeter einfach mal bei den beiden Pins nachmessen ob dazwischen eine Spannung von ca. 2,5 V und jeweils gegen Masse eine von 4-5V. Wenn das der Fall ist, liegt sehr wahrscheinlich der MM-CAN dort an. Wenn nicht, dann ist zwar das Kabel im Kabelbaum vorhanden aber nicht am C23-E/F aufgelegt (eher unwahrscheinlich).

    Supposedly the MCA unit should display the video input whenever this is present. Since there is no pin for on the unit to tell it to switch to reverse view like on all the Android aftermarket units for example.

    You where wrong, think you got that meanwhile ;)

    You could do it on the bench, but then you need to connect the CAN bus with an appropriate interface and send IGN and REV messages.

    With a little work, this would be doable using an simple ELM interface.

    Damit haben wir dann jetzt gerade keine Möglichkeit herauszufinden warum die User die mal mit Sensoren Probleme hatten, selbige erlebten? Ob es wirklich an einer falschen ID lag oder an was ganz anderem?

    Nach den Erkenntnissen hier drängt es sich auf das die ID nicht grundsätzlich das Problem sein muss. Ich habe ja schon bewiesen das sich der Empfänger auf jede beliebige ID programmieren ließe. Sobald mein RDKS-System im Auto vollständig ist kann ich evtl. nochmal einen "Wardrive" mit Laptop machen um heraus zu bekommen wie die initiale Programmierung funktioniert. Dabei muss der Empfänger ja in eine Art "Broadcast" Modus geschaltet werden sodass er zunächst keinen Empfangsfilter besitzt. Wenn es blöd läuft programmiert das BCM dazu einfach eine Fake-ID wie "00 00 00 00" oder "FF FF FF FF" und das reicht zum Empfang aus. Man wird sehen...

    Und ja, andere Sensoren werden andere Protokolle bzw. Daten haben und deswegen nicht funktionieren. Gut möglich das irgendwas auf dem Sensortypenschild darauf hindeutet? Es ist aber nach wie vor bezeichnend das die funktionierenden Sensoren eine ID mit führender "0" verwenden, obwohl die Beschriftung anders ist. Da wurde also nachgearbeitet und das nicht ohne Grund. Es könnte gut sein das die Sensoren zwar aus einer Massenproduktion stammen, aber nachträglich mit anderer Firmware betankt wurden um sie für den MK4 brauchbar zu machen.

    Sollte laut unserem Wiki auf im FL funktionieren. Probier doch zunächst die Kodierung, die ist eh notwendig.

    https://mk4-wiki.denkdose.de/artikel/audio_…ofit_cd-changer

    Ich meine mich aber erinnern zu können das die Kombination DAB und CD-Wechsler sich bezüglich der AUX Audioleitung etwas in die Quere kommen...

    Mit DAB könnte es eventuell Probleme geben, zumindest benutzen der Wechsler und das DAB-Modul schon mal die selben Pins am Radio-Quadlockstecker.

    Ein 2013er Schaltplan zeigt durchaus beide Komponenten, jedoch erkennt man auch gut das diese parallel zueinander angeschlossen sind:

    Das rot markierte "IBPAD_NP_DAB" gibt es nur, wenn kein DAB sondern nur ein CD-Wechsler vorhanden ist. Da gehen die Audioleitungen dann direkt zum Quadlock vom Radio.

    Ist nur ein DAB-Modul vorhanden, ohne Wechsler (IBPAD_ICEGK) geht die Leitung nur vom Quadlock zum DAB-Modul.

    Ist beides vorhanden, geht die Leitung dann zunächst zum DAB-Modul und von dort aus dann zum CD-Wechsler.

    Aber das sind nur Konvektionsdetails, am Ende sind sie einfach parallel geschaltet und das kannst Du somit dann auch tun. Es ist ja immer nur ein Gerät aktiv, entweder man hört Radio über DAB oder CD-Wechsler Musik. Von daher können sich die Audiosignale nicht überlagern/stören.

    Ich hatte mal ähnliches, da hatte war die Lenkung mit geschlossenen Lenkradschloss durch die Drehung so unter Spannung das das ESCL diese nicht freigeben konnte. Einmal etwas am Lenkrad nachgeholfen und schon gings. Aber Zündung an muss in jedem Fall gehen sonst sieht man ja auch nichts im IPC.