rumpeltux / python-miio

Python library & console tool for controlling Xiaomi smart appliances
GNU General Public License v3.0
5 stars 0 forks source link

Website Comment #1

Open utterances-bot opened 4 years ago

utterances-bot commented 4 years ago

Rooting the Xiaomi STYJ02YM (viomi-v7) Vacuum Robot - itooktheredpill

https://itooktheredpill.irgendwo.org/2020/rooting-xiaomi-vacuum-robot/

mLupine commented 4 years ago

@mLupine how is your vacuum after charging? Is it working properly?

It is indeed, just finished vacuuming and mopping the apartment :). I'll try to describe the process ASAP.

szerwi commented 4 years ago

@mLupine how is your vacuum after charging? Is it working properly?

It is indeed, just finished vacuuming and mopping the apartment :). I'll try to describe the process ASAP.

Great, I'm waiting impatiently :D

karolzamosc commented 4 years ago

@mLupine how is your vacuum after charging? Is it working properly?

It is indeed, just finished vacuuming and mopping the apartment :). I'll try to describe the process ASAP.

Great, I'm waiting impatiently :D

Your vacuum is bricked after upgrade?

szerwi commented 4 years ago

@karolzamosc yes, mine is bricked since about 2 months. It got bricked while doing v45 update.

berrywhite96 commented 4 years ago

Ah I see, did already someone looked into the firmware difference? Maybe its possible to import language files.

I believe it's possible to load the v7 firmware onto the v8 robot and vice-versa using the method I described earlier. It should be also fairly easy to sideload custom language packs once you have rooted your device.

I think to sideload the language files is more interessant than flashing a whole firmware. Especially if the v7 gets more updates than the v8. The question is where the languages packs are stored and which files need to be copied.

karolzamosc commented 4 years ago

@karolzamosc yes, mine is bricked since about 2 months. It got bricked while doing v45 update.

Mine is ok, it only stucks at 90% when upgrading but still works properly. My friend's one stucked after v46 upgrade but after some time on docking station started to response...

@berrywhite96 I am totally beginner, but my friend told that in v7 it could be done in a easier way, because in v8 upgrades are encrypted so someone has to dump the firmware directly from the vacuum to check the differences, unfortunately I don't know anybody with v8 version...

rumpeltux commented 4 years ago

What do you mean with version v8? Would like to switch language to anything different than chinese.

With https://github.com/Hypfer/Valetudo the default language is switched to english on boot.

Yeah, but I am a bit scared because many users have to reset their device randomly with Valetudo -.-.

That's only with the Roborock. There hasn't been a report for this with a viomi one.

rumpeltux commented 4 years ago

I think to sideload the language files is more interessant than flashing a whole firmware. Especially if the v7 gets more updates than the v8. The question is where the languages packs are stored and which files need to be copied.

The language files are part of the firmware. You have about 8MB of space in the overlay filesystem which allows you to overwrite things by sideloading, but the current english language pack is already 10MB, so you’ll likely need to create a modified firmware instead that includes the new files. If you limit yourself to a smaller subset sideloading should work though.

rumpeltux commented 4 years ago

0047 looks safe wrt/ preserving root. https://itooktheredpill.irgendwo.org/2020/viomi-firmware-update-analysis/

funjuju commented 4 years ago

I think to sideload the language files is more interessant than flashing a whole firmware. Especially if the v7 gets more updates than the v8. The question is where the languages packs are stored and which files need to be copied.

The language files are part of the firmware. You have about 8MB of space in the overlay filesystem which allows you to overwrite things by sideloading, but the current english language pack is already 10MB, so you’ll likely need to create a modified firmware instead that includes the new files. If you limit yourself to a smaller subset sideloading should work though.

All the files are /usr/share/audio english audio are much larger than the madarin version it is not clearly the best way to do it but it works : i downloaded both folders then I deleted the madarin folder and renamme the english one to mandarin. It tells me "no space left on device" because of the fs size you mentionned. Most of english sounds are now in the mandarin forlder and it works. I will search a proper way to do that later

mLupine commented 4 years ago

I've just published the first guide - fixing STYJ02YM updates stuck on 80%. The second one, about de-bricking the robots, is coming soon!

szerwi commented 4 years ago

I've just published the first guide - fixing STYJ02YM updates stuck on 80%. The second one, about de-bricking the robots, is coming soon!

Great! As far as I understand, if my vacuum is bricked and only lights are flashing I don't have to do anything from this guide, just wait for part 2?

mLupine commented 4 years ago

Great! As far as I understand, if my vacuum is bricked and only lights are flashing I don't have to do anything from this guide, just wait for part 2?

That's right. I hope to finish it by the end of the week.

karolzamosc commented 4 years ago

@mLupine and after the "part 2":

Great job!

mLupine commented 4 years ago

@mLupine and after the "part 2":

* part 3 - changing the language pack, and then...

* part 4 - changing the v7 firmware to v8 :)

Although the vacuum is officially going on sale in Poland in a few days, and I'm pretty sure it's going to be the v8 (or maybe something newer?), I don't think I need a second vacuum, and it would be hard for me to do create such guides without physical access to a v8 device 😉

falcon4fun commented 4 years ago

@mLupine thanks for your guide very much :3 But as I see that default password is incorrect or somewhat. Dunno. Only works when I use passwd command to set my own but it rewrites after reboot. So I use rsa keys while there is still no workaround

Btw, as I tryed cygwin and cmder bash and mintty did not worked for me. There was a problem pushing file. Quickiest way was to use linux distro.

Up: Thx again. Installed .047

karolzamosc commented 4 years ago

@falcon4fun is your vacuum works fine on 047? Check if water pomp works properly after installing 2in1 box? I have to reboot the vacuum every time after that because water pomp doesn't work...

falcon4fun commented 4 years ago

@karolzamosc With hepa or without? Because I ordinary split dry and wet cleaning modes. Checked in combined mode. All working fine. Done 2 passes

  1. Kitchen dry&wet mode silent&high settings
  2. Hall dry&wet mode silent&high settings

But it's like there is no initial FRRRRRRRR FRRRRRRRR after 1 run while repositioning :)

CapanoThomas commented 4 years ago

@mLupine currently after the second command "while true; do (adb shell rm /etc/rc.d/S90robotManager && echo "Done") 2>&1 | grep -v "no devices"; done" i get this: "- exec '/bin/adb_shell' failed: Permission denied (13) - SYNC adbd D: transport SYNC online [adbd D][ done fd=7 ] [adbd D]about to read (fd=7, len=7) [adbd D][ done fd=7 ] adbd D: received remote packet, sending to transport [adbd D]about to read (fd=7, len=24) [adbd D]transport_socket_events(fd=11, events=0001,...) [adbd D]handle_packet() CNXN [adbd D]parse_banner: host:: [adbd D]adb: online [adbd D]Calling send_connect adbd D: transport got packet, sending to remote [adbd D]about to write (fd=7, len=24) [adbd D][ done fd=7 ] [adbd D]about to write (fd=7, len=66) [adbd D][ done fd=7 ] [adbd D][ done fd=7 ] [adbd D]about to read (fd=7, len=35) [adbd D][ done fd=7 ] adbd D: received remote packet, sending to transport [adbd D]about to read (fd=7, len=24) [adbd D]transport_socket_events(fd=11, events=0001,...) [adbd D]handle_packet() OPEN Done" So it does not goes well, any ideas? im on 3.5.3_0044 firmware

falcon4fun commented 4 years ago

