RP ✔️ Neuer Controller V3.1 bei aktuellen Xiaomi Rollern: Brickgefahr bei DRV Downgrade / Vorgehen

Status
Für weitere Antworten geschlossen.
Ok Danke. Eine abschließende Frage noch. Kann ich, nachdem ich auf 319 geflasht habe, die CFW von Sc***hac***.org verwenden oder nur VLT?
 
Shu-cfw basiert auf der 155,also nein. Nur VLT oder NextGen auf Basis der 319.
Ok hab ich kapiert. Aber sorry! Ich weiss nicht was heute los ist aber irgendwie ist der Wurm drin. Jetzt hab ich die exakte Anleitung von VLT Zipper befolgt und ständig bekommen ich die Fehlermeldung, dass keine Firmware gefunden wurde. Ich könnte würgen.... wenn es nicht läuft, dass läuft es nicht. Gibt es da einen Trick? Bei der Anleitung kann man ja eigentlich nicht viel falsch machen....
 
Ok hab ich kapiert. Aber sorry! Ich weiss nicht was heute los ist aber irgendwie ist der Wurm drin. Jetzt hab ich die exakte Anleitung von VLT Zipper befolgt und ständig bekommen ich die Fehlermeldung, dass keine Firmware gefunden wurde. Ich könnte würgen.... wenn es nicht läuft, dass läuft es nicht. Gibt es da einen Trick? Bei der Anleitung kann man ja eigentlich nicht viel falsch machen....
Bitte nur einen Thread benutzen!
 
  • Hilfreich!
Reaktionen: VooDooShamane
Hallo Leute
ich melde mich hier mal als blutiger Anfänger... ich hab zwar schon viel "gehackt" und einiges an Arduino/ESP32 Programmierungen gemacht... die "komlexität" bei einem E-Scooter hätte ich jetzt nicht erwartet...
Anyhow: ich habe einen Xiamoo Mi Pro2
DRV248
DMS128
BLE157
UUID: mit FF (51FF6E....... )
Angemeldet zuerst mit Mi Home, aktiviert mit downG.

Wenn ich das Diagramm auf der ersten Seite richtig verstehe ist UUID ok aber BLE ist zu neu (157) und daher ST-Link/Dashboard swap.

Was ich möchte ist mehr "speed" - aber auch den "cruise speed". Den kann ich wohl schon aktivieren mit downG (noch hat er 0 KM... warte schon auf die Anmeldung).
... so - was muss ich nun tun?
Der MiDu flasher ist was? Ich brauche den ST-Link (woher kriegt man den) - muss aber nicht ausbauen?
Oder geht der per BT? Irgendwie stehe ich auf dem Schlauch - und bin für jeden Tipp dankbar.

Gruß
Thorsten
 
Hallo Leute
ich melde mich hier mal als blutiger Anfänger... ich hab zwar schon viel "gehackt" und einiges an Arduino/ESP32 Programmierungen gemacht... die "komlexität" bei einem E-Scooter hätte ich jetzt nicht erwartet...
Anyhow: ich habe einen Xiamoo Mi Pro2
DRV248
DMS128
BLE157
UUID: mit FF (51FF6E....... )
Angemeldet zuerst mit Mi Home, aktiviert mit downG.

Wenn ich das Diagramm auf der ersten Seite richtig verstehe ist UUID ok aber BLE ist zu neu (157) und daher ST-Link/Dashboard swap.

Was ich möchte ist mehr "speed" - aber auch den "cruise speed". Den kann ich wohl schon aktivieren mit downG (noch hat er 0 KM... warte schon auf die Anmeldung).
... so - was muss ich nun tun?
Der MiDu flasher ist was? Ich brauche den ST-Link (woher kriegt man den) - muss aber nicht ausbauen?
Oder geht der per BT? Irgendwie stehe ich auf dem Schlauch - und bin für jeden Tipp dankbar.

