yashsingh1/xdaforums huggingface dataset:
[Android Q&A, Help & Troubleshooting] bigwigs:
devicetree file i gave u is from latest-boot.img from last OTA image. aospdtgen does the same thing. it was extracted from payload.bin.
[Android Q&A, Help & Troubleshooting] zxczxc4:
Fantastic! Just as a warning to others, it's not free.

But it does just what I needed, thank you!
[Android Q&A, Help & Troubleshooting] juask:
Wow! Thank you a lot for such a reply with video - this is very informative!!!
[Android Q&A, Help & Troubleshooting] dferreira:
Hey, not sure about ETA 😕 been juggling three of our family's birthday parties for little friends and family members for this past week 😅 I really want to make sure I have a solid build where Always On Display works, and Night Light works integrated with our eink screen. I'm doing this out of my own personal interest and time so it will be here when I can get it done 😉

You can use AndyYan googleless builds and patch it with the script that @damianmqr shared if you don't want to wait so you get at least a good experience with eink. Ootb AndyYan builds don't work great with eink.
[Android Q&A, Help & Troubleshooting] artelse:
No problem, take your time, it's already marvelous what you have achieved for the A9! I'm patient for your Googless LOS20 build :D
[Android Q&A, Help & Troubleshooting] CatZem:
Howdy, can anybody send me extracted stock super.img or system.img using this program https://sourceforge.net/projects/mu...RO2RW/RO2RW-StableBeta.v3.7.2.1.zip/download?
[Android Q&A, Help & Troubleshooting] CatZem:
and also a question, is it possible to downgrade firmware without loosing imei code?
[Android Q&A, Help & Troubleshooting] vbhai:
Anyone been able to figure out the vibration issue? It is still not working for me :(

The only reason the phone cannot become a daily driver for me.

Tried a few things:

I think the vibrator class is in /sys/class/leds/vibrator and /sys/class/leds/vibrator_1

Doing echo 1 > vibrator/activate triggers the motor but the intensity or something is off with it.

Earlier I was able to temporarily fix it on Lineage with:

adb shell settings put global vibrate_level_value 0x48

but does not seem to be working anymore.

Tried following instructions from a couple of other GSI issues:

[Tecno POVA 4 Pro] Vibration does not work · Issue #21 · TrebleDroid/treble_experimentations

Current Behavior: Vibration does not work in any GSI-based system at all. Describe the bug As I said, nothing that involves vibration works. To Reproduce Literally do anything that should normally ...

github.com

Still outta luck. Just ran the command:

chown -R system:system /sys/class/leds/vibrator

Anyone got any ideas. Sadly without the vibration motor working, I can't put my phone on silent and rely on it to notify me for calls, etc.
[Android Q&A, Help & Troubleshooting] bigwigs:
If you download rar files and unzip them, you will find super.img - https://drive.google.com/drive/folders/1_5PvcvgA9TltEU_XwmiL-t2Eh0VM6C40
[Android Q&A, Help & Troubleshooting] dferreira:
Yep, it's a restriction on sysfs:

type=1400 audit(0.0:2028647): avc: denied { write } for name="brightness" dev="sysfs" ino=45397 scontext=u:r:system_app:s0 tcontext=u:object_r:sysfs:s0 tclass=file permissive=0
[Android Q&A, Help & Troubleshooting] dferreira:
OK, computer is building an updated LOS20:

- Enabled Always On Display

- Enabled vibration motor strength settings

- Latest Eink Center

- sepolicy updated to allow system_app to write to sysfs (should fix Night Light)

- Enabled USB OTG

Will post here as soon as I verify it boots and we can update from current build without wiping out userdata.
[Android Q&A, Help & Troubleshooting] dferreira:
There is an overlay setting for Settings app that allows us to set the vibration strength default. I've enabled it on my latest LOS20.
[Android Q&A, Help & Troubleshooting] vbhai:
Did that fix the vibration? Can you share a screenshot of that? Where is the setting supposed to be?
[Android Q&A, Help & Troubleshooting] treff89:
Incredible, I think I'll pull the trigger and switch. Sounds feature complete!

Will it be able to show the text of messages on the AOD/lockscreen? or be able to gain that ability with an app or Magisk module? That's a feature I'm really enjoying in the native OS, since I'm often scrubbed sterile and can't touch the phone but would still like to see what the message says.
[Android Q&A, Help & Troubleshooting] vbhai:
Why do you build the ROM from source when you can simply repack the .img?

Also, did you get a chance to update to the latest treble app?
[Android Q&A, Help & Troubleshooting] dferreira:
I do it from source because it allows me to learn, and I can add functionally directly to the OS. About latest Treble app, yes.

The build failed due to merge conflicts. Will sort them out.
[Android Q&A, Help & Troubleshooting] vbhai:
Fair enough! :)

Cheers about the latest treble app.

Looking forward to a successful build!
[Android Q&A, Help & Troubleshooting] CatZem:
Howdy, did anybody successfully made calls work on lineage os wihtout gapps?
[Android Q&A, Help & Troubleshooting] dferreira:
Calls work without Gapps. You just need to install IMS from Treble settings (this is Qualcomm model proprietary code).
[Android Q&A, Help & Troubleshooting] vbhai:
No idea how but vibration started working perfectly on Lineage 21. Probably one this that fixed it:

Edit: My bad. Still not working. Longer duration vibrations crap out.
[Android Q&A, Help & Troubleshooting] meh.:
Thanks, I kinda depressingly gave up on having a phone for a while, but since I need it to pay rent today I was like "well, let's try to get to EDL mode and recover this thing" and I can't even get into EDL mode :/

I'm not sure if it's the cable or the phone or me at this point, tried the way it's pointed out in the reddit thread you linked, tried with what dferreira said in the past, and what Renate said in the past, I either remain stuck in the bootloop or it does stay with the screen turned off, but I think the phone is just actually off since `dmesg` doesn't show anything relevant.

Any advice aside from making my own EDL cable or trying to see if the cable works on another phone?
[Android Q&A, Help & Troubleshooting] bigwigs:
Can you provide screenshots and details on what OS are you using and steps you are following?

For me, on fedora im able to use edl restore without edl cable. Only for windows and qfil app , I need edl cable.
[Android Q&A, Help & Troubleshooting] kevkiid:
I had a lot of issues with windows and qfil app with EDL. Was mostly security related where I had to change security settings because Windows didn't like the driver for the EDL cable without reducing security settings. Will probably go to Linux next just to see if it's easier but am waiting for next Lineage 20 build before playing with factory again.
[Android Q&A, Help & Troubleshooting] dferreira:
Not sure dmesg will show you anything. You can launch edl command on your terminal and it will wait for a device in EDL to be connected. So keeping the phone plugged in: press the edl button and vol up+down + power. As soon as you feel the phone vibrate, let go off the edl button and all the buttons. It will look like the phone is not alive but you will see edl command on the terminal detect the phone!
[Android Q&A, Help & Troubleshooting] meh.:
Tried both on Windows and Linux, I'm pretty sure I need EDL mode since it's bootlooping and even fastboot is broken.

It should allegedly show up in lsusb if it were in EDL mode, so something should still come up on dmesg.

Trying to do what you said and still nothing, after the phone vibrates it just keeps bootlooping like nothing happened, hope it's the cable, if somehow a Magisk downgrade can **** up the bootloader to the point EDL mode doesn't work anymore it's kinda sad.

I guess I'm gonna take it to a phone repair shop and ask them to try with one of their cables.
[Android Q&A, Help & Troubleshooting] dferreira:
I highly doubt a phone repair shop would know what to do with that. Could be wrong, of course. Where are you located? I may be able to assist.
[Android Q&A, Help & Troubleshooting] dferreira:
As you can see here, I was in this situation a while back: https://xdaforums.com/t/hisense-a9-root-reward-offered-snapdragon-662.4495809/post-88917059

Reading back I realised I gave you the wrong instructions: turn phone completely off. Press and hold EDL button but don't plug the USB cable yet. Press and hold both vol up + down and plug in the cable holding the EDL button. Count to 2, let go of the EDL button but keep the vol up + down. It will boot into EDL and you let go the volume keys!
[Android Q&A, Help & Troubleshooting] dferreira:
Another thing to note: EDL stays active only for a few moments waiting for instructions. It will timeout and stop working after a minute or so.
[Android Q&A, Help & Troubleshooting] meh.:
And you would have been correct, tried 6 different stores and only one of them knew what an EDL cable was (they also did data recovery stuff), but language barrier prevented me from getting any results, I live in Berlin.

I'm gonna try this, thanks a bunch for the help and all the work you're doing with this device, it's one of the few things that was making my life better :>

Noted, I'll keep `edl printgpt --memory=ufs` running to see if it picks it up, thanks again :)
[Android Q&A, Help & Troubleshooting] dferreira:
Good luck! If it helps, I can try to restore it. I'm in Finland, Oulu 😊
[Android Q&A, Help & Troubleshooting] dferreira:
You also need to pass in the loader .elf file!
[Android Q&A, Help & Troubleshooting] meh.:
Aight, just tried, without pressing the power button it does nothing, with pressing the power button the screen goes black (as in, actually rendering solid black) for a few seconds and then reboots and goes to recovery.

Still not sure if the EDL cable is legit or not, it had one review on Amazon saying it didn't work but I hoped it was just the reviewer not knowing how to use it or something.

Kinda considering making an EDL cable myself, just didn't want to sacrifice a good cable for no reason :P

And thanks for the offer, it's gonna be my last resort if none of these things I try end up working, I have the feeling it's either me doing something silly or the EDL cable I bought that is trash.
[Android Q&A, Help & Troubleshooting] meh.:
Yeah I noticed when it complained lmao, running `edl --loader=prog_firehose_ddr_001360E1.elf printgpt --memory=ufs` now, is that the right loader?
[Android Q&A, Help & Troubleshooting] dferreira:
This is what I bought and works:

Amazon.de
[Android Q&A, Help & Troubleshooting] meh.:
That looks exactly like the one I have, I now tried with a different microUSB -> USB-C adapter, and the phone does wake up instead of doing nothing upon releasing the EDL button, but then it just boots to recovery.

Is there a timing for releasing the vol up+down buttons as well?
[Android Q&A, Help & Troubleshooting] dferreira:
Yeah that's correct. EDL is quite finicky and it's about getting the timing right. I remember having a hard time to get it to boot on that. What can help is: keep pressing the edl button on the cable + vol up + down + power. As soon as the phone reboots, let go off the power button and 1 second later the edl button on the cable. As soon as you see stuff on edl terminal let go the vol keys. Another thing that I just remembered... I remember I needed sudo on Fedora. Can you try with sudo?
[Android Q&A, Help & Troubleshooting] meh.:
Yeah I've been running it as root. The going to recovery seems to just be the charging actually, using a normal cable makes the phone wake up and boot to recovery.

Gonna try a bunch more with different timings, I do think the adapter that came with the EDL cable is broken, if I plug it in to another phone it doesn't do anything, if I use my adapter then it asks permission for USB debugging.
[Android Q&A, Help & Troubleshooting] dferreira:
Yep 💯 😊
[Android Q&A, Help & Troubleshooting] meh.:
So for anyone in the future who might be as confused as me, the problem was the microUSB adapter that came with the cable :P

Now dumping the `userdata` partition and hoping I didn't clear user data by mistake from the recovery in the past few weeks.
[Android Q&A, Help & Troubleshooting] meh.:
@dferreira IT'S ALIVE! Thanks so much for the help, now time to break it again with Lineage!

Also if anyone else has issues with `qdl` on Linux (it was just returning 1 without any messages), I just used edl for it:

