SoFlow SO4 Pro versteckte "SpeedModes"

Override

Neuer Rollerplauscher
Registriert
5 September 2021
BeitrÀge
9
Punkte Reaktionen
9
E-Scooter
SoFlow SO4 Pro
Hallo zusammen,

bin gerade dabei mich etwas schlau zu machen, wie die SoFlow App funktioniert.

Nachdem ich mir das Bluetooth Protokoll angeschaut habe konnte ich herausfinden, wie die App die drei möglichen "SpeedModes" ĂŒbertrĂ€gt.

Erhöht man die Ziffer des gewĂŒnschten Modus, zeigt das Display auch statt den gĂ€ngigen Modi (1, 2, 3) auch zwei weitere an (4 und 5).

Hier war meine Hoffnung natĂŒrlich groß, dass in diesen Modi die Geschwindigkeitsbegrenzung anders eingestellt ist. Dies war jedoch nicht der Fall.

Ich bleibe daran weitere Dinge auszuprobieren.

GrĂŒĂŸe

Override
 

VooDooShamane

Content-Creator
Registriert
19 August 2021
BeitrÀge
121
Punkte Reaktionen
383
E-Scooter
Xiaomi Pro 2
Kenne mich mit SoFlow Rollern 0 aus.
Aber kommt man nicht irgendwie an die Firmware ran? Da mĂŒsste doch was gehen.đŸ€”
 

Doragonnaito42

Moderator
Crewmitglied
Registriert
20 Juni 2020
BeitrÀge
1.953
Punkte Reaktionen
1.787
E-Scooter
G30D
Aber kommt man nicht irgendwie an die Firmware ran? Da mĂŒsste doch was gehen.đŸ€”
Nicht alles hat eine Firmware, selbst Roller die Bluetooth haben, mĂŒssen nicht unbedingt auch eine Firmware auf dem Controller haben. 99% der Roller am Markt werden durch stumpf doofe Controller gesteuert mit Shunt-Widerstand. Sollten diese Roller Bluetooth haben, verschicken diese meist nur die Infos, die dem Dashboard zur VerfĂŒgung stehen, an die App welche damit zb. irgendwas errechnet.
 

VooDooShamane

Content-Creator
Registriert
19 August 2021
BeitrÀge
121
Punkte Reaktionen
383
E-Scooter
Xiaomi Pro 2
Wissen kann man es nur wenn man sich mal das Board vom Controller anschaut.
Override Override könnte ja mal paar Bilder von der controller Platine hochladen.
 
OP
Override

Override

Neuer Rollerplauscher
Registriert
5 September 2021
BeitrÀge
9
Punkte Reaktionen
9
E-Scooter
SoFlow SO4 Pro
Nicht alles hat eine Firmware, selbst Roller die Bluetooth haben, mĂŒssen nicht unbedingt auch eine Firmware auf dem Controller haben. 99% der Roller am Markt werden durch stumpf doofe Controller gesteuert mit Shunt-Widerstand. Sollten diese Roller Bluetooth haben, verschicken diese meist nur die Infos, die dem Dashboard zur VerfĂŒgung stehen, an die App welche damit zb. irgendwas errechnet.
Kenne mich da leider auch nicht gut genug aus. Kannst du mir vielleicht folgende Fragen beantworten:

1. Bei der Bluetooth Schnittstelle handelt es sich um einen gĂ€ngigen Bluetooth Low Engergy Nordic UART Service welcher ĂŒber das GATT Protokoll kommuniziert.
Welche Komponente am Scooter wird diese BLE Modul haben? Ich vermute mal, dass es in der Display-Einheit verbaut ist.

2. Wenn zwei Scooter mit unterschiedlichen Maximalgeschwindigkeiten den gleichen Controller verwenden, muss der Controller doch irgendwie bescheid bekommen, wo die Grenze fĂŒr die Maximalgeschwindigkeit liegt? Kommt das Signal dann ebenfalls von der Display-Einheit?

