yashsingh1/xdaforums huggingface dataset:
[Android Q&A, Help & Troubleshooting] picakia:
Hi, I'm leaving a mirror link for all Hisense A5 stuff that may be helpful in the future when original links will be dead. As a bonus there are offline OTA zip files for L1657.6.10.04.00, L1657.6.11.01.00 and L1657.6.12.01.00. When Software update downloads OTA it saves in /data/media/

Remember that OTA updates need to go in order like L1657.6.09.06.00 -> L1657.6.10.04.00 -> L1657.6.11.01.00 -> L1657.6.12.01.00. DO NOT UPGRADE from L1657.6.09.06.00 to L1657.6.12.01.00 directly.

OTA manual install:

0. Prepare at least 2 GB SD card and format it as FAT32

1. Rename desired OTA file to update.zip

2. Copy update.zip to the root of the SD card and after that insert the card into the phone

3. Go into recovery mode on the phone (I used ADB for that, if you want you can use key combination) 4. Connect it to pc via ADB (I'm assuming that you enabled USB debugging in developer options after clicking on kernel version 8 times in phone info)

4. Run `adb devices` and make sure that you allowed debugging on the phone

5. Run `adb reboot recovery` to boot into recovery mode

6. You will see 2 options on the screen - Choose 1st one

7. Now you will see 3 options - Choose 3rd

8. Now there will be 2 options - Choose 1st

9. Phone should update and reboot

Mirrored content:

Rom and OTA:

Hisense_A5_L1657.6.03.02.00_Full_Backup.7z (Backup using QFIL, every partition, official with GAPPS, flash using QFIL)

Hisense_A5_HLTE202N_L1657.6.03.02.00.7z (for debricking)

Hisense_A5_LA592C(HLTE202N)_L1657.6.09.06.00_TFDownload_202004090105_user.zip

Hisense_A5_L1657.6.10.04.00_OTA.zip

Hisense_A5_L1657.6.11.01.00_OTA.zip

Hisense_A5_L1657.6.12.01.00_OTA.zip

Root tools:

Hisense_A5_customizer-R04.7z

Hisense_A5_customizer-R05-06.10.04.00.7z

Hisense_A5_L1657.6.12.01.00_Magisk22.1_Root_by_Sillage.7z

FireHose_HiSenseA5.mbn

Hisense_A5_debloat.txt

Hisense_A5_block_hisense.sh

Hisense_A5_EDL_PINS_1.jpg

Hisense_A5_EDL_PINS_2.jpg

Hisense_A5_boot_recovery_vbmeta_6.03.02.zip

LINK: https://mega.nz/folder/QkVXUDLS#LWYIHVvuiOFxxeZpWruTlg
[Android Q&A, Help & Troubleshooting] lillo9546:
@gowings23

@JLowe

Would be possible to share:

- Stock ROM 6.12 Full QFIL Backup

- EFS/QCN backup files

- TWRP recovery (if you managed to get one)
[Android General] a.vandelay:
From this thread: https://xdaforums.com/project-trebl...velopment/aosp-10-0-quack-phh-treble-t3992559, the TrebleCheck app indicates we need an arm64 "a-only" ROM. The Palm Phone is running vendor version 8.1.

Step 1: Download Sugar. This thread: https://xdaforums.com/android/general/release-root-palm-phone-t4021201, has everything you need to know about Sugar. I ran the upgrade once to download the full stock ROM (make a backup as described). Warning, this erases all of your data.

Step 2: Follow this guide: https://xdaforums.com/android/general/guide-porting-twrp-source-t3843473, to build a TWRP for the Palm Phone without source. I used the latest TWRP for the Asus Nexus 7 2013 LTE as my base. From your Palm upgrade backup, the recovery image is the one that starts with 'R', about 36MB. Rename your new TWRP image to match the stock recovery and replace it similar to the rooting guide for replacing the boot image.

Update: snoopy20 has shared his TWRP image here: https://xdaforums.com/showpost.php?p=82654073&postcount=26

Step 3: Extract the system image you downloaded and rename and replace the stock system image. It's the largest file in your Sugar device folder.

Step 4: Re-run the upgrade in Sugar with your replaced images in place.

Step 5: You're probably stuck in a boot loop. Press and hold the power button until you get into recovery, which is now TWRP. First, I formatted data. Then push or otherwise copy this zip to the device: https://xdaforums.com/android/software/universal-dm-verity-forceencrypt-t3817389 and install it from TWRP. The stock configuration should be fine, i.e. don't worry about re-naming the zip. Note, do NOT use adb sideload, since that seems to wreck the zip installer's ability to use its own file name to configure itself.

Update: The Universal dm-verity zip may not always work, in particular on AOSP Android 10 images. In this case, you can use another Android device and Magisk Manager to patch the Palm boot image. Push the boot image from your Palm backup (described in Step 1) to the other Android device. It's the mbn file that starts with 'B'. I chose to rename it to boot.img for easier use. Than use Magisk Manager to patch it. Push the modified boot image back to the Palm (in TWRP) and use TWRP to Install->Image it.

Step 6: Reboot! Wipe data and cache for good measure, and you should be set!

All credit goes to the folks from the links above for creating the Treble system image, TWRP guide, and dm-verity script. Thanks to snoopy20 for his TWRP image.

Things that work so far:

* Almost everything

Doesn't work

* Soft key requires an app, such as Key Mapper, to use

* Screen auto brightness is missing
[Android General] snoopy20:
Can you post the TWRP you created? :)
[Android General] a.vandelay:
Is it kosher to publicly post a TWRP created like this (i.e. not from source)?

