[Android Apps and Games] .//Hack:
XVacuum Firmware

Flashing firmwares and sound packages from your smartphone (Android and iOS)

Roborock v1/v2(S50/51/55), T6, S6, 1S, T7, Q7 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):

Without Wi-Fi reset of the robot (you need to get the token by any available ways).

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):

Launch the application.

Click the menu and then Settings.

Fill the IP and token of the robot.

Click the "Save" button.

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.

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.

The buttons will be inactive until the program has established connection with the robot and received a status.

As soon as the status have arrived, the buttons become active and you can start flashing the robot.

Choose a firmware or sound package.

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 50 tries to get the status, it means that you filled the invalid token.

"timeout: Call to the vacuum timed out" after 50 tries of flashing a firmware, it means that your cleaner doesn't support local updates (it was blocked 4004 and higher for the first generation, 1910 and higher for the second generation, the third generation was blocked always). The first and second generation can be reseted to the factory firmware if it is below 4004 for the first generation, below 1910 for the second generation. https://support.roborock.com/hc/en-us/articles/360035372632-How-to-reset-Roborock-to-factory-default

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

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).

For the first version: press the "Home" and "Power" buttons simultaneously within 3 seconds.

For the second version: press the "Spot Clean" and "Home" buttons within 3 seconds.

Your robot should say that Wi-Fi is reset and a new access point should appear in your smartphone. Connect to it.

Disable your mobile internet because some phones ignore Wi-Fi unless it provides an internet connection.

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.

The buttons will be inactive until the program has established connection with the robot and received a token and status.

As soon as the token and status have arrived, the buttons become active and you can start flashing the robot.

Choose a firmware or sound package.

Notice the log under the buttons and rejoice at the quick and easy flashing.

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 5502751 (unpack it before using)

Developer: .//Hack

Minimal version of Android: 4.4

iOS:

Download the application: View attachment 5502753 (unpack it before using)

Developer: .//Hack

Minimal version of iOS: 9.0

If you don't have JailBreak use Cydia Impactor.

If you have wav-files and want to make 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 9603257 90117

Ozon card: 2 2302318 050546

PayPal: dsshackne@gmail.com (EUR, USD, RUR)

Yandex.Money (YooMoney): 41001365201505

WebMoney:

- WME: E266145873860

- WMZ: Z130755667036

- WMR: R830172982278

History

04.01.2022 (4.1.0)

The application works better with the third generation (1S, T6, S6, T7, S5 Max and etc.)

Updated the bank accounts.

iOS8 is out of date now to support the maximum version range (9.0-15.2).

Small fixes.

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

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.

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;

The "Back" button closes the file manager but does not move up one level.

[Android]A file can be chosen from the internal storage (/sdcard) only