Xiaomi Mi Robot Vacuum - Firmware and Language Packs | [smartHome]



Rep: (647)
Xiaomi Mi Robot Vacuum (Roborock v1 / v2 (S50 / 51/55)) - Firmware and language packs
Xiaomi Mi Robot Vacuum 1st Generation пїЅ | Xiaomi Mi Robot Vacuum 2 generation пїЅ | Xiaomi Mi Robot Vacuum 3rd Generation пїЅ | Purchase пїЅ | MiHome application пїЅ| Firmware and language packsпїЅ | Xiaomi club пїЅ

  • In the subject are allForum Rules | Section Rules;
  • Useful topics to note:Forum FAQ | How to clean the image under the spoiler;
  • Instead of saying “Thank you!” UsePicture. If you have less than 15 posts - click on the button.Pictureunder the message where you were helped, and write thanks;
  • In the absence of the curator, the moderator fills the topic header. Use the buttonPictureon the message, which, in your opinion, you need to add to the header to contact the moderator.


This topic discusses only the process of firmware, the problems that arise and the undocumented use of opportunities as a consequence of rutting. Everything else is discussed in the "Discussion" topics.

Both versions of the robot are flashed the same way, that is, all firmware instructions are suitable for both versions! For 3 generations only off. packages through MiHome mods or directly from a smartphoneXVacuum Firmware


Language packs do not accumulate in the robot; there is always only one language pack in it. Therefore, only one language pack can be installed at a time. The choice of language in MiHome has nothing to do with what is in the robot. MiHome only instructs the robot to download the language pack from the link pre-programmed by the developers. That is, only developers can add languages ​​to MiHome. You install the language pack on the robot instead of the current one. MiHome knows nothing about it and will never know.

For the third generation, the Russian package at the moment there is only 1 - official. Since packages for the third generation are now not only encrypted, but also signed with a certificate. That is, no one else can create their packages


ATTENTION! In the new revisions of the second generation of robots released since 03.2019, as well as in firmware starting from 02.2019, there is a check on the robot's affiliation to the region. That is, a robot for the Chinese market (in Russia, too, they often sell them under the guise of a European one) no longer works in Russia. He doesn’t allow himself to be stitched, etc.

MiHome displays the following message:
Russian version - "The robot that you purchased is not certified and cannot be used. Please purchase it through regular channels. If you have any questions, please contact the dealer."
English version - "The robot you purchased can not use plug-ins without authentication. Please purchase it from regular channels. If you have any questions, please contact the dealer."
Chinese version - "你 购买 的 机器人 未 经过 认证 无法 使用 插件, 请 从 正规 渠道 购买, 如有 疑问 请 联系 经销商"

Read more about unlocking the link..
This problem does not apply to the first generation.


Device description
Device characteristics
The robot vacuum cleaner Xiaomi Mi Robot Vacuum is equipped with a low-noise brushless motor supplied by the Japanese company NIDEC. The fan gives a maximum pressure of as much as 1800 Pa, which provides more power when working with stiff dirt.

Mi Robot Vacuum is also equipped with three processors: the Allwinner quad-core processor, the STMicroelectronics ARM coprocessor and the Texas Instruments LDS image processor. The trio helps the vacuum cleaner get real-time data from a scattering of 12 different types of sensors (LDS distance sensor, ultrasonic radar, wall distance sensor, coarse dirt sensor, drop sensor, gyroscopes, accelerometers, and so on). A laser rangefinder and an ultrasonic radar scan the space surrounding the robot 360 degrees with a measurement frequency of 1800 times / sec. This technology is similar to what we can see in modern unmanned vehicles.

The built-in battery with a capacity of 5200 mAh is made up of high-capacity batteries of type 18650 from LG and Panasonic and guarantees 2.5 cleaning from a single battery charge.
Platform Compatibility
Android, iOS
Custom firmware
AT:What for?
ABOUT:After getting root rights, you get a full Ubuntu distribution inside the vacuum cleaner. What to do with this is up to you. After that, only your imagination limits the possibilities of a vacuum cleaner, and, accordingly, the ability to work with Ubuntu.

For the first version:
Full stock (version 3532) with root, ssh login, login and passwordcleaner after login you can / need to change the password to your own using the command passwd v11_003532.fullos_root.pkg .
Past versions
  • Full stock (version 3.3.9_003514) with root, ssh login, login and passwordcleaner after login you can / need to change the password to your own using the command passwd .
  • Full stock (version 3.3.9_003506) with root, ssh login, login and passwordcleaner after login you can / need to change the password to your own using the command passwd .
  • Full stock (version 3.3.9_003416) with root, ssh login, login and passwordcleaner after login you can / need to change the password to your own using the command passwd .
  • Full stock (version 3.3.9_003254) with root, ssh login, login and passwordcleaner after login you can / need to change the password to your own using the command passwd .
  • Full drain (version 3.3.9_003194, starting from this version zonal cleaning appeared) with root, ssh login, login and passwordcleaner after login you can / need to change the password to your own using the command passwd .
  • Full stock (version 3.3.9_003132) with root, ssh login, login and passwordcleaner after login you can / need to change the password to your own using the command passwd .

