I still remember that day when I came back home after 5 months of being blocked in another country because of the lockdown. My first thought was “Ok, let’s give that flat a good cleaning”.
How it broke
After opening the MiHome app, connecting to my robot, I saw a notification about a new firmware update that I immediately started, and it happened!
The progress bar stuck at 80%, I was staring at my phone for about 15 min, keeping the screen on (because I knew that the MiHome app wasn’t behaving correctly when moved to background).
I decided then to close the app and try again when I noticed that the MiHome App wasn’t able to connect to my robot anymore. Whatever I tried to reset the robot, from the app or pressing the button combination, no reaction, the robot kept silent.
In the end, I decided to remove the robot from the MiHome app and try to pair again risking losing my flat mapping, but I never imagined that the consequence will be more dramatic.
I usually check the changelog for any update and search for any known issue or complaints before performing the upgrade, but I was so confident that I didn’t check.
A failed update
I started investigating and looking for any information related to my issue when I discovered that I wasn’t the only one facing this problem.
Following some forums and threads reporting the same issue:
- Mi Community
- Dustcloud
- Dealabs - French
I was even surprised to see the following disclaimer on AliExpress
Apparently, the .45 update wasn’t deployed to all servers that the robot usually connects to in order to fetch the firmware update, as a consequence, the robot keeps looking for the final missing packages to complete the upgrade.
Workarounds
Please note that the following workarounds didn’t work for me, even after several attempts (Probably because I deleted the Robot from the MiHome app while trying to fix it myself)
The 80% trick
On easy approach consists of changing the DNS on your network, I couldn’t guarantee it was going to work since my robot wasn’t connected to my network anymore.
Security Note: Check this pertinent comment
The second approach (by Maciej P. Wilczyński) will allow you to connect via SSH to your robot and change the configuration to fetch the updated packages (You will have to do some ADB manipulations first )
Credits to Maciej P. Wilczyński for his very well explained post
But again 😔, it didn’t work for me, but this time was because of a different issue. For a mysterious reason, I wasn’t able to connect via ADB to my robot.
The flashing trick
I was desperate at this point. None of the approaches worked for me. I was considering buying another robot, but which one now that I don’t trust this product anymore.
Hopefully, another post form Maciej P. Wilczyński helped me to keep hope, especially, the approach he is describing is for people who couldn’t make their robots work with the 80% trick.
I waited about 1 month to receive the TTL converter and the cables listed in the prerequisites section.
I watched the following video to open my robot properly
Then I followed meticulously the described steps… again 😔, not working, what a frustration! I can’t explain why, but I couldn’t see my robot via ADB nor fastboot, I tried with different USB cables, on differents OS (Mac, Linux, Windows) without success.
After many attempts, I started thinking I have burned the NAND MX30LF2G18AC on the motherboard.
Replacing the motherboard
Ok, back to manual cleaning, after all, this is a good physical activity in particular with this 2nd lockdown :D (me trying to stay positive)
I put my robot in a corner without taking the time to assemble it again. I was looking from times to times if a new workaround was published, or if anyone has the same problem with ADB and Fastboot. I was also redirecting people who were facing the problem for the first time in the right posts.
I started hearing some complaints about a totally different problem, some robots were experiencing some water leak which was damaging the motherboard. At that time, there was no STYJ02YM motherboard to buy (not even on AliExpress). Xiaomi was more focused on the second version for this robot that the community was losing hope.
Then someone suggested replacing the STYJ02YM motherboard with a Cecotec motherboard which looks exactly the same, the negative part of this approach is that you cannot use the MiHome with your robot anymore.
I wasn’t a fan of having another additional app to connect with my robot but look, it is better than throwing my robot without a final try.
I started looking for Cocotec reseller, but I was lost with all the Cecotec versions. I decided to search again on AliExpress, I could find a lot of components for the STYJ02YM but no motherboard. The only available ones were for the roborock and other robots.
I then started contacting these sellers to ask for any STYJ02YM motherboard, at this point, I had nothing to lose.
The days after, I received a lot of negative answers, except one, he asked me to wait few days to check with his partners. 2 days later, he sent me a link to order a STYJ02YM motherboard (only 1 in stock), I was so happy :D. I bought it for about 60 euro (same price for a Cecotec).
After 20 days, 🎉 I received it
I started replacing the motherboard by following this video to make sure I was not breaking anything.
I was extremely pleased to hear it speaking again. I tested it immediately, and guess what, the motherboard came with the last update already installed (The robot is speaking English now)
Here are the links if you want to buy a STYJ02YM motherboard