• Introducing XDA Computing: Discussion zones for Hardware, Software, and more!    Check it out!

Would you install TWRP and Magisk if you could?


  • Total voters
    55
Search This thread

bernarbernuli

Senior Member
Aug 26, 2010
116
209
Vigo
www.htcmania.com

I don't have it I would lend it to you if I had it, in the forum there have already been some who have gotten it but I don't know the reason because now they don't let themselves be seen.

@albinoman887 explains here how you would root TWP3, maybe one of the skilled ones will lend it to you for a couple of days if in return you manage to root the watch.


To do my bit I remember how a homemade cable was made with Ticwatch S/E cable if anyone wants to try it, there are also people who have done it adapting Ticwatch Pro cable.

How to make a homemade charging and data cable for Ticwatch Pro 3

The official TW3 charger cable unusually only charges (it has 2 pins that only serve to charge the watch), it does not sync data unlike the Ticwatch Pro, Ticwatch S or Ticwatch E that its official charger cable has 4 pins (2 for charging and 2 for data transfer). For most users this will never become a problem, since sending music and files to the watch can be done without problems via Wi-Fi, however, there is something that can ONLY be done via USB cable, and that is to unlock the bootloader (previous step needed to root). Currently the way to root has not been discovered, although there are already users researching a way to get it and when you get the way a data cable will be required. Curiously there is still no such cable for sale for the TW3 that I know of, not even on AliExpress.

There are users who have managed to make a homemade cable using the Ticwatch S/E cable as a base. Here is the explanation provided by @Gitanitos for those who want to try:
  1. Purchase a Ticwatch S/E charger cable, you can get it on Amazon or Aliexpress without any difficulty, here a link to purchase.
  2. Open the Ticwatch S/E charger cable housing by cutting the plastic around the pogo pins, this way you will lower the profile of the housing so that the pins "reach" the watch.
  3. Remove the magnets that are glued to the case and place them on the reverse side. This is because they do not match the polarity of those of the TW3 clock and if you do not change them you will not be able to place the clock because the reverse attraction will prevent you from placing it on top of the pins.

cable-casero.jpg
 
Last edited:
  • Like
Reactions: Poheart

Andrew x3

Member
Nov 29, 2013
26
2
Pasco Washington
LG Wing
There were no more OTA updates since July. The last update for TWP3 LTE was in May and TWP3 GPS in July.

The only way someone meets that profile is to buy these days TWP3 GPS (and hopefully has not received the July factory update) , unlock the bootloader and then upgrade.
I unlocked mine a while back when the ticwatch pro 3 GPS was like a month or 2 old I've accepted all the otas with unlocked bootloader it has remained unlocked.
 
  • Like
Reactions: _Sherrif

BadWolfYe

Senior Member

BadWolfYe

Senior Member

Attachments

  • rover_recovery.img
    24.8 MB · Views: 3

theOriginalSuperl2

Senior Member
May 28, 2016
469
682
Melbourne
I've made a full eMMC dump. I've uploaded every partition that doesn't contain sensitive info.
Excluded partitions in my upload are: cache, DDR, mcfg, persist, tz, userdata.
I'll publish a guide on how to do this yourself soon. Everyone should back up their own persist partitions as they contain sensor calibration data.

Download the images here: https://androidfilehost.com/?fid=7161016148664816932

Here's a complete partition list:

Code:
# lsblk -o name,partlabel,fstype,size,uuid /dev/loop1

