How to logcat when bootloop? - Zenfone 5 Q&A, Help & Troubleshooting

My Zenfone 5 bootloop when i try to install some tweaks.
I need logcat but idk how..
I try in command "adb logcat" but adb says "- waiting for devices -".
Help plz --"
Sorry for bad english..

Download this and unpack your kernel boot.img using:
AndImgTool boot.img boot
Open boot/ramdisk/default.prop using any text editor, and change these lines:
ro.secure=1 (change 1 to 0)
ro.debuggable=0 (change 0 to 1)
ro.adb.secure=1 (change 1 to 0)
persist.sys.usb.config=mtp (change to mtp,adb)
Pack boot folder with AndImgTool using:
AndImgTool boot boot.img
Unlock your bootloader and flash the modded kernel. Now you can take logcats in boot

Related

[Q] Compile from sources

OS Ubuntu 10.04 LTS x64
I downloaded photonic sources from schlund github place, ARM EABI Toolchain, get config from device(with schlund FW) and try to make, but have a error in makefile in "expr $(VERSION) \* 65536 + $(PATCHLEVEL) \* 256 + $(SUBLEVEL)); \". If i calculate version and write number to expr make done. I have zImage. Now i try to write new kernel to device. Get file boot.img from clockworkmod backup, "unpackbootimg -i boot.img", "mkbootimg --kernel zImage --ramdisk boot.img-ramdisk.gz --cmdline "no_console_suspend=1 console=null" --base 00200000 --pagesize 2048 -o ./tmp/boot.img" => have new boot.img. Through ADB push boot.img to sdcard then:
# cat /dev/zero > /dev/mtd/mtd2
write: No space left on device [this is ok, you can ignore]
# flash_image boot /sdcard/boot.img
Reboot device, but it write error in console(then i restore recovery and restore)
How to correctly build kernel and put it to the device?
Sorry for my bad english...
You not need bloksize argument for mkbootimg. And you have wrong argument for base (00200000 instead of 0x00200000)! Try:
- mkbootimg --kernel zImage --ramdisk boot.img-ramdisk.gz --cmdline 'no_console_suspend=1 console=null' --base 0x00200000 -o ./tmp/boot.img"
First, mount your sd card in recovery, then:
- adb push boot.img /sdcard/
than:
- adb shell erase_image boot
than:
- adb shell flash_image boot /sdcard/boot.img
It working also without mounting sdcard becouse boot.img is small and you are able to put it in memory, for example push it to /
- adb push boot.img /
- adb shell erase_image boot
- adb shell flash_image boot /boot.img
Can i "flash_image" In the booted android or just recovery?
will try to evening....
Just want to play with kernel...
YES!!!!!!!!!!!
It's work!!!!!!!!!!!!!!!!!!!!!!!!!
Thanx munjeni!!!!!!!!!!

Root permission on CM9 RC2

Hi guys! I want to know how to have root permission on my Htc Hd Mini with NAND ROM CM9 RC2...
Thanks!
Repack boot.img, repack initrd and edit default.prop (change ro.secure=1 to ro.secure=0), pack initrd than pack boot.img again...done
munjeni said:
Repack boot.img, repack initrd and edit default.prop (change ro.secure=1 to ro.secure=0), pack initrd than pack boot.img again...done
Click to expand...
Click to collapse
Ok...so after I must to reinstall the rom?
fra18061988 said:
Ok...so after I must to reinstall the rom?
Click to expand...
Click to collapse
No! Just install only boot.img
Can you edit boot.img for me? I haven't software to unpack .img...is impossible for me...
My boot.img is attached in this post...
Thank you so much!!!!
You can do it using your recovery!
Procedure:
reboot to recovery
installing tools:
adb push unpackbootimg /
adb push mkbootimg /
adb push mkbootfs /
adb shell chmod 6755 /unpackbootimg
adb shell chmod 6755 /mkbootimg
adb shell chmod 6755 /mkbootfs
unpacking boot.img:
adb push boot.img /tmp/
adb shell
cd /tmp
/unpackbootimg -i boot.img
mkdir initr
cd initr
ls ../
gunzip < ../boot.img-ramdisk.gz | cpio -i --make-directories
cd ..
edit default.prop that is located in /tmp/initr (you can do it by adb push and adb pull... just for idea)!
/mkbootfs ./initr | gzip > initrd.gz
/mkbootimg --kernel boot.img-zImage --ramdisk initrd.gz --cmdline 'no_console_suspend=1 console=null' --base 0x12c00000 -o new_boot.img
and you are done, press ctrl+c to exit from adb, than:
adb pull /tmp/new_boot.img
Or if you want to install new boot.img:
adb push new_boot.img /
adb shell
erase_image boot
flash_image boot /new_boot.img
To repack boot.img I used Cygwin...but in default.prop, "ro.secure" is already set to ro.secure=0 ...see below
#
# ADDITIONAL_DEFAULT_PROPERTIES
#
ro.secure=0
ro.allow.mock.location=0
ro.debuggable=1
persist.sys.usb.config=adb
So...root permission are on CM9 RC2
My big problem was to move applications like Facebook, Google Play etc...on SD Card. I solved the problem with Titanium Backup and Link2SD...

[Q] build kernel by self

@dorimanx @daniel.stuart14 @REV3NT3CH @savoca @RenderBroken
Hi devs i would to learn how to build rom and kernel for d802 variant for myself.
I have build cm12 with success and it works flawlessly.
Now i want to build kernel compatible with cm 12.
I downloaded kernel from this source: https://github.com/CyanogenMod/android_kernel_lge_msm8974/tree/cm-12.0
I have used linaro toolchain 4.9.2 for a15 cpu, during the build i had a few of errors but i have fixed it, after that i have my zImage and dtb files prepared...
So i have used boot.img from previously cm 12 build(i take it from zip file to flash) to get ramdisk and zImage.
Then i have switch the original zImage with my zImage-dtb from my build and i modified files from ramdisk.
I have flashed this kernel through loki_tool but i'm stuck on lg logo...
So my question is i have to use zImage or zImage-dtb from my build?
What about creating dt.img, its obligatory?
Can i use this offset to build my kernel or i have to change it?
Code:
base=0x00000000
pagesize=2048
ramdisk_offset=0x05000000
tags_offset=0x04800000
Sorry for disturb but im curious and i want to do it by myself, so i hope you can help me!
Thanks in advance
Use this script to compile and create your image. (put in root folder of kernel)
You'll need edit it, and change:
build path. (in my script is: build=/home/daniel/android-dev/kernel_test)
Cross compile path
You'll need change the defconfig path, too.
Change the config="xxx_defconfig", to the defconfig's name of all the g2 variants in "arch/arm/configs".
And put it in your kernel root directory, too. (It's the open_bump, so you don't need loki it again, you can use my installation script + lcd.sh, in ozip folder.)
And, if for some reason you haven't installed the mkbootimg yet, download it, extract. Then, go to the folder that you've extracted, and do that:
Code:
sudo cp mkbootimg /bin/mkbootimg
sudo chmod 755 /bin/mkbootimg
sudo cp dtbToolCM /bin/dtbToolCM
sudo chmod 755 /bin/dtbToolCM
sudo cp mkbootfs /bin/mkbootfs
sudo chmod 755 /bin/mkbootfs
sudo cp mkboot /bin/mkboot
sudo chmod 755 /bin/mkboot
You'll need extract the ramdisk in ramdisk folder on root kernel folder, so you can use "mkboot" for it.
It'll say to you the ramdisk_offset, tags_offset and cmdline. So, change this in export.sh if there's a difference between.
After this. go to your kernel folder, and then: ./export.sh
OBS: In the first time you execute the script, it create the zimage, if everything goes right, execute the script again, and it'll create a zip with boot.img inside.
Hi thanks for your reply i will try this !
Which configs i have to use those one cyanogenmod_d802_config or open_g2 and so on?
I think is the cyanogenmod_d802_config.
@daniel.stuart14
i have updater-script like this:
ui_print("ebreo kernel for lg g2 d802 variant");
ui_print("Installing modules...");
mount("ext4", "EMMC", "/dev/block/platform/msm_sdcc.1/by-name/system", "/system");
delete_recursive("/system/lib/modules");
package_extract_dir("system", "/system");
set_perm_recursive(0, 0, 0755, 0644, "/system/lib/modules");
unmount("/system");
package_extract_file("lcd.sh", "/tmp/lcd.sh");
package_extract_file("boot.img", "/tmp/boot.img");
ui_print("Installing boot.img...");
show_progress(0.500000, 10);
set_perm(0, 0, 0755, "/tmp/lcd.sh");
assert(run_program("/tmp/lcd.sh") == 0);
delete("/tmp/lcd.sh");
ui_print("Done!");
show_progress(1.000000, 10);
Click to expand...
Click to collapse
But i have an error when i flash this by twrp...are there an errors?
Ok i have resolve problem with updater-script, device boot but after a cyanogenmod lho my phone reboot again....how can i debug it?
ebreo said:
Ok i have resolve problem with updater-script, device boot but after a cyanogenmod lho my phone reboot again....how can i debug it?
Click to expand...
Click to collapse
Okay, you should use logcat.
But first, try compile without the changes in kernel that you did.
daniel.stuart14 said:
Okay, you should use logcat.
But first, try compile without the changes in kernel that you did.
Click to expand...
Click to collapse
I didn't any changes its clean kernel from source....i will post logs from build.sh script.
How can i use logcat?
Thanks very much daniel!
Result from build.sh script:
OBJCOPY arch/arm/boot/zImage
Kernel: arch/arm/boot/zImage is ready
CAT arch/arm/boot/zImage-dtb
Kernel: arch/arm/boot/zImage-dtb is ready
[email protected]:~/android/kernel/cm_msm8974$ ./build.sh
TEST Build
Pick variant...
1) d800
2) d801
3) d802
4) ls980
5) vs980
#? 3
Checking for build...
Extracting files...
Modules found.
Making dt.img...
DTB combiner:
Input directory: 'arch/arm/boot/'
Output file: 'out/dt.img'
Found file: msm8974-v2-g2-open_com.dtb ... chipset: 126, rev: 131072, platform: 118, subtype: 0
Found file: msm8974-g2-open_com.dtb ... chipset: 126, rev: 0, platform: 118, subtype: 0
Found file: msm8974-v2-2-g2-open_com.dtb ... chipset: 126, rev: 131074, platform: 118, subtype: 0
=> Found 3 unique DTB(s)
Generating master DTB... completed
dt.img created
Making ramdisk...
Making boot.img...
Bumping...
bumped image: ozip/boot_bumped.img
Zipping...
adding: boot.img (deflated 7%)
adding: system/ (stored 0%)
adding: system/lib/ (stored 0%)
adding: system/lib/modules/ (stored 0%)
adding: system/lib/modules/scsi_wait_scan.ko (deflated 57%)
mv: „../ebreo_Kernel-1.0_d802_signed.zip” i „/home/marcio/android/kernel/cm_msm8974/ebreo_Kernel-1.0_d802_signed.zip” to ten sam plik
Done...
Output zip: /home/marcio/android/kernel/cm_msm8974/ebreo_Kernel-.zip
[email protected]:~/android/kernel/cm_msm8974$
Click to expand...
Click to collapse
So all is gone good
oh, okay.
You can boot, and after some minutes it reboot? Or are you in bootloop?
You can only use logcat if the rom starts.
For it, you must enable ADB, and install adb interface in your linux. (can be in windows too.)
After it, connect the device on PC, open the terminal, and put:
adb logcat
You'll need allow it in your device. So, it will start to show a lot of mensages in terminal.
For save it, do a ctrl + c. (to stop the messages), and put it:
adb logcat -c
It'll be saved on you current folder.
daniel.stuart14 said:
oh, okay.
You can boot, and after some minutes it reboot? Or are you in bootloop?
You can only use logcat if the rom starts.
For it, you must enable ADB, and install adb interface in your linux. (can be in windows too.)
After it, connect the device on PC, open the terminal, and put:
adb logcat
You'll need allow it in your device. So, it will start to show a lot of mensages in terminal.
For save it, do a ctrl + c. (to stop the messages), and put it:
adb logcat -c
It'll be saved on you current folder.
Click to expand...
Click to collapse
My problem is that im in bootloop....

Would anyone implement the Camera2 API in Yota 3?

Hello guys,
I am an Yota 3 user.
I just got the phone and am very disappointed that there is no Camera2 API support in this phone.
I know this phone has very great camera sensor on the back, yet has very poor quality camera app.
With Camera2 API, we can use the greatest Google Camera app to take a picture and even get RAW files.
That would be a tremendous software upgrade.
Is there any developer who would implement the API?
If there is none, please, would anyone who knows implementation of the API give me a clue to implement the API to the phone?
I would like to try the implementation myself.
Thank you.
Try adding "persist.camera.HAL3.enabled=1" to your build.prop file:
Temporarily boot into recovery
Code:
fastboot boot recovery.img
Mount system and then using adb, pull the build.prop file
Code:
adb pull /system/build.prop <path to save file>
Edit the file you just extracted and save it. Push it back to your phone via adb
Code:
adb push <path to your file> /system/build.prop
Set permissions:
Code:
adb shell
chmod 644 /system/build.prop
vevgeniev said:
Try adding "persist.camera.HAL3.enabled=1" to your build.prop file:
Temporarily boot into recovery
Code:
fastboot boot recovery.img
Mount system and then using adb, pull the build.prop file
Code:
adb pull /system/build.prop <path to save file>
Edit the file you just extracted and save it. Push it back to your phone via adb
Code:
adb push <path to your file> /system/build.prop
Set permissions:
Code:
adb shell
chmod 644 /system/build.prop
Click to expand...
Click to collapse
I tried that by directly editing build.prop (rooted).
But I see no difference. And open camera still does not work (even when you change the settings to use the camera api).
Did anyone successfully activate this with his yota3+ ?

HELP!!! How to fix "Can’t load Android System your data may be corrupt" error without losing your data ?