@CapanoThomas adb_shell script was not copied propertly :) Try again. Maybe lack of +x chmod. I saw the same problem while while working on windows (can't be 146% sure), but somehow solved it trying this again and again and again

karolzamosc commented 4 years ago

@karolzamosc With hepa or without? Because I ordinary split dry and wet cleaning modes. Checked in combined mode. All working fine. Done 2 passes

  1. Kitchen dry&wet mode silent&high settings
  2. Hall dry&wet mode silent&high settings

But it's like there is no initial FRRRRRRRR FRRRRRRRR after 1 run while repositioning :)

When I tried 047, after installing 2in1 box the vacuum works fine but water pomp doesn't work untill I reboot the vacuum, maybe developer fixed that issue without changing a firmware number, I tried it first day the 047 was released...

falcon4fun commented 4 years ago

@karolzamosc dont know. shrug I think they will not. As I see consumer electronics should not be updated in first hours even on stable branch without any forum confirmations.. :D It's quite simplier with phones but vacuums with first root manuals.. :D

CapanoThomas commented 4 years ago

@falcon4fun

@CapanoThomas adb_shell script was not copied propertly :) Try again. Maybe lack of +x chmod. I saw the same problem while while working on windows (can't be 146% sure), but somehow solved it trying this again and again and again

im pretty sure i did copied it correclty in note++, the code from my file is bellow, did i miss something? I checked it by pulling file from robot, and it was this modified and pushed previously.

`cat >adb_shell <<EOF

!/bin/sh

export ENV='/etc/adb_profile' exec /bin/sh $@ EOF chmod +x adb_shell`

funjuju commented 4 years ago

The adb_shell must be only these three lines

#!/bin/sh export 
ENV='/etc/adb_profile' 
exec /bin/sh $@ 

And then execute :

chmod +x adb_shell

karolzamosc commented 4 years ago

@falcon4fun after today's update water pomp works fine :-)

mLupine commented 4 years ago

@falcon4fun after today's update water pomp works fine :-)

Is there a new update out? I'm currently switched to European servers so can't check it myself.

karolzamosc commented 4 years ago

@mLupine no, 47 is the newest but when I used it before, the vacuum has a water pomp bug, now all is ok

CapanoThomas commented 4 years ago

@funjuju @falcon4fun @mLupine DONE succesfully on my third computer, the problem was micro usb cable i think. Now its updated and working! thanks

berrywhite96 commented 4 years ago

So, I finally had the time to root my roboter and do other stuff with it. As you can see at my first comments, I had the problem to run shell commands via adb shell as a one line command (piped). So the problem is macOS related I think, so I had to fully simulate a user command input. In the following you can see a python script which removes the S90robotManager file for you after the shell spawned. For this you need python 3, adb installed on your system and Linux or macOS. I think Windows won't work, but you can modify it to get it working.

from subprocess import Popen, PIPE, STDOUT

p = Popen('while true; do adb shell; done', stdout=PIPE, stdin=PIPE, stderr=STDOUT, shell=True)
while True:
    line = p.stdout.readline().decode()

    if not line: break
    if "no devices/emulators" not in line:
        print(line)
        grep_stdout = p.communicate(input=b'rm /etc/rc.d/S90robotManager\n')[0]
        print(grep_stdout.decode())

It's not a really nice code, but it works. After two empty line were printed and after a restart of the robot, you should get a adb shell without terminating within 1 second. As mentioned in the blog from @rumpeltux it need 2 or 3 tries to get it working. Maybe the script can also be the start of a fully automated script to root the robot.

Also I looked into the english language and it seems like the english files doesn't have any compression at all. So I did to following to get all english files working:

  1. Made a new folder on the pc
  2. Downloaded the english files with scp scp -r root@192.168.178.36:/usr/share/audio/english english
  3. Ran this bash script (you need ffmpeg installed)
    mkdir english_encoded
    for i in english/*.mp3;
    do f="$(basename -- $i)"
    echo "$f"
    ffmpeg -i "$i" -codec:a libmp3lame -qscale:a 6 "english_encoded/${f}.mp3"
    done
  4. Conntected my robot with ssh and removed /usr/share/audio/english rm /usr/share/audio/english
  5. Renamed the mandarin folder to something else mv /usr/share/audio/mandarin /usr/share/audio/mandarin_ORGINAL
  6. Pushed the new english files onto the robot scp -r english_encoded root@192.168.178.36:/usr/share/audio/mandarin
  7. (Maybe did a restart to get it working)

Be careful if you want to update, I don't know if the robot needs space in this modified folder.

Hopefully I could helped somebody.

redman6 commented 4 years ago

@berrywhite96 thank you very much! With your help, my robot now speaks Russian. but your compression script seems to be not quite right, as it creates files with mp3.mp3 names. need to apply the command
`rename 's/.mp3.mp3/.mp3/g'
.mp3`

the correct script is:

mkdir english_encoded
for i in english/*.mp3;
  do f="$(basename -- $i)"
  echo "$f"
  ffmpeg -i "$i" -codec:a libmp3lame -qscale:a 6 "english_encoded/${f}"
done
DimaOl commented 4 years ago

Great, thank you so much for the explanation!

I have a broken robot (after some water damage a pin on the cpu broke) which always asks me to put the machine on the floor. (in app : wheels are suspended)

I hope that maybe with root access I would find some way to disable the sensors. I already found in /mnt/UDISK/config quite a lot of interesting files. Especially hwdrivers.ini looks promising.

If anyone has any hints how to fix?

berrywhite96 commented 4 years ago

@berrywhite96 thank you very much! With your help, my robot now speaks Russian. but your compression script seems to be not quite right, as it creates files with mp3.mp3 names. need to apply the command rename 's/.mp3.mp3/.mp3/g' .mp3

the correct script is: mkdir english_encoded for i in english/*.mp3; do f="$(basename -- $i)" echo "$f" ffmpeg -i "$i" -codec:a libmp3lame -qscale:a 6 "english_encoded/${f}" done

I thought I tested the script, sorry. Sounds great, can you tell me where do you get the russian audio files?

redman6 commented 4 years ago

@berrywhite96 Links to other official language audio packages are in the vacuum cleaner plugin, in the main.bundle file. Here is this part of code

preHttp = "https://cnbj2.fds.api.xiaomi.com/";
      name: 'Deutsch',
      key: 'de',
      url: preHttp + 'vacuum-voice/de.zip?GalaxyAccessKeyId=5151729087601&Expires=9223372036854775807&Signature=f+hW+58tGjvKAY/LvoLVIWk1Eus=',
      md5: '712060bc0c3e3b188d83eea6df601fd2'
    }, {
      name: 'Espanol',
      key: 'es',
      url: preHttp + 'vacuum-voice/es.zip?GalaxyAccessKeyId=5151729087601&Expires=9223372036854775807&Signature=gOpibPBe3Xo6I/sfjeN1t6WoH6o=',
      md5: '101a115f9af671f194bb71171557362a'
    }, {
      name: 'Italiana',
      key: 'it',
      url: preHttp + "vacuum-voice/it.zip?GalaxyAccessKeyId=5151729087601&Expires=9223372036854775807&Signature=pa2o1Nh7EyWXAaS7BPDRqUA2hQ4=",
      md5: 'c98659ca1d467cc8248eda28a3068107'
    }, {
      name: '한국어',
      key: 'ko',
      url: preHttp + "vacuum-voice/ko.zip?GalaxyAccessKeyId=5151729087601&Expires=9223372036854775807&Signature=R4eu4B59wSZsnliSKx0Ar7ATJEY=",
      md5: '34408327ba7becae672c23f4f1a53544'
    }, {
      name: 'Polski',
      key: 'pl',
      url: preHttp + "vacuum-voice/pl.zip?GalaxyAccessKeyId=5151729087601&Expires=9223372036854775807&Signature=q3IQz2r9TOY0iPMHQqClnJ2BHt0=",
      md5: "6bddcdded41d379ae1fc7cdd8987a6f0"
    }, {
      name: 'русский',
      key: 'ru',
      url: preHttp + "vacuum-voice/ru.zip?GalaxyAccessKeyId=5151729087601&Expires=9223372036854775807&Signature=0B837D5Afpp7rylY5Q4CI6WtznE=",
      md5: "b5efcbee84c864d807baf1319f682d23"
    }, {
      name: 'ไทย',
      key: 'th',
      url: preHttp + "vacuum-voice/th.zip?GalaxyAccessKeyId=5151729087601&Expires=9223372036854775807&Signature=3uU8cgI8w9z0IfN4ZIWi3k6l5QQ=",
      md5: "5ae49b0521e0f7579e4d6f8bb64e30b9"
    }, {
      name: 'Français',
      key: 'fr',
      url: preHttp + "vacuum-voice/fr.zip?GalaxyAccessKeyId=5151729087601&Expires=9223372036854775807&Signature=0+VqqK6TUfzZv/6R8tqG02pDBGo=",
      md5: "cc919d02121aaed9cf6b92eb61300daf"
    }, {
      name: 'Brasil Portugal',
      key: 'pt',
      url: preHttp + "vacuum-voice/pt.zip?GalaxyAccessKeyId=5151729087601&Expires=9223372036854775807&Signature=AQOxW7JIUP04wUN7KCOKKCJeBNU=",
      md5: "cc919d02121aaed9cf6b92eb61300daf"
    }, {
      name: 'Türk dili',
      key: 'tr',
      url: preHttp + "vacuum-voice/tr.zip?GalaxyAccessKeyId=5151729087601&Expires=9223372036854775807&Signature=yqqI0WEmOV6tziz0TdTtzd30Sis=",
      md5: "cc919d02121aaed9cf6b92eb61300daf"
funjuju commented 4 years ago

@berrywhite96 Links to other official language audio packages are in the vacuum cleaner plugin, in the main.bundle file. Here is this part of code

preHttp = "https://cnbj2.fds.api.xiaomi.com/";
      name: 'Deutsch',
      key: 'de',
      url: preHttp + 'vacuum-voice/de.zip?GalaxyAccessKeyId=5151729087601&Expires=9223372036854775807&Signature=f+hW+58tGjvKAY/LvoLVIWk1Eus=',
      md5: '712060bc0c3e3b188d83eea6df601fd2'
    }, {
      name: 'Espanol',
      key: 'es',
      url: preHttp + 'vacuum-voice/es.zip?GalaxyAccessKeyId=5151729087601&Expires=9223372036854775807&Signature=gOpibPBe3Xo6I/sfjeN1t6WoH6o=',
      md5: '101a115f9af671f194bb71171557362a'
    }, {
      name: 'Italiana',
      key: 'it',
      url: preHttp + "vacuum-voice/it.zip?GalaxyAccessKeyId=5151729087601&Expires=9223372036854775807&Signature=pa2o1Nh7EyWXAaS7BPDRqUA2hQ4=",
      md5: 'c98659ca1d467cc8248eda28a3068107'
    }, {
      name: '한국어',
      key: 'ko',
      url: preHttp + "vacuum-voice/ko.zip?GalaxyAccessKeyId=5151729087601&Expires=9223372036854775807&Signature=R4eu4B59wSZsnliSKx0Ar7ATJEY=",
      md5: '34408327ba7becae672c23f4f1a53544'
    }, {
      name: 'Polski',
      key: 'pl',
      url: preHttp + "vacuum-voice/pl.zip?GalaxyAccessKeyId=5151729087601&Expires=9223372036854775807&Signature=q3IQz2r9TOY0iPMHQqClnJ2BHt0=",
      md5: "6bddcdded41d379ae1fc7cdd8987a6f0"
    }, {
      name: 'русский',
      key: 'ru',
      url: preHttp + "vacuum-voice/ru.zip?GalaxyAccessKeyId=5151729087601&Expires=9223372036854775807&Signature=0B837D5Afpp7rylY5Q4CI6WtznE=",
      md5: "b5efcbee84c864d807baf1319f682d23"
    }, {
      name: 'ไทย',
      key: 'th',
      url: preHttp + "vacuum-voice/th.zip?GalaxyAccessKeyId=5151729087601&Expires=9223372036854775807&Signature=3uU8cgI8w9z0IfN4ZIWi3k6l5QQ=",
      md5: "5ae49b0521e0f7579e4d6f8bb64e30b9"
    }, {
      name: 'Français',
      key: 'fr',
      url: preHttp + "vacuum-voice/fr.zip?GalaxyAccessKeyId=5151729087601&Expires=9223372036854775807&Signature=0+VqqK6TUfzZv/6R8tqG02pDBGo=",
      md5: "cc919d02121aaed9cf6b92eb61300daf"
    }, {
      name: 'Brasil Portugal',
      key: 'pt',
      url: preHttp + "vacuum-voice/pt.zip?GalaxyAccessKeyId=5151729087601&Expires=9223372036854775807&Signature=AQOxW7JIUP04wUN7KCOKKCJeBNU=",
      md5: "cc919d02121aaed9cf6b92eb61300daf"
    }, {
      name: 'Türk dili',
      key: 'tr',
      url: preHttp + "vacuum-voice/tr.zip?GalaxyAccessKeyId=5151729087601&Expires=9223372036854775807&Signature=yqqI0WEmOV6tziz0TdTtzd30Sis=",
      md5: "cc919d02121aaed9cf6b92eb61300daf"

I manage to change mine in French.

Quick and dirty way : replace mandarin files by French one, downloaded on your link!

Thanks for the official addresses!

schannall commented 4 years ago

Hi, after installing dropbear I needed to execute chmod 0600 /etc/dropbear/authorized_keys

If someone hangs as well :)

berrywhite96 commented 4 years ago

@berrywhite96 Links to other official language audio packages are in the vacuum cleaner plugin, in the main.bundle file. Here is this part of code

preHttp = "https://cnbj2.fds.api.xiaomi.com/";
      name: 'Deutsch',
      key: 'de',
      url: preHttp + 'vacuum-voice/de.zip?GalaxyAccessKeyId=5151729087601&Expires=9223372036854775807&Signature=f+hW+58tGjvKAY/LvoLVIWk1Eus=',
      md5: '712060bc0c3e3b188d83eea6df601fd2'
    }, {
      name: 'Espanol',
      key: 'es',
      url: preHttp + 'vacuum-voice/es.zip?GalaxyAccessKeyId=5151729087601&Expires=9223372036854775807&Signature=gOpibPBe3Xo6I/sfjeN1t6WoH6o=',
      md5: '101a115f9af671f194bb71171557362a'
    }, {
      name: 'Italiana',
      key: 'it',
      url: preHttp + "vacuum-voice/it.zip?GalaxyAccessKeyId=5151729087601&Expires=9223372036854775807&Signature=pa2o1Nh7EyWXAaS7BPDRqUA2hQ4=",
      md5: 'c98659ca1d467cc8248eda28a3068107'
    }, {
      name: '한국어',
      key: 'ko',
      url: preHttp + "vacuum-voice/ko.zip?GalaxyAccessKeyId=5151729087601&Expires=9223372036854775807&Signature=R4eu4B59wSZsnliSKx0Ar7ATJEY=",
      md5: '34408327ba7becae672c23f4f1a53544'
    }, {
      name: 'Polski',
      key: 'pl',
      url: preHttp + "vacuum-voice/pl.zip?GalaxyAccessKeyId=5151729087601&Expires=9223372036854775807&Signature=q3IQz2r9TOY0iPMHQqClnJ2BHt0=",
      md5: "6bddcdded41d379ae1fc7cdd8987a6f0"
    }, {
      name: 'русский',
      key: 'ru',
      url: preHttp + "vacuum-voice/ru.zip?GalaxyAccessKeyId=5151729087601&Expires=9223372036854775807&Signature=0B837D5Afpp7rylY5Q4CI6WtznE=",
      md5: "b5efcbee84c864d807baf1319f682d23"
    }, {
      name: 'ไทย',
      key: 'th',
      url: preHttp + "vacuum-voice/th.zip?GalaxyAccessKeyId=5151729087601&Expires=9223372036854775807&Signature=3uU8cgI8w9z0IfN4ZIWi3k6l5QQ=",
      md5: "5ae49b0521e0f7579e4d6f8bb64e30b9"
    }, {
      name: 'Français',
      key: 'fr',
      url: preHttp + "vacuum-voice/fr.zip?GalaxyAccessKeyId=5151729087601&Expires=9223372036854775807&Signature=0+VqqK6TUfzZv/6R8tqG02pDBGo=",
      md5: "cc919d02121aaed9cf6b92eb61300daf"
    }, {
      name: 'Brasil Portugal',
      key: 'pt',
      url: preHttp + "vacuum-voice/pt.zip?GalaxyAccessKeyId=5151729087601&Expires=9223372036854775807&Signature=AQOxW7JIUP04wUN7KCOKKCJeBNU=",
      md5: "cc919d02121aaed9cf6b92eb61300daf"
    }, {
      name: 'Türk dili',
      key: 'tr',
      url: preHttp + "vacuum-voice/tr.zip?GalaxyAccessKeyId=5151729087601&Expires=9223372036854775807&Signature=yqqI0WEmOV6tziz0TdTtzd30Sis=",
      md5: "cc919d02121aaed9cf6b92eb61300daf"

I manage to change mine in French.

Quick and dirty way : replace mandarin files by French one, downloaded on your link!

Thanks for the official addresses!

Wow thats awesome! Maybe someday I will make a tool for rooting and changing language files.

Hi, after installing dropbear I needed to execute chmod 0600 /etc/dropbear/authorized_keys

If someone hangs as well :)

Had the same issue, please add to the blog post ;). @rumpeltux

karolzamosc commented 4 years ago

@berrywhite96 That kind of tool will be awesome for beginner users (just like me :P). I am waiting impatiently... :-)

rumpeltux commented 4 years ago

Hi, after installing dropbear I needed to execute chmod 0600 /etc/dropbear/authorized_keys If someone hangs as well :)

Had the same issue, please add to the blog post ;). @rumpeltux

Thanks for the hint. Done :-)

rumpeltux commented 4 years ago

Links to other official language audio packages are in the vacuum cleaner plugin, in the main.bundle file.

@redman6 Thanks for sharing this! How would one find this "vacuum cleaner plugin"? Would you happen to have a link or instructions?

redman6 commented 4 years ago

@rumpeltux it can be obtained using the modified MiHome by Vevs for Android in Android/data/com.xiaomi.smarthome/files/plugin/install/rn/ or here a link to the archive with the plugin

@berrywhite96

Maybe someday I will make a tool for rooting and changing language files.

if you succeed, you will greatly help the community

colorenz commented 4 years ago

@mLupine Could you switch to a European server with the v7 version?

karolzamosc commented 4 years ago

@mLupine Could you switch to a European server with the v7 version?

V7 in EU server only on modded app

colorenz commented 4 years ago

With mi home vevs ?

karolzamosc commented 4 years ago

@colorenz yes, kapiba.ru

mLupine commented 4 years ago

@mLupine Could you switch to a European server with the v7 version?

I'd like to do it very much. I would need, however, a dump of the V8 firmware from a rooted V8 vacuum, or at least an OTA package for that version.

rumpeltux commented 4 years ago

@redman6 @berrywhite96

Maybe someday I will make a tool for rooting and changing language files.

if you succeed, you will greatly help the community

I started with a draft for the rooting part in https://github.com/rumpeltux/viomi-rooting. It’s still completely untested atm though, but collaboration, testing and fixes are welcome.

colorenz commented 4 years ago

I'm trying to root my vacuum cleaner. How many times did you plug the cable in and out and in and out and in and out to make adb work? :D

funjuju commented 4 years ago

I'm trying to root my vacuum cleaner. How many times did you plug the cable in and out and in and out and in and out to make adb work? :D

2 or 3 times on each step.

Best way i found : unplug the battery ! The 5v of the USB is enought to power up the mainboard

Zaschii commented 4 years ago

unable to get root access. Iam on win10 with cygwin and within step 2 i got...

$ while true; do (adb shell rm /etc/rc.d/S90robotManager && echo "Done") 2>&1 | grep -v "no devices"; done

Zaschii commented 4 years ago

adb shell error: no devices/emulators found

$ adb devices List of devices attached