for i in {0..5}; do
edl --loader=prog_firehose_ddr_001360E1.elf qfil rawprogram${i}_001360E1.xml patch${i}.xml . --memory=ufs
done
[Android Q&A, Help & Troubleshooting] bigwigs:
qdl on first run somehow didn’t work for me either . Then on second run it was fine.
[Android Q&A, Help & Troubleshooting] 4bitFox:
Hello guys!

I've been messing around with my A7CC as I'm trying to get GSI working together with @dferreira.

So far I have messed around with the LineageOS GSIs from Andy Yan. Sadly none of the ones I tried seem to work.

The lineage-21-light and lineage-21-td-vndklite images resulted in the phone rebooting into its bootloader.

The lineage-21-td build was different in that it booted into recovery instead.

With the help of @dferreira we were able to figure out that his E-Ink control app can be adjusted to work with the A7CC. This way if we get GSIs working, we can control the screen!! :)

A7CC has different paths and some different IDs for the screen than A9:

Paths for E-Ink control look like this:

/sys/devices/platform/soc/soc:ap-ahb/20400000.dsi/20400000.dsi.0/display/panel0/epd_white_threshold

/sys/devices/platform/soc/soc:ap-ahb/20400000.dsi/20400000.dsi.0/display/panel0/epd_commit_bitmap

/sys/devices/platform/soc/soc:ap-ahb/20400000.dsi/20400000.dsi.0/display/panel0/epd_usbswitch

/sys/devices/platform/soc/soc:ap-ahb/20400000.dsi/20400000.dsi.0/display/panel0/epd_power

/sys/devices/platform/soc/soc:ap-ahb/20400000.dsi/20400000.dsi.0/display/panel0/epd_contrast

/sys/devices/platform/soc/soc:ap-ahb/20400000.dsi/20400000.dsi.0/display/panel0/epd_connect

/sys/devices/platform/soc/soc:ap-ahb/20400000.dsi/20400000.dsi.0/display/panel0/epd_display_mode

/sys/devices/platform/soc/soc:ap-ahb/20400000.dsi/20400000.dsi.0/display/panel0/epd_force_clear

/sys/devices/platform/soc/soc:ap-ahb/20400000.dsi/20400000.dsi.0/display/panel0/epd_temp

/sys/devices/platform/soc/soc:ap-ahb/20400000.dsi/20400000.dsi.0/display/panel0/epd_black_threshold

/sys/devices/platform/soc/soc:ap-ahb/20400000.dsi/20400000.dsi.0/display/panel0/epd_vcom

So if we run "echo 1 > /sys/devices/platform/soc/soc:ap-ahb/20400000.dsi/20400000.dsi.0/display/panel0/epd_force_clear" for example, it clears the screen.

Values of "cat /sys/devices/platform/soc/soc:ap-ahb/20400000.dsi/20400000.dsi.0/display/panel0/epd_display_mode" are as follows:

clear 1049091

balanced 513

smooth 518

fast 521

I've also put this information here: https://github.com/4bitFox/hisense_a7cc/blob/main/README.md#e-ink-controls

I've got my phone already unlocked and rooted from the seller. On boot it displays:

INFO: LOCK FLAG IS : UNLOCK!!!

WARNNING: LOCK FLAG IS : UNLOCK, SKIP VERIFY!!!

Does anyone have thoughts on how to get a GSI working on that device?
[Android Q&A, Help & Troubleshooting] 4bitFox:
Oh I forgot to add the Treble Info. It might be useful to figure out whi GSI isn't working for A7CC?
[Android Q&A, Help & Troubleshooting] bigwigs:
Were u able to root the device with stock rom? Or did that have issues too?

What about looking at boot partitions? Does changing active partition help?
[Android Q&A, Help & Troubleshooting] 4bitFox:
The device is rooted in stock rom. Stock rom works flawlessly this way.