Gruß
Thorsten
Den ST-Link v2 bekommst fast überall. Habe mir den hier bestellt https://www.amazon.de/gp/product/B07YX83NSL
Zum Rest kann ich nicht viel sagen, da ich selbst noch auf meinen Scooter warte und mich erst dann näher informiere ^^
 
Hallo Leute
ich melde mich hier mal als blutiger Anfänger... ich hab zwar schon viel "gehackt" und einiges an Arduino/ESP32 Programmierungen gemacht... die "komlexität" bei einem E-Scooter hätte ich jetzt nicht erwartet...
Anyhow: ich habe einen Xiamoo Mi Pro2
DRV248
DMS128
BLE157
UUID: mit FF (51FF6E....... )
Angemeldet zuerst mit Mi Home, aktiviert mit downG.

Wenn ich das Diagramm auf der ersten Seite richtig verstehe ist UUID ok aber BLE ist zu neu (157) und daher ST-Link/Dashboard swap.

Was ich möchte ist mehr "speed" - aber auch den "cruise speed". Den kann ich wohl schon aktivieren mit downG (noch hat er 0 KM... warte schon auf die Anmeldung).
... so - was muss ich nun tun?
Der MiDu flasher ist was? Ich brauche den ST-Link (woher kriegt man den) - muss aber nicht ausbauen?
Oder geht der per BT? Irgendwie stehe ich auf dem Schlauch - und bin für jeden Tipp dankbar.

Gruß
Thorsten
Herzlich willkommen im RollerPlausch 👋

Schau dir doch den MiDu-Flasher Thread mal an.
Alles was du brauchst steht dort.
Dort sind natürlich auch alle dafür benötigten Teile wie ST-Link etc... verlinkt.

Die BLE157 ist nicht via Bluetooth downgradebar.
Alle benötigten Informationen zu der BLE157 findest du hier:
 
  • Hilfreich!
Reaktionen: Olli_69
Alle Xiaomi Roller, die nach Dezember 2021 produziert worden sind, kommen mit der neuen Controller (ESC) Version 3.1.
Diese Controller Version besitzt einen anderen Mikrocontroller, wie in diesem Thread gezeigt. Vielen Dank an leelt für die dort bereitgestellten Informationen.

Achtung: Bespielt/Flasht man diesen Controller mit älteren Firmware Files, also macht z.B. ein DRV Downgrade, dann führt das unweigerlich zum BRICK!
Anhang anzeigen 17113

Der neue Controller wird mit zwei unterschiedlichen MCUs geliefert und je nach MCU ist der Brick mehr oder weniger tragisch: Bei Controller mit GD32E MCU (Typ 1) erhält man nach dem Flashversuch abwechselnd die Fehler 27 und 35. Der Controller lässt sich dann nur noch per ST-Link über ein spezielles gd32rec Skript retten (siehe Abschnitt unten). Bei Controllern mit GD32F MCU (Typ 2) gibt es keinen irreversiblen Brick, sondern lediglich ein Fehlverhalten vom Dashboard / ESC (z.B. Roller schaltet sich automatisch wieder ein), was sich aber durch ein Flashen der aktuellen DRVs beheben lässt.

Update 27.06: Neben dem ESC kommt auch das BMS Board inzwischen mit einer neuen MCU (Cortex-M statt STM8L), Infos dazu siehe hier. Ist die BMS Version vierstellig, so darf diese nicht gedowngraded werden, ansonsten wird es zu einem BMS Brick kommen!

Neuen Roller gekauft: Aktivieren
Um die Authenzität des Rollers in der deutschen Region sicherzustellen, ist die Erstverbindung des Rollers mit der offiziellen MiHome App notwendig. D.h. den Roller auswählen und verbinden: sobald der Roller erfolgreich in der App angelegt wurde, ist die Erstverbindung abgeschlossen und die Funktion des Rollers mit der offiziellen MiHome App sichergestellt.

Die Aktivierung des Rollers kann nun wahlweise per MiHome App oder durch Drittanbieter Apps wie m365 downG oder SHU durchgeführt werden (der Vorgang unterscheidet sich nicht). Da inzwischen alle Roller mit der aktuellen Firmware ausgeliefert werden, spielt das keine Rolle und man aktiviert den Roller wie gewohnt in der MiHome App.