Modified firmware
-----------------
Now zonal cleaning and sending to a certain point works officially in the native MiHome plugin, no more manipulations.

For the second version:
Due to the appearance of regional blocking in the second generation of the robot, usemodified firmware
Past versions
  • Full stock (version 001792) with root, ssh input, login and passwordcleaner after login you can / need to change the password to your own using the command passwd
  • Full stock (version 001780) with root, ssh login, login and passwordcleaner after login you can / need to change the password to your own using the command passwd .
  • Full stock (version 001632) with root, ssh login, login and passwordcleaner after login you can / need to change the password to your own using the command passwd .
  • Full stock (version 001518) with root, ssh login, login and passwordcleaner after login you can / need to change the password to your own using the command passwd .
  • Full stock (version 001414) with root, ssh input, login and passwordcleaner after login you can / need to change the password to your own using the command passwd .
  • Full stock (version 001408) with root, ssh input, login and passwordcleaner after login you can / need to change the password to your own using the command passwd .
  • Full stock (version 001344) with root, ssh input, login and passwordcleaner after login you can / need to change the password to your own using the command passwd .
  • Full stock (version 001228) with root, ssh input, login and passwordcleaner after login you can / need to change the password to your own using the command passwd .
  • Full stock (version 001168) with root, ssh input, login and passwordcleaner after login you can / need to change the password to your own using the command passwd .


Language packs
All available packages for 3 generations, including Russian
Language packs can be installed on any firmware, regardless of stock (original), it is yours or custom. That is, it is not necessary to flash the firmware

Russian:
Official Russian voice acting
Male voice (alive ) Universal package (suitable for both versions of the robot, all teams are voiced) (thanks for the package outsidepro )
russian.pkg- female voice (thanks for the packageStepik )
Male voice (Maxim)(thanks for the packageStepik )
Male voice (Maxim, without "Master" and "Your Majesty")(thanks for the packageStepik )
Male voice (Maxim) Universal package (suitable for both versions of the robot, all teams are voiced) (thanks for the package Yurysh )
Male voice (Maxim,obscene language) Universal package (suitable for both versions of the robot, all teams are voiced) (thanks for the package bartwell )
Male voice (Maxim,obscene language) Universal package (suitable for both versions of the robot, all teams are voiced) (thanks for the package necr0s76 )
Male voice (Maxim, increased volume)(thanks for the packageStepik and increased volume zeussk )
Male voice (Maxim, boorish, but in terms of decency) Universal package (suitable for both versions of the robot, all teams are voiced) (thanks for the package necr0s76 )
Female voice (Alice) (PKG ) with zone cleaning (thanks for the package Stepik )
Female voice (Oksana) Universal package (suitable for both versions of the robot, all teams are voiced) (thanks for the package Zalemor )
Female voice (Aliss) Universal package (suitable for both versions of the robot, all teams are voiced) (thanks for the package Zalemor )
Male voice (Zakhar) Universal package (suitable for both versions of the robot, all teams are voiced) (thanks for the package Zalemor )
Robot voice Universal package (suitable for both versions of the robot, all teams are voiced) (thanks for the package Zalemor )
Winnie The Pooh Language Pack(thanks for the packageOptician )
Alice + GLaDOS from Portal(thanks for the packagekirbt )
Alice + R2D2 from StarWars(thanks for the packageRozhek )
Alice + Brownie Kuzya(thanks for the packagekkk_ )
Alice + Brownie Kuzya 2(thanks for the packagecokkto )
Male voice (Maxim) New Year's package
Female voice (Milena) Universal package (thanks for the package Kreiser_lastuhin )
Bender from Futurama (Russian, RenTV) for the first generation
Warcraft 3 Voice Language Pack
Ru_robot_2.pkg.zip Maxim

Ukrainian:
Female voice (Sophia)(thanks for the packagecr_az )

Hebrew:
Male and Female Language Packs Universal packages (thanks for the package little_em )


Instructions
I requested the wrong firmware, the firmware process broke, just something went wrong and the robot now does not react to anything, it is impossible to connect to it or the robot does not flash, giving an error.Restoring.
XVacuum Firmware . The easiest way to upload firmware and language packs ( the program receives the token ), also directly from the smartphone ( Android and iOS ).
Only Roborock v1 / v2 (S50 / 51/55) and v3 (T6, S6, 1S) are supported

