Dies ist eine mobil optimierte Seite, die schnell lädt. Wenn Sie die Seite ohne Optimierung laden möchten, dann klicken Sie auf diesen Text.

Support MIB2 MST2 Delphi Patch Problem - MIB2/MST2 (MST2_EU_VW_xxxxxD)

-XTR3M3-

Meister
Supporter
Registriert
19. Juli 2019
Beiträge
741
Reaktionspunkte
5.346
Punkte
263
Ich habe eine merkwürdiges Problem beim Delphi patchen, welches scheinbar vorher noch nie jemand hatte. Deshalb bin ich auf Lösungsansätze gespannt.

Fangen wir mal mit der kompletten Story an.
Ich habe derzeit Zugriff auf ein Fahrzeug mit MIB2 Delphi Unit (3Q0 035 874 C).
Ursprüngliche Firmware 0876 (MST2_EU_VW_P0876D).

Man konnte mit Putty keine Verbindung aufbauen, nach etwas Recherche fand ich heraus, dass genau bei dieser Firmware die Telnetverbindung deaktiviert wurde. Prinzipiell kein Problem, also habe ich die Unit auf die Firmware 0891 geupdatet (MST2_EU_VW_P0891D). Seit dem hatte ich auch Zugriff auf die Unit.

Versuch Nummer 1, exakt nach Anleitung.
MST2_backup.sh ausgeführt und Daten gesichert.
MST2_patch.sh ausgeführt (SWaP Datei passte zur Firmware) anschließend Neustart.
MST2_fec.sh ausgeführt (*.fec Datei wurde vorher natürlich angepasst) anschließend Neustart
MST2_cid.sh ausgeführt anschließend Neustart.
Ergebnis: ALLE FEC's abgewiesen und keine Verbindung mehr via Putty möglich / USB Port tot.

Kurze Recherche, das Problem mit dem USB Port trat auch hier schon mal bei einem User auf, allerdings ohne Lösung. Also etwas Google bemüht, einfachste Lösung Firmware Update erneut durchführen, dabei wird die originale MHConfig.cfg wieder hergestellt. Gesagt, getan.

Also Versuch Nummer 2, diesmal ohne MST2_cid.sh
MST2_backup.sh ausgeführt und Daten gesichert.
MST2_patch.sh ausgeführt (SWaP Datei passte zur Firmware) anschließend Neustart.
MST2_fec.sh ausgeführt (*.fec Datei wurde vorher natürlich angepasst) anschließend Neustart
Ergebnis: ALLE FEC's abgewiesen ABER immerhin noch Verbindung via Putty.

@terrormolch gab mir etliche Tipps und auch nützliche Infos, so zum Beispiel, dass akzeptierte FEC's im Ordner /persistence/SWaP/pg/ und abgewiesene FEC's im Ordner /persistence/SWaP/ppw/ gespeichert werden.

Also hab ich nochmal ein Backup gezogen und siehe da, der PG Ordner ist leer und alle FEC's (originale + die aus dem Patch) sind im PPW Ordner.

Ich wollte sicher gehen ob die gepatchte SWaP Datei auch wirklich eingefügt wurde. Der Befehl MST2_patch.sh ersetzt die SWaP Datei in /extbin/apps/bin/ und das ist auch der Fall, dort befindet sich die gepatchte SWaP Datei. Allerdings befindet sich noch eine weitere SWaP Datei im Ordner /ifs2/ - jetzt ist natürlich die Frage ob diese zum einen ebenfalls ersetzt werden muss und zum anderen ob dies Schäden an der Unit zur Folge hätte?

Ich konnte den Ursprungszustand wieder herstellen indem ich alle originalen *.fec Dateien auf die SD Karte gepackt habe und MST2_fec.sh ausgeführt habe.

Jetzt ist die Unit im Großen und Ganzen erstmal wieder im Urzustand ABER im Ordner /persistence/SWaP/ppw/ befinden sich weiterhin *.fec Dateien, darunter auch die *.fec Datei aus dem Patch. Diese werden im Radiomenü unter FECs auch mit "abgewiesen" gelistet (im gleichen Zuge stehen aber auch die originalen FECs mit "gültig"). Dieser Ordner wird durch MST2_fec.sh ebenfalls geleert bzw. der Inhalt gelöscht. Ich kann diesen Ordnerinhalt auch ohne Probleme manuell löschen, dieser ist dann auch nachweislich leer ABER sobald ich die Unit neu starte, tauchen dort wieder die *.fec's auf, als wenn diese noch in anderen Pfaden gespeichert wären. ( /persistence/SWaP/illegal/ und /persistence/SWaP/new/ sind ebenfalls leer und in /persistence/SWaP/pg/ befinden sich die akzeptierten originalen *.fec's).

