- 2 Januar 2022
- 590
- 2.264
- E-Scooter
- Xiaomi Mi 1S
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 L leelt für die dort bereitgestellten Informationen.
Zu diesem Beitrag bitte auch den Haftungsausschluss der Nutzungsbedingungen - Pkt.8 beachten!
Achtung: Bespielt/Flasht man diesen Controller mit älteren Firmware Dateien, also macht z.B. ein DRV Downgrade, dann führt das unweigerlich zum BRICK!
![1651963845758.png 1651963845758.png](https://data.rollerplausch.com/attachments/17/17114-cc43ff48f75e849a16ef5bef75bc2d22.jpg?hash=zEJ9H_nlol)
Update 06.01.23: Das neue open-source
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.22: 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.
Controller Version feststellen
Wer die DRV flashen möchte, sich aber keinen Brick holen will, kann wiefolgt vorgehen:
**: Bei neueren DRVs, z.B. DRV016 (=DRV316 in downG) beim Mi3, wird das Flashen durch die dahingehend blockiert, dass nur DRVs mit der korrekten Scooter Kennung geflasht werden können. Um eine CFW zu flashen, kann z.B. zuerst eine ältere Vanilla DRV geflasht werden, sofern diese die o.g. Kriterien erfüllt und nicht zum Brick führt. Die öffentliche Version der m365 Plus App bietet Möglichkeiten für höhere DRV Versionen.
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:
Welche CFWs gibt es für Controller V3.1?
Derzeit verfügbare CFWs für den Controller V3.1 sind:
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 H hydrocoter veröffentlicht. Dafür wird ein USB-UART Adapter und das
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 für das Teilen der Info) und hier bestätigt (Danke an
D
Donthorto).
Hauptunterschied ist ein anderer Prozessor mit anderer Taktrate und die RAM-Größe.
Laut
Im ARM Compiler (armcc) lässt sich
(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
(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 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 L leelt und I 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
Diese Controller Version besitzt einen anderen Mikrocontroller, wie in diesem Thread gezeigt. Vielen Dank an L leelt für die dort bereitgestellten Informationen.
Zu diesem Beitrag bitte auch den Haftungsausschluss der Nutzungsbedingungen - Pkt.8 beachten!
Achtung: Bespielt/Flasht man diesen Controller mit älteren Firmware Dateien, also macht z.B. ein DRV Downgrade, dann führt das unweigerlich zum BRICK!
![1651963845758.png 1651963845758.png](https://data.rollerplausch.com/attachments/17/17114-cc43ff48f75e849a16ef5bef75bc2d22.jpg?hash=zEJ9H_nlol)
Update 06.01.23: Das neue open-source
Um Links zu sehen, melde dich bitte an
, welches in neuen SHU Versionen bereits zum Einsatz kommt, garantiert, dass nur Firmware Dateien aufgespielt werden können, die zum jeweiligen Controller gehören. Um einen Brick zu verhindern, empfiehlt sich daher das Flashen mit einer neuen SHU Version (wie z.B. 2.1.1) - und nicht das Legacy Zip Format zu verwenden!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.22: 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.
Controller Version feststellen
Wer die DRV flashen möchte, sich aber keinen Brick holen will, kann wiefolgt vorgehen:
- Die App "m365 downG" downloaden, dort unter Tools die UUID nachschauen
- Enthält die UUID nicht die Zeichen FF, handelt es sich um den neuen Controller: Flashen von alter DRV* führt zu Brick!!
- Enthält die UUID die Zeichen FF, handelt es sich um den alten Controller: Flashen unproblematisch
- Weiterhin im Hauptfenster von downG die BLE Version nachschauen
- BLE Version >= 155: Flashen von CFW ist blockiert (ECDSA PK Kryptographie)
- BLE Version < 155: Flashen der DRV möglich**
- Zuletzt in downG die BMS Version prüfen:
- BMS Version >= 1000: BMS Downgrade führt zu Brick!
- BMS Version < 1000: BMS Downgrade unproblematisch
**: Bei neueren DRVs, z.B. DRV016 (=DRV316 in downG) beim Mi3, wird das Flashen durch die dahingehend blockiert, dass nur DRVs mit der korrekten Scooter Kennung geflasht werden können. Um eine CFW zu flashen, kann z.B. zuerst eine ältere Vanilla DRV geflasht werden, sofern diese die o.g. Kriterien erfüllt und nicht zum Brick führt. Die öffentliche Version der m365 Plus App bietet Möglichkeiten für höhere DRV Versionen.
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
Welche CFWs gibt es für Controller V3.1?
Derzeit verfügbare CFWs für den Controller V3.1 sind:
- Für die deutsche Community (bewährt) --> VLT Firmware
- Für die internationale Community (NEU) --> NGFW (NextGen Firmware)
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 H hydrocoter veröffentlicht. Dafür wird ein USB-UART Adapter und das
Um Links zu sehen, melde dich bitte an
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](https://data.rollerplausch.com/avatars/s/10/10684.jpg?1737016187)
Hauptunterschied ist ein anderer Prozessor mit anderer Taktrate und die RAM-Größe.
Typ | MCU | Prozessor | Taktrate | Flash | RAM | Preis p. Stück (ca.) |
0 | STM32F103CBT6 | ARM Cortex-M3 | 72 mHz | 128 kB | 20 kB | > 5 USD |
1 | GD32E103CBT6 | ARM Cortex-M4 | 108 mHz | 128 kB | 32 kB | 2-3 USD |
2 | GD32F103CBT6 | ARM Cortex-M3 | 108 mHz | 128 kB | 32 kB | 2-3 USD |
Laut
Um Links zu sehen, melde dich bitte an
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
Um Links zu sehen, melde dich bitte an
.Im ARM Compiler (armcc) lässt sich
Um Links zu sehen, melde dich bitte an
, 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
(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](https://data.rollerplausch.com/avatars/s/21/21136.jpg?1737024578)
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 L leelt und I 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
Zuletzt bearbeitet von einem Moderator: