[Update 28.07.2024]
Der Konfigurator für den 4 Pro Gen1 ist jetzt hier kostenfrei zum selbst aufspielen verfügbar.

https://nextgenfw.pythonanywhere.com/

Viel Spaß!

[17.05.2024]
In dieser Woche habe ich den Xiaomi 4 Pro unter die Lupe genommen und untersucht, ob ein Tuning über 25 km/h möglich ist. Aktuell lässt sich die Geschwindigkeit nur mit einem originalen EU-Controller realisieren. Mit diesem erreicht der E-Scooter die 25 km/h, und sowohl die MiHome App als auch der Tempomat funktionieren einwandfrei. Einige Controller sind noch in meinem Shop und auf eBay verfügbar.

Ich möchte mehr als nur 25 km/h!
Der direkte Zugang über das Dashboard des Scooters ist aufgrund der neuen Verschlüsselung wie beim 1S und Pro 2 ab BLE 15x nicht mehr möglich, also wende ich mich einer rabiaten Methode zu: dem Auslesen, Modifizieren und Zurückschreiben des Speichers.

Auf der Suche nach dem SWD-Anschluss am Controller, um direkten Zugriff auf den Microcontroller zu erhalten, entfernte ich großflächig die schwarze Beschichtung – leider ohne Erfolg. Nichts zu erkennen.

Erst nach langwieriger Arbeit mit einem Bürstenaufsatz für den Dremel kam der gesuchte Anschluss zum Vorschein. Ich lötete eine Stiftleiste an und verband den ST-Link. Zwar gingen bei der Entfernung der Beschichtung einige SMD-Bauteile verloren, doch mein Ziel war klar: Ich benötigte nur Zugang zum Microcontroller, denn mit 20 km/h ist der Scooter praktisch unbrauchbar.

Der Microcontroller, ein STM32Fxx Cortex M3, wurde vom STM32 ST-LINK Utility erkannt – ein erster Erfolg!

Doch beim Versuch, den Speicher auszulesen, stieß ich auf eine Hürde: Read Out Protection war aktiviert. Eine RDP Level 1 Sicherung verhinderte das Auslesen mit externen Tools, ich erhielt lediglich nur 0xff statt der Daten. Ein Neubeschreiben war möglich, brachte mich aber nicht weiter.

 

Enttäuscht legte ich den Controller zu den anderen Fehlschlägen. Ich entschied, meine Zeit nicht länger mit dem 4 Pro zu vergeuden. Zwar gäbe es noch zwei Optionen, doch der Aufwand steht in keinem Verhältnis zum Nutzen. Die erste Möglichkeit wäre, ein OTA-Update abzufangen, anzupassen und dann direkt per ST-LINK aufzuspielen – eine Methode, in dem ich keine Erfahrung habe. Die zweite Möglichkeit wäre, das RDP-Level auf 0 zu reduzieren, was jedoch einen enormen Aufwand bedeutet.

https://embedthreads.com/wp-content/uploads/2023/12/Microcontrollers-Firmware-Protection.pdf

So lasse ich das Projekt vorerst ruhen und werde mich vielleicht in Zukunft mit der OTA-Update Option beschäftigen, da ich noch zwei Controller ohne Update hier habe.

 

[Update 27.05.2024]

 

Möglicherweise lässt sich die RDP Level 1 umgehen.
https://github.com/CTXz/stm32f1-picopwner

Ich bleibe doch erstmal beim Thema und warte bis der bestellte Pico da ist.

[Update 20.06.2024]

Mit HTTP Toolkit konnte ich die Firmwaredateien vom 4 Pro Herunterladen und mit https://github.com/BotoX/xiaomi-m365-firmware-patcher/tree/master/xiaotea entschlüsseln.

 In den nächsten Tagen werde ich diese Software zurück auf den Controller spielen und Anpassen.

Und geschafft 🙂 

Der 4 Pro Gen1 schafft 30kmh. 
Die Software lässt sich per ST-Link aufspielen.