Die MiHome App kann nach der Erstverbindung / Aktivierung wieder deinstalliert werden. Bitte vorher drauf achten, den Roller aus dem Account zu löschen, für den Fall, dass man das Passwort vergisst oder falls jemand anders den Roller später übernimmt. Es geht bei der Aktivierung nicht darum, den Roller am Account gebunden zu haben, sondern den Aktivierungsschlüssel zwischen Xiaomi Server und Roller zu synchronisieren.

Hintergrund: Der Roller bekommt von der MiHome App einen einizartigen Aktivierungsschlüssel ("BLTID") zugewiesen, der beim Registrieren auf Xiaomi Servern hinterlegt wird und anhand dessen die Authenzität des Roller geprüft werden kann. Verbindet man den Roller nicht zuerst über die offizielle App, so lässt sich der Roller später nicht mehr mit dieser verbinden (Fehler -28 / -29). Damit die Verbindung mit der MiHome App wieder klappt und um den Auslieferungszustand wiederherzustellen, müssen dann extra Schritte unternommen werden.
--> Anleitung: Fehler -28 / -29 beheben

Controller Version feststellen
Wer die DRV flashen möchte, sich aber keinen Brick holen will, kann wiefolgt vorgehen:
  1. Die App "m365 downG" downloaden, dort unter Tools die UUID nachschauen
    1. Enthält die UUID nicht die Zeichen FF, handelt es sich um den neuen Controller: Flashen von alter DRV* führt zu Brick!!
    2. Enthält die UUID die Zeichen FF, handelt es sich um den alten Controller: Flashen unproblematisch
  2. Weiterhin im Hauptfenster von downG die BLE Version nachschauen
    1. BLE Version >= 155: Flashen von CFW ist blockiert (ECDSA PK Kryptographie)
    2. BLE Version < 155: Flashen der DRV möglich**
  3. Zuletzt in downG die BMS Version prüfen:
    1. BMS Version >= 1000: BMS Downgrade führt zu Brick!
    2. BMS Version < 1000: BMS Downgrade unproblematisch
*: Nur alte DRVs sind inkompatibel, neuere DRVs funktionieren einwandfrei. Mehr dazu im nächsten Abschnitt.
**: Beim Mi3 wird das Flashen durch die DRV016 (=DRV316 in downG) dahingehend blockiert, dass nur DRVs mit der Kennung "Scooter_Mi3_V0" (an Offset 0x100 in der Firmware) geflasht werden können. Um eine CFW zu flashen, kann z.B. zuerst eine ältere Vanilla DRV für den Mi3 geflasht werden.

Controller Version / Typ herausfinden
Die HomeMi bzw. m365 Plus App kann genutzt werden, um den genauen Controller-Typ herauszufinden (siehe "Details zum Controller"). Das Öffnen des Rollers, um die Beschriftung auf dem Controller abzulesen ist damit vollkommen unnötig. Die App ist außerdem für diejenigen interessant, die die grundsätzlichen Roller Funktionen steuern, aber die offizielle App nicht nutzen möchten (Datenschutz, Updates, etc.).

Lässt sich Controller V3.1 flashen?
Ja! Egal welcher Controller drin ist, man kann in jedem Fall eine aktuelle DRV flashen - auf die Roller bezogen können also DRVs ab folgenden Versionsnummern geflasht werden:
  • 1S: min. DRV319
  • Pro2: min. DRV247
  • Lite/Essential: min. DRV242
  • Mi3: min. DRV015
Alle Versionen, die darunter liegen, führen zu Problemen (Typ 2: GD32F) oder gar zum Brick (Typ 1: GD32E).

Welche CFWs gibt es für Controller V3.1?
Derzeit verfügbare CFWs für den Controller V3.1 sind:
Bemerkenswert: Zum aktuellen Zeitpunkt ist keine andere CFW ist mit dem neuen Controller kompatibel, auch nicht XiaoDash! Mods / Offsets für diese DRVs habe ich im März zuerst im VLT Thread veröffentlicht. Damit ist VLT die erste CFW, die mit dem neuen Controller funktioniert hat, gefolgt von NGFW.
Wahrscheinlich ist, dass die SHFW bald ebenso für den Controller V3.1 verfügbar ist: diese wird auf Basis der DRV247 aufgesetzt mit erweiterter Größe auf 128kB.

Controller V3.1 nach einem Brick retten
Zunächst muss man herausfinden, welchen Controller Typ man hat. Dafür muss entweder die Beschriftung auf dem Chip untersucht werden oder alternativ nutzt man hierfür die HomeMi bzw. m365 Plus App.

Besitzer des Controller Typ 1 (GD32E) müssen zur Wiederherstellung über ST-Link flashen. Dafür kann man das von Conejo am 23.5. veröffentlichte Programm "gd32rec" nutzen. Dieses ist ursprünglich für den Mi3 gedacht, kann aber leicht für den Pro2 (DRV247) / 1S (DRV319) angepasst werden.
--> Anleitung: "gd32rec"

Besitzer des Controller Typ 2 (GD32F) können zur Wiederherstellung ebenfalls gd32rec nutzen, aber in diesem Fall kann die aktuelle DRV auch über SHU oder downG geflasht werden! Denn: Das Flashen über Bluetooth funktioniert bei diesem Controller Typ 2 (GD32F) in der Regel noch, bei Controller Typ 1 (GD32E) aber nicht.

Update 15.08.
(Ungetestet) Eventuell ist es möglich, den Controller auch ohne ST-Link zu retten. Die Methode wurde erstmalig hier von hydrocoter veröffentlicht. Dafür wird ein USB-UART Adapter und das benötigt.

Details zum Controller / Chip (MCU)
Alle Xiaomi Controller bis einschließlich V3.0 verwenden die STM32F103CBT6 MCU. Beim Controller V3.1 wird die GD32E103CBT6 MCU eingesetzt.
Update 11-06-2022: Die Firmware kennt noch eine zweite neue MCU, diese wurde hier als GD32F103CBT6 identifiziert (Danke an VooDooShamane VooDooShamane für das Teilen der Info) und hier bestätigt (Danke an Donthorto).

Hauptunterschied ist ein anderer Prozessor mit anderer Taktrate und die RAM-Größe.
TypMCUProzessorTaktrateFlashRAMPreis p. Stück (ca.)
0STM32F103CBT6ARM Cortex-M372 mHz128 kB20 kB> 5 USD
1GD32E103CBT6ARM Cortex-M4108 mHz128 kB32 kB2-3 USD
2GD32F103CBT6ARM Cortex-M3108 mHz128 kB32 kB2-3 USD

Laut sind alle Chips untereinander PIN-kompatibel, d.h. man kann den einen Chip durch den anderen Austauschen ohne etwas am PCB Layout zu verändern. Der ARM Cortex-M4 unterstützt alle ARM Cortex-M3 Instruktionen, beide nutzen dieselbe ARMV7M Architektur. Einziger Unterschied ist, dass der Cortex-M4 Kern eine DSP (Digital Signal Prozessing) Erweiterung und eine zusätzliche FPU (Floating Point Unit) an Bord hat - Infos siehe .

Im ARM Compiler (armcc) lässt sich , mit welchen Kernen / Architekturen die Firmware kompatibel sein soll, d.h. es wird beim Zeitpunkt der Erstellung der Firmware festgelegt, ob Cortex-M3 oder Cortex-M4 oder beides unterstützt werden soll.

(Meine Annahme: Die DRV321 bzw. DRV248 wurde mit Cortex-M3 und Cortex-M4 (neuer Chip) Kompatibilität kompiliert, die Firmwares davor allerdings nur für Cortex-M3! Das würde erklären, wieso keine separaten Firmware Files über die offizielle App verteilt werden: die App prüft, so hatte ich nach langer Recherche herausgefunden, für den Abruf der Files lediglich das Modell (1S, Pro2, ...), welches über eine Produkt Kennung (pid) in den Service Daten des BLE hinterlegt ist.) --> Inzwischen bestätigt