As far as I understand, this device is system as root, so it doesn't have A/B Partitioning sheme.
[Android Q&A, Help & Troubleshooting] 4bitFox:
I've just looked up a bit about system as root. Apparently it means it should support A/B?? But I don't see that on the A7CC stock rom. I just assumed because Magisk didn't say anything about active slot being A or B. Treble info app also says "system as root" applies but "seamless upgrades" are unsupported. I guess these two are different things? Treble Info says I need to install AB GSI on start screen (Also A only seems to be deprecated). I assume it is up to the Rom developer to implement A/B updates?
[Android Q&A, Help & Troubleshooting] bigwigs:
Check what u get when u use

fastboot getvar all

fastboot getvar current-slot
[Android Q&A, Help & Troubleshooting] 4bitFox:
According to: https://github.com/phhusson/treble_experimentations/wiki

Wouldn't that mean I still need a AB GSI even if stock rom doesn't?
[Android Q&A, Help & Troubleshooting] dferreira:
I was reading more into this. We can't trust what that Treble app says regarding the type of GSI you need to use. I think you'll need to do a try them all approach :D https://community.e.foundation/t/device-support-project-treble/19645/52 -> you can try /e/OS GSI images. I'm thinking your device is arm64 A only device.
[Android Q&A, Help & Troubleshooting] bigwigs:
Yeah - (bootloader) current-slot:

is empty

so it is A only device. Do try n error methods for GSI with A/B and hopefully it works out.
[Android Q&A, Help & Troubleshooting] 4bitFox:
Hmm. I tried /e/OS and Lineage 18.1 A only builds but they take me straight to the bootloader. The AB builds booted into recovery instead, except when I flashed incompatible vndklite variants. I assume recovery might be a better sign but this is not really based on anything. I've also tried AOSP with little success. Not sure if trying more roms will change much because I assume they are all based of lineage and aosp anyways. Is there anything that could give us a hint at what we are missing?
[Android Q&A, Help & Troubleshooting] treff89:
4bitFox, can we politely suggest that you make a new thread for A7CC efforts? This A9 thread is already very bloated and should really be a whole forum... in fact some users on 4PDA have commented they struggle to follow it ]. It would only get more discombobulated if we start talking about two different devices!
[Android Q&A, Help & Troubleshooting] 4bitFox:
Sorry for just busting in. I'll move to: https://xdaforums.com/t/hisense-a7cc-gsi.4669648/
[Android Q&A, Help & Troubleshooting] kriegervondi:
Just had my Hisense A9 delivered, I successfully flashed the LineageOS 20 image from dferreira and rooted it using Magisk, however, it's giving me a "This device isn't Play Protect certified" error. I've enabled Zygisk and installed PlayIntegrityNEXT, MagiskHideProps Config, and Shamiko but the error keeps showing up.

Is there any other way around this or did I do something wrong during the install?

EDIT:

Also, is there a way of returning to the stock ROM? Not sure where to find a ROM for it.
[Android Q&A, Help & Troubleshooting] dferreira:
Enable Spoof system properties and clear Play Stores app storage (long press icon, app info, storage and press clear storage). Open Play Store and it will be certified. What you are seeing is the previous attestation test result 😉
[Android Q&A, Help & Troubleshooting] bigwigs:
You can download stock rom from one of the links in here - https://github.com/aimindseye/hisense-a9

For flashing to stock rom - https://github.com/aimindseye/hisense-a9/blob/main/flashstockrom.md

You will need edl cable.

@dferreira has already provided info on how to enable play protect.
[Android Q&A, Help & Troubleshooting] Rukairi:
I'm tried searching if anyone had the same issue as I did, but could not find anything.

I recently picked up the A9 and I tried flashing the LineageOS rom, but it keeps booting me back into the stock rom like nothing happened. It appears that it came pre-rooted and unlocked to use GApps. Any clue on what I'm doing wrong?
[Android Q&A, Help & Troubleshooting] bigwigs:
Well, if it boots into stock rom then your flashing was not successful. Did you use right img for flashing?
[Android Q&A, Help & Troubleshooting] dferreira:
Restoring via EDL re-locked it. Will unlock again to test.
[Android Q&A, Help & Troubleshooting] dferreira:
Success:
[Android Q&A, Help & Troubleshooting] Segnaro:
Fantastic! I can't believe it was that easy. I was expecting Hisense to have blocked that command on the stock bootloader.