Hat jemand dafür Erklärungen oder sogar Lösungen?

P.S. bitte nur Antworten in diesem Thread die EXAKT dieses Problem betreffen.
 
Zuletzt bearbeitet:
@-XTR3M3-

hast du immer den gleichen Patch verwendet?
es gibt da ja mehrere Varianten. schaue dir den Archiv all_FEC_patches mal an.
 
@-XTR3M3-

Zunächst zum USB-Problem: Das Skript "MST2_cid.sh" hat einen Befehl der den USB-Port lahmlegt. Diesen sollte man auskommentieren, wenn man das Skript nutzen will.

Zum Thema FECs: Man muss alle FECs am besten manuell löschen, so dass im ppw-Ordner nur die neue gepatchte FEC liegt. Ich habe jetzt aber auch immer noch das Problem, dass die FECs einmal als gültig u. nochmal als abgewiesen angegeben werden. Es muss also in der Tat noch einen anderen Ort mit Verweis auf die FECs geben, den ich bisher nicht entdeckt habe.

Hast du übrigens nach dem Patchen die Unit durch langes Drücken der PowerTaste resettet? Dann wird auch das SWaP-File vernünftig gepatcht. Bei mir hat es erst nach dem reset geklappt.

Eine Frage an dich: Ich habe jetzt über die Menü-Tast u. den Standard Update Befehl bei einem Compostition Media von MST2_EU_VW_P0890D auf P0891D geupdatet. Dabei wurden nur zwei Funktionen geupdatet u. andere mit "n" oder "n/a" gekennzeichnete Funktionen nicht geupdatet. Ist das so richtig? Weil ich danach eine Meldung erhalten habe, als wenn ich das Update abbrechen wollte. Etwas dubios.
 
hast du immer den gleichen Patch verwendet?
es gibt da ja mehrere Varianten. schaue dir den Archiv all_FEC_patches mal an.

Ich habe Anfangs diesen Patch genutzt (SWaP Datei direkt im Rootverzeichnis der SD abgelegt):
Code:
#!/bin/sh

echo "ROOT access - ok"
cd / && mount -uw /sdc1/; sleep 1

echo "SWaP patch - ok"
umount -f /extbin && mkdir /home/mmc0t177_tmp && mount -t qnx6 /dev/mmc0t177 /home/mmc0t177_tmp && cp -VRf /sdc1/SWaP /home/mmc0t177_tmp/apps/bin/ && chmod 777 /home/mmc0t177_tmp/apps/bin/SWaP && umount -f /home/mmc0t177_tmp && rm -R /home/mmc0t177_tmp; sleep 1

echo "FINISHED - You can now remove SD Card"

und dann auch mal diesen (SWaP Datei im entsprechenden Unterordner auf der SD Karte abgelegt):
Code:
#!/bin/sh

echo "ROOT access - OK"
cd / && mount -uw /sdc1/; sleep 1

echo "SWaP patch - OK"
umount -f /extbin && mkdir /home/mmc0t177_tmp && mount -t qnx6 /dev/mmc0t177 /home/mmc0t177_tmp && cp -VRf /sdc1/_patch_P0891D/SWaP /home/mmc0t177_tmp/apps/bin/ && chmod 777 /home/mmc0t177_tmp/apps/bin/SWaP; sleep 1

echo "Unmounting TEMP directory - OK"
umount -f /home/mmc0t177_tmp; sleep 1

echo "Deleting TEMP directory - OK"
rm -R /home/mmc0t177_tmp; sleep 1

echo "FINISHED - You can now remove SD Card"