Wissen kann man es nur wenn man sich mal das Board vom Controller anschaut.
Override Override könnte ja mal paar Bilder von der controller Platine hochladen.
Mein Ziel ist es, weitere Bluetooth FunktionalitÀten (sollte es sie geben) aufzudecken.
(Aktuell könnte ich z.B. jeden SoFlow SO4 Pro ohne den Account des EigentĂŒmers entsperren)

Wie es aussieht, muss ich tatsÀchlich iegendwie an den Chip, der die Bluetooth Schnittstelle anbietet.
Sollte ich Hardwarekomponenten auseinandernehmen, kann ich gerne Fotos davon hochladen :)
 
OP
Override

Override

Neuer Rollerplauscher
Registriert
5 September 2021
BeitrÀge
9
Punkte Reaktionen
9
E-Scooter
SoFlow SO4 Pro
Kleines Update:

Habe am Wochenende mal das Display ausgebaut und geöffnet.

Erste Erkenntnis: die chinesische Beschriftung auf der Unterseite des Displays steht fĂŒr "Bluetooth".
D.h. das Bluetooth Modul ist tatsÀchlich im Display verbaut.

Display.jpg

Ein Kabel fĂŒhrt durch die Lenkstange zum Kontroller, wĂ€hrend die Restlichen alle im Lenker verschwinden.
(Wusste bisher nicht, dass die Scheibenbremsen auch verkabelt sind, es macht jedoch Sinn wÀhrend des Bremsens, den Motor abzuschalten)

Bei dem Kabelhersteller handelt es sich um YILIANSHENG Connectors.
Leider ist die Pin-Belegung nicht wirklich dokumentiert, sodass ich mich an den (evtl. kompatiblen) Steckern von Julet Electric orientiert habe.
Pin-Belegung bei den Kabeln kann ich gerne noch mal mit einem Multimeter checken.

Display_Pins.png
Auf der RĂŒckseite des PCB-Boards finden sich 4 Pins, die verdĂ€chtig nach einer Schnittstelle aussehen.
Eventuell kann man darĂŒber die Firmware ziehen bzw, draufspielen.

Display_backside.png

Leider sind die interessanten Komponenten unter den LEDs verbaut.
Bevor ich kein Ersatzdisplay habe, traue ich mich nicht, dieses weiße Kunststoffteil zu entfernen.
Display_led.png

Falls jemand Tipps und Tricks kennt, wie ich hier weiter vorgehen kann, wÀre ich sehr dankbar!
GrĂŒĂŸe
 

VooDooShamane

Content-Creator
Registriert
19 August 2021
BeitrÀge
121
Punkte Reaktionen
383
E-Scooter
Xiaomi Pro 2
Es schaut tatsÀchlich so aus als ob dieses Display/Bluetooth Modul eine eigenstÀndige Firmware hat.
Du musst den Flash Chip ausfindig machen und identifizieren.
Kann ja nur unter dem weißen Plastik sein.
Das sollte recht einfach zu entfernen sein.
Das Display besteht ja anscheinend nur aus ein paar SMD LEDs und diesem weißen Reflektor Plastik Teil.
Wenn du ein Datenblatt zu dem Chip findest und die pinbelegung kennst, kannst du die Firmware ziehen.
Von da an muss man weiter schauen wie man die Bluetooth Firmware am besten reversen kann.
So wĂŒrde ich vorgehen.
ErgÀnzung: ( )

Display_backside.png
Denke die anderen beiden via Löcher sind Daten zum lesen/schreiben der firmware.
MĂŒsste ich durchmessen.
Mehr kann ich grad nicht an Hand der Bilder sagen.
 
Zuletzt bearbeitet:

Doragonnaito42

Moderator
Crewmitglied
Registriert
20 Juni 2020
BeitrÀge
1.953
Punkte Reaktionen
1.787
E-Scooter
G30D
Wenn du ein Datenblatt zu dem Chip findest und die pinbelegung kennst, kannst du die Firmware ziehen.
Ich wĂŒrde Mal stumpf von aktivierter "read-out-protection" ausgehen wie bei Ninebot. Wenn es da keine Updates per App fĂŒr die Roller gibt, kommst an die Firmware nicht Ran.
 

Marcell

Aktiver Rollerplauscher
Registriert
30 Juli 2020
BeitrÀge
390
Punkte Reaktionen
257
E-Scooter
G30D
Mein Ziel ist es, weitere Bluetooth FunktionalitÀten (sollte es sie geben) aufzudecken.
(Aktuell könnte ich z.B. jeden SoFlow SO4 Pro ohne den Account des EigentĂŒmers entsperren)
Hast du das nur bei deinem ausprobiert, oder auch bei anderen SO4 Pro.
Wenn das auch bei anderen Funktioniert, wird wohl keine VerschlĂŒsselung verwendet.

Aber ich sehe kein SoFlow, der von Haus aus mehr als 20km/h FĂ€hrt. Haben die keine 25km/h Version fĂŒr EU?

Interessant wÀre es zu wissen, ob noch andere Hersteller dieses Dashboard verwenden.

Auf der RĂŒckseite des PCB-Boards finden sich 4 Pins, die verdĂ€chtig nach einer Schnittstelle aussehen.
Eventuell kann man darĂŒber die Firmware ziehen bzw, draufspielen.
Ich frage mich gerade was du mit der BLE machen willst, ist da die DRV vom Controller nicht viel Interessanter?

Wie Doragonnaito42 Doragonnaito42 aber schon sagte, wĂŒrde es mich auch schwer wundern, wenn man diese einfach auslesen könnte.
 

VooDooShamane

Content-Creator
Registriert
19 August 2021
BeitrÀge
121
Punkte Reaktionen
383
E-Scooter
Xiaomi Pro 2
Ich wĂŒrde Mal stumpf von aktivierter "read-out-protection" ausgehen wie bei Ninebot. Wenn es da keine Updates per App fĂŒr die Roller gibt, kommst an die Firmware nicht Ran.

WĂ€re natĂŒrlich möglich das er nen write protect pin hat der schwer zugĂ€nglich ist oder man ihn sogar in einer speziellen Art ansprechen muss um ihn in den vendor Mode zu bekommen.
Aber wenn da ein Chip mit Firmware auf dem Board ist, dann kann man den auch auslesen.
 

Chrisch

Neuer Rollerplauscher
Registriert
22 August 2021
BeitrÀge
12
Punkte Reaktionen
4
E-Scooter
Xiaomi Pro2
WĂ€re natĂŒrlich möglich das er nen write protect pin hat der schwer zugĂ€nglich ist...
eigentlich ist es meisten eher ein bit was beim programmieren gesetzt wird, welches verhindert das du den internen Speicher auslesen kannst, ist ja ein Microcontroller.
WP Pins findet man eher auf eeproms oder flash bausteinen ohne eigenen Microcontroller.
 
OP
Override

Override

Neuer Rollerplauscher
Registriert
5 September 2021
BeitrÀge
9
Punkte Reaktionen
9
E-Scooter
SoFlow SO4 Pro
Hast du das nur bei deinem ausprobiert, oder auch bei anderen SO4 Pro.
Wenn das auch bei anderen Funktioniert, wird wohl keine VerschlĂŒsselung verwendet.
Habe es bisher nur bei meinem probiert, kann aber bestĂ€tigen dass die kommunikation nicht verschlĂŒsselt ist.
Falls jemand mit SoFlow So4 Pro Interesse hat es auszuprobieren, gerne melden.

Aber ich sehe kein SoFlow, der von Haus aus mehr als 20km/h FĂ€hrt. Haben die keine 25km/h Version fĂŒr EU?

