kiến thức Hướng dẫn root Roborock T6/S6 và cài đặt custom firmware - biến bản nội địa thành quốc tế.

cuongtn

Đã tốn tiền
Ngày xưa vì ham rẻ (giá hiện tại trên taobao là 7.8Tr) nên mua con Roborock T6 nội địa tàu. Dùng cực kì khó chịu khi phải fake time zone GMT+8 để có thể sử dụng được app MiHome. Ngoài ra thì còn phải sử dụng stock firmware vì không dám update, nếu chẳng may có update thì server Xiaomi nó chơi Geo block luôn và không thể nào sử dụng được app và chỉ còn cách là factory reset hoặc kiếm cái sim Tàu để dùng. Từ bao bì đến hướng dẫn và cả bộ voice 100% tiếng tàu, chữ tiếng anh duy nhất trên con robot là từ thương hiệu Roborock. Nhưng may sao trên app vẫn dụng được tiếng anh.

Sau 1 thời gian chịu đựng mình đã quyết định root con robot của mình, biến nó thành bản S6 quốc tế, đầy đủ Voice pack tiếng Anh lẫn tiếng Ta, đủ các món ăn chơi, có thể cài được Valetudo, hơn nữa Roborock sử dụng Ubuntu 14.04 nên sau khi root còn có thể làm được nhiều trò hay ho nữa. Ví dụ như chơi nhạc, IOT, biến nó thành chó trông nhà....vân vân và mây mây.

Không giống các đời trước, con robot này của Xiaomi đã tăng cường bảo mật, vì vậy cách duy nhất để root nó là phải tháo vỏ lấy PCB để gắn kết nối UART.
Phương pháp này hoàn toàn có thể sử dụng được với các con đời trước như T5/S5, T4/S4... miễn là sử dụng Allwinner SoC. Ngoài ra theo thông tin tìm hiểu được thì kể cả các con Roborock Gen1 của Xiaomi sản xuất sau tháng 9/2019 đều không thể root theo phương thức cũ (LAN/Token), như vậy cách root này sẽ được sử dụng rộng rãi hơn, và nó hiện tại đang là cách duy nhất.

Thế nên trước khi tiến tới root, ta đi mổ bụng nó, và quá trình chiếm đến 70% thời gian vì nó nhiều vít kinh khủng. Tổng cộng là 62 con vit để có thể lôi được mainboard ra.

Toàn bộ ảnh các con vit ở đây:
imgur.com/a/f1q7enm
  • Vít bản lề nắp đựng rác: 6
  • Vít nắp tháp LDS Laser: 3+2
  • Vít tháp LDS Laser: 4
  • Vít nắp đáy: 7
  • Vít đáy: 26
  • Vít cảm biến va chạm: 8
  • Vít PCB nút điều khiển: 2
  • Vít PCB chính: 4
Sau khi lôi được PCB ra thì ta tiến hành root và cài custom FW:

Nhưng trước hết ở phần chuẩn bị.

-----------------------------
Để root được ta cần kết nối cáp UART-USB với mainboard, ở đây mình sử dụng phương pháp hàn, nhưng bạn hoàn có thể nhờ ai đó giữ hộ 3 chân này (Thực tế nếu bạn sử dụng cổng micro USB trên robot thì chỉ cần sử dụng TX và RX là đủ). Sau khi root xong thì bóc mối hàn ra lắp như cũ không vấn đề gì.




Sau đó thì cắm cáp vào PC, cài driver và kết nối theo đúng thứ tự.
Do Xiaomi sử dụng Allwinner SoC nhưng có patch 1 chút ở phần U-boot và vô tình 1 anh người Đức quốc xã phát hiện ra dòng code vi diệu đó nên đã khiến quá trình root trở lên dễ dàng hơn rất nhiều.

Chính vì điều này nên khi bấm nút ON ở robot 3s để vào U-Boot ta đồng thời giữ phím "s" ở bàn phím để vào Shell mode.
Và ở đây ta sử dụng các lệnh để dump root password ở file vinda và giải mã nó, sau đó tiến hành boot bình thường.

In U-Boot
----------
ext4load mmc 2:6 40008000 vinda
md 40008000
run setargs_mmc boot_normal

Xiaomi/Roborock/Rockrobo root password calculator (v1,s4,t4,s5,s6,t6)
-----------
https://builder.dontvacuum.me/password.php
Nếu bạn nào quan tâm tới thuật toán giải mã root:
The root password is derived from this by XORing each character with 0x37. Calculate this with the language of your choice, for example Perl:

