Skip to content

Commit

Permalink
chore(release): 2024.06.0
Browse files Browse the repository at this point in the history
  • Loading branch information
Hypfer committed Jun 20, 2024
1 parent 4f72632 commit 99cbf90
Show file tree
Hide file tree
Showing 11 changed files with 365 additions and 87 deletions.
16 changes: 4 additions & 12 deletions docs/_pages/general/buying-supported-robots.md
Original file line number Diff line number Diff line change
Expand Up @@ -8,14 +8,9 @@ order: 14
The recommended source to buy a [supported robot](https://valetudo.cloud/pages/general/supported-robots.html) is
wherever it is cheapest. In general, when buying something, you should always use price comparison websites, shopping communities, check Aliexpress etc.

## Recommendation
## Deciding on a Robot

_Last update: 2023-11-07_

We have reached a point where giving out general recommendations doesn't really make sense anymore as there are just too
many supported robots with varying attributes such as features, price, rootability and also availability in your area.

Here are some questions you should ask yourself:
Here are some questions you should ask yourself when deciding which supported robot to pick:
- What types of floor do you have?
- Do you need proper mopping?
- Do you want an Auto-Empty-Dock?
Expand All @@ -29,11 +24,6 @@ Here are some questions you should ask yourself:
Answering these questions should help you pick the right unit. If you require additional guidance, feel free to
[join the telegram group](https://t.me/+nwBRK29pN7FhODBi).

But if you're _really_ only looking for a general recommendation, just buy the Dreame L10S Ultra.<br/>
It can do proper mopping, has an auto-empty-dock, obstacle avoidance, a rubber brush to better deal with long hair,
it can detect pet waste, it's priced competitively and it's also rootable without doing too scary things.
Basically it ticks all the boxes.

To get a feel for which model can do what, feel free to check out the grouped links below.

## Affiliate links
Expand All @@ -47,6 +37,8 @@ Apparently it's easy for a US Amazon affiliate account to generate links on all

### Mop- and Auto Empty Dock

* Dreame X40 Ultra [DE](https://amzn.to/44WnHPS) [US](https://amzn.to/4aqfaG8)
* Dreame L10S Pro Ultra Heat [DE](https://amzn.to/3ys57mB) [US](https://amzn.to/3K6hEyH)
* Dreame L10S Ultra [DE](https://amzn.to/3sdPhZt) [US](https://amzn.to/3YOvQmq) [UK](https://amzn.to/45HmZFn) [IT](https://amzn.to/3soPM3h)
* Xiaomi X10+ [DE](https://amzn.to/3qozcQn)

Expand Down
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
4 changes: 2 additions & 2 deletions docs/_pages/general/newcomer-guide.md
Original file line number Diff line number Diff line change
Expand Up @@ -10,7 +10,7 @@ Hi and welcome to the Valetudo Newcomer Guide.

This should hopefully answer all the questions you might have and also be interesting to read for people that haven't been following the recent development.

_Last update: 2023-11-07_
_Last update: 2024-06-18_


## What is Valetudo?
Expand Down Expand Up @@ -110,7 +110,7 @@ The [getting started guide](https://valetudo.cloud/pages/general/getting-started

If you're looking for answers/support, the first place to look are the docs.

Furthermore, you can also check the [Telegram Group](https://t.me/+fovCkH-31ewzZDFi).
Furthermore, you can also check the [Telegram Group](https://t.me/+85k0wzfEFwRmMGIy).
Telegram features a very powerful full-text search so make sure to use that before asking.

There's also the option of using the [GitHub Discussions feature](https://github.com/Hypfer/Valetudo/discussions/categories/q-a-support).
Expand Down
79 changes: 62 additions & 17 deletions docs/_pages/general/supported-robots.md
Original file line number Diff line number Diff line change
Expand Up @@ -6,7 +6,7 @@ order: 9

# Supported Robots

At the time of writing, (2023-11-28), Valetudo supports more than 30 different Robots.<br/>
At the time of writing, (2024-06-18), Valetudo supports more than 35 different Robots.<br/>
If you're interested in hardware specifics, teardowns and more, check out Dennis Giese's [Vacuum Robot Overview](https://robotinfo.dev/).

Please note that this list is exhaustive. These are the supported robots.<br/>
Expand Down Expand Up @@ -82,6 +82,8 @@ You can use Ctrl + F to look for your model of robot.<br/>
8. [L10s Ultra](#dreame_l10sultra)
9. [D10s Pro](#dreame_d10spro)
10. [D10s Plus](#dreame_d10splus)
11. [L10s Pro Ultra Heat](#dreame_l10sproultraheat)
12. [X40 Ultra](#dreame_x40ultra)
3. [Roborock](#roborock)
1. [S5](#roborock_s5)
2. [S6](#roborock_s6)
Expand Down Expand Up @@ -239,7 +241,7 @@ It's very confusing. If unsure, please ask us first.

These are sold under the names:
- Mi Robot Vacuum-Mop P
- Mi Robot Vacuum-Mop Pro (but nut the ijai one!!)
- Mi Robot Vacuum-Mop Pro (not the ijai one!!)
- Mijia STYJ02YM

#### Comments
Expand All @@ -248,8 +250,8 @@ Rooting is pretty easy, only requiring a Linux Laptop and a micro USB cable.<br/
It might be required to remove the battery but that can be done without touching any warranty seals.

**Warning**:<br/>
Unfortunately, there are some unresolved issues with the Mijia STYTJ02YM viomi.vacuum.v8.
It is strongly recommended to not attempt to root the v8 variant to avoid the risk of bricking the robot.
Do not try to root the viomi.vacuum.v8 as there are many of them that will unrecoverably brick if you try to do so.
You can check if yours is a v8 by looking at the SSID of the WiFi AP the robot creates.

**Note:**<br/>
While Valetudo works with their model firmwares, the recommended rooting procedure is to flash these with a Viomi V6 firmware as that has more features.
Expand Down Expand Up @@ -292,6 +294,7 @@ All warranty seals stay intact.

The Xiaomi Robot Vacuum X10 Plus is made by Dreame. It is sold as:
- Xiaomi Robot Vacuum X10 Plus
- Xiaomi Robot Vacuum X10+

#### Comments

Expand Down Expand Up @@ -438,18 +441,6 @@ Due to the design of the dock, it might be difficult to have the robot docked wh
One useful trick to solve that is this: `sleep 300 && ./install.sh`. With that, you will have a
300s window where you can disconnect the PCB and put it in the dock. The command will keep running.

For some yet unknown reason, installing firmware updates doesn't work if we try to pre-package Valetudo as we do
on other dreames. Because of that, with this robot, you will have to manually install Valetudo after rooting.

For that, follow these steps:

1. Download the latest matching Valetudo binary: `https://github.com/Hypfer/Valetudo/releases/latest/download/valetudo-armv7-lowmem`
2. Copy the binary to the robot the same way you copied the firmware tar file
3. Move it to `/data/valetudo`. `/data/valetudo` should be the binary. It should **not** be a folder
4. `cp /misc/_root_postboot.sh.tpl /data/_root_postboot.sh`
5. `chmod +x /data/valetudo /data/_root_postboot.sh`
6. `reboot`

#### Details

**Valetudo Binary**: `armv7-lowmem`
Expand All @@ -476,7 +467,7 @@ Due to the design of the dock, it might be difficult to have the robot docked wh
One useful trick to solve that is this: `sleep 300 && ./install.sh`. With that, you will have a
300s window where you can disconnect the PCB and put it in the dock. The command will keep running.

On this robot, the miio cloudKey seems to only bbe stored in secure storage which broke cloud communication with Valetudo.
On this robot, the miio cloudKey seems to only be stored in secure storage which broke cloud communication with Valetudo.
Here's a one-liner to fix that:
`mount -o remount,rw /mnt/private && printf "%s" "$(dreame_release.na -c 7 | awk -F' = ' '/MI_KEY/{print $2}')" > "/mnt/private/ULI/factory/key.txt" && mount -o remount,ro /mnt/private`

Expand Down Expand Up @@ -560,6 +551,60 @@ All warranty seals stay intact.

- [Fastboot](https://valetudo.cloud/pages/installation/dreame.html#fastboot)

### L10s Pro Ultra Heat <a id="dreame_l10sproultraheat"></a>

<img src="./img/robots/dreame/dreame_l10sproultraheat.jpg" width="1300" height="325"/>

The Dreame L10s Pro Ultra Heat is sold as:
- Dreame L10s Pro Ultra Heat

#### Comments

**Important Note:**<br/>
The public root for this robot has just been released.<br/>
This makes it not unlikely that we've missed something or that there might be yet unanticipated issues.<br/>
You have been warned

Rooting is relatively easy. Usage of [the Dreame Breakout PCB](https://github.com/Hypfer/valetudo-dreameadapter) is highly recommended.
All warranty seals stay intact.

#### Details

**Valetudo Binary**: `aarch64`
**Secure Boot**: `yes`

#### Rooting instructions

- [Fastboot](https://valetudo.cloud/pages/installation/dreame.html#fastboot)

### X40 Ultra <a id="dreame_x40ultra"></a>

<img src="./img/robots/dreame/dreame_x40ultra.jpg" width="1429" height="325"/>

The Dreame X40 Ultra is sold as:
- Dreame X40 Ultra
- Dreame X40 Ultra Complete

#### Comments

**Important Note:**<br/>
The public root for this robot has just been released.<br/>
This makes it not unlikely that we've missed something or that there might be yet unanticipated issues.<br/>
You have been warned

Rooting is relatively easy. Usage of [the Dreame Breakout PCB](https://github.com/Hypfer/valetudo-dreameadapter) is highly recommended.
All warranty seals stay intact.

#### Details

**Valetudo Binary**: `aarch64`
**Secure Boot**: `yes`

#### Rooting instructions

- [Fastboot](https://valetudo.cloud/pages/installation/dreame.html#fastboot)


## MOVA<a id="mova"></a>

MOVA apparently was a rather short-lived sub-brand(?) of Dreame
Expand Down
2 changes: 1 addition & 1 deletion docs/_pages/general/why-not-valetudo.md
Original file line number Diff line number Diff line change
Expand Up @@ -139,7 +139,7 @@ Having to manually carry the robot to another floor very much degrades the benef
This "fire and forget" mode of operation was why you've considered to buy a vacuum robot in the first place, remember?

As far as financial reasons are concerned, 200€ should be more than enough to buy a factory new supported one even featuring LIDAR.
If you're happy with buying a used unit, at least here in germany, supported ones usually cost around 70-125€ (2023-06-10)
If you're happy with buying a used unit, at least here in germany, supported ones usually cost around 70-125€ (2024-06-18)

Rationally, there's a need (automated cloud-free cleaning on every floor) and there's also a budget for that.
Make your buying decisions based on that and that alone instead of some arbitrary made-up additional constraint such as
Expand Down
97 changes: 94 additions & 3 deletions docs/_pages/installation/dreame.md
Original file line number Diff line number Diff line change
Expand Up @@ -287,7 +287,7 @@ As described in the high-level overview, we start by doing some reconnaissance o
#### Get the config value

Download the latest stage1 dustbuilder livesuit image for your robot:
- <a href="https://builder.dontvacuum.me/nextgen/dust-livesuit-mr813-ddr4.img" rel="noopener" target="_blank">L10s Ultra</a>
- <a href="https://builder.dontvacuum.me/nextgen/dust-livesuit-mr813-ddr4.img" rel="noopener" target="_blank">L10s Ultra, L10s Pro Ultra Heat, X40</a>
- <a href="https://builder.dontvacuum.me/nextgen/dust-livesuit-mr813-ddr3.img" rel="noopener" target="_blank">D10s Pro/Plus, W10 Pro</a>

and select that as the Image in the LiveSuit tool.
Expand Down Expand Up @@ -318,19 +318,98 @@ Click no. This should now have booted your robot into Fastboot.
To verify that, open a new terminal and run `fastboot devices`.
</div>

If you see your robot, continue with `fastboot getvar config`
If you see your robot, continue with `fastboot getvar dustversion`

```
root@T420:/home/hypfer# fastboot devices
Android Fastboot fastboot
root@T420:/home/hypfer# fastboot getvar dustversion
dustversion: 2024.07.00
Finished. Total time: 0.003s
```

<div class="alert alert-important" role="alert">
<p>
Before you continue, make sure that the reported dustversion is at least 2024.07, as older versions of the stage1 image
contain a super weird bug that can in some rare cases permanently brick the robot.
</p>
</div>

If everything is fine so far, next step is to collect the config value:

```
root@T420:/home/hypfer# fastboot getvar config
config: 836064ae31f4806c844f708ab8398367
Finished. Total time: 0.215s
```

This config value is important to select the correct bootloader patches and prevent bricks.
This config value is important to select the correct bootloader patches and prevent bricks.<br/>
Write it down somewhere as you will also need it for updating the firmware in the future.

#### Further recon

For disaster recovery and to support us determine which changes are required for which config value, you will need to
sample about 0.8 to 1.2GB of data from the robot.

<div class="alert alert-tip" role="alert">
<p>
Depending on how fast you are with the terminal, the watchdog might reboot the robot mid-execution.
At this stage of the guide, that is nothing to worry about. If it happens, just enter fastboot again and continue where you left off.
</p>
</div>

To start sampling, execute `fastboot get_staged dustx100.bin`.<br/>
This will create a file named `dustx100.bin` in the current directory.

Ensure that it is about 400MB in size using `du -h dustx100.bin`.

```
root@T420:/home/hypfer# fastboot get_staged dustx100.bin
Uploading 'dustx100.bin' OKAY [ 37.898s]
Finished. Total time: 37.898s
root@T420:/home/hypfer# du -h dustx100.bin
400M dustx100.bin
```

If it is, continue to the next step with `fastboot oem stage1` and `fastboot get_staged dustx101.bin`

```
root@T420:/home/hypfer# fastboot oem stage1
OKAY [ 0.000s]
Finished. Total time: 0.000s
root@T420:/home/hypfer# fastboot get_staged dustx101.bin
Uploading 'dustx101.bin' OKAY [ 38.173s]
Finished. Total time: 38.173s
root@T420:/home/hypfer# du -h dustx101.bin
399M dustx101.bin
```

Once done, again check the filesize using `du -h dustx101.bin`.<br/>
As you can see in the example, it being only 399MB is okay. It should be _around_ 400MB.

Then, finally, run `fastboot oem stage2` and `fastboot get_staged dustx102.bin`

```
root@T420:/home/hypfer# fastboot get_staged dustx102.bin
Uploading 'dustx102.bin' OKAY [ 37.992s]
Finished. Total time: 37.992s
root@T420:/home/hypfer# du -h dustx102.bin
399M dustx102.bin
```

Same check for being ~400MB in size applies here as well.

With that done, zip up everything and store the file in a safe place

```
root@T420:/home/hypfer# zip dreame_rxxxx_samples.zip dustx100.bin dustx101.bin dustx102.bin
adding: dustx100.bin (deflated 0%)
adding: dustx101.bin (deflated 0%)
adding: dustx102.bin (deflated 0%)
root@T420:/home/hypfer# du -h dreame_rxxxx_samples.zip
1.2G dreame_rxxxx_samples.zip
```

#### Build the firmware image

Because there's a hardware watchdog that will reset your robot and the dustbuilder firmware build takes some time,
Expand All @@ -340,6 +419,18 @@ If you don't do this, you risk bricking the device if it gets rebooted during th
Now that you have the correct config value for your robot, head over to <a href="https://builder.dontvacuum.me" rel="noopener" target="_blank">the dustbuilder</a>
and build a new firmware for your robot. Make sure to select `Create FEL image (for initial rooting via USB)`.

<div class="alert alert-warning" role="alert">
<p>
If building a firmware fails with "Error: invalid config value.", unfortunately, your rooting process has to be paused for now.<br/>
Take the zip file created in the previous step, head over to <a href="https://check.builder.dontvacuum.me/">https://check.builder.dontvacuum.me/</a> and upload it there.<br/>
We will then look into what is required for your config value.
<br/><br/>
Be aware that it may take some time, as we do that in our free time beside working regular jobs and having other life things going on.
You will know that it is done once the dustbuilder doesn't reject your config value anymore.<br/>
Thank you for being patient.
</p>
</div>

### Phase 2: Rooting

Now that we know everything we need to know, we can continue with flashing the rooted firmware image.
Expand Down
Loading

0 comments on commit 99cbf90

Please sign in to comment.