Root-Zugriff auf Xiaomi Mi Vacuum Robot & Roborock S5

  • Hallo zusammen,
    ich muss meine Xiaomi App über den US Server laufen lassen, weil der Mainland China server von mir verlangt, dass ich die Region in der App ändere.
    Problem ist, dass ich die Dustcloud nutze, jetzt aber in der /etc/hosts Datei die URL-Umlenkung nicht greift, da die US Server andere DNS Namen haben als die von Mainland China.


    Wie kann ich herausbekommen, welche Server bei der Region US angesprochen werden?
    Hab schon mit Wireshark versucht was herauszubekommen, aber ich bin totaler Laie bei dem Programm.


    Danke für die Hilfe
    Michael

  • An Deiner Stelle würde ich auch auf dem Sauger mit netstat schauen wohin der miio_client eine Verbindung aufmacht. Siehe meine vorherige Antwort. In /mnt/data/rockrobo/rrlog/miio.log müsstest du auch sehen, welche IPs im Spiel sind.


    edit, auf dem Robo: netstat -tunp oder netstat -tup

  • An Deiner Stelle würde ich auch auf dem Sauger mit netstat schauen wohin der miio_client eine Verbindung aufmacht. Siehe meine vorherige Antwort. In /mnt/data/rockrobo/rrlog/miio.log müsstest du auch sehen, welche IPs im Spiel sind.


    edit, auf dem Robo: netstat -tunp oder netstat -tup


    Danke für die Info.
    Was ich raus bekomme ist folgendes:


    Für die Hosts Datei brauche ich aber ja DNS Namen.. Wie bekomme ich die denn?

  • Die Domains stehen bei dem -tup mit drin, aber abgeschnitten.


    Mit nslookup oder anderen tools kannst Du die IP Rückauflösen:
    ec2-35-167-218-97.us-west-2.compute.amazonaws.com
    ec2-54-70-161-168.us-west-2.compute.amazonaws.com


    Aber Vorsicht: Bei der Rückauflösung einer IP zu Domain kommt immer nur eine Domain zurück. Es können generell mehrere Domains auf eine IP auflösen. Probiere es mit den beiden oben.


    bzw. Du kannst auch die iptables rules direkt auf die IPs anpassen. Das mit der etc hosts ist so gemacht worden, weil die ot.io.mi.com auf eine ganze Menge IPs auflöst. Du musst auch schauen, ob beim nächsten Start des Robos nicht andere Server angesprochen werden. Wenn der Robo die Cloud kontaktiert, bekommt er eine Reihe IP-Adressen von Servern zurück. Welche er zurück bekommt, steht auch in dem erwähnten /mnt/data/rockrobo/rrlog/miio.log drin
    Vielleicht ist das doch der falsche Ansatz.

  • Sperr die Roborock im Router, dass er kein Internet mehr hat, dann steht es doch im mii.log?!?


    Gesendet von meinem ONEPLUS A6003 mit Tapatalk

  • Das ist die Ausgabe:


  • Hallo an alle,


    kurze Frage. Ich wollte eigentlich nach dem rooten den S50 ohne Internetverbindung im WLAN nutzen und über openHAB steuern (Start,Stop,Pause,Home). Ich habe mir nun die beiden riesigen Thread's mehrfach durchgelesen und bin etwas verwirrt.


    1. Kann ich ohne die China Verbindung eine Steuerung via openHAB Binding realisieren. Ich hatte gelesen, dass man immer erst eine Verbindung mit der Dustcloud oder dem Chinaserver herstellen muss, um die Appschnittstelle zu aktivieren.
    2. Gibts einen Konsolenbefehl, um diese Schnittstelle zu akivieren?
    3. Muss die Schnittstelle überhaupt aktiviert werden, wenn ich keine Smartphone App benutzen möchte?


    Vielen Dank

  • Meiner Meinung nach muss er einmal mit der Cloud reden, wenn er dann aber die Cloudverbindung verliert, stirbt der miio_client Prozess nach einer Weile. Habe aber von einigen Leuten gegenteiliges gehört... im Zweifel ausprobieren.

    Wilde Theorie: Wenn der Staubi glaubt, dass er nicht provisioniert wäre, dann ist die Schnittstelle immer offen, auch wenn er nicht mit der Cloud gesprochen hat. Prinzipiell könnte man das nutzen um den Staubsauger "unprovisioniert" zu lassen, aber trotzdem mit dem WLAN zu verbinden. Hatte das mal vor einer Weile hinbekommen, indem ich wpa supplicant direkt gesteuert habe.

  • Hallo,

    wollte mir gerade eine aktuelle Firmware erstellen/rooten. Bekomme aber leider den Fehler:


    .../firmwarebuilder/english.pkg: Kennwort passt nicht -- unverändert

    unpack soundfile


    gzip: stdin: not in gzip format

    tar: Child returned status 1

    tar: Error is not recoverable: exiting now

    decrypt firmware

    unpack firmware

    patch ssh host keys

    disable SSH firewall rule


    Habe bereits gelesen das man die english.pkg und firmware nur 1x benutzen kann. Habe beides jetzt schon mehrfach neu runtergeladen. SSH key und authorized_keys ebenfalls neu erstellt.


    hier der ausgeführte Befehl:


    sudo ./imagebuilder.sh -f v11_003254.pkg -s english.pkg -k ~/.ssh/id_rsa_xiaomi.pub -t Europe/Berlin --disable-xiaomi


    Stehe gerade etwas auf dem Schlauch...


    grüße

    Roboter_Sauger

  • lass entweder die Sound Datei weg oder lad die english.pkg mit wget von dem repo bei github herunter.


    Ich hab’s ohne gemacht, der robo redet dennoch englisch. In der original Anleitung von dgiese steht auch nix davon, dass man die sprachdatei mit verwenden soll. Ich vermute mal, dass das hauptsächlich für Leute ist, die die Chinesische Version haben.

  • Hallo zusammen,


    bin neu hier, daher erstmal großes danke an alle.

    Ich hab meinem sauger v1 gerootet und dustcloud auf meiner raspberry pi laufen. Soweit so gut und vorab mal was funktioniert.

    Ich konnte meinen xiaomi abschotten:


    Code
    1. oot@rockrobo:~# netstat -tup
    2. Active Internet connections (w/o servers)
    3. Proto Recv-Q Send-Q Local Address Foreign Address State PID/Program name
    4. tcp 0 0 localhost:54322 localhost:39414 ESTABLISHED 4016/miio_client
    5. tcp 0 216 192.168.0.143:ssh 192.168.0.55:55464 ESTABLISHED 7917/1
    6. tcp 0 0 localhost:54322 localhost:39418 ESTABLISHED 4016/miio_client
    7. tcp 0 0 192.168.0.143:45775 awsbj0-files.fds.a:http ESTABLISHED 4016/miio_client
    8. tcp 0 0 localhost:39418 localhost:54322 ESTABLISHED 4450/miio_recv_line
    9. tcp 0 0 localhost:39414 localhost:54322 ESTABLISHED 935/AppProxy

    wenn ich server.py laufen lasse sehe ich wie er connected und auf der dustcloud seite sehe ich den status meines roboters:


    allerdings kann ich keine befehle senden und bekomme anstatt dessen jedesmal:


    "Result for last command: Request to command server failed. Check your configuration!"


    außerdem bekomme ich beim editieren der forward_to_cloud: 1 | 0 funktion eine Fehlermedlung:


    Fatal error: Uncaught Error: Call to undefined method mysqli::insert() in /var/www/html/dustcloud/show.php:64 Stack trace: #0 {main} thrown in /var/www/html/dustcloud/show.php on line 64


    ich habe die sql Datenbank soweit mein Wissenreicht überprüft. Die Rechte habe ich auch mit phpmyadmin gecheckt und sieht alles gut aus. Auf meiner raspberry pi läuft Raspbian Scretch mit php7 (ich denke dustcloud ist ja mit php7 kompatibel)


    Ich habe momentan kein Plan mehr wo ich noch nach Fehlern suchen soll. Daher bin ich über jeden Tipp dankbar!


    Schönes Wochenende euch

  • Ich habe mal eine Frage, zu welcher ich die Antwort bisher noch nicht gefunden habe. Entweder gebe ich die falschen Suchbegriffe ein, oder aber es hat sich noch niemand die Frage gestellt ;)


    Root-Zugriff auf meinen Roborock ist vorhanden. Es scheint mir, als wenn auf dem Roborock ein Ubuntu Trusty Tahr (14.04) läuft. Da ich generell bei meinen Linux-Geräten gerne alle Packages auf den neusten Stand halte, würde ich auch hier gerne "apt-get update, apt-get upgrade" die Pakete aktualisieren oder eventuell sogar ein Distri Upgrade durchführen.


    Hat hier jemand Erfahrungen damit? Ist ein Paket-Upgrade sicher oder könnte es passieren, dass durch eine Aktualisierung der Pakete oder der Distribution der Staubsauger nur noch eine zu groß geratene Frisbee Scheibe ist?

  • Ich habe mal eine Frage, zu welcher ich die Antwort bisher noch nicht gefunden habe. Entweder gebe ich die falschen Suchbegriffe ein, oder aber es hat sich noch niemand die Frage gestellt ;)


    Root-Zugriff auf meinen Roborock ist vorhanden. Es scheint mir, als wenn auf dem Roborock ein Ubuntu Trusty Tahr (14.04) läuft. Da ich generell bei meinen Linux-Geräten gerne alle Packages auf den neusten Stand halte, würde ich auch hier gerne "apt-get update, apt-get upgrade" die Pakete aktualisieren oder eventuell sogar ein Distri Upgrade durchführen.


    Hat hier jemand Erfahrungen damit? Ist ein Paket-Upgrade sicher oder könnte es passieren, dass durch eine Aktualisierung der Pakete oder der Distribution der Staubsauger nur noch eine zu groß geratene Frisbee Scheibe ist?

    Du wirst ein Speicherplatzproblem bekommen. Dazu gäbe es aber eine Lösung:

    https://github.com/dgiese/dust…um/scripts/morestorage.sh


    Updates hab ich auch drauf. Ein dist-upgrade würde ich nicht empfehlen (evtl inkompatibel)

  • Ich habe mal eine Frage, zu welcher ich die Antwort bisher noch nicht gefunden habe. Entweder gebe ich die falschen Suchbegriffe ein, oder aber es hat sich noch niemand die Frage gestellt ;)


    Root-Zugriff auf meinen Roborock ist vorhanden. Es scheint mir, als wenn auf dem Roborock ein Ubuntu Trusty Tahr (14.04) läuft. Da ich generell bei meinen Linux-Geräten gerne alle Packages auf den neusten Stand halte, würde ich auch hier gerne "apt-get update, apt-get upgrade" die Pakete aktualisieren oder eventuell sogar ein Distri Upgrade durchführen.


    Hat hier jemand Erfahrungen damit? Ist ein Paket-Upgrade sicher oder könnte es passieren, dass durch eine Aktualisierung der Pakete oder der Distribution der Staubsauger nur noch eine zu groß geratene Frisbee Scheibe ist?

    hab jetzt 5 Robos gerootet und eingerichtet, bei allen, war der erste Griff zum apt update und apt upgrade (das -get kann man mitlerweile weglassen, Nostalgiker :D)
    bis jetzt laufen alle 5 perfekt. Das mit dem storage problem wurde ja schon erwähnt ;)
    denk an nen apt-get clean (das geht ohne -get leider net), falls du nicht auf die data partition verschieben willst.

  • Super, danke für die schnellen Antworten :)


    Mit der morestorage.sh konnte ich tatsächlich genügend Speicherplatz erhalten, um die Pakete zu aktualisieren. Es hat problemlos funktioniert und saugen kann der Robo auch noch ;)

    apt update und apt upgrade (das -get kann man mitlerweile weglassen, Nostalgiker :D)

    Ja ich weiß, aber irgendwie hänge ich noch immer an dem -get :D

  • Hi,

    I just received my Gen2 Vacuum - and I'm not sure how to far to set it up prior to attempting to root it.


    So far I have done:


    1 - unboxed it and set it on the charger

    2 - loaded the Mi Home app onto my iPhone (I have an Android tablet if I need that instead)

    3 - Created a Mi account and have gotten to the point of setup where it now switches to the roborock-vacuum * network.

    Is this where I start following the "rooting" steps - or do I need to continue on first?


    thanks!


    Jim

  • OK - I have successfully followed the instructions listed here:


    https://github.com/dgiese/dust…-manual-update-root-Howto


    Kudos to very clear instructions that a complete xiaomi newbie like me could follow w/out bricking the device.


    I now have root access to it, but it is still creating its own private WLAN. Is it now time to connect to it with the iOS app again and configure it for the local network?

    I'm being cautious since I don't want it updating itself and undoing all my work thus far.