$ perl -e ‘print(join(“”, (map { chr(ord($_) ^ 0x37) } split(//, $ARGV[0]))), “\n”);’ ‘CDSQ[VBQ][VP[VPV’
tsdflaufjlaglaga

Việc cần làm thêm là disable Firewall và chỉnh chọt lại 1 chút cho việc kết nối SSH sau này trở lên dễ dàng hơn.
In Linux
--------
iptables -F
(you can run the next commands over SSH)
- Make SSH access permannent
sed -i -e '/ iptables -I INPUT -j DROP -p tcp --dport 22/s/^/#/g' /opt/rockrobo/watchdog/rrwatchdoge.conf
sed -i -E 's/dport 22/dport 29/g' /opt/rockrobo/watchdog/WatchDoge
sed -i -E 's/dport 22/dport 29/g' /opt/rockrobo/rrlog/rrlogd

- Patch Recovery (so that SSH survies factory resets)
mkdir /mnt/recovery
mount /dev/mmcblk0p7 /mnt/recovery
sed -i -e '/ iptables -I INPUT -j DROP -p tcp --dport 22/s/^/#/g' /mnt/recovery/opt/rockrobo/watchdog/rrwatchdoge.conf
sed -i -E 's/dport 22/dport 29/g' /mnt/recovery/opt/rockrobo/watchdog/WatchDoge
sed -i -E 's/dport 22/dport 29/g' /mnt/recovery/opt/rockrobo/rrlog/rrlogd
umount /mnt/recovery
Sau quá trình này thì chúng ta đã hoàn thành quá trình root, có thể các bạn sẽ muốn change root password.
Giờ thì bạn có thể tắt robot, tháo mối hàn, lắp robot lại bình thường.
Khi đã root xong thì mọi thao tác cài đặt custom FW và chế cháo đều có thể thực hiện qua Wifi với SSH.
Phần còn lại là build custom fw và cài đặt. Vì cấu trúc của eMMC, nên khi cài đặt ta sẽ phải cài đặt trên System B sau đó là System A.
Install Custom Firmware:
The dustbuilder to build your own custom firmware (with Valetudo):
-----------
https://builder.dontvacuum.me/

Extract FW
-----------
cd /mnt/data
tar -xzvf v11_001998.tar.gz

Patch System_B
-----------
cd /mnt/data
bash install_b.sh
reboot

Patch System_A
-----------
cd /mnt/data
bash install_a.sh
reboot
Để biến robot thành bản S6 quốc tế, chúng ta cần đánh lừa server Xiaomi rằng robot của chúng ta là bản S6. Để làm được điều đấy thì chỉ cần chỉnh sửa 2 file config là device.conf và roborock.conf
Do 2 file này ở chế độ readonly chúng ta cần vào SSH gõ lệnh mount lại thử mục default để có thể edit đc. Bước cuối cùng là reboot.
Remount to edit file conf
----------
mount -o remount,rw '/mnt/default'
Để test thử mình sẽ setup lại robot với region ở Germany. Cảm nhận đầu tiên là server ở Đức rất mượt và nhanh. Toàn bộ map và file log đều lưu ở 1 phần riêng nên sẽ không bao giờ bị mất. Check thử bộ voice, đã có tiếng anh và cả tiếng việt.

Nếu bạn thấy video này hữu ích hãy like, comment, share và quan trọng nhất là subcribes đăng ký bấm chuông để ủng hộ mình.
Cảm ơn các bạn và chúc các bạn may mắn.



 
Last edited:

abcd0991

Senior Member
Khá hay nhưng cách làm có quá nhiều bước, cái này mở dịch vụ đc nè.
Em thì đang xài app mihome mod + sửa báo lỗi với con T6, xài bình thường ko cần sim hay đổi mốc. Cũng update fw mới nhất của t6 rồi, chia tầng các kiểu thôi.

Gửi từ Xiaomi Mi 9T Pro bằng vozFApp
 

cuongtn

Đã tốn tiền
Khá hay nhưng cách làm có quá nhiều bước, cái này mở dịch vụ đc nè.
Em thì đang xài app mihome mod + sửa báo lỗi với con T6, xài bình thường ko cần sim hay đổi mốc. Cũng update fw mới nhất của t6 rồi, chia tầng các kiểu thôi.

Gửi từ Xiaomi Mi 9T Pro bằng vozFApp
Nhìn thì có vẻ phức tạp do mình làm khá kĩ để cho mọi người hiểu vấn đề. Chứ thực tế rất đơn giản, tốn 70% công sức tháo ra lắp vào thôi. Khi có được board chỉ mất chưa đến 2 phút để root, và có người giữ dây thì cũng chẳng phải hàn gì cho mệt.
Ngoài ra đọc được thì tất cả các dòng kể cả Gen1 sản xuất sau tháng 9/2019 đều fix và ko root được qua LAN network, vì thế cách trực tiếp oánh vào "tính năng" của chip là hiệu quả nhất.
 

conmalele

Senior Member
Bài viết quá hay

System A và System B là gì hở bác?

Sent from Samsung SM-N960F using vozFApp
 

tuan.huu2007

Senior Member
Khá hay nhưng cách làm có quá nhiều bước, cái này mở dịch vụ đc nè.
Em thì đang xài app mihome mod + sửa báo lỗi với con T6, xài bình thường ko cần sim hay đổi mốc. Cũng update fw mới nhất của t6 rồi, chia tầng các kiểu thôi.

Gửi từ Xiaomi Mi 9T Pro bằng vozFApp
app mihome mod down được ở đâu vậy Bác? mình đang xài con t4, cũng muốn update fw mới nhất. :(
 

abcd0991

Senior Member
app mihome mod down được ở đâu vậy Bác? mình đang xài con t4, cũng muốn update fw mới nhất. :(

Bản mod bên homevip.vn của bác Dang Nguyen, thêm mihomepatch sửa lỗi kết nối nữa. Nhưng mà mới vào xem ko thấy sửa lỗi cho T4, chỉ thấy T6 T7 S5. Bác liên hệ bên đó xem sao. Trước ng ta lấy phí 200k thì phải.

Gửi từ Xiaomi Mi 9T Pro bằng vozFApp
 

cuongtn

Đã tốn tiền
Ưng. Hơi khổ dâm chút cơ mà vui và ngon.

Thím thớt up lên dùng ngon lành chứ? Có bị lỗi lầm gì không thím?
Dùng ngon lành chứ bạn, nó như bản quốc tế rồi thì làm sao có lỗi gì được.
Vấn đề ở đây là file roborock.conf mình copy từ bản CE cho thị trường châu âu nên cloud server là Berlin nên chưa ưng lắm. Bạn nào có file conf bản dùng cloud ở Singapore up lên tham khảo thì tốt quá. 1 số thông tin về GEO của con robot:
CN = Mainland China
SG = Singapore (= everything that is not Mainland or other regions, aka Global)
RU = Russia
I2 = India (but there is no vacuum afaik)
DE = Europe (everything that is in Europe)
US = USA (the non-global variant)

http://docs.api.xiaomi.com/en/fds/basic-concept.html
 

tuan.huu2007

Senior Member
Bản mod bên homevip.vn của bác Dang Nguyen, thêm mihomepatch sửa lỗi kết nối nữa. Nhưng mà mới vào xem ko thấy sửa lỗi cho T4, chỉ thấy T6 T7 S5. Bác liên hệ bên đó xem sao. Trước ng ta lấy phí 200k thì phải.

Gửi từ Xiaomi Mi 9T Pro bằng vozFApp
Cảm ơn Bác, mình đang liên hệ bên đó. :)
 

hsgduba

Đã tốn tiền
giỏi quá bác
, dù mình đọc ko hiểu gì
. Cái này mở dịch vụ kiếm thêm được đó bác.
 

new_t81

Junior Member
Cài xong rồi có update fw được nữa không bạn?
Up xong nó vẫn là S6 hay lại về T6 vậy bạn
 

cuongtn

Đã tốn tiền
Cài xong rồi có update fw được nữa không bạn?
Up xong nó vẫn là S6 hay lại về T6 vậy bạn
Cài custom FW rồi thì là dùng bản mới nhất rồi mà bác (ver 1998, 06/2020, stripped-Ubuntu).
Update thì cứ update custom FW thôi chứ dùng Original FW làm gì nữa để bị GEO Block.
 

new_t81

Junior Member
Cài custom FW rồi thì là dùng bản mới nhất rồi mà bác (ver 1998, 06/2020, stripped-Ubuntu).
Update thì cứ update custom FW thôi chứ dùng Original FW làm gì nữa để bị GEO Block.
mình buil luôn bản rom không có valentudo và cài luôn có được không bạn,hay bắt buộc phải cài valetudo trước rồi mới cài được cái không có vậy?
 

cuongtn

Đã tốn tiền
mình buil luôn bản rom không có valentudo và cài luôn có được không bạn,hay bắt buộc phải cài valetudo trước rồi mới cài được cái không có vậy?
Không cần Valetudo trước bác nhé, video mình demo cho bác nào thích vọc vạch thôi. Bản thân mình cũng sử dụng bản rom patch S6 quốc tế do mình thích sử dụng cloud của xiaomi hơn.
 

Mr The

Senior Member
Nhìn mối hàn của bác tởm quá, hàn điểm nhỏ thế này dùng dây đồng 1 lõi loại quấn biến áp cho gọn bác, hàn thế kia sợ lem ra dễ chập cháy lắm :waaaht:
 
Top