[GUIDE] How to root your U12+ | Info about A/B | Adaway | USB Audio Control

Search This thread

zvisoft

New member
Jun 23, 2018
3
0
Hi All,
Got U12+ yesterday. Unlocked bootloader. Downloaded 1.15.617.4 from the link in OP, installed Magisk. In short, all was ok until I got to the patched boot img flash. It fails with the error:
C:\Dev\AndroidSdk\platform-tools>fastboot flash boot_a boot_signed.img
Sending 'boot_a' (65536 KB) OKAY [ 1.403s]
Writing 'boot_a' FAILED (remote: Not allowed on PRODUCTION device)
Finished. Total time: 1.419s
Device is in dev mode, USB debugging allowed, bootloader unlocked, etc. Am I missing something?
If I load the device into download mode, then the fastboot flash patch succeeds, but after reboot I get the error popup stating that Android has internal problem and I should contact HTC. Root works fine btw, at least I didn't notice anomalies, except for 2 crashes after installing apps from play market.
For now I've decided to revert to the boot from the 1.15.617.4, again had to flash it from download mode, but the android internal error is gone, well so is the root :(
Any help would be appreciated.

I am using official Android sdk tools for all the above, is it necessary to get HTC's fastboot to succeed with flash in bootloader mode?

P.S. Active slot was A, I did test before flashing.
 

Shark5060

Senior Member
Jun 26, 2014
309
140
39
Hamburg
shark5060.net
Hi All,
Got U12+ yesterday. Unlocked bootloader. Downloaded 1.15.617.4 from the link in OP, installed Magisk. In short, all was ok until I got to the patched boot img flash. It fails with the error:
C:\Dev\AndroidSdk\platform-tools>fastboot flash boot_a boot_signed.img
Sending 'boot_a' (65536 KB) OKAY [ 1.403s]
Writing 'boot_a' FAILED (remote: Not allowed on PRODUCTION device)
Finished. Total time: 1.419s
Device is in dev mode, USB debugging allowed, bootloader unlocked, etc. Am I missing something?
If I load the device into download mode, then the fastboot flash patch succeeds, but after reboot I get the error popup stating that Android has internal problem and I should contact HTC. Root works fine btw, at least I didn't notice anomalies, except for 2 crashes after installing apps from play market.
For now I've decided to revert to the boot from the 1.15.617.4, again had to flash it from download mode, but the android internal error is gone, well so is the root :(
Any help would be appreciated.

I am using official Android sdk tools for all the above, is it necessary to get HTC's fastboot to succeed with flash in bootloader mode?

P.S. Active slot was A, I did test before flashing.

use download mode instead of bootloader mode.
 
  • Like
Reactions: Freak07

Freak07

Recognized Developer / Recognized Contributor
Jan 2, 2011
6,441
23,039
Hi All,
Got U12+ yesterday. Unlocked bootloader. Downloaded 1.15.617.4 from the link in OP, installed Magisk. In short, all was ok until I got to the patched boot img flash. It fails with the error:
C:\Dev\AndroidSdk\platform-tools>fastboot flash boot_a boot_signed.img
Sending 'boot_a' (65536 KB) OKAY [ 1.403s]
Writing 'boot_a' FAILED (remote: Not allowed on PRODUCTION device)
Finished. Total time: 1.419s
Device is in dev mode, USB debugging allowed, bootloader unlocked, etc. Am I missing something?
If I load the device into download mode, then the fastboot flash patch succeeds, but after reboot I get the error popup stating that Android has internal problem and I should contact HTC. Root works fine btw, at least I didn't notice anomalies, except for 2 crashes after installing apps from play market.
For now I've decided to revert to the boot from the 1.15.617.4, again had to flash it from download mode, but the android internal error is gone, well so is the root :(
Any help would be appreciated.

I am using official Android sdk tools for all the above, is it necessary to get HTC's fastboot to succeed with flash in bootloader mode?

P.S. Active slot was A, I did test before flashing.


use download mode instead of bootloader mode.

Thank you for the post :) I added this to the guide now!

Hopefully it’s more clear.:cowboy:
 

5m4r7ph0n36uru

Senior Member
Apr 23, 2014
3,799
3,489
MD5: 91497e1b11f2262d0d8ff0aa7a164f3b
while you're at it ... please add to the OP that you have to DECRYPT the downloaded firmware (using the tool you've linked). It isn't as obvious for people who have never used Magisk before and hence never had to unpack the ruu =)
Decryption is needed ever since there has been S-OFF and thus combined firmware files. On the other hand no one who doesn't recognize such a fact should tinker in the first place, as she/he is missing a large part of the needed knowledge - just my 2 cent.

