RP ✔️ XiaoDeaDia - Unbrick (1s & pro2) ⛑️ ( Wiederherstellung ESC mit ST Link/V2 - Linux )

Status
Für weitere Antworten geschlossen.
Deshalb habe ich auch noch nie probiert das auszulesen, weil ich dachte, es geht eh nicht.
Heute habe ich dann alles hier geglaubt und gedacht, wenn es mit openocd so geht, geht es auch mit Windows. 😂😂😂
Post automatically merged:

Aber, bei meinem ersten Beitrag hier ging es mir eigentlich auch um den Ablauf und gar nicht primär um das Auslesen, das hat sich halt nur so ergeben...
 
Aber: Nen verflashten ESC mit dieser Methode einfach nur den DRV Bereich neu zu schreiben, geht doch trotzdem, oder steh ich da jetzt aufm Schlauch und auch dafür muss erst geunlockt werden?
 
Ich verstehe es auch nicht ganz.... inzwischen ist auch alles durchgestrichen. Wurde das von Daniel nicht getestet?
 
Ich verstehe es auch nicht ganz.... inzwischen ist auch alles durchgestrichen. Wurde das von Daniel nicht getestet?
Doch, natürlich habe ich diese Vorgehen getestet; ungetestet kommt von mir NIE was in das Forum.
VooDooShamane VooDooShamane hat ja oben schon beschrieben was ihm passiert ist und ich kann das aktuell nicht prüfen weil ich erst am Wochenende wieder zu Hause bin.

Olli_69 Olli_69 was mit dem ESC passiert, liegt am neuen Update von Xiaomi und nicht an meiner Methode.

Also ich habe es nun gemacht.

Das Problem ist, der interne Flash-Speicher wird bei jedem Update via Home App "locked".
Wenn du dann den unlock Command (disable read out protection) ausführst, Löscht die MCU eigenständig ihren Flash-Speicher.
Bzw es wird mit FF Bytes alles überschrieben.
Dabei scheint es völlig Banane zu sein, ob du ihn via OpenOCD oder der STM32 ST-LINK Utility unlockst.

Ich hab nen V3 Board und laut OpenOCD mit stm32f1x cpu also eigentlich alles ganz normal.
Post automatically merged:

Aber: Nen verflashten ESC mit dieser Methode einfach nur den DRV Bereich neu zu schreiben, geht doch trotzdem, oder steh ich da jetzt aufm Schlauch und auch dafür muss erst geunlockt werden?
Ich würde dir gerne eine geprüfte Antwort geben aber wie schon gesagt, bin aktuell nicht @home und kann nicht testen oder prüfen.
Eventuell kann VooDooShamane VooDooShamane mehr dazu sagen.

Gruß, Daniel
 
  • Liebe zum Detail! (2 Punkte)
Reaktionen: mhdot
Doch, natürlich habe ich diese Vorgehen getestet; ungetestet kommt von mir NIE was in das Forum.
VooDooShamane VooDooShamane hat ja oben schon beschrieben was ihm passiert ist und ich kann das aktuell nicht prüfen weil ich erst am Wochenende wieder zu Hause bin.

Olli_69 Olli_69 was mit dem ESC passiert, liegt am neuen Update von Xiaomi und nicht an meiner Methode.
.

Gruß, Daniel
Es war nur ne Frage, ich wollte nichts unterstellen. Ist nur verwirrend, wenn einer sagt, es geht und einer nicht 🤣

Aber wenn es nur die neue drv321 betrifft, ist alles klar 👍
 
  • Hilfreich!
Reaktionen: Daniel_Gee
Ja richtig, hatte mich von Anfang an gewundert, dass das so gehen soll.
Die Fulldumps sind nur möglich, mit einer undervoltage + timing glitch hack Attacke.
Also bis zu DRV236 war es kein Problem ein fulldump zu erstellen. Hab ja meine Methode zuvor vollständig getestet.
Mit telent 'reset halt' 'stm32f1x unlock 0' und schon war es passiert.

Frage ist nur, ob es mit meiner Methode nach diesem "Update" von XiaomiHome noch möglich ist eine DRV zu flashen.

Mir sind die Hände gebunden, kann hier wo ich bin nichts testen, hab nicht mal meinen Laptop dabei........🥴🥴
 
  • Hilfreich!
Reaktionen: mhdot
Also,
Ich habe es nun nochmal getestet weil es mir keine Ruhe lässt.

Kurzfassung:
Sobald die ROP des stm32f1x MCU aktiviert ist, führt jeder (auf dem normalen Weg ohne Hack) zu einer Löschung bzw einem überschreiben des internen Flash-Speichers. Die ROP wird jedes Mal gesetzt, wenn der Controller an den Scooter angeschlossen ist und der App part (DRV) ausgeführt wird.

Was habe ich gemacht, (die lange Erklärung)
Zum glück gibt es dieses Script von CamiAlfa.
Das spielt Bootloader, DRV und den Data Part auf.
Somit konnte ich immer wieder erneut testen, obwohl der Speicher gelöscht wurde.

Nun habe ich der Sache mit den "neuen Updates" auf den Grund gehen wollen.
Zuerst habe ich den Controller mit dem Cami Script wieder fit gemacht.
Danach an den Scooter angeschlossen und Gas gegeben um zu schauen ob alles geht.
Das hat es, Pro 2 war wieder komplett funktionstüchtig und auch aktiviert. (die Aktivierung macht Camis Scrip gleich mit)
Dann habe ich das PCB wieder ausgebaut, und an den ST-Link angeschlossen.
Feststellen musste ich leider, das die ROP erneut gesetzt wurde.
Und das ganz ohne ein Update diesmal.

Das bedeutet, die einzige Möglichkeit ein "Backup" zu bekommen ist, wenn man direkt nachdem man ein Fulldump aufspielt, oder das Cami Script benutzt hat, erneut den Speicher ausliest.

Soviel dazu...
Es ist leider wie es ist🤷‍♂️
 
Zuletzt bearbeitet:
Verstehe ich das richtig, dass wenn man das nun mit der DRV247 auf dem pro2 versucht, dann löscht es den Chip. Sollte man also nicht über einen fulldump einer früheren Version verfügen um den Chip neu zu recovern, dass der Roller brick ist, weil keine Software mehr drauf ist? Also eine Art Selbstzerstörung beim Auslesen?
 
Verstehe ich das richtig, dass wenn man das nun mit der DRV247 auf dem pro2 versucht, dann löscht es den Chip. Sollte man also nicht über einen fulldump einer früheren Version verfügen um den Chip neu zu recovern, dass der Roller brick ist, weil keine Software mehr drauf ist? Also eine Art Selbstzerstörung beim Auslesen?
Und nochmal,

Es geht nicht!

Das ist völlig unabhängig von DRV Version oder Updates etc...
Das ist ein in dem Mikrocontroller eingebautes Sicherheitsfeature.
Das kann man nicht entfernen!
 
  • Hilfreich!
Reaktionen: ThomasA
Status
Für weitere Antworten geschlossen.