Skip to content

Experience with STYTJ02YM robots #337

@martinhoyer

Description

@martinhoyer

Hi @dgiese @Hypfer,

I got three Xiaomi Mop P STYTJ02YM in an auction and want to share some things I've learned during the process of rooting them and and installing viomi v6 conversion fw w/ Valetudo.

While all three look identical, one was clearly a different revision then the other two. One was working straight away with v6 fw, the other two needed a different wlan driver.
The clear indicator of which is which is the color of LED - when holding home, the two robots with different wlan driver turns purple when holding home button during power-on, while the one which was safe to flash to v6 was white/blue-ish. (both go orange when left bumper is pressed).
Also I guess you can identify it by having a different partition table?

diff partitions ../partitions 
13a14,15
>  254        0      20224 dm-0
>  254        1       8192 dm-1

The driver needed is 8189fs.ko, which I got from the original fw.
I used the enable_8821cs.sh script as a reference to make sure it's loaded after reboot.
So far I haven't encountered any issues.

The third one I soft-bricked and so had to flash livesuit image through FEL, i.e. I disassemble it. Interestingly I can see R16, while the fw reports A33. Super confused.

PXL_20230830_113127992
PXL_20230830_113048853
PXL_20230830_113104474
PXL_20230830_113116301
PXL_20230830_113016497

USB device 001:061   Allwinner A33     0461872a:8f749047:2b971977:6c118000

To get it to FEL via serial, it wants 2 character to be pressed on power-on.
"Disassembly" to get to UART is very easy, just one screwdriver and some plastic tool to "un-click/pry-free" four plastic clips.

Let me know if I can provide any more info, thought they are all now running v6. I've dumped the nands fwiw.
(I'm not on telegram)

As for rooting, honestly the biggest pain is to establish the ADB connection. I spent so much time on it, pressing all kinds of button combos, etc. I even suspect the bumper buttons have role, because every time I got adb working I did press/hold them, though it does not seem plausible.
To make it easier for other people, it would be really nice to find a reproducible way to get it working.
Currently, I'd say it's easier/faster to use serial connection, if the robot doesn't provide adb straight away.

btw, I watched your (this year's) Defcon talk. Very nice!

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions