Code Monkey home page Code Monkey logo

viomi-rooting's Introduction

Viomi Rooting Tool

This tool aims to automate the rooting process described in Rooting the Xiaomi STYJ02YM (viomi-v7) Vacuum Robot.

It is known to work with the following models:

  • Mijia STYJ02YM (viomi-v7)
  • Mijia STYTJ02YM (viomi-v8) (experimental, needs manual update of Valetudo)

Prerequisites

  • a linux machine with bash, ssh, wget, adb and sha256sum
  • the robot is already connected to your wifi (if you don't want to use the xiaomi app to do this, you can do this with python-miio
  • the linux machine needs to be on the same network as the robot
  • a micro-USB cable plugged into the robot’s micro-USB port.

Usage instructions

Clone this repository, then run the following command and follow its instructions:

./viomi-root.sh

What’s the script doing?

  1. Enable the adb shell command.
  2. Temporarily disable robot services to allow the adb bridge to persist during setup.
  3. Install dropbear along with your ~/.ssh/id_rsa.pub public key
  4. (Optionally:) Install Valetudo.

Troubleshooting

Problem: No adb connection is established.

  • Check that adb and your cable is working in general by connecting to an android phone (enable usb debugging on it), e.g. by using adb shell.

  • Check the dmesg output to see if your computer ever recognized a USB devices. Some machines are too slow, some USB stacks flaky. People have reported success with a raspberry pi when their main computer didn’t work.

  • If you see a message like:

    adb: insufficient permissions for device
    See [http://developer.android.com/tools/device.html] for more information
    

    Follow the link for advice, in particular make sure that you are a member of the plugdev group and have setup correct udev rules (dmesg would probably show you the device ids).

  • Finally, this may not be working on first attempt, but may need multiple tries, but typically not more than 10.

Problem: The script was not able to establish a ssh connection and didn't finish.

Solution: Rerun the remaining steps of the script (replace ROBOT_IP with the actual ip address)

./viomi-root.sh change_password
./viomi-root.sh restore_robot_services
./viomi-root.sh install_valetudo ROBOT_IP

Problem: An old Valetudo version is installed that doesn't support viomi.vacuum.v8 yet.

Solution: Manually update your installed version by uninstalling and then reinstalling. See also rumpeltux#11

viomi-rooting's People

Contributors

rumpeltux avatar asdftemp avatar

Watchers

James Cloos avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.