Update 2 : I have managed to take a backup of all the eMMC partitions using QFIL but I don't know how to proceed further.
Update 1 : Successfully flashed Stock ROM both via using ADB Sideload and SD card in the recovery but I am still stuck on the same "Can’t load Android System.Your data may be corrupt.If you continue to get this message, you may need to perform a factory data reset and erase all user data stored on this device " screen.
{
"lightbox_close": "Close",
"lightbox_next": "Next",
"lightbox_previous": "Previous",
"lightbox_error": "The requested content cannot be loaded. Please try again later.",
"lightbox_start_slideshow": "Start slideshow",
"lightbox_stop_slideshow": "Stop slideshow",
"lightbox_full_screen": "Full screen",
"lightbox_thumbnails": "Thumbnails",
"lightbox_download": "Download",
"lightbox_share": "Share",
"lightbox_zoom": "Zoom",
"lightbox_new_window": "New window",
"lightbox_toggle_sidebar": "Toggle sidebar"
}
----------------------------------------------------------------------------------------------------------------------------------------------------------
Hello guys,I was uninstalling some apps and accidently Asus launcher,Google Play and Play services etc got selected as well.While apps were getting uninstalled and/or downgraded,phone restarted somehow and everything is screwed up now.I am stuck on a screen telling “Can’t load Android System.Your data may be corrupt.If you continue to get this message, you may need to perform a factory data reset and erase all user data stored on this device” with 2 options underneath, 1.Try again and 2.Factory data reset
When I select “Try again” it shows “ Dead android robot on his back and red triangle” for a split second and then goes to Asus logo screen for 5 seconds and then ask for encryption key, when I enter the key it goes to ASUS logo screen again for 30-40 seconds and again back to Error screen.
Here is the video of the problem (Keep reloading if it doesn't load in first attempt)
Asus Zenfone 3 Bootloop
Watch "Asus Zenfone 3 Bootloop" on Streamable.
streamable.com
Asus ZenFone 3 ZE552KL
ROM : Stock Oreo Version WW-15.0410.1807.75
Bootloader is Locked
Recovery : Stock Recovery
USB debugging : Disabled
Android device encryption is ON
Device is booting in Fastboot Mode and Recovery Mode.
It even boots to the Sideload Mode via recovery and running "adb devices" command shows it attached with it's serial number and sideload but other commands don't work.
Device is being shown /listed in Fastboot Mode.
I am unable to use adb as USB debugging is disabled.Running "adb devices " command shows device’s serial number and "recovery" written next to it ,in the command prompt.
Will flashing Version WW-15.0410.1807.75 again do the job without wiping user data ?
How about flashing only boot.img / system.img ? Can we resolve the issue by just flashing just system.img or boot.img instead of flashing complete stock ROM ?
I don't care about performance of the system or unpredicted issues later on,my entire focus is on preserving my data.I don’t wanna to lose my data coz there are some very important documents,projects reports, pictures and backups in it.
Any help would be greatly appreciated!
I extracted the Stock ROM zip and found it's updater script in "META-INF/com/google/android"
JavaScript:
ifelse( getprop("ro.build.id") == "OPR1.170623.026", ui_print("Android O device"), (
(greater_than_int(getprop("ro.build.date.utc"), 1514390400)) || abort("Can't install this package on device version less than 14.2020.1712.85 device build time (" + getprop("ro.build.date") + ").");
) );
ifelse( getprop("ro.product.name") == "OPEN_Phone", ui_print("OPEN SKU device"), (
getprop("ro.product.name") == "WW_Phone" || abort("This package is for \"WW_Phone\" devices; this is a \"" + getprop("ro.product.name") + "\".");
) );
ui_print("Target: asus/WW_Phone/ASUS_Z012D:8.0.0/OPR1.170623.026/15.0410.1807.75-0:user/release-keys");
show_progress(0.750000, 540);
ui_print("Patching system image unconditionally...");
block_image_update("/dev/block/bootdevice/by-name/system", package_extract_file("system.transfer.list"), "system.new.dat", "system.patch.dat") ||
abort("E1001: Failed to update system image.");
ui_print("Verifying the updated system image...");
if range_sha1("/dev/block/bootdevice/by-name/system", "136,0,32767,32768,32770,33009,33011,33516,65535,65536,65538,66043,98303,98304,98306,98545,98547,99052,131071,131072,131074,131579,163839,163840,163842,164081,164083,164588,196607,196608,196610,197115,229375,229376,229378,229617,229619,230124,262143,262144,262146,262651,294910,294912,294914,295153,295155,295660,327679,327680,327682,328187,335068,360448,360450,360955,393214,393216,393218,393723,393724,393725,425982,425984,425986,426491,458751,458752,458754,459259,491519,491520,491522,492027,524287,524288,524290,524795,557055,557056,557058,557563,589823,589824,589826,590331,622591,622592,622594,623099,655358,655360,655362,655867,688126,688128,688130,688635,720894,720896,720898,721403,753662,753664,753666,754171,786430,786432,786434,786939,819198,819200,819202,819441,819443,819948,851966,851968,851970,852475,884734,884736,884738,884977,884979,885484,917502,917504,917506,918011,950270,950272,950274,950779,967696,967697,983040") == "9a4740126249131da4ccd7e39fcf8d7302a3f818" then
if range_sha1("/dev/block/bootdevice/by-name/system", "136,32767,32768,32770,33009,33011,33516,65535,65536,65538,66043,98303,98304,98306,98545,98547,99052,131071,131072,131074,131579,163839,163840,163842,164081,164083,164588,196607,196608,196610,197115,229375,229376,229378,229617,229619,230124,262143,262144,262146,262651,294910,294912,294914,295153,295155,295660,327679,327680,327682,328187,335068,335580,359936,360448,360450,360955,393214,393216,393218,393723,393724,393725,425982,425984,425986,426491,458751,458752,458754,459259,491519,491520,491522,492027,524287,524288,524290,524795,557055,557056,557058,557563,589823,589824,589826,590331,622591,622592,622594,623099,655358,655360,655362,655867,688126,688128,688130,688635,720894,720896,720898,721403,753662,753664,753666,754171,786430,786432,786434,786939,819198,819200,819202,819441,819443,819948,851966,851968,851970,852475,884734,884736,884738,884977,884979,885484,917502,917504,917506,918011,950270,950272,950274,950779,967696,967697") == "6d1cea242bbacf2ea86f62fa6c06b6bde31ec430" then
ui_print("Verified the updated system image.");
else
abort("E1003: system partition has unexpected non-zero contents after OTA update");
endif;
else
abort("E1002: system partition has unexpected contents after OTA update");
endif;
show_progress(0.050000, 5);
package_extract_file("boot.img", "/dev/block/bootdevice/by-name/boot");
show_progress(0.200000, 10);
# ---- radio update tasks ----
ui_print("Patching firmware images...");
ifelse(msm.boot_update("main"), (
ui_print("installing cmnlib64");
package_extract_s_file("firmware-update/cmnlib64.mbn", "/dev/block/bootdevice/by-name/cmnlib64");
ui_print("installing sbl1");
package_extract_s_file("firmware-update/sbl1.mbn", "/dev/block/bootdevice/by-name/sbl1");
ui_print("installing cmnlib");
package_extract_s_file("firmware-update/cmnlib.mbn", "/dev/block/bootdevice/by-name/cmnlib");
ui_print("installing rpm");
package_extract_s_file("firmware-update/rpm.mbn", "/dev/block/bootdevice/by-name/rpm");
ui_print("installing tz");
package_extract_s_file("firmware-update/tz.mbn", "/dev/block/bootdevice/by-name/tz");
ui_print("installing devcfg");
package_extract_s_file("firmware-update/devcfg.mbn", "/dev/block/bootdevice/by-name/devcfg");
ui_print("installing aboot");
package_extract_s_file("firmware-update/emmc_appsboot.mbn", "/dev/block/bootdevice/by-name/aboot");
ui_print("installing lksecapp");
package_extract_s_file("firmware-update/lksecapp.mbn", "/dev/block/bootdevice/by-name/lksecapp");
ui_print("installing keymaster");
package_extract_s_file("firmware-update/keymaster.mbn", "/dev/block/bootdevice/by-name/keymaster");
), "");
ifelse(msm.boot_update("backup"), (
ui_print("installing cmnlib64bak");
package_extract_s_file("firmware-update/cmnlib64.mbn", "/dev/block/bootdevice/by-name/cmnlib64bak");
ui_print("installing sbl1bak");
package_extract_s_file("firmware-update/sbl1.mbn", "/dev/block/bootdevice/by-name/sbl1bak");
ui_print("installing cmnlibbak");
package_extract_s_file("firmware-update/cmnlib.mbn", "/dev/block/bootdevice/by-name/cmnlibbak");
ui_print("installing rpmbak");
package_extract_s_file("firmware-update/rpm.mbn", "/dev/block/bootdevice/by-name/rpmbak");
ui_print("installing tzbak");
package_extract_s_file("firmware-update/tz.mbn", "/dev/block/bootdevice/by-name/tzbak");
ui_print("installing devcfgbak");
package_extract_s_file("firmware-update/devcfg.mbn", "/dev/block/bootdevice/by-name/devcfgbak");
ui_print("installing abootbak");
package_extract_s_file("firmware-update/emmc_appsboot.mbn", "/dev/block/bootdevice/by-name/abootbak");
ui_print("installing lksecappbak");
package_extract_s_file("firmware-update/lksecapp.mbn", "/dev/block/bootdevice/by-name/lksecappbak");
ui_print("installing keymasterbak");
package_extract_s_file("firmware-update/keymaster.mbn", "/dev/block/bootdevice/by-name/keymasterbak");
),"no backup partition");
msm.boot_update("finalize");
ui_print("installing modem");
package_extract_s_file("firmware-update/NON-HLOS.bin", "/dev/block/bootdevice/by-name/modem");
ui_print("installing dsp");
package_extract_s_file("firmware-update/adspso.bin", "/dev/block/bootdevice/by-name/dsp");
ui_print("installing asusfw");
package_extract_file("firmware-update/asusfw.img", "/dev/block/bootdevice/by-name/asusfw");
set_progress(1.000000);
It's been a long time since I've used an Android phone.
I believe it was possible to flash a stock ROM and gaaps using fastboot commands without erasing user data.
audit13 said:
It's been a long time since I've used an Android phone.
I believe it was possible to flash a stock ROM and gaaps using fastboot commands without erasing user data.
Click to expand...
Click to collapse
Nope,I haven't tried that yet coz before doing anything I want to be absolutely sure that it's not gonna wipe my data. Again,flashing the complete stock ROM is required or flashing a specific image like boot.img / system.img would resolve the issue ?
Please take a look at this thread.I didn't get "-w flag" thing.
hello, what you are trying to achieve is possible but we need to make solution specific to your android version which is android 8.
secondly explain what happened in detail like was your phone rooted or not, like if not then how on earth you uninstall system apps, if not uninstalled just degraded using uninstall updates button tell me.
xda is only in my laptop so i am unable to reply instantly, you can use telegram to talk to me @Bhd82
[email protected] said:
secondly explain what happened in detail like was your phone rooted or not, like if not then how on earth you uninstall system apps, if not uninstalled just degraded using uninstall updates button tell me.
Click to expand...
Click to collapse
My device is not rooted.Yes,I selected multiple apps to uninstall and Asus launcher,Play Store,Google Play Services also got selected accidenlty and when Uninstall button was clicked, I suppose were downgraded in the process.
[email protected] said:
hello, what you are trying to achieve is possible but we need to make solution specific to your android version which is android 8.
secondly explain what happened in detail like was your phone rooted or not, like if not then how on earth you uninstall system apps, if not uninstalled just degraded using uninstall updates button tell me.
xda is only in my laptop so i am unable to reply instantly, you can use telegram to talk to me @Bhd82
Click to expand...
Click to collapse
Hello buddy,here is the video of the bootloop.
encryption is downgrade protected so you probably broke it. so first you should dump cache partition and search kernel logs for QSEECOM. if your bootloader is unlocked, boot custom recovery from fastboot boot command and dump partitions from adb pull, otherwise dump from edl.py.
loaders can be found here
https://forum.xda-developers.com/showthread.php?t=3603643&page=4
https://forum.xda-developers.com/showthread.php?t=3759473
https://romprovider.com/download-prog_emmc_firehose-qcom-phone-cpus
https://www.firmware27.com/2017/06/collectionprog-emmc-firehose-prog-ufs.html
https://www.leakite.com/collection-qualcomm-emmc-programmer-files
https://github.com/programmer-collection
https://github.com/bkerler/Loaders
https://github.com/thantoeaungat/firehose
https://www.tuserhp.com/2018/02/prog-emmc-firehose-ufs-firehose.html
https://firmwarego.com/index.php?a=downloads&b=folder&id=2288
edit: or try to get logcat during boot-loop
Code:
fastboot oem adb_enable
fastboot continue
adb logcat > logcat.log
aIecxs said:
encryption is downgrade protected so you probably broke it
Click to expand...
Click to collapse
Hello buddy,thank you for your valuable input! It means a lot! Well ,device was running without any glitch even after disabling and downgrading several pre installed apps and bloatwares.Several times ,I downgraded Playstore and Google play services to fix some issues.And everything went hand in hand with encryption enabled.I guess ,in this particular case, device got restarted during downgrading process and that corrupted some files.
aIecxs said:
if your bootloader is unlocked, boot custom recovery from fastboot boot command and dump partitions from adb pull, otherwise dump from edl.py.
Click to expand...
Click to collapse
My bootloader is locked and USB debugging is disabled.Yes, I have been digging threads regarding QSEECOM and QPST for past few days.
aIecxs said:
edit: or try to get logcat during boot-loop
Code:
fastboot oem adb_enable
fastboot continue
adb logcat > logcat.log
Click to expand...
Click to collapse
Unfortunately,unlocking bootloader would wipe out all the data which I want to preserve.Is there any way to get logcat with bootloader locked and usb debugging disabled ?
Thank you!
sorry I didn't know that fastboot oem adb_enable requires unlocked bootloader.
yes there is maybe. you can flash adb enabled AVBv1 signed modified boot.img from Qualcomm HS-USB QDLoader 9008 EDL mode if you have deep flash cable or figure out test point
first backup all partitions to PC
(replace ./ with proper path on disk or cd into directory. home directory ~ might run out of disk space)
Bash:
mkdir ~/tmp
cp -v ./prog_emmc_firehose_8953_ddr.mbn ~/tmp
cd edl
python3 ./Loaders/fhloaderparse.py ~/tmp Loaders
python3 ./edl.py printgpt
python3 ./edl.py r boot boot.img
python3 ./edl.py r system system.img
python3 ./edl.py r cache cache.img
python3 ./edl.py r metadata metadata.bin
python3 ./edl.py r devinfo devinfo.bin
python3 ./edl.py r userdata userdata.img
python3 ./edl.py r ...
second modify default.prop in boot.img ramdisk with AIK
Code:
ro.debuggable=1
ro.adb.secure=0
ro.secure=0
persist.sys.usb.config=mtp,adb
third flash image-new.img (which is hopefully AVBv1-signed) back to device and try get logcat while booting android (might brick your device)
Bash:
python3 ./edl.py w boot image-new.img
python3 ./edl.py reset
adb logcat '*:W' -b all | tee ~/logcat.txt
In case you bricked just restore backup boot.img and go for logs in cache partition. loop mount the partition image
Bash:
mkdir ~/cache
sudo -H mount -t ext4 -o loop,ro,noexec,noload,noatime ./cache.img ~/cache
sudo -H thunar ~/cache
edit: optional patch avb/dm-verity with Magisk
(attachments removed)
aIecxs said:
so first you should dump cache partition and search kernel logs for QSEECOM.dump from edl.py.
Click to expand...
Click to collapse
Hello,after a lot of research and experiments,I finally managed to build an EDL flash cable and figured out device's key combination to get the device in QDLoader 9008 EDL mode.
While I am a tech enthusiast,I am incognizant of Linux / Python so kindly bear with me.Even after spending hours I couldn't find any tutorial / video regarding how to use edl.py / bkerler/edl. Instructions here are unclear and complicated.Looks developer have a notion that everybody on this planet have an understanding of coding or python.It's full of jargons.A video tutorial of the whole process could be quite informative but unfortunatley it's missing.
This "loader" thing is also utterly confusing, some people are referring prog_emmc_firehose files as loader while bkerler/Loaders are entirely different phenomenon and I am unable to comprehend it.
I had downloaded xubuntu.iso to boot it via USB on Windows 11 machine only to find it later that bkerler/edl is first asking to use 3.9GB large Re LiveDVD and then later want us to install python + git and loads of other things.I don't understand what's the point of doing all this when one can run Linux commands in Windows using Windows Subsystem for Linux (WSL).
aIecxs said:
you can flash adb enabled AVBv1 signed modified boot.img from Qualcomm HS-USB QDLoader 9008 EDL mode if you have deep flash cable or figure out test point
first backup all partitions to PC
(replace ./ with proper path on disk or cd into directory. home directory ~ might run out of disk space)
Bash:
mkdir ~/tmp
cp -v ./prog_emmc_firehose_8953_ddr.mbn ~/tmp
cd edl
python3 ./Loaders/fhloaderparse.py ~/tmp Loaders
python3 ./edl.py printgpt
python3 ./edl.py r boot boot.img
python3 ./edl.py r system system.img
python3 ./edl.py r cache cache.img
python3 ./edl.py r metadata metadata.bin
python3 ./edl.py r devinfo devinfo.bin
python3 ./edl.py r userdata userdata.img
python3 ./edl.py r ...
second modify default.prop in boot.img ramdisk with AIK
Code:
ro.debuggable=1
ro.adb.secure=0
ro.secure=0
persist.sys.usb.config=mtp,adb
third flash image-new.img (which is hopefully AVBv1-signed) back to device and try get logcat while booting android (might brick your device)
Bash:
python3 ./edl.py w boot image-new.img
python3 ./edl.py reset
adb logcat '*:W' -b all | tee ~/logcat.txt
In case you bricked just restore backup boot.img and go for logs in cache partition. loop mount the partition image
Bash:
mkdir ~/cache
sudo -H mount -t ext4 -o loop,ro,noexec,noload,noatime ./cache.img ~/cache
sudo -H thunar ~/cache
edit: optional patch avb/dm-verity with Magisk
(have attached patched boot.img for both)
Click to expand...
Click to collapse
I am sorry but this post went completely over my head. Can you please recommend some step by step tutorial ? Thank you!
no worry, just follow the install instructions, then follow above steps. you can also do it on windows. but when it comes to loop-mount partition images it's far more easier to do it in linux (viewing logs in cache partition). another reason is you don't have to struggle with Qualcomm HS-USB QDLoader 9008 Drivers as linux fully handle all usb drivers automatically.
Prerequisites Step 1 (linux)
open terminal with CTRL + ALT + T and navigate to any directory on your hard disk with cd
Code:
cd /media/xubuntu/*
Prerequisites Step 2
install dependencies
Code:
# Debian/(X)ubuntu/Mint/etc
sudo apt update
sudo apt install adb fastboot python3-dev python3-pip liblzma-dev git
(optional) disable mobile broadband communication (skip this)
Code:
sudo apt purge modemmanager
sudo systemctl stop ModemManager
sudo systemctl disable ModemManager
sudo apt purge ModemManager
Prerequisites Step 3
download build and install edl.py
Code:
# edl.py (required)
git clone -b 3.52.1 https://github.com/bkerler/edl.git
cd edl
# common firehose programmer collection = factory loaders (optional)
git submodule update --init --recursive
# build + install
python3 setup.py build
sudo python3 setup.py install
(optional) set usb permissions so edl.py can run without sudo
Code:
sudo cp Drivers/51-edl.rules /etc/udev/rules.d
sudo cp Drivers/50-android.rules /etc/udev/rules.d
Prerequisites Step 4
connect device in EDL mode and check if linux can see it
Code:
lsusb
now ready for installing own loader and backup everything!
(see above)
- fhloaderparse.py
- edl.py
next step can be skipped because I already did it for you (see attachments)
- download and extract AIK-Linux-v3.8-ALL.tar.gz
- copy boot.img into AIK directory
- execute unpackimg.sh shell script
- modify default.prop
- execute repackimg.sh shell script
once you have backup proceed with flashing modified boot, reboot phone and get a logcat.txt
(see above)
aIecxs said:
no worry, just follow the install instructions, then follow above steps.
Click to expand...
Click to collapse
Install instructions of what ? Linux or edl.py ? Should I boot into xubuntu via a bootable USB flash drive ? Thank you!
- boot into xubuntu via a bootable USB pendrive
- goto - settings - keyboard - add your language and remove english layout
- open your prefered directory on windows hard disk
- right mouse click - open terminal here
- proceed with prerequisites (post #11)
- get a working firehose programmer (trial and error)
- proceed with backup (post #9)
aIecxs said:
Prerequisites Step 4
connect device in EDL mode and check if linux can see it
Code:
lsusb
now ready for installing own loader and backup everything!
(see above)
- fhloaderparse.py
- edl.py
Click to expand...
Click to collapse
Hello friend,after days of trial and error I managed to take a backup of all the partitions using QFIL.
As I want to do it via edl.py ,I have also set up a persistent Xubuntu USB and completed the Step 4.It looks like Linux has recognized the device in EDL mode ?
If I am correct,in the next step, I need to put "prog_emmc_firehose_8953_ddr.mbn" inside "edl" folder (
[email protected]:/media/xubuntu/New Volume/XB/edl) and open Terminal there and run the following commands one by one which will make backups inside "edl" folder.Correct me if I am wrong.
Bash:
mkdir ~/tmp
cp -v ./prog_emmc_firehose_8953_ddr.mbn ~/tmp
cd edl
python3 /media/xubuntu/New Volume/XB/edl/Loaders/fhloaderparse.py ~/tmp Loaders
python3 /media/xubuntu/New Volume/XB/edl/edl.py printgpt
python3 /media/xubuntu/New Volume/XB/edl/edl.py r boot boot.img
python3 /media/xubuntu/New Volume/XB/edl/edl.py r system system.img
python3 /media/xubuntu/New Volume/XB/edl/edl.py r cache cache.img
python3 /media/xubuntu/New Volume/XB/edl/edl.py r metadata metadata.bin
python3 /media/xubuntu/New Volume/XB/edl/edl.py r devinfo devinfo.bin
python3 /media/xubuntu/New Volume/XB/edl/edl.py r userdata userdata.img
python3 /media/xubuntu/New Volume/XB/edl/edl.py r ...
Again,there are 67 emmc partitions ( these are the partitions backed up by QFIL) out there.Nothing like "metadata".How do we find the names of the partition on LInux ? And do we need to do it manually one by one or is there any command to dump all the partitions ?
Thank you!
yes QDL means EDL...
(paths with whitespaces must be quoted "/media/xubuntu/New Volume/XB/edl" but no need to type the whole path at all, just dot ./ is fine if you already cd'd into directory)
yes you can place prog_emmc_firehose_8953_ddr.mbn inside edl directory, just parse the proper file path as first argument to fhloaderparse.py (like tmp/ in example)
./edl.py printgpt is the initial command it will print you all partition names and some device info. if it fails, maybe EDL got timeout and phone needs to reboot into EDL mode again
yes there is command to dump all partitions at once. you don't need it as you already have done this step from QFIL which is great, it means you found working firehose programmer
Code:
python3 edl.py printgpt
python3 edl.py rl dumps
your device obviously don't have metadata partition that was just example code
But you already have cache.bin you should loop-mount file and zip the logs from inside recovery directory. I will have a look into it maybe there is something useful inside. it should not contain anything that violates your privacy, however if you are paranoid about wifi/mac address or IMEI you can password protect zip
yes you can place prog_emmc_firehose_8953_ddr.mbn inside edl directory, just parse the proper file path/name as first argument to fhloaderparse.py (like tmp/ in example)
Complete file path is
/media/xubuntu/New Volume/XB/edl/prog_emmc_firehose_8953_ddr.mbn
Click to expand...
Click to collapse
and I am running terminal inside "edl folder" but despite several attempts I am getting following error.
Am I doing it the wrong way ? Can you please tell me the exact commands to run ?
aIecxs said:
But you already have cache.bin you should loop-mount file and zip the logs from inside recovery directory.
Click to expand...
Click to collapse
How do you do that ? By executing Step 4 of Post #9 ?
Bash:
mkdir ~/cache
sudo -H mount -t ext4 -o loop,ro,noexec,noload,noatime ./cache.img ~/cache
sudo -H thunar ~/cache
Thanks a lot!
one of your paths doesn't exist, either edl/Loaders/fhloaderparse.py is missing or it's because whitespaces in path
"/media/xubuntu/New Volume/XB/edl"
Code:
cd edl
python3 Loaders/fhloaderparse.py . Loaders
or if the above doesn't work
Code:
mkdir ~/tmp
cd edl
cp -v ./prog_emmc_firehose_8953_ddr.mbn ~/tmp
python3 ./Loaders/fhloaderparse.py ~/tmp Loaders
please also double check fhloaderparse.py exist and is spelled correctly and typed case sensitive
aIecxs said:
one of your paths doesn't exist, either edl/Loaders/fhloaderparse.py is missing.
Please also double check fhloaderparse.py exist and is spelled correctly and typed case sensitive
Click to expand...
Click to collapse
Yes,it's missing.There is no file called "fhloaderparse.py" inside "Loaders" folder.
It's also missing in bkerler/Loaders.
it is somehow removed from github
this commit is the last including it
https://github.com/bkerler/Loaders/tree/9b90b81
edit: lol it's still there in edlclient/Tools but without .py suffix
that's why the setup.py is needed, it will install the scripts right in environment so fhloaderparse is in $PATH already
this is new usage
Code:
mkdir ~/tmp
cd edl
cp -v prog_emmc_firehose_8953_ddr.mbn ~/tmp
fhloaderparse ~/tmp Loaders
_____________________________________________________________________delete___________________________________________________________________________

Categories

Resources