NAME       PARTLABEL    FSTYPE  SIZE UUID
loop1                           7.1G
├─loop1p1  modem        vfat     84M 00BC-614E
├─loop1p2  fsc                    1K
├─loop1p3  ssd                    8K
├─loop1p4  sbl1                 512K
├─loop1p5  sbl1bak              512K
├─loop1p6  rpm                  512K
├─loop1p7  rpmbak               512K
├─loop1p8  tz                     2M
├─loop1p9  tzbak                  2M
├─loop1p10 devcfg               256K
├─loop1p11 devcfgbak            256K
├─loop1p12 dsp          ext4     16M af32c008-2a39-7e5b-a5dc-201456d93103
├─loop1p13 dspbak       ext4     16M af32c008-2a39-7e5b-a5dc-201456d93103
├─loop1p14 modemst1             1.5M
├─loop1p15 modemst2             1.5M
├─loop1p16 DDR                   32K
├─loop1p17 fsg                  1.5M
├─loop1p18 sec                   16K
├─loop1p19 splash                11M
├─loop1p20 aboot                  1M
├─loop1p21 abootbak               1M
├─loop1p22 dtbo                   8M
├─loop1p23 dtbobak                8M
├─loop1p24 vbmeta                64K
├─loop1p25 vbmetabak             64K
├─loop1p26 boot                  32M
├─loop1p27 recovery              32M
├─loop1p28 devinfo                1M
├─loop1p29 system       ext4    1.5G c8d4c976-2cc7-553b-8c90-9810db1915c1
├─loop1p30 vendor       ext4    512M 38ba1d68-5883-5923-afce-5094c89a2e99
├─loop1p31 cmnlib                 1M
├─loop1p32 cmnlibbak              1M
├─loop1p33 cmnlib64               1M
├─loop1p34 cmnlib64bak            1M
├─loop1p35 keymaster              1M
├─loop1p36 keymasterbak           1M
├─loop1p37 cache        ext4     64M 8a2a63b8-6101-4879-b3d7-3af37090d3f5
├─loop1p38 persist      ext4     32M 57f8f4bc-abf4-655f-bf67-946fc0f9f25b
├─loop1p39 misc                   1M
├─loop1p40 keystore             512K
├─loop1p41 config                32K
├─loop1p42 oem          ext4     16M c46af7c8-7768-44bf-87e7-4e9e489cba6e
├─loop1p43 limits                32K
├─loop1p44 dip                    1M
├─loop1p45 mdtp                  32M
├─loop1p46 mdtpbak               32M
├─loop1p47 mcfg                   4M
├─loop1p48 apdp                 256K
├─loop1p49 msadp                256K
├─loop1p50 dpo                    8K
├─loop1p51 btlver                 1K
└─loop1p52 userdata     f2fs    4.7G adee6f87-7155-465d-b933-c85ed3f0c47c

8GB flash with 4.7GB userdata... Good job Mobvoi
 

theOriginalSuperl2

Senior Member
May 28, 2016
469
682
Melbourne
Interesting find: While both rover and rubyfish have the same kernel config, they seem to have different SoCs. Both device's device trees are shipped with the kernel binary, and here's the difference between them:


Code:
$ ARCH=arm scripts/dtc/dtx_diff arch/arm64/boot/dts/qcom/{rover,rubyfish}.dts

