Region / Geo blocking entfernen (T6/T4)

  • Hi,

    als Vorbemerkung: Lange ist es her dass ich hier im Forum war. Leider habe ich sehr viele unterschiedliche Baustellen und komme nicht dazu mich durch viele Themen durchzulesen. Auch hat sich vor einiger Zeit die Forumsoftware seltsam verhalten und ich habe lange Texte verloren (auf Senden geklickt und weg war der Text), deshalb war ich etwas frustriert. Wenn es ein Thema gibt, was speziell meiner Aufmerksamkeit bedarf, bitte mir eine eMail, Telegram oder Twitter Nachricht schreiben. Auch schreibe ich aktuell nicht viel auf Deutsch, bitte also Rechtschreibfehler ignorieren. Leider ist es sehr zeitaufwendig Informationen sowohl in Deutsch als auch Englisch zu produzieren.


    Wie vor einiger Zeit erwähnt und wie viele festgestellt haben, rollt Roborock Regionblocking bei allen ihren aktuellen Produkten aus. Dies wird über 2 Parameter gesteuert: der Modelname in "device.conf" und die Regionseinstellung in "roborock.conf". Bei den V1 und S5 Geräten konnten wir diese einfach bearbeiten, bei den neueren Modellen ist die "roborock.conf" signiert und an die Seriennummer der CPU gekoppelt.


    Wenn wir das Regionblocking entfernen wollen, gibt es mehrere Möglichkeiten:


    1) Rooten und Valetudo benutzen

    Valetudo ersetzt die Cloud Software komplett und man kann den Staubsauger direkt über den Browser oder Open-Source Hausautomatisierungssoftware (Home assistant) bedienen. Wenn Valetudo läuft spielt die Region keine Rolle. Btw: Valetudo RE unterstützt keine S6/T6 Modelle. Sören, der ursprüngliche Entwickler von Valetudo baut fleißig an den Features um alle Funktionen der S6/T6 Serie als auch der neueren Modelle zu unterstützen.


    2) Rooten und Konfiguration anpassen

    Sobald man Root Zugriff hat, könnte man die Konfigurationsdateien bearbeiten und aus einem T6 einen S6 machen. Das Problem ist die Signatur. Wenn man eine Firmware über https://builder.dontvacuum.me erzeugt, hat diese die Signaturprüfung "ausgeschaltet". Offensichtlich funktioniert das nur wenn man "meine" Firmware verwendet, sonst fällt der Staubsauger wieder auf Region China zurück. Ich habe ein paar Beispieldateien (mit einigen Daten zensiert) für verschiedene Modelle auf meiner Homepage hochgeladen : https://dontvacuum.me/robotinfo/configfiles/

    Wenn die Region erfolgreich geändert wurde, dann kann der Staubsauger mit der offiziellen Roborock oder Mi Home App benutzt werden. Es könnte sein, dass es notwendig ist, dass man den Staubsauger zu einer anderen Region (z.B. Singapur oder EU) verbindet wenn man die Mi Home App benutzt. Hintergrund ist, dass sich die Xiaomi Cloud die Modelnummer merkt, wenn einmal ein Gerät mit einer bestimmten Region verbunden wurde. Keine Ahnung ob das wirklich eine Rolle spielt. Würde mich da über Rückmeldung freuen. Für die Roborock App scheint das egal zu sein.


    3) Patch des Mi Home Plugins

    Speziell im Russischsprachigen Raum wird eine angepasste Version der Mi Home App verwendet, die beim Roborock Plugin einige Sachen geändert hat. Das funktioniert allerdings nur für Mi Home und auf Android Geräten. Es ist eine Frage der Zeit, bis das nicht mehr geht. Ich vermute das exakte Verfahren wurde hier im Forum irgendwo beschrieben.


    Wenn man mit Option 1 oder 2 gehen will, muss man den Staubsauger rooten. Dazu ist es leider erforderlich, dass man das Gerät zerlegt und einen seriellen Adapter verwendet. Roborock hat die meisten anderen Möglichkeiten leider geschlossen (sogar für V1 und S5 nachträglich). Ich weiß, dass es potenziell Kritik an der langen Verzögerung der Veröffentlichung geben wird. Aber meine Strategie ist, so lange zu warten bis es extrem sinnvolle Features gibt. Mit dem S6/T6 war dies die Mehretagenreinigung, die es seit ein paar Wochen gibt. Hätte ich es früher veröffentlicht, hätte Roborock mit dem Update neue Sicherheitsmaßnahmen ausgerollt (so wie beim S5). Leider lesen unsere Freude aus China hier und auch an anderen Stellen mit. Es könnte also sein, dass die Regionsentsperrung irgendwann mit neuen Updates geschlossen wird.


    Die genaue Anleitung zum Zerlegen und Rooten habe ich auf Youtube auf Englisch veröffentlicht:

    Dankenswerterweise wurde die Anleitung in Textform ins Deutsche übersetzt: https://kaeni.de/anleitung-ink…-hack-des-roborock-s6-t6/

    Ob man mit Option 1 oder 2 geht, hängt im Grunde davon ab, ob man sich die Firmware mit oder ohne Valetudo baut (also was man auf https://builder.dontvacuum.me/_s6.html klickt).


    Ich hoffe, ich konnte einige Fragen beantworten und werde hier bald mal wieder reinschauen. Wer will kann mich auf Youtube und Twitter abonnieren, um etwaige Updates etwas schneller zu bekommen. Ich nicht so gut mit Verbreiten von Informationen, es wäre also hilfreich, wenn die Links mit anderen S6/T6 Besitzern geteilt würden.


    D.

  • Herzlichen Dank! Ich warte ewig darauf - aber warten lohnt sich ja oftmals ;)

    Ich habe das USB-UART Kabel bestellt... mal sehen ob alles klappt ;)

    Gibt es die Möglichkeit das ganze unter MAC zu machen? Sonst muss mein Pi mit Linux herhalten..

  • dgi


    vielen dank für die viele Arbeit die da drinnen stecken muss. Die Videos sind hervorragend!

    Ich habe heute ein paar Stunden gebraucht.. das Löten war schnell gemacht.. leider hat mich das UART auf dem Mac etwas aufgehalten und SSH / SCP musste ich auch erst „lernen“. Letztenendes hat es aber geklappt und das ist das Wichtigste ;)


    Kann ich den T6 nun wieder mit der Xiaomi App verbinden? (Eigentlich brauche ich es nicht mehr, aber theoretisch)...

  • Kommt drauf an, ob du es mit Valetudo oder ohne gebaut hast. Wenn mit, dann brauchst du die App nicht mehr (die geht auch nicht mehr). Wenn ohne, solltest du vorher die Dateien patchen (device.conf, rockrobo.conf) und dann kannst du die wieder in die App hängen.

  • Verstanden. Ich habe es mit valetudo gemacht. Allerdings habe ich das Problem, wenn ich die Zeitzone von Shanghai auf Berlin umstelle, kann ich die Steuerung nicht mehr benutzen. Also per valetudo nicht mehr starten. Wenn ich zurück auf Shanghai stelle, geht es.. woran kann das liegen?

  • Klasse Arbeit dgi,


    Ich habe meinen Sauger ohne Probleme gerootet bekommen. Demnach würde ich nun gerne das geoblocking umgehen. Ich besitzte einen T6 un würde ihn gerne zum S6 machen. Dieses würde ich gerne nach deiner Variante 2 machen damit ich die Xiaomi Home App weiter nutzen kann.


    Die Datei device.conf ist selbsterklärend. Dort mache ich aus dem T6 ein S6.


    Wie ich das verstehe muß ich in der roborock.conf die folgenden Zeilen anpassen:


    language=enlocation=de

    timezone=Europe/Berlin

    logserver=awsde0.fds.api.xiaomi.com

    featureset=1


    Hier würde ich meine firmware eintragen:


    name=custom_A.03.0040_CE

    bom=A.03.0040


    Es gibt noch eine Datei mit dem Namen roborock.conf.signed

    Ich denke diese Datei kann ich nicht passend erstellen lassen da mir das Zertifikat fehlt. Oder? Meintest du das mit Signaturprüfung? Bekomme ich die bei der aktuellen originalen Frimware ausgeschaltet?


    Wenn ich die Änderungen vorgenommen habe kann ich dann über diie Europäische Xiaomi Cloud gehen?


    Vielen Dank

  • Ich würde die roborock.conf genau so übernehmen, wie sie ist und einfach nur deine CPU ID eintragen. Wenn du meine custom Firmware verwendest, dann ist die Signaturprüfung "gerade im Urlaub" und du solltest kein Problem haben. Allerdings darfst du nicht auf offizielle Versionen updaten, da sonst dein Gerät wieder gesperrt ist.

  • Hallo dgi,


    ich hatte das so verstanden das mit deiner Firmware die Xiaomi-Cloud abgeschaltet wird und man nur noch Valetudo verwenden kann. Ist das nicht so?

  • Jain. Kommt drauf an, wie du die baust. Du kannst die Firmware ohne Valetudo bauen. Dann geht die Xiaomi und Rockrobo App ganz normal (minus der Geo-Sperre). Also die Entscheidung liegt bei dir. Mein T6 ist jetzt ein S6 (seit knapp einem Jahr) und die Apps gehen problemlos. Aber keine Ahnung wie lange das bleibt. Auch darfst du keine offiziellen Updates einspielen. Insoweit bist du darauf angewiesen, dass ich die Firmware in Builder aktuell halte.

  • Hallo, ich muß leider noch einmal nachfragen.


    Ich habe folgendes gemacht:


    - Aktuelle Custom Firmware von dir installiert

    - unter /mnt/default device.conf aus dem t6 ein s6 gemacht. Die roborock.conf von dir übernommen und meine cpuid eingetragen. Neu gestartet.

    - aktuelle Xiaomi Home APP herruntergeladen (Lokation Deutschland gelassen)

    - Staubsauger wlan zurückgesetzt und neu angelernt.


    Nachdem ich das gemacht habe bekomme ich wieder die Fehlermeldung das das Gerät für China Mainland bestimmt ist.

    Habe ich dort irgendetwas Falsch gemacht?

  • Ganz einfach, Ich habe zuerst die Partition B auf deinen Firmwarestand gebracht und danach rebootet. Da ich erst einmal schauen wollte ob alles funktioniert habe ich das so belassen und die Partition A nicht umgestellt. Danach habe ich die Konfigurationsdateien verändert und neu gestartet. Nach dem Neustart hat der T6 dann anscheinend wieder von der Partition A gestartet und es hat natürlich nicht funktioniert.

  • Hallo Dennis,


    vielen Dank für Deine hervorragende Arbeit. Ich habe meinen T6, den ich bislang nur mit der gepatchten Xiaomi-Home-App benutzen konnte, erfolgreich gerootet und kann nun auch Valetudo aufrufen. Leider bevorzugt meine Frau weiterhin die Xiaomi App. Daher habe ich Dein Custom-System ohne Valetudo aufgespielt und, wie oben von ingobo erwähnt, die Konfigurationsdateien /mnt/default device.conf sowie roborock.conf angepasst, um den Roboter zu einem S6 zu machen. Obwohl die Regionen überall auf DE stehen, verbindet sich der Roboter nun nicht mehr mit der Xiaomi Cloud - eventuell weil die Kombination aus DID/Key schon mal für einen T6 registriert war und somit "verbrannt" ist. Gibt es eine Möglichkeit, sich selbst ein neues Paar aus DID/Key zu erstellen und es damit zu versuchen?


    Die Roborock-App zeigt den Roboter nach einer scheinbar erfolgreichen Registrierung in der Cloud übrigens wieder als T6 an und beschwert sich über ein "unbekanntes Modell" - obwohl er beim Scannen zunächst als S6 angezeigt wird. Daher meine Theorie, dass die DID/Key-Kombination in der Cloud auf einen T6 festgelegt ist.

  • Obwohl die Regionen überall auf DE stehen, verbindet sich der Roboter nun nicht mehr mit der Xiaomi Cloud - eventuell weil die Kombination aus DID/Key schon mal für einen T6 registriert war und somit "verbrannt" ist. Gibt es eine Möglichkeit, sich selbst ein neues Paar aus DID/Key zu erstellen und es damit zu versuchen?

    Ich kann ergänzen, dass die Registrierung des zum S6 geflashten T6 mit der Cloud funktioniert, wenn ich die Region auf USA stelle. Anscheinend sind die chinesischen und europäischen Server der Xiaomi-Cloud für mich tabu, da ich das Gerät mit beiden bereits verbunden hatte, als es noch T6 hieß (per gehackter Android-App). Das deutet also wirklich darauf hin, dass die DID/Key-Kombination auf den Servern längerfristig gespeichert und mit dem Modellnamen verknüpft ist.

  • Ja, die Cloud merkt sich welches Model mit verbunden war. Früher war das anders aber die haben das geändert, nachdem wir es etwas übertrieben haben ;)

    Ich habe unterschiedliche Rückmeldungen gehört im Bezug auf das umlabeln. Kann aber auch sein, dass die jetzt genauer prüfen... Schwer zu sagen.

    Das Plugin geht auch ohne gehakte App?

    Eine wichtige Sache: Meine Firmware hat Patches, die die Signaturprüfung ausschalten. Also keine normalen Firmwareupdates einspielen...

  • Ich habe unterschiedliche Rückmeldungen gehört im Bezug auf das umlabeln. Kann aber auch sein, dass die jetzt genauer prüfen... Schwer zu sagen.

    Das Plugin geht auch ohne gehakte App?

    Eine wichtige Sache: Meine Firmware hat Patches, die die Signaturprüfung ausschalten. Also keine normalen Firmwareupdates einspielen...

    Man kann jedenfalls nicht einfach DID und Key in der device.conf ändern, um ein neues Gerät vorzutäuschen. Offenbar verifiziert der Schlüssel die DID-Nummer? Immerhin kann ich meinen umgelabelten T6 (nun S6) an einem USA-Server betreiben, nur ist die Latenz merkbar größer als an einem europäischen. Daher mein Versuch, ein komplett neues S6-Gerät vorzutäuschen.


    Um den ursprünglichen T6 in Deutschland mit der Xiaomi-Cloud (egal ob chinesischer oder euroäischer Server) zu verbinden, brauchte ich sowohl Rezmus' gehackte App als auch sein modifiziertes Plugin (Roborock T6 (CCC-Kennzeichen) - Erfahrungen, Fragen, Tipps & Tricks). Das Plugin alleine arbeitet jedenfalls nicht mit der neuesten Xiaomi-Home-App (5.8.7) zusammen. Insgesamt geht es wohl darum, dem Roboter eine chinesische Zeitzone auf dem Handy vorzutäuschen - und das wird auch nur dann akzeptiert, wenn eine verhältnismäßig alte Firmware auf dem Roboter ist. Allein schon aus dem Grund habe ich noch nie ein Firmwareupdate auf dem T6 gemacht - unabhängig davon verstehe ich, dass die modifizierte Firmware nicht einfach durch eine offizielle aktualisiert werden darf.


    Ich habe ein ganz anderes Problem: Seitdem ich den T6 auseinandergenommen, gerootet und wieder zusammengebaut habe, findet er seinen Dock nicht mehr - er irrt einfach herum, obwohl er direkt davor steht. Reinigen von Sensoren und Dock hat nichts gebracht, und Zurücksetzen auf den Werkszustand (d. h. wieder T6 ohne modifizierte Firmware) auch nicht. Kann es sein, dass ich beim Auseinander- und Zusammenbauen irgendeinen Hardwaredefekt verursacht habe? Hast Du eine Idee, worauf ich achten sollte?

  • Ich habe ein ganz anderes Problem: Seitdem ich den T6 auseinandergenommen, gerootet und wieder zusammengebaut habe, findet er seinen Dock nicht mehr - er irrt einfach herum, obwohl er direkt davor steht. Reinigen von Sensoren und Dock hat nichts gebracht, und Zurücksetzen auf den Werkszustand (d. h. wieder T6 ohne modifizierte Firmware) auch nicht. Kann es sein, dass ich beim Auseinander- und Zusammenbauen irgendeinen Hardwaredefekt verursacht habe? Hast Du eine Idee, worauf ich achten sollte?

    Das Problem ist gelöst. Es war einfach ein sehr dummer Fehler beim Zusammenbauen, da ich die Steckverbindung des Frontsensors nicht wieder angeschlossen hatte. Damit war der Roboter halb blind und konnte seine Station nicht finden. Leider ist die erwähnte Steckverbindung teilweise unter dem Tastataturaufsatz versteckt, sodass ich den Fehler erst beim dritten Aufschrauben des Roboters und erneutem Studium von Dennis' Videos (noch mal tausend Dank für die beeindruckende Arbeit) gefunden habe.