Interessant wÀre es zu wissen, ob noch andere Hersteller dieses Dashboard verwenden.
Der SoFlow So4 Pro wird leider nur mit 20km/h Limit verkauft.
Das Dashbard wird tatsÀchlich noch von einigen anderen Herstellern verwendet (leider hat keiner dieser eine BT App).
The Urban xT1, der Carrera impel is-1 und wie VooDooShamane VooDooShamane festgestellt hat auch der eScooter H102 und der G4 Electric Scooter.

Ich frage mich gerade was du mit der BLE machen willst, ist da die DRV vom Controller nicht viel Interessanter?
Ja, der Controller wĂ€re vermutlich einfacher zu modifizieren, ich jedoch mit einer Custom Firmware glĂŒcklicher.

Das sollte recht einfach zu entfernen sein.
Hab es mir noch mal genauer angeschaut. Das weiße Platikteil ist mit dem LED-PCB-Board verklebt und das Board auf das Display-Board gelötet.
Ohne LötgerÀt komme ich da leider nicht ran.
Chips.png
 

Marcell

Aktiver Rollerplauscher
Registriert
30 Juli 2020
BeitrÀge
390
Punkte Reaktionen
257
E-Scooter
G30D
Habe es bisher nur bei meinem probiert, kann aber bestĂ€tigen dass die kommunikation nicht verschlĂŒsselt ist.
Woher kommt die Annahme? Ich gehe davon aus, du hast das Signal "gesnifft", und damit auch die eventuelle VerschlĂŒsselung.

Wenn wirklich keine VerschlĂŒsselung, kannst du ja eine App schreiben, die in der nĂ€he jeden SoFlow sperrt.

Ja, der Controller wĂ€re vermutlich einfacher zu modifizieren, ich jedoch mit einer Custom Firmware glĂŒcklicher.

Hab mich eventuell falsch ausgedrĂŒckt, auf dem Dashboard wird nicht die Firmware (DRV) sein, sondern die Software fĂŒr das Dashboard (BLE).

Daher auch meine Fragen, was du mit der Dashboard Software willst, wÀre es nicht Interessanter zu schauen, ob du am Controller die Firmware auslesen könntest.

Obwohl ich bezweifle, das jemand diese Lesen kann.
 

VooDooShamane

Content-Creator
Registriert
19 August 2021
BeitrÀge
121
Punkte Reaktionen
383
E-Scooter
Xiaomi Pro 2
Daher auch meine Fragen, was du mit der Dashboard Software willst, wÀre es nicht Interessanter zu schauen, ob du am Controller die Firmware auslesen könntest.

Obwohl ich bezweifle, das jemand diese Lesen kann.
Das hatte ich zu Anfang auch gedacht.
Aber so wie ich Override Override verstanden habe, wollte er um versteckte Bluetooth Funktionen zu finden, die entsprechende Firmware untersuchen.

Ja, der Controller wĂ€re vermutlich einfacher zu modifizieren, ich jedoch mit einer Custom Firmware glĂŒcklicher.
Ja was denn nun?🙃
Wenn du versteckte Bluetooth Funktionen finden möchtest wĂ€re es natĂŒrlich
vorteilhaft die Firmware des Bluetooth Modul zu bekommen.
Wenn du aber mit CFW, Firmware basiertes leistungstuning meinst, dann brauchst du die Controller Firmware.


Hab es mir noch mal genauer angeschaut. Das weiße Platikteil ist mit dem LED-PCB-Board verklebt und das Board auf das Display-Board gelötet.
Ohne LötgerÀt komme ich da leider nicht ran.
Anhang anzeigen 9830

Hatte mich schon gewundert was da fĂŒr Pins hinten am PCB raus schauen.
Nun stellt sich also raus, das sind die fĂŒr das Display.
Display_backside (1).png
 
OP
Override

Override

