- 19 August 2021
- 2.678
- 5.689
- E-Scooter
- mi Pro2/9bot F2 Pro
Inhaltsverzeichnis
- Vorstellung MiDu-Flasher (Dieser Beitrag)
- Anleitung Dashboard ST-Link Flash - Downgrade & Unbrick
- Anleitung Controller ST-Link Flash - Downgrade & Unbrick
- Anleitung BMS ST-Link Flash - Downgrade & Unbrick
Vorstellung MiDu-Flasher
Hallo liebe RollerPlauscher!
Heute kann ich euch mit Stolz mein neues Programm vorstellen.
Den MiDu-Flasher.
Was kann MiDu-Flasher?
- Downgrade ohne löten und Ausbau des Dashboard
- Debug Exploit durchführen, um Ausleseschutz zu umgehen
- Firmware spoofing
- Automatische Fehler Erkennung (Verbindungsabbrüche)
In der aktuellen Version 1.0.5 wird erstmal "nur" das Dashboard unterstützt.
Ich habe MiDu-Flasher aber so designt, das ich später den Funktionsumfang erweitern kann.
Selbst die neuen v3.1 Controller mit GD32E Mikrocontrollern werden eine Möglichkeit zum Flashen bekommen.
Die Voraussetzungen dafür habe ich schon geschaffen.
Welche Scooter werden unterstützt?
In MiDu-Flasher direkt eingebaut habe ich die Unterstützung für folgende Scooter:
- mi m365 classic
- mi Pro
- mi 1s
- mi Pro 2
- Mi3 (seit v1.0.2)
Bei dem Dashboard sind das 2 verschiedene.
Soweit mir bekannt, ist der N51822x in allen original Dashboards verbaut.
Der N51802x wird vorwiegend in den Clone Dashboards verbaut die man z.b. von Aliexpress kaufen kann.
Wenn man sich nicht sicher ist, welchen Mikrocontroller sein Dashboard verbaut hat,
kann man einfach die Aufschrift darauf ablesen.
Dashboard Funktionsumfang (MiDu-Flasher v1.0.5)
Für das Dashboard gibt es aktuell 3 Funktionen in MiDu-Flasher:
- Downgrade (Pro2 / 1s / Mi3)
- Dump Flash (Alle mi Scooter)
- Write Flash (m365 / Pro / 1s / Pro2 / Mi3)
In den Downgrade-Vorgang habe ich verschiedenste kleine Kniffel und Tricks eingebaut.
Diese Schritte werden ausgeführt:
- Verbindung zum Dashboard aufbauen
- Dumpen des UICR und FICR Flash Speicher Bereich
- Gedumpten UICR Bereich auswerten (prüfen ob Ausleseschutz gesetzt wurde) (Standard bei BLE157)
- Wenn Ausleseschutz gesetzt, dump des app config Bereich via Debug-Exploit (app cofig = blt id, login Token, Scooter-Name usw...)
- Flash-speicher zum schreiben vorbereiten (mass erase)
- Softdevice schreiben (Mikrocontroller Hersteller Bibliothek welche die BLE Firmware benötigt) (
Bitte verwende, Anmelden oder Registrieren zum Anzeigen von URL-Inhalten!)
- BLE Firmware mit oder ohne spoofing schreiben (je nach vorheriger Auswahl)
- Zuvor ausgelesenen app config Bereich schreiben
- Bootloader schreiben
- UICR schreiben (deaktivierter ausleseschutz)
Das ermöglicht es unter anderem den Downgrade des Dashboard durchzuführen ohne das man es vorher ausbauen, und/oder Löten muss.
Man muss nur oben die Dashboard-Abdeckung ab nehmen, und den ST-Link an die 3 Kontakte halten.
Nichtmal der c2 Kondensator muss entfernt, oder dessen Leiterbahn gekappt werden.
Denn MiDu-Flasher zählt die fehlgeschlagenen Verbindungen, und schraubt automatisch die Geschwindigkeit runter.
Wenn der Ausleseschutz des Flash-speicher gesetzt wurde, wird ein spezieller Debug-Exploit für das Auslesen verwendet. (
Bitte verwende,
Anmelden
oder
Registrieren
zum Anzeigen von URL-Inhalten!
) (danke
Lutscher für den Hinweis)MiDu-Flasher macht alles automatisch und gibt Feedback zu den einzelnen Schritten.
Dieses Feedback wird außer in dem Programm selbst, noch als Sound ausgegeben.
Somit kann man ganz in Ruhe sich darauf konzentrieren eine Verbindung zwischen ST-Link und Dashboard zu bekommen.
Beispielsweise bekommt man ein Audio Feedback wenn die Verbindung steht, oder gestört wurde.
Selbst wenn zwischendurch mal die Verbindung abbricht, dann ist das auch kein großes Problem.
Weder während dem lesen oder Schreibvorgang.
Denn MiDu-Flasher bemerkt das alles von selbst, und wiederholt den jeweiligen fehlgeschlagenen Schritt dann direkt nach einem kurzen 5 Sekunden Timeout.
Dump Flash
Macht genau das wie es heißt, es dumpt den kompletten Flash-Speicher. 😁
Abgespeichert wird der Dump in dem Hauptverzeichnis von MiDu-Flasher.
Hier macht sich MiDu-Flasher auch den Debug-Exploit zu nutze, sollte der Speicher einen gesetzten Ausleseschutz haben.
Write Flash
Schreibt alle 3 Hauptkomponenten des Flash-Speicher einzeln.
- Softdevice (m365 & Pro = S110 / Pro2, 1s & Mi3 = S130)
- App aka BLE
- Bootloader
Und muss nicht immer eine komplette .rec Datei aufspielen.
Dadurch erhöht sich auch die Geschwindigkeit des Flash-vorgang.
Da ja hier nur die benötigten Bereiche geschrieben werden, und nicht 1x alles drüber gebügelt wird.
Wenn man eine eigene BLE Version flashen möchte, kann man diese einfach in dem entsprechenden Ordner,
unter MiDu-Flasher\Resource\files\BLE\App\N51822x\(Scooter)\App.bin ablegen.
Wenn MiDu-Flasher dort eine App.bin findet, nimmt er diese als Basis für die "Write Flash" oder "Downgrade" Funktion.
Somit kann man auch einen Downgrade auf eine eigene BLE version durchführen.
Sogar das Spoofen der eigenen BLE sollte funktionieren.
Da MiDu-Flasher nach einem bestimmten Byte-Muster sucht, um die richtige Stelle in der App.bin zum spoofen zu finden.
Das ist die komplette Ordnerstruktur von MiDu-Flasher:
Code:
Bitte verwende,
Anmelden
oder
Registrieren um den Inhalt der Codes anzuzeigen!
MiDu-Flasher Download
Update 15.07.2022 (v1.0.5)
Changelog:
Code:
Bitte verwende,
Anmelden
oder
Registrieren um den Inhalt der Codes anzuzeigen!
Bitte verwende,
Anmelden
oder
Registrieren
zum Anzeigen von URL-Inhalten!
Einfach die Zip entpacken, und die Verknüpfung im Hauptverzeichnis starten.
Die Firmware Files die für den Flash benötigt werden, wird MiDu-Flasher dann runterladen.
Natürlich erst, nachdem ihr dem Herunterladen zugestimmt habt.
Wenn euch dieser Beitrag gefällt, denkt bitte darüber nach eine Spende für den RollerPlausch da zu lassen.
Unterstütze RollerPlausch.com!
Hier findest du Infos wie du RollerPlausch.com unterstützen kannst!
rollerplausch.com
Auch über ein Klick auf den Hilfreich Button freue ich mich jedes mal und spornt mich an weiter zu machen.
Danke ❤️
Zuletzt bearbeitet: