Android reboots every 3 minutes (Magisk, TWRP, firmware upgrade, Galaxy A6) - General Questions and Answers

I’d be much obliged for your guidance, gentle people.
## The issue
My device (a TWRP’d, Magisk’d Samsung Galaxy A6) boots into Android 10, but can be relied on to reboot every 3 minutes thereafter. Call it a long bootloop, if you like.
## The error message
I’m not sure if this is relevant, but booting into TWRP and running a factory reset results in the following message:
Factory reset complete​Failed​
Failed to mount ’/data’ (invalid argument)​Unable to recreate /data/media folder.​Updating partition details…​Failed to mount ’/data’ (invalid argument)​…done​Unable to mount storage​Failed to mount ’/data’ (invalid argument)​Full SELinux support is present.​Unable to mount /data/media/TWRP/.twrps​MTP Enabled​Failed to mount ’/data’ (invalid argument)​Formatting Cache using make_ext4fs…​Updating partition details…​Failed to mount ’/data’ (invalid argument)​…done​Unable to mount storage​
## How did I get here?
Here’s a short version of the story. I:
(1) Downloaded stock firmware with Samloader.
(2) Flashed the firmware (with heimdall-frontend, leaving the repartition option unselected), but not all of it: only the files in
AP (substituting a TWRP recovery.img for the stock one),
CP, and
HOME_CSC,
i.e. omitting the files in BL.
(3) Used TWRP to Wipe > Format data.
(4) Still using TWRP, installed zips for RMM_bypass and no-verity-opt-encrypt, and rebooted.
## And what did I do before that? And why?
Until recently, I’d been running the factory-installed OS, Android 8. I figured it was time for a firmware update, but the modifications I’d made (as mentioned above, Magisk and, presumably more to the point, TWRP) meant that I wasn’t getting OTA updates.
So I started following some instructions [1] for getting an OTA update installed on a Magisk’d device.
## Uninstalling Magisk
The first step was to open Magisk Manager and tap Uninstall > Restore Images. Without really understanding what I was doing, or if there were any risks involved, I did that.
## Firmware update: first try
The next step was to install the OTA update: “Head over to Settings > System > System Update > Download and install the latest available OTA.” Well, that didn’t work. Said the popup: “The operating system on your device has been modified in an unauthorised way, etc., etc.“ Ah yes, that’s why I haven’t been getting updates in the first place.
So what to do now? As already mentioned, I used Samloader to download the latest stock firmware for my model and region. I decrypted and unzipped the .zip.enc4 file, to find tar.md5 files with the prefixes BL, AP, CP, HOME_CSC and CSC.
Now, topjohnwu’s instructions for installing Magisk on Samsung devices include the following warnings:
Never, ever try to restore either boot or recovery partitions back to stock! You can easily brick your device by doing so, and the only way out is to do a full Odin restore with data wipe.
Click to expand...
Click to collapse
And:
To upgrade your device with a new firmware, NEVER directly use the stock AP tar file with reasons mentioned above. Always pre-patch AP in Magisk Manager before flashing in Odin. [2]
Click to expand...
Click to collapse
So I attempted to follow his instructions, adb-pushing the AP_...tar.md5 file to the device and then asking Magisk Manager to patch it. But Magisk Manager failed to patch the file. I got an error message saying "device not connected”, or something like that. (This didn’t make any sense to me, but at the time I guessed that it was perhaps a result of having already tapped on Uninstall > Restore Images.)
## Short bootloop and factory reset
I carried on regardless. My next step was to reboot the device. I suppose I wanted to know what the effect of Uninstall > Restore Images was going to be; voilà, it was, perhaps predictably, a (short) bootloop (Samsung/Knox/Android splash screen only).
But I could still boot into recovery, so firstly I tried to restore the old backup I’d made with TWRP when I first installed it. The attempt was not successful – the system partition was mounted read-only, it said, a situation which I did not attempt to alter.
Instead I tried a Wipe > Factory reset (data, cache, Dalvik cache). This appeared to succeed, but it didn’t solve my bootloop problem.
## Partial firmware flash
Finally I untar’d the firmware (*.tar.md5) files, which produced numerous .img and .bin files, a .pit file, and a few other bits and pieces, and prepared to flash the new firmware, as described above (”short version“).
At this point I faced a puzzling conflict of authorities:
modest_mandroid’s Definitive Guide to Bricking: Avoid flashing bootloader components [BL] if your device has (a) working bootloader(s). If something goes wrong while flashing the bootloader, you’ll end up with a hard brick. [3]
topjohnwu: “Never just flash only AP, or else Odin can shrink your /data filesystem. Flash full AP + BL + CP + HOME_CSC when upgrading.” [2]
Unwilling to end up like Buridan’s ass, I had to choose one of the alternatives. You already know the end of the story: I went with modest_mandroid, so a partial flash, followed by the RMM_bypass and no-verity-opt-encrypt, and then found that Android 10 would boot, but also that the device was then stuck in a long bootloop.
Android 10 seems to work ok. I went through the setup wizard. I’m not sure where to look from within Android to examine /data; I presume that’s not identical with Internal Storage > Android > Data. Which is accessible from within Android via the Samsung file manager, and seems to be quite mounted when accessed in that way.
The only troubleshooting step I’ve tried is to reboot into TWRP again and try both a factory reset and an Advanced wipe on ’data’ only. That’s when I noticed the error message quoted above.
The only other thing I’ve noticed is that Android now seems to operate in an inconsistent way. Sometimes when it boots up, it seems to work fine. At other times swiping at the lock screen will clear the time and date and the phone/camera icons but fail to unlock the screen. Sometimes the power off icon seems unresponsive. I never had either of these issues before. But perhaps they’re unrelated to the bootloop.
## Questions
I’d be interested in hearing people’s responses to any of these:
What are you actually doing when you tap Uninstall > Restore images in Magisk Manager? Could this have led to the initial, short bootloop I experienced?
Is the failure to mount /data likely to be a result of the Magisk Manager Uninstall or of the partial firmware flash, or of something else?
Is it likely to be related to the long bootloop?
What does repartitioning with heimdall do?
What should I do now? Full flash (AP + BL + CP + HOME_CSC)? Or just AP + CP + CSC? Repartition with heimdall? Something else?
## Sources
[1] https://www.droidwin.com/install-ota-rooted-android/
[2] https://topjohnwu.github.io/Magisk/install.html#samsung-system-as-root
[3] https://forum.xda-developers.com/t/definitive-guide-to-bricking.1049294/

In case this is of interest to anyone, I've since flashed BL + AP + CP + HOME_CSC with Odin, which appears to have resolved the issue.

Related

Asus Padfone 2 - softbrick after SKU change + Fix

Hi Guys,
Just thought I'd provide a warning and a fix to a half day ordeal recovering from a soft-brick after wanting to make the switch from TW to WWE.
What made this all go wrong?
I have a Padfone 2 which had the latest TW_A68-10.4.17.15
I have a accidentally turned off adb USB debugging mode
The process:
I unlocked my bootloader using the ASUS official unlocker.
I had then install 2.7.0.1 twrp which didn’t work
Install 2.5.0.0 twrp which did.
Forgot to do a backup which I usually did, but guess I thought that I have done this so many times, nothing would go wrong.
DON’T GET COCKY BACKUP FIRST.
Opted for the easy way out and write to system VIA twrp using zip, which was reported to work.
This installed and didn’t report any error.
After reboot, app.phone and another OS programs crashed constantly and rebooted.
I removed my sim and this stopped the crashed apps, but not the reboots.
I realised I was in a whole world of trouble and it was only at this moment did I realise that I didn’t have USB Debugging turned on. Frantically tried to enable it in between reboots, but failed and was now presented with only a ASUS spinning circle of death, or even better later, only the which ASUS logo before it reached it.
All I had available was fastboot and twrp.
You’d think this was an easy fix, but I didn’t have a usable/original rom on the /data/media a.k.a /sdcard partition.
Note: have a handful of roms including your original rom saved on the phone before trying anything, as this phone has no access to external storage when all goes pear shaped.
I wiped caches, didn’t work.
I then wiped data, which then deleted the only rom I had access to. So I couldn’t even now retry installing from zip.
ADB didn’t work from any recovery including CWM 6.0.4.4
I was at a loss and didn’t know what to do.
The recovery:
Installed twrp 2.6.3.0 was persistent with ADB sideload, even though I didn’t have USB Debugging enabled.
Note: ADB sideload will still work even if you don’t have USB Debugging enabled. It’ll either take a min or two to register on your computer, but if not reboot and reboot again to get it to register.
Sideloaded the wrong firmware file again.
Note: If you are trying to sideload the original firmware, extract the zip “TW_PadFone2_user_10_4_17_15_UpdateLauncher.zip” and sideload the zip hiding within “ASUS” -> “Update” -> “TW_A68-10.4.17.15-0-ota-user.zip”
After another long time trying to get the ADB device to register, finally got a second chance and got back to the original firmware.
Did this deter me from the switch from TW to WWE. HELL NO!!
Enable ADB USB Debugging
Make sure you push the rom WWE to your /sdcard partition
How to do it right.
Load the original recovery attached recovery.stock.img
Reboot into recovery and select "apply update from external storage" and choose the zip file to flash.
This will fail! It's what it's meant to do
At this point the recovery changes the partition table and then restarts.
On reboot we will have a nice "Installation aborted", this because, being changed the partition table, the recovery can not find the file to flash as it the partition containing the data has been reformed losing its contents. So you will need to copy the file again via adb.
Select "wipe data / factory reset"
You need to do a wipe, because it formats the partition where we will send the file. Having just changed, the partition has not a file system and so it must be formatted to save something on it.
Upon rebooting to ADB stopped working under the stock recovery. It registered with my computer but the command to repush the WWE rom to /data/media kept failing.
Rebooted into fastboot and install twrp 2.6.3.0. At this stage as I knew that the partition table had been updated, I sideloaded the WWE rom, which works more reliably when it's originally enabled
Did a Wiped cache for safe measure
Reboot and welcome to another 2GBs of space and WWE firmware.
NOTE: Always flash the inner zip “TW_A68-10.4.17.15-0-ota-user.zip” not the outer zip “TW_PadFone2_user_10_4_17_15_UpdateLauncher.zip”
freak4916 said:
Load the original recovery attached recovery.stock.img
Click to expand...
Click to collapse
Where can I find this?

Auto Encryption ROM 47.2.A.10.62

I was trying to apply the installation of the eXistenZ (https://forum.xda-developers.com/xz...om-existenz-pie-v3-5-0-beta-31-01-19-t3895452)
But aside from that I found the following problem:
Following the instructions I downloaded the last ROM, I specifically downloaded the G8141_Customized UK_1308-5320_47.2.A.10.62_R3C
First of all I made a clean flash and restart, then I installed the TWRP v.3.3.1 via ADB, next the Magisk 19.3, later reboot the system normally and finally a tried to do the part of rebooting in the recovery and wiping data, cache, dalvic, etc.
However I noted that when the system started up the first time (after flashing) it appears a legend describing a process of encryption, it said the cel phone was going to be encrypted and it restarted once again.
When I start in the recovery mode and slide the bar to authorize to modify system partition nothing happens.
The first try I stored the Magisk.apk file in the internal memory but in TWRP interface the system partition is not mounted, the storage space says is 0 GM (or mb).
I started up the system one more time, trying to disable the encrypted function but is not possible, I disable Find my Device function as administrator maybe thinking it was the reason deactivating encryption was blocked but nothing.
I have to mention that when I enter recovery mode is not asking me to enter any pass or pin as it does when there is a pin protected phone.
Please can anyone help me to find the solution to this problem
Zur75 said:
I was trying to apply the installation of the eXistenZ (https://forum.xda-developers.com/xz...om-existenz-pie-v3-5-0-beta-31-01-19-t3895452)
But aside from that I found the following problem:
Following the instructions I downloaded the last ROM, I specifically downloaded the G8141_Customized UK_1308-5320_47.2.A.10.62_R3C
First of all I made a clean flash and restart, then I installed the TWRP v.3.3.1 via ADB, next the Magisk 19.3, later reboot the system normally and finally a tried to do the part of rebooting in the recovery and wiping data, cache, dalvic, etc.
However I noted that when the system started up the first time (after flashing) it appears a legend describing a process of encryption, it said the cel phone was going to be encrypted and it restarted once again.
When I start in the recovery mode and slide the bar to authorize to modify system partition nothing happens.
The first try I stored the Magisk.apk file in the internal memory but in TWRP interface the system partition is not mounted, the storage space says is 0 GM (or mb).
I started up the system one more time, trying to disable the encrypted function but is not possible, I disable Find my Device function as administrator maybe thinking it was the reason deactivating encryption was blocked but nothing.
I have to mention that when I enter recovery mode is not asking me to enter any pass or pin as it does when there is a pin protected phone.
Please can anyone help me to find the solution to this problem
Click to expand...
Click to collapse
Wipe cache and data
To factory reset and then boot your system
Turn off / flash twrp/ restart/turn off / enter twrp/ magisk / restart to twrp/flash existenz/ reboot
You will loose all data
Yes i have same problem. When use TWP Swipe but always failed
I try use flashtools, flash .ftf firmware .62 and choose all swipe in box Flashtools.
Now, folder is working.
You can try.
ngocthang26 said:
Yes i have same problem. When use TWP Swipe but always failed
I try use flashtools, flash .ftf firmware .62 and choose all swipe in box Flashtools.
Now, folder is working.
You can try.
Click to expand...
Click to collapse
I'm sorry, didn't understand you, did you fallow the sequence karrouma gave me in the first answer?

[Recovery][Kernel] [8.1] Install TWRP, remove encryption, get Magisk on Visible R2

Disclaimer: This guide and the tools included are provided as-is. Testing has been limited and nothing is guaranteed to work. I take no responsibility for lost data, bricked devices, etc. Continue at your own risk, and please read carefully. THIS GUIDE WAS WRITTEN FOR PHONES ON ANDROID 8.1 - MAY NOT WORK ON DEVICES WITH THE PIE UPDATE.
Note that Magisk and TWRP can interfere with downloading and installing OTA updates. At this time the only updates are security patches, so it would be best to make sure all OTAs are installed before starting.
Mounting and decrypting the data partition is still hit-or-miss. If you haven't set up a passcode or password, TWRP should be able to mount it, and you still might be able to even if you have. Magisk will corrupt encrypted partitions and force a factory reset, and TWRP will not be able to help you back things up if Magisk has been installed before disabling encryption. You've been warned.
Guide: Installing TWRP and Magisk on the Visible R2
Tools:
prog_emmc_firehose_8917.mbn - firehose for flashing system partitions
Latest available TWRP zip - contains TWRP recovery image and the necessary files for flashing
fstab.qcom - for removing forced encryption
Patched boot image - for installing versions of Magisk newer than v16.7
Stock firmware - optional, but handy to have in case something goes wrong.
Windows users: QPST/QFIL and the QDLoad drivers (possibly the first set of ZTE drivers as well, but likely not necessary). Installing drivers in compatibility mode for XP or Windows 7 might help resolve issues.
Install adb if you don't already have it set up.
Linux users: qdl source code; the guide will cover compiling and installing it. You'll also want to install adb from your distro's repositories. There is a snap package for qdl, but it doesn't work for the purposes of this guide, so please don't use it.
Part 1: Installing TWRP
TWRP is an easy-to-use, touch-based custom recovery for Android devices, designed to make backups and installs simple and painless. Unfortunately, the installation of TWRP on the R2 is going to be a little less simple and painless; the device's bootloader isn't locked down, but it doesn't support fastboot commands, meaning we'll need to get our hands dirty to flash partitions.
Before starting, it's also worth noting that the current TWRP build cannot always decrypt encrypted data partitions, and the device is encrypted by default. This means that TWRP may not be able to mount or back up your data partition unless it's formatted and forced encryption is removed (see part 2).
To flash TWRP, we need to put the device into EDL mode and forcibly overwrite the existing partitions using an EDL tool and the firehose linked above, which unfortunately requires a PC of some sort. Enable USB debugging on your phone, then follow the steps for your operating system below.
For Windows:
1. Install the Qualcomm driver package. Before continuing, you will need to make sure Driver Signature Enforcement is disabled on your PC; QFIL may have issues communicating with the device if Windows blocks the driver.
2. Install the QPST package, then open QFIL from the Start menu.
3. Select 'Flat Build' under Select Build Type.
4. Extract the TWRP zip to an accessible directory (something like C:\TWRP works fine). Place the firehose.mbn in the same directory.
5. Press 'Browse' under Select Programmer, then navigate to the TWRP directory and select the firehose file.
6. Press 'Load XML'. Select rawprogram_recovery.xml, then patch0.xml
7. Connect the phone to your PC and make sure USB debugging is enabled. Make sure your PC is trusted by the phone for ADB commands, then send 'adb reboot edl'.
8. If everything went well, the phone should have rebooted with a blank screen, and QFIL should be asking you to select a port. Press Select Port, and then choose (hopefully) the only item available).
9. The 'Select a port' message should now read something like Qualcomm HS-USB QDLoader 9008 (COM#). IF it does, simply press download.
10. There should be some output in the status window, ending a few seconds later with a blue Download Succeeded message. If so, you're done, and can restart your phone. If there's a red error message, or the status window seems to be stuck on sending, double-check that your device is registered properly in Device Manager.
11. Once you're done flashing, you can reboot into TWRP by holding down the Vol Up button as the phone reboots.
For Linux:
1. Unzip the qdl zip into its own directory, then enter the directory.
2. Compiling qdl requires libraries that may not be installed. For Ubuntu users, you simply need to run ' sudo apt install libudev-dev libxml2-dev' to install them; people with other distros should know how to use their package manager and may have to find the packages under a similar name. If any other packages are required (errors compiling, etc.), let me know so I can update this.
3. Actually compiling should be as simple as opening a terminal in the working directory and running 'make && sudo make install'. If you get no errors, qdl should be installed and able to run from any location, and the compile process shouldn't take much time at all.
4. Before running qdl, ModemManager needs to be disabled, as it can interfere with accessing the phone in EDL mode. In Ubuntu (and most systemd-based distros) you can ensure that it's stopped by running ' sudo systemctl stop ModemMangager'. If you need the ModemManager service, make sure to restart it when you're done.
5. Extract the TWRP zip to an easily-accessed folder, like ~/twrp, and place the firehose mbn in the same folder.
6. Navigate to the TWRP folder and open a terminal there. Now would be a good time to plug in your phone and enter EDL with 'adb reboot edl'.
6a. If your phone was already connected in EDL mode before stopping ModemManager, you might need to reboot it and enter EDL again.
7. If you're in the same directory as the TWRP files, you should be able to start flashing by running 'sudo qdl prog_emmc_firehose_8917.mbn rawprogram_recovery.xml patch0.xml'.
8. If everything's good, you should see some output on your screen, and the phone should reboot momentarily. If the command finishes without output, ModemManager or something similar may have interfered. Make sure ModemManager is stopped, reboot your phone into EDL mode again, and try again. If it hangs at Waiting for EDL device, you're not running the program with admin privileges or your phone isn't in EDL mode.
9. Once the process has finished and your phone has rebooted, you should have TWRP installed. Boot into it by holding Vol Up while rebooting.
That's it! Verify that TWRP is working as expected by doing some test backups and restores, etc. Note that TWRP builds for this device are still sort of experimental; decrypting the data partition may not work for some users, and keeping data encrypted while trying to flash Magisk will not work - you will need to wipe and decrypt the device. If you're satisfied just with TWRP, there's not much else you need to do. If you want to run Magisk or decrypt your device for other reasons, keep reading.
Part 2: Removing Forced Encryption
By default, the device encrypts the data partition without input from the user. This is not ideal, and even if TWRP can decrypt and mount your data partition, from my experience Magisk's init process apparently gets things wrong and tries to write to data before its decrypted - whether that's actually the case or not, the fact of the matter is that Magisk has corrupted my data partition every time I've tried to install it while data was encrypted.
DO NOT flash any zip that removes dm-verity and force encryption - these modify the boot and recovery partitions, and the stock kernel doesn't like the way they do it. If you've flashed the patched boot.img first then you'll at least be able to boot to your system partition afterwards, but it'll still nuke recovery even with a custom kernel installed on it. If you're still using the stock boot.img, you'll get boot loops and won't be able to access recovery; your only choice is to enter diagnostic mode, and reflashing anything from that point is a gigantic pain in the ass, so please, just don't. If you feel the need to do it regardless, please please please reflash your boot and recovery images before rebooting.
Counter-intuitively, the quickest and most painless way to stop the device from force-encrypting itself is to modify the fstab on the vendor partition - the boot partition has no fstab files, and the ones in the TWRP recovery image are already set to make encryption optional. Place the fstab.qcom on the phone's microSD card (internal storage will work if you don't have one, as long as TWRP can access your internal storage; if not, use adb push/pull rather than the below commands), boot into TWRP, and adb shell into your device by USB; if done while in TWRP, you should have root permissions. If your PC doesn't see your phone as an ADB-ready device, go to Mount settings in TWRP and tap on the option to disable MTP; after confirming that ADB works, feel free to re-enable MTP. Once ADB is working, run the following commands:
Code:
mount /vendor
cp /vendor/etc/fstab.qcom /external_sd/fstab.qcom.bak
cp /external_sd/fstab.qcom /vendor/etc/fstab.qcom
chmod 644 /vendor/etc/fstab.qcom
umount vendor
.
That's the simple part - you've replaced the fstab on the vendor partition with one that tells the device that encryption is optional, and backed up the original to your microSD as fstab.qcom.bak, just in case. Now you need to actually remove the existing encryption, which will wipe all the user data from the device. If that hasn't scared you out of continuing, read on.
While we're still in TWRP, we need to go to the Wipe menu. From there, we need to Format Data. It'll give you warnings in a scarier color than I did, but you'll have to type yes and continue regardless. Once that's done, hit the back button a couple times before rebooting. Do a standard factory reset, then reboot.
From there, it may take a couple tries for the device to boot normally as it reformats and repopulates the data partition. If you find yourself stuck on a black screen, reboot again, and if it keeps happening, boot into TWRP and then reboot to System from the reboot menu. Eventually, you should be able to get back to the device setup screen, and depending on your security settings beforehand, you may be prompted to enter your PIN, password, or Google account information.
From here, you should be able to mount, backup, and restore your data partition in TWRP without any issues. If you want to go further and root your device, keep reading for the Magisk guide.
Part 3: Any Magisk You'd Like
Note: Magisk and encrypted data partitions do not play nicely together. Follow through Part 2 first, or you'll have headaches.
ZTE's kernel has a custom SELinux plugin called policyproc, which in short doesn't play nice with a lot of things that modify what happens during the kernel's startup sequence. Unfortunately, modifying the startup sequence is what Magisk does best, and versions of Magisk past v16.7 don't play well with the stock kernel.
If you're fine with v16.7, you can download the zip from its Github release page and flash it through TWRP. However, it doesn't support current versions of Magisk Manager or the uninstaller zip, and naturally it doesn't have all the features of newer versions.
This is where the patched boot image comes in. Basically, it's the stock kernel, rebuilt with policyproc disabled, stuffed into the stock boot.img and replacing the original kernel. It's not entirely perfect as ZTE deliberately left out bits of the source, but even working around that, the kernel seems to run fine after nearly a week of testing on my own device. Still, if you run into any issues that don't show up with the stock kernel, please let me know.
So. you can take that patched boot image and install newer versions of Magisk whichever way you'd like. The default method would be to use TWRP to flash the patched boot image, then flash the latest Magisk zip (v20.1 at the time of writing). Alternatively, you could put the patched boot.img on your microSD or internal storage, install the Magisk Manager app, use it to patch Magisk into the patched boot image, then use TWRP to flash the patched-patched-image to the boot partition. Either way should work fine, and honestly I'm hoping if you've made it this far you don't need further instruction on how to get Magisk installed.
Note that on the first reboot after installing Magisk, the phone may reboot again before loading the system normally. I assume this is standard practice for initializing Magisk, but honestly I have no idea.
With that, you've done just about everything you came here to do. If you still feel like tweaking and possibly bricking your phone, however, scroll on down to Part 4.
Part 3.5: Updating Your Magisk Install
When a Magisk update is available, the Magisk Manager app will generally push a notification to you. Letting the manager handle the upgrade is a good way to get bootloops, unfortunately; upgrading requires re-patching and re-flashing the boot image, and most apps running in system mode seem to handle the task poorly on the R2. If you want to update to a newer version of Magisk, it'd be best to reboot into TWRP, flash the 'clean' Magisk-ready boot image, then install the zip for the version of Magisk you want to update to. You don't need to uninstall previous versions of Magisk to do this, and it should be doable even if a previous Magisk upgrade left you stuck in a boot loop. Note that if you previously told the Manager to 'hide' itself, you may end up with two Manager apps after the update; it should be safe to remove either of them, although the one with the Magisk Manager name will need to be re-hidden if you choose to keep it.
Part 4: Going Even Further Beyond - Project Treble and You
Google requires that all Android phones releasing with Android Oreo or newer must support the Treble framework: generally speaking, anything that's 'stock' Android lives on the system partition, and anything manufacturer or carrier specific exists on the vendor partition. This has allowed for developers to create generic system images, or GSI, consisting of particular Android system partitions that should run on a variety of Treble-enabled devices. And wouldn't you know it, the R2 launched with Oreo, and you've got a couple handy methods of writing system images to your device, through TWRP and EDL flashers.
So, does that mean the R2 supports these GSIs? Not really! Honestly, it's more that it's up to curious people to find out. I've been able to get phhussons's Oreo image working, but that's a bit boring on a device that supports Oreo out of the box. A couple more highly modified Pie builds failed to boot properly, either hanging on their splash screen or crashing the display manager before getting through setup.
There's also the fact that they're generally only distributed as sparse system.img files, something I had trouble flashing with QFIL, and up until about 18 hours before this guide went live, the only TWRP build I had for the R2 could only write images to the boot and recovery partitions, not system, so writing them meant I had to decompress them to a standard EXT4 image and then flash them with QFIL, which wasn't a lot of fun to mess with. In short, testing's been pretty limited, but this build of TWRP should make it much easier for anyone to flash whatever image they'd like. If you feel like being a guinea pig, we'd all love to hear the results! If you want to test, you should look for A-only, ARM64 images.
Questions and Issues
My phone is bootlooping after leaving recovery!
If you haven't messed with system partitions in a way that might cause a bootloop, reboot to recovery and try to boot to system from there. If it continues, reflash your boot image (and Magisk afterwards, if necessary, removing the extra Manager app that might pop up in your app tray if you've got Manager disguised in its settings).
I can't access ADB or MTP from recovery.
It happens sometimes, especially in Windows; just toggle MTP on/off from inside TWRP, or unplug and replug your USB cable.
My phone says I need a factory reset, but TWRP just reboots.
This generally happens if something messed with the encrypted data partition. Do not tap the factory reset button on your phone; instead, power off entirely and manually reboot into TWRP by hilding Vol Up while booting. Perform a factory reset (and format data if necessary) from there, then reboot.
(to be populated)
Credits
@deadman96385 - for uploading the tools that made this possible and the stock ROMs that saved my ass more than a few times
@famewolf - for feedback on what did/didn't work in the last guide
@asderdd - for his Axon 7 kernel work which I shamelessly copied to get Magisk working
Anyone who's contributed to Magisk or TWRP over the years, and the maintainers of the moto e5+ device tree for TWRP since I used most of their branch.
Sources
Kernel source, specifically the tree used for the Magisk patch
TWRP device tree
@FEGuy
Attempted to flash the new twrp via zip....acted like it worked but when I when to install section only boot and recovery were options....so I installed the twrp image itself to recovery....rebooted back into recovery and got a black screen. Additional attempts to go into recovery did same thing. I'll attempt to use the flashify app under factory rom to restore previous copy of twrp. It should work as I had magisk going...I think.
That is... not really reassuring. I've suspected the zip flash might not actually work, but I double-checked that TWRP build on my device first.
What's weird is that that's also the only TWRP image I've gotten to boot without dragging it through an AVB signing process. Let me sign that image and reupload it, see if it works any better.
FEGuy said:
That is... not really reassuring. I've suspected the zip flash might not actually work, but I double-checked that TWRP build on my device first.
What's weird is that that's also the only TWRP image I've gotten to boot without dragging it through an AVB signing process. Let me sign that image and reupload it, see if it works any better.
Click to expand...
Click to collapse
Always possible I hosed something....I grabbed the img of the previously good twrp and flashed it via flashify app...said it worked but when booted to recovery got same black screen. I'm about to experiment with the usb drivers you mentioned vs the ZTE USB ones in the op...they conflict with each other so uninstalling old ones.
If the ZTE and QDLoad drivers conflict, I'd probably say keep the QDLoad. I honestly don't remember if I ever installed any ZTE drivers other than the ones that can be served from the phone by USB.
Pretty sure flashify is just broken; I tried it the other day with the same results after flashing a test build that didn't work at all.
I just redownloaded the TWRP from the original link and it worked fine, and there shouldn't be any files or signature tied to my own device, so I don't really know why it wouldn't work on other phones. I've got another one coming in the mail for actual use on Visible, but it won't be here to test on until tomorrow.
In the meantime, try this TWRP. No different other than letting AIK give it an AVB signature, but some of my test images wouldn't boot otherwise. If it works I'll update the zip in the first post.
FEGuy said:
If the ZTE and QDLoad drivers conflict, I'd probably say keep the QDLoad. I honestly don't remember if I ever installed any ZTE drivers other than the ones that can be served from the phone by USB.
Pretty sure flashify is just broken; I tried it the other day with the same results after flashing a test build that didn't work at all.
I just redownloaded the TWRP from the original link and it worked fine, and there shouldn't be any files or signature tied to my own device, so I don't really know why it wouldn't work on other phones. I've got another one coming in the mail for actual use on Visible, but it won't be here to test on until tomorrow.
In the meantime, try this TWRP. No different other than letting AIK give it an AVB signature, but some of my test images wouldn't boot otherwise. If it works I'll update the zip in the first post.
Click to expand...
Click to collapse
If I su from adb and do a dd if=twrp-signed.img of=xxxxxxxxxxx can I overwrite it manually from shell and if so do you know the path I should use to get it to our recovery?
If flashify is broken, twrp is broken and I'm unable to use qdl nor qfil I'm kinda screwed (for the moment). The qdload drivers did not show the device on a com port when in edl mode...the zte ones do but then again I can't write anything. Any ideas what the heck is up with the linux qdl? Even with --debug it says nothing.
---------- Post added at 02:01 AM ---------- Previous post was at 01:48 AM ----------
famewolf said:
If I su from adb and do a dd if=twrp-signed.img of=xxxxxxxxxxx can I overwrite it manually from shell and if so do you know the path I should use to get it to our recovery?
If flashify is broken, twrp is broken and I'm unable to use qdl nor qfil I'm kinda screwed (for the moment). The qdload drivers did not show the device on a com port when in edl mode...the zte ones do but then again I can't write anything. Any ideas what the heck is up with the linux qdl? Even with --debug it says nothing.
Click to expand...
Click to collapse
I tried dd if=twrp-3.3.1-1-z5151v.img of=/dev/block/bootdevice/by-name/recovery and did same with new signed one. I still get black screen when recovery "loads". At this point I'm going to have to get something figured out with qdl or qfil.
Yeah, I wasn't sure if dd was going to work or not.
Try the QDLoad drivers again in Windows, make sure that the device is using them. If it's not showing up as a COM port in device manager, force it to use the proper Qualcomm driver, which on my system installed to C:\Windows\system32\qcusbcer.sys - I don't know if that installed with the QDLoad drivers or with QPST/QFIL itself.
As for qdl, I don't know; it's been hassle-free for me, for the most part. If you're sure you're in EDL mode and not diagnostics or something, an output from lsusb might help diagnose the issue. If the debug flag isn't providing useful info, might as well try it without. I don't know if there's services other than modemmanager that might interfere with qdl, it could depend on distro.
EDIT: I'll also preemptively warn against trying the TWRP app to flash; it'll do about as much good as flashify.
Will tackle it "later" in the morning. Thanks for the quick followup. I might see more clearly in morning when not so frustrated with it. I swear I haven't had this many issues with getting twrp installed in a long time.
*update* Ok so I lied....I completely recompiled qdl from https://github.com/andersson/qdl and it's working as expected..I used it to flash the original twrp. I then used that twrp to flash the twrp-signed.img and rebooted back into it with no issues.
I also flashed your patched boot and it got as far as the blue visible screen after the zte one then hung. I reverted to my nandroid copy of boot.
The Treble pie loaded ok...I did do a factory reset so data would not conflict..it did do one reboot before loading normally. See screenshots.
The First 4 are from when it was initially installed. The later photo's I had added gapps, a few apps, snapped a picture to use as wallpaper and various other minor things. I found it to be faster under treble pie than it was with factory oreo. I haven't found anything that didn't work yet on it.
Launcher: Evie Launcher
famewolf said:
I also flashed your patched boot and it got as far as the blue visible screen after the zte one then hung. I reverted to my nandroid copy of boot.
Click to expand...
Click to collapse
Did you still have Magisk installed at the time? I'd have recommended uninstalling Magisk using the uninstaller zip from the 16.7 release before replacing the boot image; if there's still Magisk data in /data then booting with a non-Magisk boot image is probably going to cause issues.
In the meantime, I guess I'll update the TWRP zip with the signed recovery image, just in case.
FEGuy said:
Did you still have Magisk installed at the time? I'd have recommended uninstalling Magisk using the uninstaller zip from the 16.7 release before replacing the boot image; if there's still Magisk data in /data then booting with a non-Magisk boot image is probably going to cause issues.
In the meantime, I guess I'll update the TWRP zip with the signed recovery image, just in case.
Click to expand...
Click to collapse
I tried the current installer which failed. I didn't locate the 16.7 uninstaller.
*update* I did finally locate the 16.7 Magisk Uninstaller.
FEGuy said:
Did you still have Magisk installed at the time? I'd have recommended uninstalling Magisk using the uninstaller zip from the 16.7 release before replacing the boot image; if there's still Magisk data in /data then booting with a non-Magisk boot image is probably going to cause issues.
In the meantime, I guess I'll update the TWRP zip with the signed recovery image, just in case.
Click to expand...
Click to collapse
I also installed open gapps pico pie amd64 version on top of the pie rom without issue. I have magisk 16.7 working with treble without issue so maybe it was just the newer versions that had issues?
My 2nd R2 (You are a bad influence) arrived today. Anything you need tested on a stock model? Here's hoping qdl/qfil cooperates 1 last time.
When you were patching the kernel did you see anything that was keeping the phone in LTE only mode for calls? When I get a minute I'm going to put my t-mobile sim into the R2 and see what it will do under the pie rom but since it's still using same kernel I wondered if that would be an issue. We know on the stock rom all calls have to use VOLTE.
I haven't figured that much out yet, unfortunately. I don't know if it's due to the way the kernel is built, or custom libraries distributed on the vendor partition, or what. From what I can tell, the bands are properly unlocked in the NVRAM, and I don't really know enough about modem firmware to make heads or tails of those files.
I will note that for people using the phone on Visible, using a non-stock ROM works for getting around the one-connected-device-per-hotspot limit.
FEGuy said:
I haven't figured that much out yet, unfortunately. I don't know if it's due to the way the kernel is built, or custom libraries distributed on the vendor partition, or what. From what I can tell, the bands are properly unlocked in the NVRAM, and I don't really know enough about modem firmware to make heads or tails of those files.
I will note that for people using the phone on Visible, using a non-stock ROM works for getting around the one-connected-device-per-hotspot limit.
Click to expand...
Click to collapse
Had a couple of thoughts...a quick and dirty method to provide "flash and go" rom's might be to do a nandroid of just system or maybe system and boot for whatever rom and make that available for download. I also know there are methods to convert a nandroid into a flashable zip although I haven't done it before. This was more a thought for folks wanting to go to b12 that already had twrp...simple enough for an existing b12 user to back up system. I have verified swapping between nandroid pie vs stock oreo works ok (assuming you are restoring the right data for each). Also the fingerprint "images" continued to work fine after a restore.....on a previous device when we did a nandroid restore we would have to delete the file storing pin/fingerprints as they wouldn't let you into the phone until re-recorded. It also worked if you remember to turn those OFF before doing the backup....wasn't an issue with the R2. The phone is noticeably more responsive on pie than it was with stock oreo. I'm curious whether you found that to be the case with treble oreo?
Oh minor annoyance....I changed the device id to z5151 which is what it showed under stock but when doing an adb shell the command line is "phhgsi_arm64_a:/" Do you know how to change that? This will change it temporarily till next login: https://stackoverflow.com/questions/33069161/how-to-change-adb-shell-prompt-name-before-the-mark
You could try using setprop as root to set ro.build.product or ro.product.device back to Z5151, or manually edit the build.prop; beyond that, I don't know of a simpler way.
I'm having trouble getting the mobile data working on pie,
I can search for networks and it finds visible but it wont connect.
thanks!!!!!!!!
rangolizardy said:
I'm having trouble getting the mobile data working on pie,
I can search for networks and it finds visible but it wont connect.
Click to expand...
Click to collapse
The visible apn was missing from my pie,
If you're an idiot like me and flashed to pie before backing up "apns-config.xml" then here is the stock one with the visible apn settings: mega(.)nz/#!t5o2mKDL!qVHZijM-MhfLyZwmkrkQ7OddepV7xQVBsRbQr1AhCLY
Remove the () Someone else can maybe post the intact link as i seem to be unable to.
After this 4G works like a charm.
rangolizardy said:
The visible apn was missing from my pie,
If you're an idiot like me and flashed to pie before backing up "apns-config.xml" then here is the stock one with the visible apn settings: mega(.)nz/#!t5o2mKDL!qVHZijM-MhfLyZwmkrkQ7OddepV7xQVBsRbQr1AhCLY
Remove the () Someone else can maybe post the intact link as i seem to be unable to.
After this 4G works like a charm.
Click to expand...
Click to collapse
Posted for rangolizardy: http://mega.nz/#!t5o2mKDL!qVHZijM-MhfLyZwmkrkQ7OddepV7xQVBsRbQr1AhCLY
Any other important tweaks anyone has made to the treble pie image?
Factory Wallpapers are here: https://forum.xda-developers.com/showpost.php?p=79011562&postcount=2

Magisk root > bootloop > Stock ROM > success

I have almost finished setting up new Redmi 6.
After rooting, getting TWRP on the phone I have reinstated all apps trough TitaniumBackup. I have reinstated too many apps from TB and at some point I have removed 1 or 2 apps too many that I thought are only from TB...
Inside TB I went into system apps and deleted apps wit: Backup copy [APK + backup]. Before I realised that apps with backup were actually original Xiaomi appswas too late, I had few warnings later and phone rebooted but couldn't boot into system.
This way I got rid of:
com.android.providers.telephony
com.android.phone
I could recreate what I have removed going into old phone and seeing which apps are backed up from system...
Can you help me to get apps back trough TWRP or FASTBOOT?
USB debugging was still on last time
My SD card is formatted as part of internal storage
TWRP File Manager can browse ROOT folder
It is newest ROM for Redmi6, [V10.3.6.0.OCGMIXM_], can someone provide copy of APKs please?
When in TWRP I mount system only, and try to [wipe dalvik] I get messages:
Failed to wipe dalvik
Updating partition details...
df /external_sd > /tmp/dfoutput.txt process ended with ERROR: 1
df /external_sd > /tmp/dfoutput.txt process ended with ERROR: 1
...done
Unable to mount storage
I almost will not loose any data, but:
if I can I'd like to move missing apps back to /app/data/ OR /system/app/ ? to recover system so it starts
if need be I will flash Xiaomi ROM and start from scratch but will loose many h of hard work on de-bloating etc [I hope that flashing original ROM will be easy since TWRP is working fine]
During TWRP - ADB sideload:
HTML:
adb install com.android.phone.apk
error: device '(null)' not found
- waiting for device -
What can I do???
-------------------------------------------------------------------------------------
Turns out I had to flash original stock
Xiaomi guide is terrible and out of date, so:
there are prerequisites required, like ADB, drivers, that is well explained on Xiaomi site, then...
download original stock for fastboot >>> unpack folder XXX sitting inside 2 archives [it's not zip] >>> download/install and run XiaoMiFlash.exe >>> SELECT button - navigate to unpacked folder XXX >>> attach mobile >>> refresh = device will appear on list >>> FLASH
Read official xiaomi instructions on flashing original ROM just in case something will get updated
Why not any other way?
In TWRP it asked me for a password at the start
I couldn't get /system/ or /data/ mounted, wiped or formatted.
I have seen folks giving advice on how to do it, but often it didn't make sense or it didn't work.
I would be risking bricking new device by other methods & I had no more than 3 pictures to loose on flashing ROM and hours spent on doing up.
Interesting is, there really wasn't even one working advice on how to mount i.e. /system in TWRP when password is missing in booted operating system [like my case, I couldn't find any info on that, all at some point were going to advice to do something that required mounted /system or /data]
But then I just finished whole process of flashing stock ROM; I have set [1. simple password] then [PIN], went to TWRP, tried to use OS password/PIN and it didn't work, it didn't remove encryption .
----------------------------------------------------------------------------------------------------------------------------------------------
Found a solution on how to root the phone after all above.
After another Original stock ROM 10.3.6.0.OCGMIXM flash with XiaoMiFlash.exe, phone will automatically restart and start OS
But... I didn't let it to boot
Once it restarted I have pressed Vol- [button down] and waited for fastboot to load [no need to hold power button]
Installed TWRP 3.0.0.0
Restarted
Hold Vol+ [button up]
TWRP loads
CANCEL if asks for password
----------------------
INSTALL boot.img [when you flash stock ROM it is inside folder, just copy it across]
in MOUNT tick /vendor & /system
use back button to exit MOUNT
INSTALL Magisk 19.3.zip
clean dalvik cache and swipe
I have once again restarted to RECOVERY/TWRP
------------------------
When OS booted I couldn't run/start Magisk APK/aplication. Screen blinked and that's all. Root not working.
download Magisk Manager [7.3.4 in my case] from web & install
I could start application this time & it asked me to install something extra - I have chosen to install it right away
Magisk reboots phone
Now phone was finally rooted
---------------------
I used external USB attached to phone with files so I didn't need to copy files to phone.
This is much more convenient as after restarting to TWRP first time there is nothing on the phone and you would have to sideload.
---------------------------
Below is LibreOffice doc with ADB commands to uninstall bloatware. In the column next to uninstalling commands, are commands to instal same app back [I do not know will this always work since I tried only on few] [some missing - you can create it yourself]
Potentially further down the list there are more necessary apps. Uninstalling them did not cause problems in my set up, but sometimes they might be needed for less important stuff...
https://www.dropbox.com/s/xpfeh4wx1nv5dlf/Bloatware removal + SD as internal.ods?dl=0

Ultimate Idol 3 Recovery Guide - 2019/09/28

This thread is meant as a guide to provide a higher level picture of what to do when your Idol 3 is bricked. This is not a step by step guide, some systems knowledge is expected.
Several hours ago all I had was a boot logo. Now I have Sailfish thanks to developers like vknecht and many other members who posted guides here and other forums.
Let's begin.
Requirements:
USB cable.
Sahara & Firehose Test software.
Appropriate TWRP image.
6045I Stock OS + Correct modem firmware. The OS and firmware comes in zips, unzip and replace and rezip as needed. My model was the 6045I so that was unnecessary.
Optional:
Your custom OS you wish to install. In my case it was LineageOS 14.1 and SailfishOS published by vknecht.
Stage 1:
The very first thing you need to do is to get the device to boot into /recovery partition which will hold the twrp.img. Doing this provides enough functionality to interact with your phone to unbrick it. To do this you need to:
Put the device into Download mode. It is done by connecting it via USB to PC (while it is off), pressing all 3 buttons - Power, Volume Up and Volume Down.
When screen prompts let go and hold Volume Up
The screen turns off. If the Qualcomm driver loaded successfully (in my case it automatically did), open Sahara & Firehose Test program.
All you need to do here is select your device from the dropdown > Click Detect (detects the driver) > NPRG > Get GPT > Info.
Now you need to scroll down and find the /recovery partition. Point the path to where your TWRP image is stored. The version of TWRP is important. For example, if you tried to install some custom boot chain that is not compatible with your OS you won't be able to get to /recovery. In my experience if you have the twrp-3.1.1-idol3.img and the twrp-3.0.0-1.img (from the hybrid boot loader thread) this was sufficient for my situation. Think logically which one you need to be able to load.
Checkmark the box.
Write the image (make sure to click No)
When you reboot your phone if you hold Volume Up you will have access to TWRP.
Stage 2:
Before you start modding anything just get it to load stock. Use the stock image from the thread link above, in my case it worked. However getting it to load will be a pain, depending on the situation. In my case I encountered /data partition errors. All errors regarding the /data partition are solved the same way - you delete it somehow. You are flashing an OS and your device is already a brick, data loss is acceptable. In my case I couldn't even mount /data (encryption issue) so I had to reformat it via the TWRP menu, make it first EXT2, then EXT4. Errors are irrelevant here, as long as EXT4 format succeeded you are good to go.
Stage 3:
Now use the standard procedure for flashing your target .zip via TWRP. In my case I deleted everything, /system (it was a brick anyway, just making sure it was clean), /data, /cache, Cache & Dalvik pretty much everything that made sense in my situation from the TWRP Wipe menu. I did this because at this stage you might encounter the infamous ERROR 7. There are different causes for it, but to know exactly why you got it open the updater-script file inside your extracted stock-rom.zip (META-INF\com\google\android was my location) via Notepad. This should tell you more about why you had the error.
Then flash the .zip. It worked for me.
Stage 4:
Once booted into the stock OS you are good to go. I don't know if you can get the OTA updates with that image, but I was upgrading to a more recent release of LineageOS so I didn't test long.
Earlier I mentioned you might need different TWRP images. This was the case for me here. After using the 3.0.0 recovery image I could boot into the OS but had difficulties booting into TWRP so I just flashed the 3.1.1 using the above methods and continued.
Once you are in TWRP you can use the standard procedures in other threads for flashing your custom OS. I was flashing LineageOS only as an intermediate step to go to Sailfish so I didn't flash GApps.
At this stage you might encounter ERROR 7 again, but for a different reason; If you deleted /data and you still had this issue it might be because of this. Basically it means you did not swap the radios like I told you to. You can either overwrite the script like suggested in this thread (it will cost you 4G) or you can go back and redo it.
Stage 5:
Boot into your custom OS. I think you get the method from here.
In short to go from brick to custom OS you need to get TWRP. If you can somehow boot into that, you can always fix the phone, and thanks to Sahara & FireHose Test program you should always be able to flash the /recovery partition as long as you find the right TWRP image.
Hope I helped someone, I was bashing my head for 3 days with this garbage Mobile Q Upgrade stuck at 20% issue some people have seen before.
Do you know where I can download the Sahara & Firehose Test software? Thanks.
pug_ster said:
Do you know where I can download the Sahara & Firehose Test software? Thanks.
Click to expand...
Click to collapse
The original thread was here: https://forum.xda-developers.com/idol-3/development/tool-sahara-firehose-test-alcatel-t3454855
Looks like the file is taken down now, I still have a copy however:
https://mega.nz/#F!xBRXRIrT!TlYCGpJ-63L1BxjRhuaYrw
printf() said:
The original thread was here: https://forum.xda-developers.com/idol-3/development/tool-sahara-firehose-test-alcatel-t3454855
Looks like the file is taken down now, I still have a copy however:
https://mega.nz/#F!xBRXRIrT!TlYCGpJ-63L1BxjRhuaYrw
Click to expand...
Click to collapse
Password: decker.su
can i get modem files? this download link is no longer available

Categories

Resources