Neuer Rollerplauscher
Registriert
5 September 2021
BeitrÀge
9
Punkte Reaktionen
9
E-Scooter
SoFlow SO4 Pro
Ich gehe davon aus, du hast das Signal "gesnifft", und damit auch die eventuelle VerschlĂŒsselung.

Wenn wirklich keine VerschlĂŒsselung, kannst du ja eine App schreiben, die in der nĂ€he jeden SoFlow sperrt.
So Ă€hnlich. Die SoFlow App wurde in React native geschrieben, sodass die Bluetooth Commands (die dem Otto-Normal-Verbrauchenden zur VerfĂŒgung stehen) relativ leicht rauslesbar sind.

Immerhin lÀsst der Scooter nicht zu, wÀhrend der Fahrt gesperrt zu werden.
Und des weiteren sollte man sich beim SoFlow So4 Pro auch nicht auf das Sperren verlassen, da die Bremsen rein mechanisch funktionieren und man damit also trotzdem weg rollen kann.
Hab mich eventuell falsch ausgedrĂŒckt, auf dem Dashboard wird nicht die Firmware (DRV) sein, sondern die Software fĂŒr das Dashboard (BLE).
Ne, dann habe ich dich wohl nicht verstanden. Bin auf dem Thema totaler AnfĂ€nger. HĂ€tte die Hoffnung, dass ich dem Controller ĂŒber das BLE die Maximalgeschwindigkeit mitteilen kann (und das ggf. auch per Bluetooth).

Das ist wohl ausgeschlossen, oder?
Obwohl ich bezweifle, das jemand diese Lesen kann.
Da zu komplex? Oder technisch nicht abgreifbar?

Hatte mich schon gewundert was da fĂŒr Pins hinten am PCB raus schauen.
Nun stellt sich also raus, das sind die fĂŒr das Display.
Ja, war fĂŒr eventuell auf den vorherigen Bildern schlecht zu erkennen. Habe zum GlĂŒck nicht versucht es mit Gewalt abzureißen 😆
 

Marcell

Aktiver Rollerplauscher
Registriert
30 Juli 2020
BeitrÀge
390
Punkte Reaktionen
257
E-Scooter
G30D
So Ă€hnlich. Die SoFlow App wurde in React native geschrieben, sodass die Bluetooth Commands (die dem Otto-Normal-Verbrauchenden zur VerfĂŒgung stehen) relativ leicht rauslesbar sind.
(y)

Immerhin lÀsst der Scooter nicht zu, wÀhrend der Fahrt gesperrt zu werden.
Und des weiteren sollte man sich beim SoFlow So4 Pro auch nicht auf das Sperren verlassen, da die Bremsen rein mechanisch funktionieren und man damit also trotzdem weg rollen kann.
Auf einem SoFlow Treffen, hĂ€tte man aber bestimmt trotzdem Spaß.

Ne, dann habe ich dich wohl nicht verstanden. Bin auf dem Thema totaler AnfĂ€nger. HĂ€tte die Hoffnung, dass ich dem Controller ĂŒber das BLE die Maximalgeschwindigkeit mitteilen kann (und das ggf. auch per Bluetooth).

Das ist wohl ausgeschlossen, oder?
Die Scooter, die das können, haben unterschiedliche Regionen um die Geschwindigkeit dem Land anzupassen.

Die frage ist ja, warum sollte SoFlow sowas ĂŒberhaupt bereitstellen, wenn die eh alle 20km/h Fahren.

Lass dich aber nicht entmutigen, nice job von dir.
 
OP
Override

Override

Neuer Rollerplauscher
Registriert
5 September 2021
BeitrÀge
9
Punkte Reaktionen
9
E-Scooter
SoFlow SO4 Pro
Hallo zusammen,

habe es heute gewagt und das LED-Board abgelötet.

Board_top.png