Additionally, I'm not entirely confident I didn't screw something up, so I'm a little wary to risk everyone's device. Specifically, I do not know what would happen if you get caught in a boot loop and don't have a functioning recovery to boot into in order to restore...
[Android General] snoopy20:
Yeah you just write "Unofficial" or something in the title. Right now I'm happy to brick the Palm, I'm 99% of the way to dropping it but it would be fantastic if I can get a stock Android on it.

By the way do the restrictions, i.e wifi tethering, get applied by the Vendor package?
[Android General] a.vandelay:
Hard for me to test since I don't have a supported SIM, but the tethering menu is available in Settings. You'll have to try it and let us know.
[Android General] snoopy20:
If you post the TWRP I'll do so. My biggest concern is if I **** up building it. I sent you a PM.
[Android General] a.vandelay:
Just waiting for android file host to approve :D
[Android General] snoopy20:
I've attempted to repack but found:

1. Two fstab files are fstab.qcom and fstab.grouper, don't know if I should delete them but instructions seem to indicate I should.

2. Stock ramdisk folder doesn't have a fstab.* file to copy over.

I ended up with this twrp.fstab. Note the encryption part from /data is gone? Unsure if this is ok.

# mount point	fstype	device

#twrp.fstab

/system	ext4	/dev/block/bootdevice/by-name/system

/cache	ext4	/dev/block/bootdevice/by-name/cache

/data	ext4	/dev/block/bootdevice/by-name/userdata

/misc	emmc	/dev/block/bootdevice/by-name/misc

/boot	emmc	/dev/block/bootdevice/by-name/boot

/recovery	emmc	/dev/block/bootdevice/by-name/recovery

/external_sd vfat /dev/block/mmcblk1p1 flags=removable;storage;display="SDCARD"

/usb-otg auto /dev/block/sda1 flags=removable;storage;display="USB-OTG"
[Android General] a.vandelay:
Just a big heads up, when trying to connect to the network today (Visible) I noticed that my IMEI was 0000.... I have never successfully connected the Palm phone and while the behavior now is consistent with my issues before, I can't say whether or not flashing the GSI as outlined here erased my IMEI.

Proceed with caution.
[Android General] a.vandelay:
Added my TWRP to the OP
[Android General] snoopy20:
OK I've compared and I can't see anything major. The only thing you do have is a few more mount points which I've not had in mine (listed). Where are they from? I think mounting the sdcard (modem firmware) is a bad idea so I'm going to skip that.