How to make your own language pack yourself (Windows )
How to unpack a language pack frompkg file ( Windows )
How to flash firmware and / or language pack (Windows )
How to flash firmware and / or language pack (Video instruction,Windows )
How to flash firmware and / or language pack (Linux )
How to flash firmware and / or language pack (MacOS )
The firmware / language pack is not flashed throughWIN-MIROBOgiving outSomething goes wrong ... You need to disable the firewall and firewall, as they do not allow the robot to connect to the computer to pick up the firmware / language pack file
One more reason Something goes wrong ... if you work through virtualku
IP and Token right, all antiviruses, firewalls, firewalls are completely turned off. I checked 10 times, but the firmware / language pack does not want to flash, giving errors. What to do? Connect directly to the robot (for more details in the Linux manual), try it from another PC or from another router (a router is a frequent problem that it’s impossible to flash a robot, probably it cuts traffic).
How to make your own language pack yourself (Linux / MacOS )
The easiest way to get a token
MiHome from Vevs when you try to enter settings, asks for an update , what to do? That is exactly what to do. Go to the topic MiHome and update the application. You can also put MiHome from EDA Studio, they also show a token.
The method of obtaining a token oniOS
How to get a TOKEN without a smartphone on Android
How to increase the cleaning area in Spot mode?Need a custom firmware
One of the ways of independent voice acting (Yandex.Speech)
I want the robot to go further / closer to / to the wall / e (did not try to call in on the plinth)
Vacuuming webhukov
Roll back the firmware of the vacuum cleaner to version 003194 using FloleVac
Changing the region of the robot vacuum cleaner
Valetudo does not show cards, what to do? How to patch rrlogd for normal Valetudo
Outdated instructions
Useful
Xiaomi Vacuum Robot Reverse Engineering and Hacking- thanks to these guys, it became possible to break the vacuum cleaner and install its firmware and language packs
python-mio- a library for working with Xiaomi devices that support miIO protocol
MiHome Alternative for Vacuum Cleaner-->RoboRock Control Center- for PC
Wav2pkg
A program to convert wav files to a pkg package (Windows)


There is no curator in the subject. For questions about filling the caps, please contact the section moderators via the buttonPictureunder the messages to which you want to add links.

Post has been edited.//Hack - 07.09.19, 15:28
Reason for editing: Unpacking language packs in one click



Rep: (36)
Sorry for the question, what does the custom firmware give, can I put a voice without it and will it not fly off when updating a new firmware? I have 94 firmware now, I bought a dust a week ago

Attached images
Attached Image


Post has been editedmarkus193 - 05.01.18, 13:59



Rep: (41)
* Buzzzzer The image can be downloaded directly from xiaomi, you just need to peek where MiHome goes for firmware. Remove logs with tcpdump or pass through a proxy. The most interesting is the firmware for the second version to look at.



Rep: (647)
If someone is interested in how to pull out a token using a smartphone and the installed MiHome program, into which a vacuum cleaner is added, without resetting it and not connecting directly to it from a computer (for those who do not have Wi-Fi on the computer), on Linux, without installing Java:
Instruction
Install adb and sqlite3:
sudo apt-get install android-tools-adb android-tools-fastboot sqlite3

We connect the smartphone to the computer, activate the developer mode and turn on USB debugging
Execute the command:
adb devices

Now the phone should ask permission. If everything is successful, then on the screen you will see:
List of devices attached
cxxxxxxxxxxxxxx05 device

If you connect your smartphone to adb for the first time, the first time you enter the command, it may be offline or unauthorized instead of device. Just run the command again after you give permission on the smartphone.
Further:
mkdir ~ / mi_backup
cd ~ / mi_backup


Now we select the spoiler according to your device: is it rutted or not.
For rooted devices
During the execution of commands, the smartphone will ask for root rights.
adb shell
su
cp /data/data/com.xiaomi.smarthome/databases/miio2.db / sdcard /
exit
adb pull /sdcard/miio2.db ./
adb -d shell "rm /sdcard/miio2.db"
sqlite3 ./miio2.db
select * from devicerecord;


For non-rooted devices
We start creating a backup copy of the application data:
adb backup "-noapk com.xiaomi.smarthome"

A backup window will appear on the smartphone.NOT enter any passwords, just click create a backup. We wait. When the program finishes, go further:
dd if = backup.ab bs = 1 skip = 24 | (printf "\ x1f \ x8b \ x08 \ x00 \ x00 \ x00 \ x00 \ x00" && cat -) | gunzip -c | tar -x

The process may have the following errors, do not pay attention to them:
gzip: stdin: unexpected end of file

The apps folder should appear in the directory, if there is one, everything is fine, go ahead:
sqlite3 ./apps/com.xiaomi.smarthome/db/miio2.db
select * from devicerecord;