Sent from my HTC U12+ using XDA Labs
 

zvisoft

New member
Jun 23, 2018
3
0
Thanks guys. Flashed patched boot again, and interestingly the error message disappeared, rebooted few times to confirm. Root ok.
 

Shark5060

Senior Member
Jun 26, 2014
309
140
39
Hamburg
shark5060.net
Decryption is needed ever since there has been S-OFF and thus combined firmware files. On the other hand no one who doesn't recognize such a fact should tinker in the first place, as she/he is missing a large part of the needed knowledge - just my 2 cent.

Sent from my HTC U12+ using XDA Labs

If I want to restore the stock firmware of my device I just copy the downloaded file onto my SD Card and boot into download mode.
There is no need to know that this file is encrypted to undo whatever you fcked up during flashing.

Soooo where exactly is this knowledge needed? Sure, if you want to develop your own rom I think that might come in handy... but as an "end user" not neccessarily.
 

5m4r7ph0n36uru

Senior Member
Apr 23, 2014
3,799
3,489
MD5: 91497e1b11f2262d0d8ff0aa7a164f3b
If I want to restore the stock firmware of my device I just copy the downloaded file onto my SD Card and boot into download mode.
There is no need to know that this file is encrypted to undo whatever you fcked up during flashing.

Soooo where exactly is this knowledge needed? Sure, if you want to develop your own rom I think that might come in handy... but as an "end user" not neccessarily.
Well as I said. Rooting is modding, is tinkering with boot images, and thus with parts of firmware decrypted from RUUs. And if one does such things, for me such knowledge is basic knowledge. You won't persuade me of anything else. And by this I'll stop this OT chatter, so I won't clutter this thread.

Sent from my HTC U12+ using XDA Labs
 

qriozum

Senior Member
Sep 13, 2009
715
290
Think its not the tool im looking for, i mean pulling the ruu directly from device.

You do not have RUU on your smartphone.
The only thing you could do is to snap images of system partitions under custom recovery. The latter is not present at the moment.

The RUU decompression link given is the most optimal, provided you have access to the RUU. And for now, RUU is available for U12 + :)


regards
q.

---------- Post added at 09:48 AM ---------- Previous post was at 09:47 AM ----------

Hi All,
Got U12+ yesterday. Unlocked bootloader. Downloaded 1.15.617.4 from the link in OP, installed Magisk. In short, all was ok until I got to the patched boot img flash. It fails with the error:
C:\Dev\AndroidSdk\platform-tools>fastboot flash boot_a boot_signed.img
Sending 'boot_a' (65536 KB) OKAY [ 1.403s]
Writing 'boot_a' FAILED (remote: Not allowed on PRODUCTION device)
Finished. Total time: 1.419s
Device is in dev mode, USB debugging allowed, bootloader unlocked, etc. Am I missing something?
If I load the device into download mode, then the fastboot flash patch succeeds, but after reboot I get the error popup stating that Android has internal problem and I should contact HTC. Root works fine btw, at least I didn't notice anomalies, except for 2 crashes after installing apps from play market.
For now I've decided to revert to the boot from the 1.15.617.4, again had to flash it from download mode, but the android internal error is gone, well so is the root :(
Any help would be appreciated.

I am using official Android sdk tools for all the above, is it necessary to get HTC's fastboot to succeed with flash in bootloader mode?

P.S. Active slot was A, I did test before flashing.



https://xdaforums.com/showpost.php?p=76887258&postcount=103


regards
q.
 
  • Like
Reactions: scottspa74

Freak07

Recognized Developer / Recognized Contributor
Jan 2, 2011
6,441
23,039
Updated the OP again a bit to make steps for rooting a bit more foolproof.


Also I second @5m4r7ph0n36uru's opinion.

Just because I did a pretty detailed step by step guide doesn’t mean you shouldn’t research properly beforehand.
when I started with this and followed a tutorial back in the desired HD times I tried to Google each step until I was able to understand what it does. And also to get the basic picture of what I actually try to do in a certain way that is described by whoever wrote the guide I follow.
 
Last edited:

scottspa74

Senior Member
Apr 3, 2009
9,151
3,128
everett
Google Pixel 6
Decryption is needed ever since there has been S-OFF and thus combined firmware files. On the other hand no one who doesn't recognize such a fact should tinker in the first place, as she/he is missing a large part of the needed knowledge - just my 2 cent.

Not true.
S-off was acheivable on my htc supersonic in 2010, yet decryption was not. So those two things mean different things to different audiences. I have an htc10, first device I haven't rooted and used custom recovery since 2010 and it's because some of the decrypt and security language has absolutely changed and become confusing.

Thank you for your contributions here, seriously. But 9ver the last few years there is certainly some confusion regarding terminology with regard to security and decryption etc.

As of Android 6.o maybe, encryption/decryption started becoming a thing to really complicate how to understand rooting, and s_off with firmware, and whatnot. It still is confusing to me, and from 2010 yo 2014 I think I had a pretty good understanding of how it all worked. Be patient.

Still thanks for your work, I see you all over on here.
 
Last edited:

5m4r7ph0n36uru

Senior Member
Apr 23, 2014
3,799
3,489
MD5: 91497e1b11f2262d0d8ff0aa7a164f3b
Not true.
S-off was acheivable on my htc supersonic in 2010, yet decryption was not. So those two things mean different things to different audiences. I have an htc10, first device I haven't rooted and used custom recovery since 2010 and it's because some of the decrypt and security language has absolutely changed and become confusing.

Thank you for your contributions here, seriously. But 9ver the last few years there is certainly some confusion regarding terminology with regard to security and decryption etc.

As of Android 6.o maybe, encryption/decryption started becoming a thing to really complicate how to understand rooting, and s_off with firmware, and whatnot. It still is confusing to me, and from 2010 yo 2014 I think I had a pretty good understanding of how it all worked. Be patient.

Still thanks for your work, I see you all over on here.
It is true. I'm not talking about encrypted partitions on the device, as we were talking about RUUs (ROM Update Utilities) here, and those - at least As Long As I've been using them - came encrypted by HTC. Which is why some fellow contributers worked on a decryption tool for those RUUs. Please read what this has been all about, previous to telling me that I'm winding, or something I said isn't true mate. You jumped to a conclusion maybe due to the fact you simply thought of something different.

Sent from my HTC U12+ using XDA Labs
 

LeeDroid

Recognized Developer
Jan 13, 2007
28,855
45,663
Newton Aycliffe
www.leedroid.co.uk
It is true. I'm not talking about encrypted partitions on the device, as we were talking about RUUs (ROM Update Utilities) here, and those - at least As Long As I've been using them - came encrypted by HTC. Which is why some fellow contributers worked on a decryption tool for those RUUs. Please read what this has been all about, previous to telling me that I'm winding, or something I said isn't true mate. You jumped to a conclusion maybe due to the fact you simply thought of something different.

I concur, ruu encryption and device data encryption are 2 very different things...

Yes RUU zips are encrypted & require a key to decrypt them... Signed and encrypted RUU zips can be flashed on any device with a matching MID/CID, zips that have been decrypted can only be flashed on S-Off devices as they are no longer signed with secure keys.

In addition, since the HTC 10, the userdata partition on all devices has been encypted for additional security.. causing us some big old custom recovery challenges.
 
Last edited:

ziand

Senior Member
Apr 24, 2008
509
1,282
HTC U12+
Google Pixel 5
If I want to restore the stock firmware of my device I just copy the downloaded file onto my SD Card and boot into download mode.
There is no need to know that this file is encrypted to undo whatever you fcked up during flashing.

Soooo where exactly is this knowledge needed? Sure, if you want to develop your own rom I think that might come in handy... but as an "end user" not neccessarily.
Really ? I am wondering..

With S-ON you are able to flash only a signed firmware by HTC. Two kinds of them are exist: FullWipe_signed and incremental not Full signed from OTA. Which one you told about ? For now only first one is available on easy-firmware, but there isn't any reason to flash it with wipe because there is a RUU.

Just to learn more, for example look at first post since OP by @5m4r7ph0n36uru in this thread: https://xdaforums.com/u12-plus/how-to/collection-htcu-u12-ruu-firmware-t3794664
 
  • Like
Reactions: 5m4r7ph0n36uru

Shark5060

Senior Member
Jun 26, 2014
309
140
39
Hamburg
shark5060.net
Really ? I am wondering..

With S-ON you are able to flash only a signed firmware by HTC. Two kinds of them are exist: FullWipe_signed and incremental not Full signed from OTA. Which one you told about ? For now only first one is available on easy-firmware, but there isn't any reason to flash it with wipe because there is a RUU.

Just to learn more, for example look at first post since OP by @5m4r7ph0n36uru in this thread: https://xdaforums.com/u12-plus/how-to/collection-htcu-u12-ruu-firmware-t3794664

The linked Spreadsheet does mention RUU. The FullWipe/Incremental Firmware are on a different Tab to download. I was under the assumption the linked files would be the RUU. Also nothing contradicting this is mentioned in the post you're refering to.
 

