Hallo,
Eigentlich ist Ihr CMU defekt. Ich habe genau dasselbe getan wie Sie, als mein Auto kurz nach der Installation des Failsafe-Pakets ausgeschaltet wurde. Glücklicherweise gibt es eine Möglichkeit zur Wiederherstellung, was nicht so einfach ist, aber durchaus machbar ist, wenn Sie keine Angst haben, die CMU auszubauen, zu öffnen und ein paar Kabel anzuschließen.
Volle Erklärung:
Dank dieser Website:
http://www.2x4logic.com erspart sie mir viel Zeit, um herauszufinden, wie das System funktioniert. Der CMU-Update-Prozess ist in der Tat sehr schlecht konzipiert, da er viele Fehlerpunkte aufweist, die mit einem defekten Gerät enden, das nicht mehr bootet. Der einfachste Weg, dies zu tun, ist, die CMU nach der Installation des Failsafe-Pakets auszuschalten. Grundsätzlich geschieht Folgendes: Ein kleiner Flash-Chip, der das Boot-Programm enthält, hat ein Flag, das entscheidet, auf welchem System er booten soll. Es kann entweder das normale Mazda-System oder die «*Failsafe*»-Software sein. Wenn Sie das Failsafe-Update-Paket ohne das 2. Reinstallationspaket installieren, wird der Boot-Select-Modus des Flash-Chips so eingestellt, dass er auf der ibc1-Partition bootet, was nicht mit dem aktuellen Mazda-System übereinstimmt. Diese ibc1-Partition wird durch das Reinstallationspaket aktualisiert. Es ist also defekt, weil es nicht mehr booten kann.
Die einfachste Lösung hier ist, den Boot-Select-Wert auf dem Flash-Chip so zu ändern, dass er auf ibc2 (der Failsafe) bootet. Dies geschieht normalerweise durch den Update-Prozess, nachdem das Reinstallationspaket auf Integrität geprüft wurde. Hier werden wir es tun, indem wir den Boot erzwingen. Es startet die «*Failsafe*»-Installationssoftware, die uns mitteilt, dass die Installation fehlschlägt und dass wir es erneut versuchen können, indem wir einen USB-Stick mit einem korrekten Reinstallationspaket in das Auto stecken. Dann wird die Installation fortgesetzt und beendet.
Tutorial:
Hier ist eine Schritt-für-Schritt-Anleitung, wie Sie dies erreichen können. Beachten Sie, dass dies schwierig sein kann, wenn Sie nicht verstehen, was Sie tun. Aber falls Ihre CMU defekt ist (schwarzer Bildschirm nach einem fehlgeschlagenen Upgrade oder so), haben Sie nichts zu verlieren, oder? Wenn Sie das Auto zu einem Händler bringen, hilft das nicht, sie berechnen Ihnen nur einen vollständigen CMU-Ersatz, und das kostet eine Menge...
Der Flash-Chip befindet sich auf der Rückseite der CMU-Leiterplatte. Es ist ein NOR SPI Flash. Die Idee ist, sich direkt mit diesem Chip zu verbinden und einen Raspberry Pi (der einen SPI-Bus hat) zu verwenden, um den Speicher neu zu programmieren.
Erforderliche Hardware:
- Ein Raspberry Pi
- Ein Programmierer-Testclip SOIC16 oder 6x IC-Testclips (ich habe Testclips verwendet)
- Ein Breadboard, um die Verbindungen herzustellen
Auf dem Raspberry Pi müssen Sie Raspbian installieren (die Lite-Version ist in Ordnung). Richten Sie den Pi nach einer Neuinstallation von Rasbian so ein, dass SPI aktiviert ist, indem Sie Folgendes ausführen:
Code:
sudo raspi-config
(SPI in Interfacing Options* aktivieren)
sudo reboot
Installieren Sie einige erforderliche Tools:
Code:
sudo apt-get update
sudo apt-get install build-essential libusb-1.0-0-dev libusb-dev git wget curl libpci-dev
Holen Sie sich eine neuere Version von flashrom:
Code:
git clone [url]https://github.com/flashrom/flashrom[/url]
cd flashrom
make
sync
Schalten Sie den Raspberry aus.
Jetzt ist der Raspberry Pi bereit. Bauen Sie die CMU aus Ihrem Auto aus (sehen Sie sich auf YouTube ein Video dazu an, wie das geht, es ist einfach), schrauben Sie die Leiterplatte von der CMU ab und schließen Sie die Kabel vom Raspberry an den Flash-Chip an, wie hier (siehe angehängtes Bild) und
http://www.2x4logic.com/mcbot-annotated.jpg
Schalten Sie den Raspberry Pi ein. Und überprüfen Sie, ob der Flash erkannt wird:
Code:
cd flashrom
./flashrom -p linux_spi:dev=/dev/spidev0.0,spispeed=8000
Dies zeigt an, ob ein Chip erkannt wird oder nicht. Wenn nicht, stimmt Ihre Verkabelung nicht. Wenn etwas erkannt wird, kann flashrom Ihnen mitteilen, dass mehrere verschiedene Chips erkannt werden. Das liegt daran, dass einige Chips desselben Herstellers dasselbe Protokoll haben können. Sie müssen das richtige Gerätemodell aus dem lesen, was auf dem Chip steht. Ich hatte einen MX25L6445E. Ich weiß, dass einige andere CMUs ein anderes Chipmodell haben können. Es sollte auch funktionieren, wenn flashrom es erkennen kann.
Versuchen Sie dann, den Speicher zu lesen und ein Backup zu erstellen:
Code:
./flashrom -r backup-cmu.bin -c "MX25L6436E/MX25L6445E/MX25L6465E/MX25L6473E/MX25L6473F" -V -p linux_spi:dev=/dev/spidev0.0,spispeed=8000
Lesen Sie sorgfältig, was flashrom tut, um Fehler zu überprüfen. Ich musste die Option -c "MX25L6436E/MX25L6445E/MX25L6465E/MX25L6473E/MX25L6473F" verwenden, um das richtige Chipmodell in flashrom auszuwählen, da es beim Verwenden der -p-Option (alle erkannten Geräte auflisten) geschrieben wurde
Sobald Sie das Backup haben, ändern wir das Boot-Select-Byte in der Datei
Code:
cp backup-cmu.bin cmu-mod.bin
printf '\x00' | dd of=cmu-mod.bin bs=1 seek=65536 count=1 conv=notrunc
Jetzt ist es an der Zeit, die modifizierte Datei in den Flash zu schreiben:
Code:
./flashrom -w cmu-mod.bin -c "MX25L6436E/MX25L6445E/MX25L6465E/MX25L6473E/MX25L6473F" -V -p linux_spi:dev=/dev/spidev0.0,spispeed=8000
Lesen Sie den Flash zurück, um zu überprüfen, ob er funktioniert hat
Code:
./flashrom -r cmu.bin -c "MX25L6436E/MX25L6445E/MX25L6465E/MX25L6473E/MX25L6473F" -V -p linux_spi:dev=/dev/spidev0.0,spispeed=8000
Überprüfen Sie, ob die Datei übereinstimmt, indem Sie die Prüfsumme überprüfen
Code:
sha1sum cmu.bin cmu-mod.bin
Die Prüfsumme sollte übereinstimmen, wenn dies der Fall ist, ist die Prozedur abgeschlossen. Es ist Zeit, alles abzuziehen und die CMU wieder ins Auto zu stecken. Die CMU sollte in das Failsafe-Wiederherstellungssystem booten und Sie nach einem USB-Stick mit dem Reinstallationspaket fragen.
Viel Glück und viel Spaß beim Hacken!