Here we are waiting for our ill-fated token. There will be a lot of text on the screen, and at the very end of it you will find the same token (in my case 5a764d38467a6e736e4a476146666a4c):
| rockrobo.vacuum.v1 | Dust ||||| 16 | 0 || 0 | -68 | 1 | HomeRouter | 5a764d38467a6e736e4a476146666a4c | 1619574839 |

Exit sqlite (a dot at the beginning is required):
.exit


The bunch of commands above replaces us with just one single line inof this instructionnamely mirobo discover --handshake true. But this is the price of not having Wi-Fi on the computer. I don’t add this method to the header, since there is still a much simpler oneXiaomi Mi Robot Vacuum - Firmware and language packs (Buzzzzer Post # 68828230)thankBuzzzzer

Post has been edited.//Hack - 05.01.18, 22:25



Rep: (647)
* markus193,
Voice can be set separately on any firmware. Custom firmware with root gives full access to the device. What this will give you specifically depends on your imagination and ability to work in a Linux environment. You can start the radio, you can set an alarm and much more.

* tmr
It will be fun if the password is the same or 2 is added at the end.

Post has been edited.//Hack - 05.01.18, 14:27



Rep: (36)
* .//Hack , thanks, I'll try to figure it out



Rep: (30)
A small note: on android smartphones with root, the miio2.db file can be picked up without backups via adb



Rep: (647)
* mreugene,
Yes, that's right. Later I will add a guide for rooted devices.

Post has been edited.//Hack - 05.01.18, 15:08



Rep: (228)
* tmr
phone hollowed at 58.83.160.4

the vacuum cleaner on check for update is hammering on 54.222.191.97 (as I understand it, fw is stretching from this ipishnik)
in raw data nifiga did not find interesting, and I probably will not find it because there ssl
maybe knowledge is not enough. well, or sniffer in mikrotik castrated
I really do not want to put wireshark.

In the firmware of the first version
UPLOAD_URL =https://awsbj0.fds.api.xiaomi.com

Post has been editedBuzzzzer - 05.01.18, 16:34



Rep: (114)
TMR @ 01/05/18, 2:06 p.m.*
you just need to peek where MiHome goes for firmware

all addresses seem to have been described inhttps://github.com/dgi...cuum.gen1/techinfo.pdf

and in the presentationhttps://github.com/dgiese/dustcloud/raw/master/34c3-presentation/34c3_Staubi-current_split_animation.pdf

Post has been editedeserguei - 05.01.18, 17:33



Rep: (128)
Collected a package of Russian male voice with appeal Your Majesty! Download who you need!
Archive with sound filesAttached filemaxim_non_crypted.rar(6.66 MB)

Installation packageAttached filemaxim.rar(8.55 MB)


Post has been editedStepik - 05.01.18, 20:11



Rep: (647)
* Stepik, please do not use rar. Not everyone has it. Use a better zip. And it is useless to compress pkg additionally, this is an already compressed archive.



Rep: (9)
And the female voice with the appeal "My lord" will be? : D



Rep: (128)
* .//Hack , pkg can not be added to the site ... rar is possible. I haven’t seen a computer without rar yet, most of the files on the Internet are packed in rar



Rep: (119)
Buzzzzer @ 01/05/18, 11:25*
click "Back up" Password do not set

My phone does not allow not to set a password. Until you enter at least one character in the password window, the "Backup" button is not activated ((



Rep: (647)
* Stepik,
rar - paid proprietary archiver. By default, it is not anywhere. But the computer without zip, no matter Windows or Linux, I have not seen for 16 years.



Rep: (0)
And can anyone tell me how to build a custom language pack myself?

If I understand correctly - the language pack itself contains only audio files in the amount of H (by the number of functions)

Suppose we take as a basis the above specified maxim.rar file in its image and likeness we make cutting of sound files.

What is the correct way to bring all this to the form pkg, for pouring into a white brother?



Rep: (31)
* asdqwe , everything is written in the header



Rep: (647)
* xxxtaz
Is the phone rutted?

------

Updated the instructions for obtaining a token without resetting the robot. Separated receipt for rooted and non-rooted devicesXiaomi Mi Robot Vacuum - Firmware and Language Packs (Post. //Hack # 68834071)

Post has been edited.//Hack - 05.01.18, 22:37



Rep: (21)
The Germans already made a voiced firmware application.
The application is being installed. The voice acting is bought and put. The truth itself has not yet done anything.

Attached files

Attached filelatest.apk(3.75 MB)


Post has been editedmichael.1 - 05.01.18, 21:15



Rep: (119)
* .//Hack, Yes. But I, it seems, figured out what was the matter. I have activated phone encryption, and in this mode, the password for the archive is required. You can only remove encryption by completely resetting the phone to the factory settings,


Full version    

Help     rules

Now: 09/15/19, 16:22