/sbl1 emmc /dev/block/bootdevice/by-name/sbl1

#/sbl2 emmc /dev/block/bootdevice/by-name/sbl2

#/sbl3 emmc /dev/block/bootdevice/by-name/sbl3

/tz emmc /dev/block/bootdevice/by-name/tz

/rpm emmc /dev/block/bootdevice/by-name/rpm

/aboot emmc /dev/block/bootdevice/by-name/aboot

#/sbl2b emmc /dev/block/bootdevice/by-name/sbl2b

#/sbl3b emmc /dev/block/bootdevice/by-name/sbl3b

#/tzb emmc /dev/block/bootdevice/by-name/tzb

#/rpmb emmc /dev/block/bootdevice/by-name/rpmb

#/abootb emmc /dev/block/bootdevice/by-name/abootb

#/usb-otg vfat /dev/block/sda1 /dev/block/sda flags=removable;storage;display=USB-OTG

/external_sd vfat /dev/block/mmcblk0p1

/usb-otg auto /dev/block/sda1
[Android General] snoopy20:
So, I have twrp installed, and a fast bootloop almost instantly on start. I haven't been able to solve it thus far. I can get into twrp which is something though.
[Android General] a.vandelay:
I think the guide for porting TWRP mentioned to add it, so I did.
[Android General] a.vandelay:
Sounds similar to me. Did you flash the new system as well? If so, this is when you use TWRP to flash the zip to disable dm-verity.
[Android General] snoopy20:
I did, then the dm-verity but with no success. Assuming /system was corrupt or wrong I've deleted it. I'm now trying to work out how to flash the system.img without fastboot (which I don't have).

So far dd is ending up with a corrupt partition and twrp insists on a zip for system flash. Trying to figure out how to convert it.

---------- Post added at 09:44 PM ---------- Previous post was at 09:26 PM ----------

I did, then the dm-verity but with no success. Assuming /system was corrupt or wrong I've deleted it. I'm now trying to work out how to flash the system.img without fastboot (which I don't have).

So far dd is ending up with a corrupt partition and twrp insists on a zip for system flash. Trying to figure out how to convert it.

Actually you said you tried 10 unsuccessfully, so how did you then flash the v8 image?
[Android General] phigan:
TWRP doesn't say "Install Image" at the bottom when you go to Install?

I'm assuming the 2nd link down in OP (github).

This is exciting!
[Android General] a.vandelay:
Anytime I got stuck, from TWRP I used

adb reboot edl

then I used Sugar to reflash everything all over again.
[Android General] snoopy20:
Phew, I didn't know about that one. I'll try again.

You can't flash an img from TWRP, there's no boot partition to enter fastboot mode.
[Android General] snoopy20:
I'd originally downloaded the nogapps without su and added Magisk.zip after, this caused an instant bootloop. The one with build in gapps+su works. It's possible to disable all gapps and related services except GoogleOne (I installed OpenLauncher into /system/app then removed GoogleOne by force). After this "Google" can be removed and all notifications about Google Services end.

I recommend you take down the twrp and remove the line which mounts the firmware partition as sdcard in case this is what wiped your IMEI. I build my own without this line and IMEI survived.

Tested

Wifi hotspot is working!

Bluetooth, camera, all USB,

Stability

Not working

Thee dots button (don't think it's a big deal as you get the three icons for back etc by default).

Auto screen brightness
[Android General] braxtron:
So as long as I do this step from TWRP after the first boot(loop), it might actually boot?

(TWRP > Wipe > Advanced > System > Resize then System > Repair)
[Android General] xerootg:
Yep. Or do it in bash. I do it in bash for both the user partition and system partition, immediately after flashing.
[Android General] Gestalt73:
If you replace:

the R*.mbn file with that exact version of twrp,

the Y*.mbn file with that exact lineageos image, and

apply that exact version of dm-verity after the first reboot

you'll have a functioning 17.1 phone. easy peasy.

You only need to resize system if you're going to install any of the gapps packages.

I'd recommend trying without resizing or gapps first to make sure everything else is in order. Then when you're ready download opengapps pico, open up the archive in 7zip, and edit out the two version checks.
[Android General] braxtron:
nope, as i described several posts up, this results in a complete failure of a bootloop and TWRP warning me before reboot that there is no OS installed.
[Android General] braxtron:
I like the sound of that, could you share the shell commands? Assuming you run them via ADB?
[Android General] Gestalt73:
Aw man everything works for me except wifi with this recipe:

xerootg's "boot.img.rooted" as B*.mbn

snoopy's "twrp-3.3.1-pepito-nofirmwaremount.img" as R*.mbn

caos11's "caos-v316-220321-arm64-avZ.img" as Y*.mbn

(TWRP > Wipe > Advanced > System > Repair, then Resize then Repair)

"open_gapps-arm64-11.0-nano-20220215.zip"

Was there anything you had to do to system or vendor in order to get wifi working?
[Android General] xerootg:
Can you get a logcat/dmesg dump of the boot process? (*EDIT* What vendor partition are you using? Have you patched it at all? If so, what changes did you make?) I've seen where the kernel doesn't like the signature of the kernel driver for the wifi chip (which is in the vendor partition), but can be fixed by using one of the various SE permissive packages for magisk, OR patching your vendor to have a signed ko that matches the kernel. Also, that specific CAOS release includes a version that has a basic gapps suite. The wifi driver in all pepito releases have issues, and I really wish I had kernel sources and the ability to run an unsigned kernel 😭.

Feel free to flash stuff a little faster using your recovery and the dd command.

i.e. from an ADB shell from the recovery, with the system partition unmounted:

dd if=/sdcard/my.system.image.img of=/dev/block/bootdevice/by-name/system (don't quote me literally, I'm going from memory on the path to the system partition)

Also, you can mount the vendor partition to edit it from recovery by doing something like:

mkdir /vendor
mount -o noatime /dev/block/bootdevice/by-name/vendor /vendor

It's critical to use noatime when mounting stuff. Some security mechanisms flag and wipe userdata when timestamps are modified.

As to things like formatting; after flashing a new system, or major vendor change, format cache and userdata.

mkfs.ext2 /dev/block/path/to/partition

userdata is flashed as a 1byte, empty, uninitialized partition by sugar. To use it and use all the available space, you'll need to use resize2fs, probably with the force flag, after formatting and then checking the partition for issues by running e2fsck, probably also with the force flag, and then after resizing, checking with e2fsck for good measure. Side note: I'm particularly annoyed at how they chose to do this by using a firehose PATCH command to modify both the GPT primary and backup tables to fill the remaining emmc instead of doing the sane thing and precomputing the sizes and producing a blank sparse image of the partition.
[Android General] Gestalt73:
Sure thing. Haven't touched vendor yet.

dmesg

logcat

I took a quick look through them for keywords wwan and wifi but couldn't make sense of it. :-(

Thanks for your help!
[Android General] xerootg:
Well, the dgrep log is regrettably short, missing the first full minute, but I did find this gem "ueventd: firmware: loading 'wlan/prima/WCNSS_qcom_wlan_nv.bin' for '/devices/soc/a000000.qcom,wcnss-wlan/firmware/wlan!prima!WCNSS_qcom_wlan_nv.bin'"

In the logcat, I also see your friend SELinux making life hard for wlan too:

First, loads are attempted:

ueventd: firmware: loading 'wlan/prima/WCNSS_qcom_wlan_nv.bin' for '/devices/soc/a000000.qcom,wcnss-wlan/firmware/wlan!prima!WCNSS_qcom_wlan_nv.bin'
ueventd: loading /devices/soc/a000000.qcom,wcnss-wlan/firmware/wlan!prima!WCNSS_qcom_wlan_nv.bin took 12ms

But then dramatically?

[cpu3 init 1] selinux: avc: denied { set } for property=wlan.driver.config pid=1484 uid=1000 gid=1000 scontext=u:r:wcnss_service:s0 tcontext=u:object_r:wifi_prop:s0 tclass=property_service permissive=0

try waiting a minute into boot and then holding down the power button till your in recovery. The kernel log should be in /sys/fs/panic/console-ramoops, it's hard to get the beginning sometimes.

I also see some of the stuff in my vendor partition floundering in your logcat, audio restarting without rhyme or reason, binder cant find stuff cause TCL didnt follow directions on how to be treble compliant...

linker : CANNOT LINK EXECUTABLE "/vendor/bin/hw/vendor.qti.hardware.factory@1.0-service": library "vendor.qti.hardware.factory@1.0.so" not found: needed by main executable

You know, things that make any developer cringe. lol. I'll work on my vendor, since you've got me at my desk looking at logs.
[Android General] Gestalt73:
Oops, sorry about that. these three were pulled just after boot completed.

console-ramoops

dmesg

logcat
[Android General] xerootg:
My vendor. I seem to have lost track of the modded stock vendor I build and then flashed, so I just dumped my vendor partition. As always, back your vendor up before flashing something from the interwebs.

Commands that are your friend:

dd if=/dev/block/bootdevice/by-name/vendor of=/sdcard/vendor-backup.img
dd if=/sdcard/vendor.img of=/dev/block/bootdevice/by-name/vendor

chkdisk and try to mount it before rebooting:

e2fsck -f /dev/block/bootdevice/by-name/vendor /vendor
mkdir /vendor
mount -o noatime /dev/block/bootdevice/by-name/vendor /vendor

if things look hunkydory (like, dmesg doesnt show blood when you look at it after mounting sucessfully), reboot. You should be booting android 11 with audio, wifi, etc.

I do have working gcam

From a rooted shell session OR recovery,

echo 1 > /data/property/persist.vendor.camera.HAL3.enabled
echo 1 > /data/property/persist.vendor.camera.eis.enable

I use a 7.3, I played gcam wackamole till one worked. HDR works well with the rear cam, the front cam refuses to save the picture. idk. something else to fix.

The KTweak scripts are really needed on android 11 for squeezing every drop of perf out of this poor processor, so grab that from the app store. It runs at boot and tweaks the kernel into running as good as it can.
[Android General] xerootg:
It blows my mind that TCL ever shipped this thing.

[ 0.000000] [cpu0 swapper/0 0] **********************************************************
[ 0.000000] [cpu0 swapper/0 0] ** NOTICE NOTICE NOTICE NOTICE NOTICE NOTICE NOTICE **
[ 0.000000] [cpu0 swapper/0 0] ** **
[ 0.000000] [cpu0 swapper/0 0] ** trace_printk() being used. Allocating extra memory. **
[ 0.000000] [cpu0 swapper/0 0] ** **
[ 0.000000] [cpu0 swapper/0 0] ** This means that this is a DEBUG kernel and it is **
[ 0.000000] [cpu0 swapper/0 0] ** unsafe for produciton use. **
[ 0.000000] [cpu0 swapper/0 0] ** **
[ 0.000000] [cpu0 swapper/0 0] ** If you see this message and you are not debugging **
[ 0.000000] [cpu0 swapper/0 0] ** the kernel, report this immediately to your vendor! **
[ 0.000000] [cpu0 swapper/0 0] ** **
[ 0.000000] [cpu0 swapper/0 0] ** NOTICE NOTICE NOTICE NOTICE NOTICE NOTICE NOTICE **
[ 0.000000] [cpu0 swapper/0 0] **********************************************************

I do see that your userdata partition is not mountable.

Reboot to recovery, and run this (it will wipe userdata, be warned)

umount /data
umount /sdcard
/sbin/e2fsck -f /dev/block/bootdevice/by-name/userdata
/sbin/resize2fs -f /dev/block/bootdevice/by-name/userdata

Here's the logs to show it (p53 is userdata)

EXT4-fs (mmcblk0p53): VFS: Can't find ext4 filesystem

Reboot to recovery, adb push my un xz'd vendor to your /sdcard and flash it with dd after backing yours up, and you should have a functional system. Be sure to put your vendor somewhere safe, it's a different rev than mine and looks interesting based on the logs.
[Android General] xerootg:
Well, I spoke too soon on CAOS11, this morning I woke up to find my phone at the TWRP unlock screen. After I dumped the vendor image, I ran adb root and apparently forgot to unroot it, and somehow the adbd binary got deleted resulting in a immediate reboot to recovery when attempting to boot to system. I've found when the pepito freaks out, that it revokes a bunch of package permissions. Its like rescue party freaks out even though it's disabled. IDK.

So, the carnage required that I made a symlink to adbd (I don't recommend this) to boot to a blank screen and regrant a couple system level permissions to get the lockscreen to render (logcat is your friend). I always loose my texts and call history when this happens. I had been using sms backup and restore on an hourly schedule, but it stopped running sometime in the last week, so I still lost stuff. Guess I'll be wiping my phone soon.

pm grant com.android.systemui android.permission.READ_CONTACTS
pm grant com.android.bluetooth android.permission.READ_CONTACTS

Keep in mind that these phones running GSIs are not for the faint of heart.
[Android General] Gestalt73:
Cool! thanks for that. I'm doing everything from Sugar for now, and replacing the 2*.mbn with your vendor completed boot and wifi,bluetooth,sound,gps seems to be working. Everything seems to work so far in the 30 minutes that I've been playing with it. I'll send you a link to my vendor.img if you'd be interested in it. I'll also reboot and pull logs tonight to see if there's anything interesting happening.

Seems like your vendor changes are incompatible with the built in camera app, but I added in the two values and installed google camera 7.3. (EDIT) front camera is saving photos for me. UPDATE: ok, that's weird. i reflashed the exact exact same directory of mbn files, and the second time I did it the stock camera works just fine. that's odd.

Interesting. I've loaded it up and will take a look. I'm also going to try an overclocking app. random app #1 is claiming there's about another 100mhz or so of headroom on the chip. I'm running some benchmarks before and after to see if that's actually a thing. The phone has pretty crap battery life anyways, a little overclock couldn't make it much worse.

Wow, scratch that. max cpu speed is 1401mhz stock, but it automatically drops to 1094 when it overheats. and it overheats so easily.

Thanks!
[Android General] xerootg:
Haha yeah, it needs help doing more within it's stock clock rate, which is where ktweak comes in. It's completely open source if you care about those things, and there's a bunch of different profiles to pick from. I personally like the "balanced" branch, it prioritizes usability with battery quite well.
[Android General] tgraneberg:
Man I wish I understood more of the technical talk 😅

Would be great if someone at one point would make a post about your findings in a more noob friendly language 😉

If anyone has trouble getting magisk working my advise is to rename the apk file from GitHub to a zip and just flash it through twrp - would have saved me a lot of headaches when I first got the phone!

Also, I bought a replacement battery from AliExpress supposedly at 1500mah - phone reports it as 1000mah and I really can't sense any improvement in battery life. Just so you know 🙂

Great that there still seems to be some interest in this nifty little device!
[Android General] Gestalt73:
Interesting... I also ordered a "1500mah" battery from aliexpress. 800mah vs 1000mah is still an improvement if it's being reported accurately, and the batteries on some of these devices are now 2 - 4 years old.

I'll still swap it out just to see. Thanks!
[Android General] tgraneberg:
Let us know how it works out for you 🙂

Has anyone in here had any luck with a more "graphically challenging" ROM? Miui, flyme etc...
[Android General] xerootg:
I had to set down the pepito for a bit while life was crazy. I got the latest security patched build of 11 to build but it's not booting yet. Unfortunately it's not a huge priority to have a working pepito at the moment, as I have an Atom L for the time being. I suspect I'll probably pick the pepito back up full-time once the wifi drivers on the Atom L totally drive me insane, so there is some hope of me working on this more. Just remember, even if I get a newer build of 11 running it's not gonna be a reasonable kernel and I'll be using tons and tons of android patches (read: instability is likely, just like today) just to keep the thing running :(

Any luck with the battery? I strongly suspect that a higher capacity battery (if it's even possible) would not report correctly, as the kernel is compiled with 800mah as a constant in the devicetree stuff.