Ich habe gerade das erste Backup durchsucht bzw. nochmal meine grauen Zellen angestrengt. Die SWaP Datei wurde dabei allerdings nicht über MST2_backup.sh gesichert, obwohl das ja folgender Befehl übernehmen sollte:
Code:
echo "SWaP engine backup - OK"
umount -f /persistence && mkdir /home/mmc0t180_tmp && mount -t qnx6 /dev/mmc0t180 /home/mmc0t180_tmp && cp -Rf /home/mmc0t180_tmp/SWaP/* /sdc1/* && umount -f /home/mmc0t180_tmp && rm -R /home/mmc0t180_tmp; sleep 1

Da bekam ich den Hinweis von @terrormolch , dass ich mal im /ifs2/ Ordner gucken soll. Also hab ich die (originale) SWaP Datei von dort gesichert. Zähle ich jetzt 1&1 zusammen, dann bedeutet das, dass die eigentliche SWaP Datei auf der Unit gar nicht gepatcht wurde, sondern lediglich die gepatchte SWaP durch MST2_patch.sh nach /extbin/apps/bin/ kopiert wurde. Also um mal Klartext zu sprechen, die SWaP Datei, die nun für die FEC Signaturen zuständig ist, liegt im /ifs2/ Ordner, also muss ich diese ersetzen/patchen ABER jetzt stelle ich mir die Frage, wieso das bei dieser Unit scheinbar anders ist als bei "allen anderen" Delphi Units.

Zunächst zum USB-Problem: Das Skript "MST2_cid.sh" hat einen Befehl der den USB-Port lahmlegt. Diesen sollte man auskommentieren, wenn man das Skript nutzen will.
Benötigt man das Script überhaupt zwangsweise bzw. ganz salopp gefragt, was genau bezweckt es?
Ich kenne (einen anderen?) CID Patch, bei dem es darum geht Navi Karten (SD) die nicht original sind lauffähig zu bekommen.

Wie bereits erwähnt, ich lösche den Inhalt vom ppw Ordner zusätzlich manuell, aber direkt nach dem Neustart ist er wieder gefüllt. Gleiches Phänomen wie bei dir, die FECs sind 1x als gültig und einmal als abgewiesen hinterlegt.

Hast du übrigens nach dem Patchen die Unit durch langes Drücken der PowerTaste resettet? Dann wird auch das SWaP-File vernünftig gepatcht. Bei mir hat es erst nach dem reset geklappt.
Ja solange bis sich die Unit neu startet (am kurzzeitigen Anstieg der Lüfterfrequenz und am Boot Logo erkennbar). Ebenfalls wurde auch mal die Busruhe abgewartet.

Ich kann dir nicht ganz folgen. Ich habe das FW Update über manual SWDL im Green Menu gemacht, einige Module waren ebenfalls als n/a, y oder n gekennzeichnet - ich konnte jedoch nichts ändern. Also hab ich es einfach so drüber gebügelt.
 
Zuletzt bearbeitet:
Benötigt man das Script überhaupt zwangsweise bzw. ganz salopp gefragt, was genau bezweckt es?
Nein fürs Patchen benötigt man das Script nicht.

Das Patch Script für die SWaP Datei mapt einen temporären Ordner auf den Speicherpfad "/dev/mmc0t177" Und durch dieses Mapping wird die SWaP-Datei eigentlich neu überschrieben, wenn die Unit neu gestartet wird. Manuell ersetzen solltest du die SWaP-Datei nicht. Das geht schief.

Ich würde wirklich alles nochmal auf Anfang setzen (hast du ja gemacht) u. dann in Ruhe nochmal die Patches für SWaP u. FEC-Datei einspielen. Das sollte klappen u. wie gesagt dann resetten, damit sich die Unit vollkommen neu startet.

Ich kann dir nicht ganz folgen. Ich habe das FW Update über manual SWDL im Green Menu gemacht, einige Module waren ebenfalls als n/a, y oder n gekennzeichnet
Ich habe es eben nicht über das Green Menu gemacht, sondern über den Aktualisieren Modus im Menü des Radios. Aber wenn es bei dir nur kurz gedauert hat, wird es ähnlich wie bei mir gelaufen sein. Ich habe dann ein Ergebnis mit Ok bekommen für die Funktionen, die aktualisiert wurden. Das waren aber nur zwei. Was mich misstrauisch macht ist, dass mein PDC nun ganz spät auslöst. Von daher fürchte ich, dass beim P0891D doch etwas im Argen liegt. Mmh...
 
Das sorgt im Endeffekt dafür, dass die SWaP Datei in /extbin/apps/bin/ landet. Also der absolute Pfad der Datei ist dann /extbin/apps/bin/SWaP
Und genau in diesem absoluten Pfad (der auch über MST2_backup.sh gesichert wird) lag anfangs keine SWaP Datei.

Die einzige SWaP Datei auf dieser Unit lag am Anfang in /ifs2/, also absolut /ifs2/SWaP
Durch den Patch befinden sich jetzt 2 SWaP Dateien auf der Unit - 1x (original) /ifs2/SWaP und 1x (gepatched) /extbin/apps/bin/SWaP
Logischerweise wird nur eine von der Unit verwendet (/ifs2/SWaP) und die andere ist eine Datenleiche (/extbin/apps/bin/SWaP).
Ich verstehe aber atm nicht wieso das bei dieser Unit irgendwie anders ist als bei anderen.

Ich würde versuchen die SWaP Datei direkt zu überschreiben, ohne den Pfad zu mounten, weil es mir zu riskant ist den kompletten ifs2 Ordner zu unmounten.

Ich würde wirklich alles nochmal auf Anfang setzen (hast du ja gemacht) u. dann in Ruhe nochmal die Patches für SWaP u. FEC-Datei einspielen. Das sollte klappen u. wie gesagt dann resetten, damit sich die Unit vollkommen neu startet.
Mittlerweile sind auch die originalen *.fecs wieder eingespielt, aber in ppw liegt auch immer noch die gepatchte *.fec. Dann kommen wir wieder zu dem Punkt erst: wenn ich den Inhalt in ppw lösche ist auch alles weg.... bis zum nächsten Neustart, dann taucht alles wieder auf. Ähnlich wie bei dir, die (originalen) FECs werden 1x als gültig und 1x als abgewiesen im Menü gelistet (es funktioniert aber alles wie vorher auch).

Über den normalen Weg hatte ich keine Möglichkeit das Update anzuwenden, weil der Button immer ausgegraut war.
 
Ich gebe zu, dass ich die beiden Pfade nicht geprüft habe. Prinzipiell hast du recht, dass die gepatchte SWaP in /extbin/apps/bin/SWaP abgelegt wird. Aber ich hatte vermutet, dass die SWaP im /bin/ Verzeichnis im ifs2 Ordner abgelegt wird, da der Patch ja bei mir funktioniert hat. Das könnte ich morgen herauskriegen.
Falsch machen kannst du aber auch nicht viel, wenn du manuell die SWaP im ifs2 Ordner ersetzt. Einen Versuch ist es wert.
 
Du kannst ja mal ein Backup aus deinem ifs2 Ordner ziehen und schauen ob dort ebenfalls eine SWaP Datei abgelegt ist. Und wenn ja, ob es die originale oder die gepatchte ist.

Code:
cp -Rf /ifs2/* /sdc1/backup/
 
Würde ich morgen machen, da ich eh an den Wagen muss.
 
@Tolou hast du mal in deinen ifs2 Ordner geschaut?

Ich habe heute versucht die SWaP im /ifs2/ Ordner direkt zu ersetzen.
Code:
cp -VRf /sdc1/_patch_P0891D/SWaP /ifs2/ && chmod 777 /ifs2/SWaP

Leider ohne Erfolg.
Code:
cp: Copying /sdc1/_patch_P0891D/SWaP to /ifs2/SWaP
cp: write  (/ifs2///SWaP): Function not implemented

Ich trau mich ehrlich gesagt nicht es über's Mapping zu versuchen.
Code:
umount -f /ifs2 && mkdir /home/mmc0t200_tmp && mount -t qnx6 /dev/mmc0t200 /home/mmc0t200_tmp && cp -VRf /sdc1/_patch_P0891D/SWaP /home/mmc0t200_tmp && chmod 777 /home/mmc0t200_tmp/SWaP && umount -f /home/mmc0t200_tmp && rm -R /home/mmc0t200_tmp

Aber ich hab herausgefunden wie man beim Delphi die Bootlogos durch eigene ersetzen und Töne (z.B. Touch Bestätigung oder der Ton beim Sender speichern oder POI Benachrichtigungston) sowie die Schriftart ändern kann. lol.

Es ist erstaunlich, dass ich bisher wohl der einzige bin mit diesem Patch Problem.

Eventuell versuche ich nochmal einen anderen Befehl zum direkten Kopieren.
Code:
cp -Vf /sdc1/_patch_P0891D/SWaP /ifs2/SWaP && chmod 777 /ifs2/SWaP
 
Zuletzt bearbeitet:
@-XTR3M3- Also ich habe gestern meine P0891D rundum erfolgreich installieren können.
Ausgangszustand:
Swap File in Ordnern
/ifs2/
/persistence/

Danach swap Patch (Swap Datei aus Mega Verzeichnis, nicht von terrormolch) über das bekannte Skript eingespielt.
Swap dann in folgenden Ordnern vorhanden (einen checksum Vergleich habe ich nicht gemacht)
/ifs2/
/persistence/
/extbin/bin/apps/

Letzter Pfad vom Skript geschrieben
Danach alle Fecs in allen Ordnern gelöscht u. neue FEC in pg Ordner geschrieben.

Reboot u.danach waren alle FECs als gültig geschrieben u. nicht doppelt da.
Versuch doch nochmal diesen Weg. Sollte klappen.
 
Vielen Dank für die wertvollen Tipps.

Ich hatte die SWaP Datei von terrormolch genutzt und nie direkt mit der SWaP Datei aus dem MEGA Ordner verglichen. Ich habe bei beiden nur einen Vergleich in HxD mit der originalen SWaP Datei gemacht. Auf deine Aussage hin, habe ich mal beide Patch SWaP's verglichen und Unterschiede festgestellt, weshalb ich nun die SWaP aus dem MEGA Ordner versucht hab.

Also voller Vorfreude an die Sache ran.
SWaP mit MST2_patch.sh erfolgreich gepatched, Unit neugestartet
Gepatchte *.fec mittels MST2_fec.sh rübergezogen, Unit neugestartet.
Ernüchterung, keine Besserung. Es waren wieder in MENU - SWAP/FEC die Codes als gültig und abgewiesen gelistet.

Also mal ALLE *.fec's in ALLEN Ordnern manuell (rm -Vf Befehl) gelöscht, danach gepatchte *.fec in PG geladen und Unit neugestartet.
Danach wurden alle Codes in MENU - SWAP/FEC gültig, abgewiesen und ungültig angezeigt. lol.
Ich habe mir mit Putty dann mal alle Inhalte der SWAP Unterordner auflisten lassen, diesmal waren die *.fec's zusätzlich noch im ILLEGAL Ordner.

Also nochmals alle *.fec's per Hand gelöscht (rm -Vf Befehl) und Unit neugestartet.
Jetzt waren nur noch die originalen *.fec's in der Unit (PG Ordner), obwohl ich vor dem Neustart nachweislich ALLE gelöscht hatte.
Ich gehe also davon aus, dass die *.fec's noch irgendwo in der Unit gepuffert werden, aber egal, also wieder ALLE *.fec's gelöscht und Neustart.

Und siehe da, ENDLICH keine *.fec's mehr vorhanden (logischerweise auch alle Features ohne Funktion).
Jetzt habe ich manuell die gepatchte *.fec in den PG Ordner geladen (cp -Vf Befehl) und die Unit neugestartet.
Kurzes Bangen mit wenig Hoffnung.... ABER ENDLICH funktionierte es!!! Es ist alles freigeschaltet und unter MENU - SWAP/FEC tauchen die Codes nur 1x auf (als gültig).

Was war das für eine schwere Geburt bei dieser Unit. Vielen Dank für deine nützlichen Tipps @Tolou, du hast 'was gut bei mir.

Jetzt muss ich nur noch rausfinden wo die LOG's in der Unit gespeichert sind, damit man den Firmware Updateverlauf etwas bereinigen kann.
 
Die logs suche ich auch. Werde die Tage mal schauen. Aber klasse, dass es geklappt hat
 
Die logs suche ich auch. Werde die Tage mal schauen.

Hast du diesbezüglich schon Erfolg zu vermelden?

Ich habe mir mal (sogut wie) alle Dateien von der Unit runtergezogen, konnte aber leider noch keine Logs identifizieren. Lediglich die Versionierung von POI's, Skin's, HMI usw.
 
Für die Nutzung dieser Website sind Cookies erforderlich. Du musst diese akzeptieren, um die Website weiter nutzen zu können. Erfahre mehr…