Top Liked Posts

  • There are no posts matching your filters.
  • 47
    Hey guys and girls,


    I couldn´t find any guide on how to root the U12+ without twrp yet, so I thought maybe it´s good to have one. It´s also useful for people who don´t like to boot/flash the recovery but want root access.

    I also decided now to do a little write up about the A/B slot partition system on the U12+.

    General Information about the A/B slot partition system and seamless updates

    Google firstly introduced seamless updates on the Pixel Phones and with it the A/B partition system.
    So this means, contrary to non A/B devices, there are two copys of most partitions except userdata.
    We have two system (system_a and system_b), two boot (boot_a and boot_b) and two vendor (vendor_a and vendor_b) partitions, amongst others (can be found further down in the partition list but let´s concentrate on these).
    When booted in the OS, one slot is actively used and the other is "inactive".
    The main advantage that emerges now is, that in case an OTA arrives the "inactive" partitions get updated, while the OS is running. That means while the actual OTA is happening you can use your phone just like you always do.
    The following reboot will boot into the former "inactive" slot and use the seamless updated partitions. This happens seamless and just with a reboot. So OTAs are much faster!

    If you are interested further here are some links:
    https://www.xda-developers.com/list-android-devices-seamless-updates/

    https://source.android.com/devices/tech/ota/ab/

    https://source.android.com/devices/tech/ota/ab/ab_faqs


    Here’s another writeup from the XDA portal!

    https://www.xda-developers.com/how-...ess-updates-affect-custom-development-on-xda/

    However there comes some confusion. I will try to update the thread as best as I can when development, ROMs, Kernels etc kick in.

    But here are a few tips and tricks:

    NOTE:
    For most of the commands that are slot specific like changing the active slot etc,download mode is the preferred method!

    Code:
    fastboot flash boot_a boot.img
    and commands like this only work in download mode on standard production devices.
    See below for these.

    However fastboot boot boot.img is not working in download!

    How to reboot to bootloader to be able to use fastboot:

    From anywhere with buttons:
    Long press (sometimes really long!) the Power button until you feel the vibration motor (not the haptic feedback) kick in. When it kicks in let go of power button quickly and push volume down to boot into bootloader.
    thanks to @tbalden for figuring it out intially.

    From the OS or recovery via ADB:
    Code:
    adb reboot bootloader


    How to reboot to download mode to be able to use fastboot:

    From anywhere with buttons:
    Long press (sometimes really long!) the Power button until you feel the vibration motor (not the haptic feedback) kick in. When it kicks in let go of power button quickly and push volume down to boot into bootloader.
    Now choose your option with volume buttons until you see reboot to download and confirm the option by pressing the power button.
    thanks to @tbalden for figuring it out intially how to get into bootloader!

    From the OS or recovery via ADB:
    Code:
    adb reboot download

    How to get the active slot:
    Code:
    fastboot getvar current-slot

    How to set the active slot:
    A word of advice. If you don´t know what you´re doing you should probably not change slots. Because my U12+ only has a working A Slot. The B slot is without the first OTA or flashing a RUU unbootable.

    Set active slot to a:
    Code:
    fastboot --set-active=a

    Set active slot to b:
    Code:
    fastboot --set-active=b

    How to fastboot flash system, boot, vendor and dtbo to only one partition:

    Fastboot with A/B devices allow to flash certain files to a specific Slot. I will list here a few of the most common commands. However be warned that not all of them work on the U12+ currently.
    It´s currently a WIP to determine why and if it´s possbile with temp S-Off.
    These commands seem to work on Standard retail Units only in download mode.

    How to flash boot.img to Slot A:
    Code:
    fastboot flash boot_a boot.img

    How to flash boot.img to Slot B:
    Code:
    fastboot flash boot_b boot.img

    How to flash system to Slot A:
    Code:
    fastboot flash system_a system.img

    How to flash system to Slot B:
    Code:
    fastboot flash system_b system.img

    How to flash vendor to Slot A:
    Code:
    fastboot flash vendor_a vendor.img

    How to flash vendor to Slot B:
    Code:
    fastboot flash vendor_b vendor.img

    How to flash dtbo to Slot A:
    Code:
    fastboot flash dtbo_a dtbo.img

    How to flash dtbo to Slot B:
    Code:
    fastboot flash dtbo_b dtbo.img

    for other partitions the general rule is being obvious in these examples I guess :)

    Partition List / Overview for A/B Partitions
    Here is a partition list. So you can check if there is an A/B system available for said partition:

    Code:
    htc_imedugl:/dev/block/platform/soc/1d84000.ufshc/by-name # ls -al
    total 0
    drwxr-xr-x 2 root root 1880 1970-02-05 04:16 .
    drwxr-xr-x 4 root root 2040 1970-02-05 04:16 ..
    lrwxrwxrwx 1 root root   15 1970-02-05 04:16 abl_a -> /dev/block/sde9
    lrwxrwxrwx 1 root root   16 1970-02-05 04:16 abl_b -> /dev/block/sde30
    lrwxrwxrwx 1 root root   15 1970-02-05 04:16 aop_a -> /dev/block/sde1
    lrwxrwxrwx 1 root root   16 1970-02-05 04:16 aop_b -> /dev/block/sde22
    lrwxrwxrwx 1 root root   16 1970-02-05 04:16 apdp -> /dev/block/sde46
    lrwxrwxrwx 1 root root   16 1970-02-05 04:16 avb_rec -> /dev/block/sde56
    lrwxrwxrwx 1 root root   15 1970-02-05 04:16 bluetooth_a -> /dev/block/sde6
    lrwxrwxrwx 1 root root   16 1970-02-05 04:16 bluetooth_b -> /dev/block/sde27
    lrwxrwxrwx 1 root root   15 1970-02-05 04:16 board_info -> /dev/block/sdf1
    lrwxrwxrwx 1 root root   16 1970-02-05 04:16 boot_a -> /dev/block/sde13
    lrwxrwxrwx 1 root root   16 1970-02-05 04:16 boot_b -> /dev/block/sde34
    lrwxrwxrwx 1 root root   16 1970-02-05 04:16 carrier -> /dev/block/sda16
    lrwxrwxrwx 1 root root   15 1970-02-05 04:16 cdt -> /dev/block/sdd2
    lrwxrwxrwx 1 root root   16 1970-02-05 04:16 cmnlib64_a -> /dev/block/sde16
    lrwxrwxrwx 1 root root   16 1970-02-05 04:16 cmnlib64_b -> /dev/block/sde37
    lrwxrwxrwx 1 root root   16 1970-02-05 04:16 cmnlib_a -> /dev/block/sde15
    lrwxrwxrwx 1 root root   16 1970-02-05 04:16 cmnlib_b -> /dev/block/sde36
    lrwxrwxrwx 1 root root   16 1970-02-05 04:16 control -> /dev/block/sda13
    lrwxrwxrwx 1 root root   16 1970-02-05 04:16 cota -> /dev/block/sda17
    lrwxrwxrwx 1 root root   15 1970-02-05 04:16 ddr -> /dev/block/sdd3
    lrwxrwxrwx 1 root root   16 1970-02-05 04:16 devcfg_a -> /dev/block/sde17
    lrwxrwxrwx 1 root root   16 1970-02-05 04:16 devcfg_b -> /dev/block/sde38
    lrwxrwxrwx 1 root root   16 1970-02-05 04:16 devinfo -> /dev/block/sde44
    lrwxrwxrwx 1 root root   16 1970-02-05 04:16 devlog -> /dev/block/sda10
    lrwxrwxrwx 1 root root   16 1970-02-05 04:16 dip -> /dev/block/sde45
    lrwxrwxrwx 1 root root   16 1970-02-05 04:16 dpo -> /dev/block/sde48
    lrwxrwxrwx 1 root root   16 1970-02-05 04:16 dsp_a -> /dev/block/sde10
    lrwxrwxrwx 1 root root   16 1970-02-05 04:16 dsp_b -> /dev/block/sde31
    lrwxrwxrwx 1 root root   16 1970-02-05 04:16 dtbo_a -> /dev/block/sde21
    lrwxrwxrwx 1 root root   16 1970-02-05 04:16 dtbo_b -> /dev/block/sde42
    lrwxrwxrwx 1 root root   16 1970-02-05 04:16 extra -> /dev/block/sda12
    lrwxrwxrwx 1 root root   16 1970-02-05 04:16 fataldevlog -> /dev/block/sda11
    lrwxrwxrwx 1 root root   16 1970-02-05 04:16 frp -> /dev/block/sda14
    lrwxrwxrwx 1 root root   15 1970-02-05 04:16 fsc -> /dev/block/sdf4
    lrwxrwxrwx 1 root root   15 1970-02-05 04:16 fsg -> /dev/block/sdf3
    lrwxrwxrwx 1 root root   16 1970-02-05 04:16 hosd_a -> /dev/block/sde14
    lrwxrwxrwx 1 root root   16 1970-02-05 04:16 hosd_b -> /dev/block/sde35
    lrwxrwxrwx 1 root root   15 1970-02-05 04:16 hvbmeta -> /dev/block/sda4
    lrwxrwxrwx 1 root root   15 1970-02-05 04:16 hyp_a -> /dev/block/sde3
    lrwxrwxrwx 1 root root   16 1970-02-05 04:16 hyp_b -> /dev/block/sde24
    lrwxrwxrwx 1 root root   16 1970-02-05 04:16 keymaster_a -> /dev/block/sde11
    lrwxrwxrwx 1 root root   16 1970-02-05 04:16 keymaster_b -> /dev/block/sde32
    lrwxrwxrwx 1 root root   16 1970-02-05 04:16 limits -> /dev/block/sde50
    lrwxrwxrwx 1 root root   16 1970-02-05 04:16 local -> /dev/block/sda15
    lrwxrwxrwx 1 root root   16 1970-02-05 04:16 lockbooter_a -> /dev/block/sde12
    lrwxrwxrwx 1 root root   16 1970-02-05 04:16 lockbooter_b -> /dev/block/sde33
    lrwxrwxrwx 1 root root   16 1970-02-05 04:16 logdump -> /dev/block/sde54
    lrwxrwxrwx 1 root root   16 1970-02-05 04:16 logfs -> /dev/block/sde52
    lrwxrwxrwx 1 root root   15 1970-02-05 04:16 mdtp_a -> /dev/block/sde8
    lrwxrwxrwx 1 root root   16 1970-02-05 04:16 mdtp_b -> /dev/block/sde29
    lrwxrwxrwx 1 root root   15 1970-02-05 04:16 mdtpsecapp_a -> /dev/block/sde7
    lrwxrwxrwx 1 root root   16 1970-02-05 04:16 mdtpsecapp_b -> /dev/block/sde28
    lrwxrwxrwx 1 root root   15 1970-02-05 04:16 mfg -> /dev/block/sdf2
    lrwxrwxrwx 1 root root   15 1970-02-05 04:16 misc -> /dev/block/sda6
    lrwxrwxrwx 1 root root   15 1970-02-05 04:16 modemst1 -> /dev/block/sdf5
    lrwxrwxrwx 1 root root   15 1970-02-05 04:16 modemst2 -> /dev/block/sdf6
    lrwxrwxrwx 1 root root   16 1970-02-05 04:16 msadp -> /dev/block/sde47
    lrwxrwxrwx 1 root root   15 1970-02-05 04:16 oem_misc -> /dev/block/sda7
    lrwxrwxrwx 1 root root   15 1970-02-05 04:16 padding0 -> /dev/block/sda1
    lrwxrwxrwx 1 root root   15 1970-02-05 04:16 padding3 -> /dev/block/sdd1
    lrwxrwxrwx 1 root root   15 1970-02-05 04:16 persist -> /dev/block/sda3
    lrwxrwxrwx 1 root root   15 1970-02-05 04:16 pg1fs -> /dev/block/sda5
    lrwxrwxrwx 1 root root   15 1970-02-05 04:16 pmic_a -> /dev/block/sde4
    lrwxrwxrwx 1 root root   16 1970-02-05 04:16 pmic_b -> /dev/block/sde25
    lrwxrwxrwx 1 root root   16 1970-02-05 04:16 qupfw_a -> /dev/block/sde18
    lrwxrwxrwx 1 root root   16 1970-02-05 04:16 qupfw_b -> /dev/block/sde39
    lrwxrwxrwx 1 root root   15 1970-02-05 04:16 radio_a -> /dev/block/sde5
    lrwxrwxrwx 1 root root   16 1970-02-05 04:16 radio_b -> /dev/block/sde26
    lrwxrwxrwx 1 root root   15 1970-02-05 04:16 ramdump -> /dev/block/sda8
    lrwxrwxrwx 1 root root   16 1970-02-05 04:16 reserve0 -> /dev/block/sda21
    lrwxrwxrwx 1 root root   16 1970-02-05 04:16 reserve4 -> /dev/block/sde57
    lrwxrwxrwx 1 root root   15 1970-02-05 04:16 reserve5 -> /dev/block/sdf7
    lrwxrwxrwx 1 root root   16 1970-02-05 04:16 sec -> /dev/block/sde43
    lrwxrwxrwx 1 root root   16 1970-02-05 04:16 sp1 -> /dev/block/sde49
    lrwxrwxrwx 1 root root   15 1970-02-05 04:16 ssd -> /dev/block/sda2
    lrwxrwxrwx 1 root root   16 1970-02-05 04:16 sti -> /dev/block/sde53
    lrwxrwxrwx 1 root root   16 1970-02-05 04:16 storsec -> /dev/block/sde55
    lrwxrwxrwx 1 root root   16 1970-02-05 04:16 system_a -> /dev/block/sda18
    lrwxrwxrwx 1 root root   16 1970-02-05 04:16 system_b -> /dev/block/sda19
    lrwxrwxrwx 1 root root   15 1970-02-05 04:16 tool_diag -> /dev/block/sda9
    lrwxrwxrwx 1 root root   16 1970-02-05 04:16 toolsfv -> /dev/block/sde51
    lrwxrwxrwx 1 root root   15 1970-02-05 04:16 tz_a -> /dev/block/sde2
    lrwxrwxrwx 1 root root   16 1970-02-05 04:16 tz_b -> /dev/block/sde23
    lrwxrwxrwx 1 root root   16 1970-02-05 04:16 userdata -> /dev/block/sda20
    lrwxrwxrwx 1 root root   16 1970-02-05 04:16 vbmeta_a -> /dev/block/sde20
    lrwxrwxrwx 1 root root   16 1970-02-05 04:16 vbmeta_b -> /dev/block/sde41
    lrwxrwxrwx 1 root root   16 1970-02-05 04:16 vendor_a -> /dev/block/sde19
    lrwxrwxrwx 1 root root   16 1970-02-05 04:16 vendor_b -> /dev/block/sde40
    lrwxrwxrwx 1 root root   15 1970-02-05 04:16 xbl_a -> /dev/block/sdb1
    lrwxrwxrwx 1 root root   15 1970-02-05 04:16 xbl_b -> /dev/block/sdc1
    lrwxrwxrwx 1 root root   15 1970-02-05 04:16 xbl_config_a -> /dev/block/sdb2
    lrwxrwxrwx 1 root root   15 1970-02-05 04:16 xbl_config_b -> /dev/block/sdc2




    How to root your phone with TWRP

    Prerequisites:

    - unlocked bootloader
    - enabled USB-Debugging in Developer Options
    - latest adb and fastboot binaries
    - working adb and fastboot environment

    How to root by flashing the magisk zip:
    1. Download magisk zip from here:
    https://github.com/topjohnwu/Magisk/releases

    2. Download TWRP from here: https://xdaforums.com/u12-plus/development/recovery-unofficial-twrp-3-2-2-0-htc-t3819343

    3.
    Code:
    fastboot boot nameoftwrp.img
    the TWRP Image! The process is described in the thread I linked above
    or simply flash the magisk Zip from permanently installed TWRP
    4. Flash magisk.zip
    5. Reboot, profit and enjoy a rooted phone




    How to with flashing a patched boot.img:

    1. Download the latest magisk manager apk from here and install it on your phone: https://github.com/topjohnwu/MagiskManager/releases
    2. Get a boot.img that fits your current firmware. You can find one in the firmware zips provided by the kind and helpful @5m4r7ph0n36uru here:
    https://xdaforums.com/showpost.php?p=76606102&postcount=2
    it´s usually called boot_signed.img ;)
    Or extract it from a RUU! the process is described here:
    https://xdaforums.com/chef-central/android/tool-universal-htc-ruu-rom-decryption-t3382928
    3. Copy the boot_signed.img to your phone
    4. Open the magisk manager app and tap two times on install
    5. Now choose patch boot.img file and select the boot(_signed).img you copied to your phone in the upcoming file chooser
    6. Wait for the boot.img to be patched
    7. Copy the patched boot.img to your device
    8. Download TWRP from here: https://xdaforums.com/u12-plus/development/recovery-unofficial-twrp-3-2-2-0-htc-t3819343
    9. fastboot boot the TWRP! The process is described in the thread I linked above.
    Or use the permanently installed TWRP
    10. Important: Tap on reboot. It will show the active slot! Now switch to the inactive slot and back to your active slot!
    11. Tap on install and navigate to the patched boot.img
    12. Tap on install img at the bottom
    13. Flash the patched.img
    14. Tap on reboost system and boot back to system
    15. You´re now rooted!


    How to root your phone without TWRP

    Prerequisites:

    - unlocked bootloader
    - USB-Debugging in developer options enabled
    - latest adb and fastboot binaries
    - working adb and fastboot environment

    How to:

    1. Download the latest magisk manager from here and install: https://github.com/topjohnwu/MagiskManager/releases
    2. Get a boot.img that fits your current firmware. You can find one in the firmware zips provided by the kind and helpful @5m4r7ph0n36uru here:
    https://xdaforums.com/showpost.php?p=76606102&postcount=2
    it´s usually called boot_signed.img ;)
    Or extract it from a RUU! the process is described here:
    https://xdaforums.com/chef-central/android/tool-universal-htc-ruu-rom-decryption-t3382928
    3. Copy the boot_signed.img to your phone
    4. Open the magisk manager app and tap two times on install
    5. Now choose patch boot.img file and select the boot(_signed).img you copied to your phone in the upcoming file chooser
    6. Wait for the boot.img to be patched
    7. Now connect your phone to your pc and make sure usb debugging is enabled in developer options
    8. Open up a terminal in your fastboot folder and make sure adb is working by typing
    Code:
    adb devices
    into terminal which should return your serial number
    9. Pull the patches boot.img to your fastboot folder via:
    Code:
    adb pull /sdcard/MagiskManager/patched_boot.img
    10. Reboot to download mode:
    Code:
    adb reboot download
    11. Check your active slot while in the bootloader mode with
    Code:
    fastboot getvar current-slot
    output of this command will show your active slot
    12. Depending on the active slot do
    For active slot a do:
    Code:
    fastboot flash boot_a patched_boot.img
    For active slot b do:
    Code:
    fastboot flash boot_b patched_boot.img
    13. If the flash was successful do:
    Code:
    fastboot reboot
    14. Congratulations you´re now rooted.
    15. You will see a message stating there is an internal problem. That is nothing to worry about and will be resolved on a later stage.



    IMPORTANT NOTICES

    1. After rooting, the option to enable face unlock from htc will be greyed out.
    How to fix:
    a. Open Magisk Manager
    b. Open the side menu and tap on magisk hide
    c. Tick faceunlock to be hidden
    d. Go to settings apps and delete data of faceunlock app
    e. reboot!



    I will refine this thread in the future and include a few more things to it when the time comes.

    Drop a thanks if it helped you :)

    And have a nice day :)
    17
    Here is described how to get adaway working after rooting the U12+


    How to:

    1. Download and install latest (at the time of writing 3.3) adaway apk from here:

    https://xdaforums.com/showthread.php?t=2190753

    2. Please don´t download adaway apk elsewhere or from xda labs because 3.2 will not work.
    3. Download busybox installer here:
    https://play.google.com/store/apps/details?id=stericson.busybox
    4. Open the app, grant root access and install busybox
    5. Now open adaway and grant root access.
    6. Let adaway do its thing and say yes when you will be asked for symlinking.
    7. Reboot and profit!
    9
    So one more.

    Have you ever wondered if it´s possible to adjust the HTC, Google or Dragonfly USB - C to 3,5mm Adapter/DAC more fine grained to your liking. Like controling analog gain of the phone and hardware gain of the dac seperately to achieve the best audio signal possible?
    Fine, because here I have a nifty little tweak for you!

    I came across this nice little mod and asked the kind @bjrmd if it was possible to adjust his app for the U11. He agreed and I got him the logs. Eventually he worked it out and got it running. Luckily enough this mod still works on the U12+ :)

    Prerequisites:
    - Root (see above ;) )
    - A supported USB DAC (HTC U11 dongle, google dongle or dragonfly red)

    Steps:
    1. Visit the thread here: https://xdaforums.com/pixel-2-xl/themes/pixel-2-usb-audio-control-t3704024
    2. Read the thread!
    3. Drop a thanks!
    4. Download the latest pixel 2 audio.apk and install it
    5. Download the tinymix32.zip, extract the tinymix32 file and place it in the Download folder of your internal SDCARD!
    6. Place it nowhere different!
    7. Open the previously installed app and grant root permission
    8. Reboot your phone!
    9. Let the phone boot up fully. The app will copy the file automatically
    10. After you saw the toast message plug in the USB DAC with the headphones inserted. You notice the app will automatically open
    11. Choose your favorite volume in the slider menu! (Analog (first row) should be maxed out, hardware dac gain (second row) adjusted to your liking but below max)
    12. Play music without plugging the headphones to your ear. It may be loud!
    13. Enjoy
    14. For further questions visit the linked thread! It is full of interesting info!
    7
    Then you shouldn't be trying this. Not to be a pain, but if you don't learn about this stuff, you shouldn't play with it. The OP is quite articulate and easy to understand if you understand the entire process and Android architecture.
    7
    Updated the OP again a bit to make steps for rooting a bit more foolproof.


    Also I second @5m4r7ph0n36uru's opinion.

    Just because I did a pretty detailed step by step guide doesn’t mean you shouldn’t research properly beforehand.
    when I started with this and followed a tutorial back in the desired HD times I tried to Google each step until I was able to understand what it does. And also to get the basic picture of what I actually try to do in a certain way that is described by whoever wrote the guide I follow.