Can you share your compiled fastboot?
[Android Q&A, Help & Troubleshooting] dferreira:
Yes, I've shared it on the Google Drive (Linux and Windows binaries!). Something weird, though is still occurring. If you reboot the phone, it goes back to locked. Which is very strange.

I've tried flashing magisk boot.img and disabling verity and verification of vbmeta partition still makes my phone just reboot to fastboot mode. The good news is, I can use my compiled fastboot to unlock it and I can flash another boot.img without having to go through EDL again.
[Android Q&A, Help & Troubleshooting] Segnaro:
It seems like the Hisense unlock command only does a temporary unlock of the bootloader. Once fastboot is exited it reverts to locked.
[Android Q&A, Help & Troubleshooting] dferreira:
It's so weird, has anyone seen anything like this before?
[Android Q&A, Help & Troubleshooting] Renate:
Oh, I was so confused what you were doing.

I'm so stupid, I've been over this terrain before.

I missed this because there are two separate errors:

fastboot client saying that the command is not in its repertoire

fastboot client reporting a remote error of unknown command

fastboot oem is a standard whitelisting of any command (under oem).

If you say fastboot eviscerate cephalopods it will not even try to send it.

I even modded a fastboot.exe to allow everything once. I can't seem to find it.

Anyway, doesn't a normal write in EDL work without this unlock?
[Android Q&A, Help & Troubleshooting] dferreira:
EDL won't work to send custom .img because the bootloader is locked... Android 11 is validating the signatures if it's on.
[Android Q&A, Help & Troubleshooting] Renate:
Oh, yeah. EDL write itself works just fine, it's the image booting.

This will be a problem if a reset will relock and your image won't load.

Did you try fastboot Hisense unlock, fastboot continue?
[Android Q&A, Help & Troubleshooting] Segnaro:
While temp unlocked it goes into recovery mode.

While locked it boots normally.
[Android Q&A, Help & Troubleshooting] Segnaro:
Actually that's not recovery mode.

It's a screen asking to press the Volume button if you're okay with erasing all your data. Which makes sense, but I bet it reboots into a locked state afterwards.
[Android Q&A, Help & Troubleshooting] Renate:
Well, normally unlocking wipes all data.

I think when it reports unlocked it hasn't actually unlocked yet.

I think somebody has to bite the bullet and wipe it.
[Android Q&A, Help & Troubleshooting] Segnaro:
I did the wipe and the bootloader was locked on reboot.

Also under temp unlock "fastboot flash" commands work but "fastboot boot" do not.

Sending 'boot.img' (98304 KB) OKAY [ 2.277s]
Booting FAILED (remote: 'unknown command')
fastboot: error: Command failed
[Android Q&A, Help & Troubleshooting] dferreira:
So close... yet so far 😭
[Android Q&A, Help & Troubleshooting] Renate:
Maybe try hacking a custom recovery? Just as a reality check.

I don't think that security is that tight on recovery.

Even just add a text file to sbin or whatever.

Does recovery have AVB?
[Android Q&A, Help & Troubleshooting] Segnaro:
Could try generating a custom avb key, flash avb_custom_key, sign the vbmeta with the custom key, and then flash the vbmeta.

https://xdaforums.com/t/guide-re-lo...ustom-rom-such-as-lineageos-official.4260825/
[Android Q&A, Help & Troubleshooting] dferreira:
Not sure about AVB on recovery, but I think it's also signature verified too. One of the tests I did was installing Magisk on the recovery partition (it's one of their methods) and the phone went straight to fastboot.

I can try porting TWRP to this device, and boot from it to install Magisk etc. If the temporary unlocked state allows us to continue boot into a modified recovery, we may be able to root it.
[Android Q&A, Help & Troubleshooting] dferreira:
Will you try it or you want me to try it? 😊