Zusammenfassung
Anhang anzeigen 18031
(Gerne teilen, feel free to share!)


Update 16.05.
Es sollte möglich sein anhand der UID / UUID zu prüfen, ob es sich um einen V3.1 Controller handelt. Enthält die UID nicht die Zeichen FF, ist dies ein Hinweis auf den neuen GD32 Chip! Um die UID auszulesen, kann man entweder downG oder SHU nutzen. In downG geht man dafür auf Tools und bekommt dann die "UUID" direkt angezeigt. In SHU muss man auf das Menü oben rechts und dann "Copy UID" anklicken und diese dann irgendwo hinkopieren.
Dies aber bitte aufgrund fehlender Daten nicht als einiziges Indiz nutzen, stattdessen wie hier beschrieben physisch kontrollieren, ob der V3.1 Controller verbaut ist, bevor geflasht wird!

Update 25.05.
Erste Bestätigung
der Korellation UID und Controller Version dank Pepe_DVC Pepe_DVC von Seiten der spanischen Roller Community. Kommentar: In Spanien sind vor allem die "Mi Essential" (Lite) Modelle betroffen, es werden also mit Sicherheit nicht nur die Pro2 Modelle mit dem neuen Controller ausgestattet. Es ist zu erwarten, dass alle Xiaomi Roller mit Produktionsdatum 2022 den neuen Controller besitzen. Den Titel des Threads habe ich vorsorglich angepasst.

Update 05.06
Infos zum Controller und Firmware sowie Flow-Chart hinzugefügt.

Update 07.06
GD32 Dump inkl. Unlock Skript wurde von Conejo am 23.5. im XiaoDash Kanal veröffentlicht. Recovery ist damit nun möglich!

Update 09.06
Eindeutige Feststellung des Controller Typen per App.

Update 11.06
Infos zur zweiten Variante.

Update 24.06
Beide MCU Typen sind kompatibel mit der DRV247 (wie eingangs angenommen), danke leelt und Ignatius für die Bestätigung!

Update 27.06
Release Tutorial zur Wiederherstellung von gebricktem Xiaomi Mi3, Pro2, 1S, Lite

Update 06.07
Release NextGen Firmware: erste Firmware weltweit mit Unterstützung von V3.1 Controller für alle Xiaomi Roller

Update 22.07
Hinweise und Anleitung zur Aktivierung hinzugefügt
Hallo Freunde! Entschuldigung, ich habe eine Frage ... es ist das Diagramm, das den Dowgrade zu DRV 003 im Mi3-Roller erwähnt. Ist es vielleicht ein Tippfehler und es sollte sich auf DRV 303 beziehen? Danke für deine Arbeit. Ein Gruß aus Spanien!
 
Hallo Freunde! Entschuldigung, ich habe eine Frage ... es ist das Diagramm, das den Dowgrade zu DRV 003 im Mi3-Roller erwähnt. Ist es vielleicht ein Tippfehler und es sollte sich auf DRV 303 beziehen? Danke für deine Arbeit. Ein Gruß aus Spanien!
Nein, die korrekte Versionsnummer lautet DRV 003. Aktuell müsste DRV 016 sein.
 
Nein, die korrekte Versionsnummer lautet DRV 003. Aktuell müsste DRV 016 sein.
Vielen Dank für Ihre Antwort. Vielleicht ist es das DRV 003 aus der deutschen Version?

Es ist uns unmöglich, es in der M365-Community zu identifizieren. Wo könnte ich diese Version von DRV 003 bitte herunterladen ... wissen Sie?

Vielen Dank!


bearbeiten: Und noch eine letzte Sache Freunde... dieser DRV 003 ist nicht offiziell oder? Ich meine ... es ist eine benutzerdefinierte Version, richtig?
 
Status
Für weitere Antworten geschlossen.