--- /dev/fd/63  2021-10-02 21:18:09.943398446 +1000
+++ /dev/fd/62  2021-10-02 21:18:09.943398446 +1000
@@ -3,11 +3,11 @@
 / {
        #address-cells = <0x02>;
        #size-cells = <0x02>;
-       compatible = "qcom,sdm429w-qrd", "qcom,sdm429w", "qcom,qrd";
+       compatible = "qcom,sdm429w-qrd", "qcom,sda429w", "qcom,qrd";
        interrupt-parent = <0x01>;
-       model = "Qualcomm Technologies, Inc. SDM429 BG WTP";
+       model = "Qualcomm Technologies, Inc. SDA429 BG WTP";
        qcom,board-id = <0x10b 0x08>;
-       qcom,msm-id = <0x1a0 0x00>;
+       qcom,msm-id = <0x1b5 0x00>;
        qcom,pmic-id = <0x2001b 0x00 0x00 0x00>;
 
        aliases {
 
  • Like
Reactions: eduardozeassesme

Encoh

New member
Sep 29, 2021
4
1
Interesting find: While both rover and rubyfish have the same kernel config, they seem to have different SoCs. Both device's device trees are shipped with the kernel binary, and here's the difference between them:


Code:
$ ARCH=arm scripts/dtc/dtx_diff arch/arm64/boot/dts/qcom/{rover,rubyfish}.dts

--- /dev/fd/63  2021-10-02 21:18:09.943398446 +1000
+++ /dev/fd/62  2021-10-02 21:18:09.943398446 +1000
@@ -3,11 +3,11 @@
/ {
        #address-cells = <0x02>;
        #size-cells = <0x02>;
-       compatible = "qcom,sdm429w-qrd", "qcom,sdm429w", "qcom,qrd";
+       compatible = "qcom,sdm429w-qrd", "qcom,sda429w", "qcom,qrd";
        interrupt-parent = <0x01>;
-       model = "Qualcomm Technologies, Inc. SDM429 BG WTP";
+       model = "Qualcomm Technologies, Inc. SDA429 BG WTP";
        qcom,board-id = <0x10b 0x08>;
-       qcom,msm-id = <0x1a0 0x00>;
+       qcom,msm-id = <0x1b5 0x00>;
        qcom,pmic-id = <0x2001b 0x00 0x00 0x00>;

        aliases {
Wear 4100 (SDA429w)
Wear 4100+ (SDM429w)
 

BadWolfYe

Senior Member
OneOS WearOS

21.10.3 Changelo
---FIRST PREVIEW VERSION--
-Added ONE Bootanimatio
-Tweaks to system/etc/prop.defaul
-Tweaks to system/build.pro
-Moved some apps to data-app
-Removed the deletion of Custom Recover
-Deodexed
 

Attachments

  • PXL_20211003_164948027.jpg
    PXL_20211003_164948027.jpg
    2.2 MB · Views: 96
  • PXL_20211003_164813643.jpg
    PXL_20211003_164813643.jpg
    1.9 MB · Views: 97
  • PXL_20211003_164315466.jpg
    PXL_20211003_164315466.jpg
    1.8 MB · Views: 96

bernarbernuli

Senior Member
Aug 26, 2010
116
209
Vigo
www.htcmania.com
OneOS WearOS

21.10.3 Changelo
---FIRST PREVIEW VERSION--
-Added ONE Bootanimatio
-Tweaks to system/etc/prop.defaul
-Tweaks to system/build.pro
-Moved some apps to data-app
-Removed the deletion of Custom Recover
-Deodexed

Geez, are you already working on a Custom ROM? How fast!

What features do you want to include in your project? Are you working it alone?
 

yesimxev

Senior Member
May 8, 2017
184
75
I'm going to print data & charging cable/dock, so it will have 4pins and micro USB port instead of cable, similar like the Pro docker can be found on eBay
 
  • Like
Reactions: _Sherrif

Top Liked Posts

  • There are no posts matching your filters.
  • 9
    OneOS WearOS

    21.10.3 Changelo
    ---FIRST PREVIEW VERSION--
    -Added ONE Bootanimatio
    -Tweaks to system/etc/prop.defaul
    -Tweaks to system/build.pro
    -Moved some apps to data-app
    -Removed the deletion of Custom Recover
    -Deodexed
    3
    1633058981970.png

    Things are going well...
    3
    I've made a full eMMC dump. I've uploaded every partition that doesn't contain sensitive info.
    Excluded partitions in my upload are: cache, DDR, mcfg, persist, tz, userdata.
    I'll publish a guide on how to do this yourself soon. Everyone should back up their own persist partitions as they contain sensor calibration data.

    Download the images here: https://androidfilehost.com/?fid=7161016148664816932

    Here's a complete partition list:

    Code:
    # lsblk -o name,partlabel,fstype,size,uuid /dev/loop1
    
    NAME       PARTLABEL    FSTYPE  SIZE UUID
    loop1                           7.1G
    ├─loop1p1  modem        vfat     84M 00BC-614E
    ├─loop1p2  fsc                    1K
    ├─loop1p3  ssd                    8K
    ├─loop1p4  sbl1                 512K
    ├─loop1p5  sbl1bak              512K
    ├─loop1p6  rpm                  512K
    ├─loop1p7  rpmbak               512K
    ├─loop1p8  tz                     2M
    ├─loop1p9  tzbak                  2M
    ├─loop1p10 devcfg               256K
    ├─loop1p11 devcfgbak            256K
    ├─loop1p12 dsp          ext4     16M af32c008-2a39-7e5b-a5dc-201456d93103
    ├─loop1p13 dspbak       ext4     16M af32c008-2a39-7e5b-a5dc-201456d93103
    ├─loop1p14 modemst1             1.5M
    ├─loop1p15 modemst2             1.5M
    ├─loop1p16 DDR                   32K
    ├─loop1p17 fsg                  1.5M
    ├─loop1p18 sec                   16K
    ├─loop1p19 splash                11M
    ├─loop1p20 aboot                  1M
    ├─loop1p21 abootbak               1M
    ├─loop1p22 dtbo                   8M
    ├─loop1p23 dtbobak                8M
    ├─loop1p24 vbmeta                64K
    ├─loop1p25 vbmetabak             64K
    ├─loop1p26 boot                  32M
    ├─loop1p27 recovery              32M
    ├─loop1p28 devinfo                1M
    ├─loop1p29 system       ext4    1.5G c8d4c976-2cc7-553b-8c90-9810db1915c1
    ├─loop1p30 vendor       ext4    512M 38ba1d68-5883-5923-afce-5094c89a2e99
    ├─loop1p31 cmnlib                 1M
    ├─loop1p32 cmnlibbak              1M
    ├─loop1p33 cmnlib64               1M
    ├─loop1p34 cmnlib64bak            1M
    ├─loop1p35 keymaster              1M
    ├─loop1p36 keymasterbak           1M
    ├─loop1p37 cache        ext4     64M 8a2a63b8-6101-4879-b3d7-3af37090d3f5
    ├─loop1p38 persist      ext4     32M 57f8f4bc-abf4-655f-bf67-946fc0f9f25b
    ├─loop1p39 misc                   1M
    ├─loop1p40 keystore             512K
    ├─loop1p41 config                32K
    ├─loop1p42 oem          ext4     16M c46af7c8-7768-44bf-87e7-4e9e489cba6e
    ├─loop1p43 limits                32K
    ├─loop1p44 dip                    1M
    ├─loop1p45 mdtp                  32M
    ├─loop1p46 mdtpbak               32M
    ├─loop1p47 mcfg                   4M
    ├─loop1p48 apdp                 256K
    ├─loop1p49 msadp                256K
    ├─loop1p50 dpo                    8K
    ├─loop1p51 btlver                 1K
    └─loop1p52 userdata     f2fs    4.7G adee6f87-7155-465d-b933-c85ed3f0c47c

    8GB flash with 4.7GB userdata... Good job Mobvoi
    2
    @albinoman887,
    I finally received my cable and unlocked my watch. i should have TWRP installed today, and if you are still in need of borrowing a cable, let me know and i can ship mine to you. If you are interested let's move our conversation to PM.
    .
    I will say, it's a bit challenging to get the connection, but it's doable.

    Let me know...
    1
    There were no more OTA updates since July. The last update for TWP3 LTE was in May and TWP3 GPS in July.

    The only way someone meets that profile is to buy these days TWP3 GPS (and hopefully has not received the July factory update) , unlock the bootloader and then upgrade.
    I unlocked mine a while back when the ticwatch pro 3 GPS was like a month or 2 old I've accepted all the otas with unlocked bootloader it has remained unlocked.
  • 13
    Hi all, I've just got my hands on a TicWatch Pro 3 and am keen to mod it.
    As far as I can tell, there've been no kernels or recoveries built for it yet. I'd like to fix that.
    This will be my first time bringing up TWRP (I have experience with building AOSP and porting Ubuntu Touch and PostmarketOS).

    If anyone else is interested in helping with this stuff, feel free to join in! It'd be great if we can build a bit of a community around this.

    My plan of action is as follows:
    1. Boot TWRP or obtain temporary root access in another way. Some kernel sources are available.
    2. Extract images of every partition on the device (excluding userdata) so we have a way to restore everything if anything goes wrong,
    3. Properly port TWRP to the device. This may be difficult; I don't think TWRP has run on the SDM429W before, though it's based off the SDM429. The Nokia 3.2 may be a useful reference.
    4. Root the device with Magisk, and document the process so users can do it.
    5. Build a custom kernel. To be honest, I'm not sure if this device needs one, but @janjan managed to squeeze amazing performance out of the OG TWP by tweaking a few things and disabling junk.
    Here's some useful information to get started:
    • The TWP3 ships with a charging cable that only has power wires. It's possible to use an old TWP dock to get a data connection, though, and the bootloader can be unlocked through fastboot. See this thread for more info. The USB wire layout is not in the regular order (D+ and D- are swapped), so if you don't have an old dock and are using wires, refer to the pictures here.
    • The TWP3 LTE kernel source code is available here. I've also forked it here, in case anything happens to the original repo. As far as I can tell, there are no sources for the GPS model, but the kernel version in the repo (4.9.232) matches my GPS model's kernel version. I expect the LTE kernel can be used on the GPS with minimal effort.
    • The rubyfish kernel configuration is available through /proc. It's attached to this post.
    I'm not sure if unlocking the bootloader blocks OTA updates; if it does, perhaps we should work out a way to manually download OTA updates before unlocking the bootloader.

    Here's some miscellaneous information:
    • The TWP3 LTE is codenamed "rover", and the TWP3 GPS is codenamed "rubyfish".
    • As far as I can tell, the Snapdragon Wear 4100 in this device is a 64-bit SoC, but a 32-bit OS is in use.
    • Here's the complete kernel version string on my rubyfish running the latest OTA update: Linux version 4.9.232-perf+ ([email protected]) (gcc version 4.9.x 20150123 (prerelease) (GCC) ) #1 SMP PREEMPT Wed Jun 9 09:55:19 CST 2021
    9
    OneOS WearOS

    21.10.3 Changelo
    ---FIRST PREVIEW VERSION--
    -Added ONE Bootanimatio
    -Tweaks to system/etc/prop.defaul
    -Tweaks to system/build.pro
    -Moved some apps to data-app
    -Removed the deletion of Custom Recover
    -Deodexed
    5
    I think the project is fantastic, the truth is that Mobvoi totally succeeded in minimizing attempts to root the watch, simply sold the watch with a cable that only serves to charge, and also there is none for sale (not even in the Asian market), you can only make one by hand, which pushes back 99.9% of users.

    For those who don't know, the cable is mandatory, because to flash TWRP or root you must first unlock bootloader. Unlocking bootloader is done in bootloader mode (fastboot) and there will not work debugging via Wi-Fi, as the watch in this mode does not connect to the Wi-Fi network, it will only work with a USB cable.

    Anyway, I want to contribute the info I have on the subject:

    - Last May the user @mind-overflow was trying to port TWRP, I do not know if he has managed to advance something. Since May i do not know anything. Here the last thing he talked about it.

    - Here, at the end of that post I explain how to make a handmade cable from a Ticwatch S/E cable.
    Use "fastboot boot rubyfish_recovery.img"
    Without "" obviusly

    Actually it's untested
    Edit: i see u from Spain, Send me pv if u have Telegram ;)

    Edit2: for upload the Rover variant


    Rubyfish = BT + GPS Ticwatch Pro 3
    Rover = LTE Ticwatch Pro 3
    3
    I think the project is fantastic, the truth is that Mobvoi totally succeeded in minimizing attempts to root the watch, simply sold the watch with a cable that only serves to charge, and also there is none for sale (not even in the Asian market), you can only make one by hand, which pushes back 99.9% of users.

    For those who don't know, the cable is mandatory, because to flash TWRP or root you must first unlock bootloader. Unlocking bootloader is done in bootloader mode (fastboot) and there will not work debugging via Wi-Fi, as the watch in this mode does not connect to the Wi-Fi network, it will only work with a USB cable.

    Anyway, I want to contribute the info I have on the subject:

    - Last May the user @mind-overflow was trying to port TWRP, I do not know if he has managed to advance something. Since May i do not know anything. Here the last thing he talked about it.

    - Here, at the end of that post I explain how to make a handmade cable from a Ticwatch S/E cable.
    3
    1633058981970.png

    Things are going well...