• XDA Forums have been migrated to XenForo. To discuss, report bugs and other issues, use this thread.

[APP][Android 4.4+][iOS 8.0+] XVacuum Firmware (Xiaomi Vacuum - Roborock v1/v2/v3)

.//Hack

New member
Mar 4, 2011
36
51
0
XVacuum Firmware

Flashing firmwares and sound packages from your smartphone (Android and iOS)
Roborock v1/v2(S50/51/55), T6, S6, 1S are supported.

The first and second generations have common language packs. The third (T6, S6, 1S) has its own packs.

Android:
(only pkg is supported, neither 7z, nor zip, nor rar but only pkg in the unarchived view; as for sound packages, be aware that wav-files in an archive isn't a pkg-package). These packages should be opened only from the internal storage (/sdcard). It will better if you place packages into root folder. Also avoid any special characters in file names, as the robot isn't able to download such files.

iOS:
Firmwares and sound packages must be placed in Documents folder of the application by iTunes (Shared Files section), iTools, iFunbox or other similar applications. (only pkg is supported, neither 7z, nor zip, nor rar but only pkg in the unarchived view; as for sound packages, be aware that wav-files in an archive isn't a pkg-package). Also avoid any special characters in file names, as the robot isn't able to download such files.

At the moment, there are two ways (see below):
  1. Without Wi-Fi reset of the robot (you need to get the token by any available ways).
  2. With Wi-Fi reset (the application will get the token by itself)


The instruction without Wi-Fi reset (you need to get the token by any available ways):
  1. Launch the application.
  2. Click the menu and then Settings.
  3. Fill the IP and token of the robot.
  4. Click the "Save" button.
  5. The application will ask you to restart the application for applying the settings, kill the application:
    • Android: double click to "Back" button or click "Exit" from the menu.
    • iOS: double click to "Home" button and swipe up the application to kill it.
  6. Launch my program again. The program is written for "blondies": there is almost no way to make mistakes. It consists of two buttons (firmware and sound), and that's all. An "About" menu is also available should you want to know more about me and contribute to the project.
  7. The buttons will be inactive until the program has established connection with the robot and received a status.
  8. As soon as the status have arrived, the buttons become active and you can start flashing the robot.
  9. Choose a firmware or sound package.
  10. Notice the log under the buttons and rejoice at the quick and easy flashing.

If you got an error:

  • "timeout: Could not connect to the vacuum, handshake is timeout", it means that you filled the invalid IP of the robot.
  • "timeout: Call to the vacuum timed out" after 10 tries to get the status, it means that you filled the invalid token.


The instruction with Wi-Fi reset (the application will get the token by itself):

  1. You need to reset the Wi-Fi settings of the robot to use this program (you will need to add the robot to MiHome again after all processing is complete).
    1. For the first version: press the "Home" and "Power" buttons simultaneously within 3 seconds.
    2. For the second version: press the "Spot Clean" and "Home" buttons within 3 seconds.
  2. Your robot should say that Wi-Fi is reset and a new access point should appear in your smartphone. Connect to it.
  3. Disable your mobile internet because some phones ignore Wi-Fi unless it provides an internet connection.
  4. Launch my program. The program is written for "blondies": there is almost no way to make mistakes. It consists of two buttons (firmware and sound), and that's all. An "About" menu is also available should you want to know more about me and contribute to the project.
  5. The buttons will be inactive until the program has established connection with the robot and received a token and status.
  6. As soon as the token and status have arrived, the buttons become active and you can start flashing the robot.
  7. Choose a firmware or sound package.
  8. Notice the log under the buttons and rejoice at the quick and easy flashing.
  9. After all processing is complete, you will need to add the robot to the MiHome.

Attention!
Due to the built-in file manager, Play Protect considers the application potentially dangerous and doesn't allow most users to install it. To install the application anyway:
1. Open "Play Market".
2. Tap on "Play Protect" in the menu.
3. Disable the "Check security risks" option during the installation of the application.

Android:
Download the application: View attachment 5016271 (unpack it before using)
Developer: .//Hack
Minimal version of Android: 4.4

iOS:
Download the application: View attachment 5016273 (unpack it before using)
Developer: .//Hack
Minimal version of iOS: 8.0
If you don't have JailBreak use Cydia Impactor.

If you have wav-files and want to produce a pkg file, just use my program wav2pkg (Windows) - below.

Do you want to thank the developer financially?
Details
Tinkoff card: 5536 9137 9197 1969
Sberbank card: 2202 2007 1004 4098
Kykyryza card: 2 960109 287406
PayPal: [email protected] (EUR, USD, RUR)
Yandex.Money: 41001365201505
WebMoney:
WME: E266145873860
WMZ: Z130755667036
WMR: R830172982278

History
18.01.2020 (4.0.0)
  • The application tries to reconnect in any way possible in a case when the connection is lost.
  • If regional lock is activated the application tries to disable it few times. On failure, it displays an error to the log.
  • Fixed working after waking up from sleeping on iOS. Previously, you need to restart the application.
  • Requests to a vacuum work faster now.
  • Many small fixes

21.09.2019 (3.3.0)
  • The path to the selected file is displayed in the log

08.09.2019 (3.2.0)
  • The information about the vacuum is got in the background mode
  • Small fixes

25.08.2019 (3.1.2)
  • Added information about a vacuum to the log (Model, Firmware and IP)
  • Disabling the regional lock to have able to flash a firmware without the regional lock
  • Small fixes

24.07.2019 (3.0.1)
  • Small bug fixes
  • Added information about support for Roborock v3 (T6, S6, 1S)

09.06.2019 (3.0.0)
  • You can flash the robot without Wi-Fi reset (the IP and token must be filled in the setting from the menu, after saving, the setting you need to restart the application).
  • Logs are extended. It will show more information in case of unexpected errors.
  • Now, the bank details can be copied by the click on the neded line.
  • In case of success flashing, a window with information about me will be shown.

31.03.2019 (2.2.0)
  • Fixed the log block collapse.
  • Small fixes: mainly for iOS.

25.03.2019 (2.1.1)
  • Small fixes and iOS version.

14.01.2019 (2.1.0)
  • The code is significantly refactored and compressed.

14.01.2019 (2.0.0)
  • Now the application has a built-in file manager. You can select only pkg (many people tried to flash everything except pkg, not understanding what they did wrong). The "Back" button closes the file manager but does not move up one level. I'll add it in next versions.
  • Added new bank details to the "About" window.

13.01.2019 (1.0.2)
  • Now the socket closes together with the application. You won't get the error EADDRINUSE (Address already in use) when you restart the application.

12.01.2019 (1.0.1)
  • The window "About" can be closed with the "Back" button.
  • The menu can be closed with the "Back" button.
  • The application is now compressed at less than 1MB.
  • Added the current version to the "About" window.
  • Minimal version of Android is 4.4 (most likely the log block will be collapsed on Android 4-5, so you can see one line only).

9.01.2019 (1.0.0)
  • The first released version.

Known issues

  1. java.net.BindException: bind failed: EADDRINUSE (Address already in use): or similar errors with "Address already in use" can occur if other programs use the 8080 and 8081 ports. If you cannot identify such a program, just close all programs and restart XVacuum Firmware.
  2. If your phone has gone to the sleep, most likely the phone will stop accepting connections. The robot will return an error, since it won't be able to download the firmware;
  3. The "Back" button closes the file manager but does not move up one level.
  4. [Android]A file can be chosen from the internal storage (/sdcard) only
 
Last edited:

doggui

New member
Sep 15, 2020
1
0
0
.//hack thanks for this app, great work. Is there any way to make it works with the mi mop p/ lds vacuum cleaner / styj02ym. This model is very popular in russia but still no way to change language packs. Thnx
 

thedude001

New member
Sep 30, 2020
1
0
0
Help?

When I go to setting within in the app, the default IP address is 192.168.1.10 but the actual vacuum IP address is 192.168.1.4. When I try to update in settings, the "save" button is disable if I enter the correct IP address (or anything else) What am I missing???
 

kamarilla

New member
Jan 28, 2011
103
18
0
I have Xiaomi vaccum mop pro. Chinese version (v7). I am using it at Chinese server because it can't be paired with the European one. Is there the possibility to flash European version (V8) firmware via this app?
 

espireso

New member
Nov 26, 2010
26
1
0
Thanks for English thread. It's difficult to navigate in Russian forum even though they've did a great job hacking the robots.

What are alternative "smart homes" that can be used without Chinese Cloud? Are there other apps than Valetudo?
 

zaczy

New member
Nov 24, 2020
1
0
0
Xiaomi Mijia 1S - why doesn't work?

I have two brand new Mijia 1S (one with upgraded firmware and one with factory settings) and soft unfortunately does'nt work for me. When I connect to device's WiFi I get "handshake timeout", when I enter to XVacuum Firmware (3.0.1 and 4.0.0) token and vacuum IP from old Mijia Home app logs everything ends with "trying to get status" and finally timeout either.

Is there any chance to force app to work (I'd like to upload Polish translation package to vacuum)

Best regards
Rafal
 

.//Hack

New member
Mar 4, 2011
36
51
0
wav2pkg​
The program converts wav-files to pkg-package and backward (Windows)​

Unpack the program to the root of any disk (advanced users: the path must not contain any spaces or non-Latin symbols). For example: C:\wav2pkg

The instruction to make pkg-package:
  1. Place all folders with wav-files to the "voicepacks" folder. The folders must contain only Latin symbols, digits and/or underscores. You can place any number of folders. The program converts them into separate pkg files. The path must be, for example, C:\wav2pkg\voicepacks\english\*.wav
  2. Launch wav2pkg.bat from the wav2pkg folder
  3. The program will start displaying information about the progress of the conversion.
  4. Produced packages will be placed into the "voicepacks" folder and carry the names of the folders that they were converted from.

You don't need to remove pkg-files before the next launch of the program.

The instruction to extract wav-files from pkg-package:
  1. Place all pkg-files to the "pkgs" folder. The packages must contain only Latin symbols, digits and/or underscores. You can place any number of packages. The program extracts them into separate folders. The path must be, for example, C:\wav2pkg\pkgs\english.pkg
  2. Launch wav2pkg.bat from the wav2pkg folder
  3. The program will start displaying information about the progress of the conversion.
  4. Produced wav-files will be placed into folders which carry the names of the packages that they were extracted from and they will be placed into the "pkgs" folder.

You don't need to remove folders before the next launch of the program.

Download: View attachment wav2pkg.zip
 
Last edited:

.//Hack

New member
Mar 4, 2011
36
51
0
Does no one need this? Or maybe did I place the thread in the wrong forum's section? Because the thread in the russian community is very hot. The application was downloaded more than 4000 times.
 
  • Like
Reactions: ephestione

mosespl

New member
Mar 19, 2012
721
199
0
Wrocław
Could you please explain for what I need this? I have this s50 robot, but I don't know the exact purpose of this topic. I have eu version and english voices. There is some modifications or funny voices?
 
  • Like
Reactions: pbangelly

jbgtenn

New member
Dec 12, 2011
34
2
0
Does no one need this? Or maybe did I place the thread in the wrong forum's section? Because the thread in the russian community is very hot. The application was downloaded more than 4000 times.

Thank you now have ssh access. Looking for some language packs now : )
 

akiden

New member
Jan 24, 2008
13
0
0
Thanks buddy!!! Finally found a thread in English that covers firmware flashing.

I have the Gen 2 (s50) international version and want to flash to China version in order to connect to China server.

Where do I find the latest China version firmware for s50?


Sent from my iPhone using Tapatalk
 

ydur1

New member
Apr 30, 2009
221
7
0
Does anyone have all the instruction lines for sound pack? I am making a pkg for dutch. I have the instruction lines for error 1-19. But I still need to have english instructions for some commands. I hope someone can help me. Otherwise how can i extraxt a pkg, so I can see what wav files are inside the pkg?
Thank you.
 
Last edited:

denil

New member
Oct 26, 2013
6
0
0
Thanks for the app, but I'm waiting for it to be compatible with vacuum 1s. I try this but can't send voices (the token captures ok).

I read in last post I read that isn't posible :(
 

.//Hack

New member
Mar 4, 2011
36
51
0
When somebody get access to the filesystem of the vacuum and find the encryption keys We'll can make voice and firmware packs for the vacuum. Now we can flash original packs only.
 
  • Like
Reactions: denil
Our Apps
Get our official app! (coming soon)
The best way to access XDA on your phone
Nav Gestures
Add swipe gestures to any Android
One Handed Mode
Eases uses one hand with your phone