Bei dem HerzstĂŒck handelt es sich um einen STM8S005K6T6C Microcontroller der leider (wie schon befĂŒrchtet) ĂŒber eine Read-out protection verfĂŒgt, die angeblich beim Lese-Versuch zur Sicherheit die Firmware löscht đŸ˜Ș. Ich vermute mal, dass SAMA-Kit auch so schlau war und die ROP aktiviert hat.

Hier der Auszug aus dem Datenblatt:
Read-out protection (ROP)
The read-out protection blocks reading and writing the Flash program memory and data
EEPROM memory in ICP mode (and debug mode). Once the read-out protection is
activated, any attempt to toggle its status triggers a global erase of the program and data
memory. Even if no protection can be considered as totally unbreakable, the feature
provides a very high level of protection for a general purpose microcontroller.

Der VINKA VK1S66C scheint nur fĂŒr die LED Steuerung zustĂ€ndig zu sein. Bei dem Hersteller Shenzhen Vinka Electronic findet man dazu leider kein Datenblatt. (Wobei der Microcontroller fĂŒr mich auch nicht so interessant ist).

Und zum Schluss noch das Bluetooth Modul Lierda E66. Hier findet man einige Dokumente bei der FCC. Aber auch dieses Modul ist fĂŒr mich nicht besonders interessant.

Hat jemand von euch schon Erfahrungen mit dem STM8?
Bzw. kennt jemand vielleicht einen Weg die red-out protection zu deaktivieren? 😄
 

VooDooShamane

Content-Creator
Registriert
19 August 2021
BeitrÀge
121
Punkte Reaktionen
383
E-Scooter
Xiaomi Pro 2
kennt jemand vielleicht einen Weg die red-out protection zu deaktivieren? 😄
Schau mal hier:
STM8 ROP glitch

Also wenn du wirklich den Aufwand machen möchtest und das ding glitch Attacken willst um an die Firmware zu kommen, wĂŒrde ich dir empfehlen einen baugleichen Mikrocontroller auf aliexpress zu holen. (Z.b. hier)
Den kannst du mit Daten beschreiben, das rop Byte setzen und damit den glitch hack machen.
Erst wenn du den glitch erfolgreich an deinem testexemplar durchgefĂŒhrt hast wĂŒrde ich den mit der firmware glitchen die du haben willst.

Es ist halt echt die Frage wie diese "sama-kit" Dinger bestehend aus Controller, akku/bms und Dashboard funktionieren.
Gut möglich das die Geschwindigkeit Begrenzung genau in dieser stm8 Firmware sitzt.
Denkbar und fast wahrscheinlicher wÀre aber auch das sie in einem weiteren Mikrocontroller auf dem Controller pcb sitzt.

Aber insgesamt ist es ein sehr cooles Projekt.
Außerdem werden diese Sama-kit Kombination anscheinend sehr viel verbaut.
In e-bikes, diversen Rollern usw...
WĂ€re schon sehr nice wenn man einen Weg kennt um alle diese sachen zu modifizieren.
 
Zuletzt bearbeitet:
OP
Override

Override

Neuer Rollerplauscher
Registriert
5 September 2021
BeitrÀge
9
Punkte Reaktionen
9
E-Scooter
SoFlow SO4 Pro

Danke, das habe ich tatsĂ€chlich auch schon gesehen; und jetzt Mal eine Hand voll Chips bestellt. đŸ„Ž

Mal schauen, ob ich das reproduzieren kann.


Gut möglich das die Geschwindigkeit Begrenzung genau in dieser stm8 Firmware sitzt.
Denkbar und fast wahrscheinlicher wÀre aber auch das sie in einem weiteren Mikrocontroller auf dem Controller pcb sitzt.
Ich vermute auch fast, dass die Begrenzung in einem Chip im Motor sitzt und dort einfach die maximale RPM hardkodiert ist.

Vielleicht schaue ich mir die Teile auch Mal genauer an. Der Controller ist leider gut versteckt und unter der Gummimatte verklebt. Und beim Motor hab ich bisher noch nicht nÀher hingeschaut.
 
Oben Unten