SoFlow SO4 Pro versteckte "SpeedModes"

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.
Post automatically merged:

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:
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.
 
  • Hilfreich!
Reaktionen: Override
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.
 
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.
 
  • Hilfreich!
Reaktionen: Dr.One
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.
 
  • Hilfreich!
Reaktionen: VooDooShamane
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).
, der und wie VooDooShamane VooDooShamane festgestellt hat auch der und der .

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.webp
 
  • Hilfreich!
Reaktionen: VooDooShamane
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.
 
  • Hilfreich!
Reaktionen: VooDooShamane
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
 
  • Hilfreich!
Reaktionen: Dr.One
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 😆
 
  • Liebe zum Detail! (2 Punkte)
Reaktionen: Dr.One
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.