[Overlay] Dil3mm4's Overlays for Anne Series devices (all variants) - Huawei P20 Lite ROMs, Kernels, Recoveries, & Other

This overlay APK it's "born" because of the necessity to overcome missing overlays (thanks Huawei, love ya xoxo) under /vendor/overlay .
What it does exactly?
Nothing more than adding AOSP overlay matching our device capabilities and also, inherits Anne power profile.
Do I need it?
Yes.
It will fix Battery stats problems and add compatible features for your ANE over GSI.
This will conisderably enhance your experience on every GSI ROM giving better functionality overall.
Why you did that?
Because I'm sick of inheriting stuff that belongs to /vendor, in system.
Project Treble it's all about separating vendor implementation from system.
So why we should keep adding OEM stuff in that doesn't belong no more in /system
I have XYZ device with ZYX firmware can I use it?
As long as you're on a ANE-*** device (with a non-EMUI firmware), you're good to go.
Otherwise DO NOT USE IT FOR THE LOVE OF MANKIND.
I don't have ANE, but I want it on my Huawei device !
Well, that's fine, join the Telegram group @GSI_HI6250, so that you could help me with stock files grabbing to make an overlay for your device.
Overlay configs (aka "what does dis do, ser tell pl0x"):
Allows all rotations;
Configs autobrightness levels;
Configs autobrightness Lcd values;
Configs BLE;
Sets Doze Component;
Sets Doze After screen off;
Configs autopowermodes (doze related);
Configs power management on:
screen off due to proximity sensor interaction;
decouple on suspend state;​
Configs brightness doze value;
Configs Intrusive led;
Configs dual band wifi support (where available);
Configs hotswap (where available);
Configs Color Transform on HWC;
Configs VoLTE available (even tho it needs support on GSI side);
Configs WFC over IMS;
Configs wifi background scanning support.
Installation Instructions
Download the overlay
With root, push the overlay to /vendor/overlay. Create the folder if it doesn't exist.
Run the following command in a rooted terminal or ADB shell:
Code:
chcon u:object_r:vendor_overlay_file:s0 /vendor/overlay;chcon u:object_r:vendor_overlay_file:s0 /vendor/overlay/dil3mm4-overlay-ANE.apk
XDA:DevDB Information
[Overlay] Dil3mm4's Overlays for Anne Series devices (all variants), Device Specific App for the Huawei P20 Lite
Contributors
Dil3mm4
Version Information
Status: Stable
Created 2018-07-10
Last Updated 2018-07-09

Bettery reporting still not working

AJ said:
Bettery reporting still not working
Click to expand...
Click to collapse
Then you're doing it wrong.
Sorry, but I can't fix you.

Dil3mm4 said:
Then you're doing it wrong.
Sorry, but I can't fix you.
Click to expand...
Click to collapse
Am on aosp treble maybe that's why ,
Plus you don't have the device , how could you be so sure ???
wait i get this :
Code:
chcon: '/vendor/overlay/dil3mm4-overlay-ANE.apk' to u:object_r:vendor_overlay_file:s0: Read-only file system

AJ said:
Am on aosp treble maybe that's why ,
Plus you don't have the device , how could you be so sure ???
wait i get this :
Code:
chcon: '/vendor/overlay/dil3mm4-overlay-ANE.apk' to u:object_r:vendor_overlay_file:s0: Read-only file system
Click to expand...
Click to collapse
1- Who tells that I don't have this device? Are you some CIA agent or what?
2- This has been extensively tested.
3- You're free to don't use it, with this kind of cockiness you're showing, you won't receive any help from me.
Peace.

Dil3mm4 said:
1- Who tells that I don't have this device? Are you some CIA agent or what?
2- This has been extensively tested.
3- You're free to don't use it, with this kind of cockiness you're showing, you won't receive any help from me.
Peace.
Click to expand...
Click to collapse
Ok up to you
Peace too

AJ said:
Am on aosp treble maybe that's why ,
Plus you don't have the device , how could you be so sure ???
wait i get this :
Code:
chcon: '/vendor/overlay/dil3mm4-overlay-ANE.apk' to u:object_r:vendor_overlay_file:s0: Read-only file system
Click to expand...
Click to collapse
Do it in TWRP, you cocky bastard.

crayonicle said:
Do it in TWRP, you cocky bastard.
Click to expand...
Click to collapse
Did it in twrp , still says battery usage unavailable

AJ said:
Did it in twrp , still says battery usage unavailable
Click to expand...
Click to collapse
Well? Did it give any errors? Also, battery usage may take a while for it to finish analyzing all your apps and stuff, so it takes some time.

crayonicle said:
Well? Did it give any errors? Also, battery usage may take a while for it to finish analyzing all your apps and stuff, so it takes some time.
Click to expand...
Click to collapse
No , no errors , i mounted vendor placed the file there and ran the command in twrp terminal .

How can I verify if I did everything correctly and it works? I put the commands with fastboot
thx

UPDATE
-P compatibility
-Improved brightness levels
DOWNLOAD

Does this make GSI rom to support display notch?

I cant execute the command.
It gives me this error
Code:
chcon: '/vendor/overlay' to u:object_r:vendor_overlay_file:s0: Read-only file system
chcon: '/vendor/overlay/dil3mm4-overlay-ANE.apk' to u:object_r:vendor_overlay_file:s0: Read-only file system
How can I fix this?

Remount the vendor partition as RW
mount -o rw,remount /vendor
Sent from my Huawei P20 Lite using XDA Labs

sykomaniac said:
Remount the vendor partition as RW
mount -o rw,remount /vendor
Click to expand...
Click to collapse
Thx, it's working now. But I didn't notice any changes

Zerogoki_00 said:
Thx, it's working now. But I didn't notice any changes
Click to expand...
Click to collapse
You shouldn't really. It just fixes a bunch of vendor specific configuration issues
Sent from my Huawei P20 Lite using XDA Labs

@Dil3mm4
I think what I really need????????????,

Does anyone have BLE working on Pie roms? I can't connect to my Mi Band 3, logcat says something about BLE, but I don't know where to look deeper. BT headphones work ok. Seen somwhere that mi band is LE only device.
I have L21(C10), tried every rom, tried this overlay, every time get the same error.

Related

[RECOVERY]TWRP 3.1.0.0 - FIsH for FLEX 2

TWRP 3.1.0.0 with FIsH for our FLEX 2
Tested on h955 and it's still a BETA
Requirements
Here are the pre-requirements you have to met!
If you can't get them: Close this page and FORGET it (until the day you met those reqs)!
Here are the 2 simple requirements you have to met:
1. root by SuperSU >=v2.76 (greater or equal v2.76)
--> to test this requirement just start the installer of FIsH with --check (see next lines) which will check for all requirements and abort if its not possible
--> for many devices - if not all - this means you HAVE TO downgrade/install LL. It also means that you have to upgrade your SuperSU to this version by e.g. FlashFire if you have a lower version installed!
--> SU by phh is NOT supported => It needs a modified /boot and this would void the boot signing chain!
--> Magisk is NOT supported => It needs a modified /boot and this would void the boot signing chain!
--> I will NOT provide downgrading guides there are plenty of them so search and read.
--> I will NOT provide any guides in rooting your device
--> Before you think about downgrading to LL read about ANTI-ROLLBACK protection some devices and may have! Anti-Rollback means you CAN NOT downgrade - it would HARD-BRICK your device (wtf thinking the vendors who we are?? Is this even legal?!)! Check that before!!
2. you have to be able to disable SELinux in your booted Android
--> You do NOT need to set SELinux permanently to permissive. Just CHECK if you COULD get it MANUALLY. If you can get it OK. If not.. you obviously have not full root access but check the forums maybe there is something you can do about this.
--> I will NOT provide any guides enabling SELinux but some lines later you will see how u can execute the very simple check
--> to test this requirement just start the installer of FIsH with --check (see next lines) which will check for all requirements and abort if its not possible
Those above are hard facts so it may NEVER work with MM. Google has changed the way on how the boot chain will be verified and that means changes in /system will void it from now on.
If MM can get fully rooted somehow/somewhen on your device with SuperSU installed and you are able to disable SELinux the method will work there as well.
If you can not meet ALL of the above 2 requirements lay down and cry.
For the others: calm down and read on!
You can simply test those both requirements by downloading the FIsH package and execute the installer with the following test parameter:
./install.sh --check
This way nothing get installed but you will see if it would work on your device or not.
Limitations!
Keep in mind what I said above: FIsH does NOT unlock your bootloader!
That means with TWRP-in-FIsH you can NOT:
Install a custom ROM like CM/Lineage (this will modify boot = SOFT-BRICK)
Install a custom Kernel (this will modify boot = SOFT-BRICK)
Install a custom recovery (this will modify recovery = may SOFT-BRICK)
In short: do nothing which modifies boot or recovery partitions. Those changes will BREAK your boot signing chain.
You can of course flash everything which is modifying /system /data only (e.g. xposed, Audio mods, etc...)
You're able to backup and restore as well of course and doing any other modifications which you may can't while the Android system is running.
Download
READ THE REQUIREMENTS above before proceeding!
Then UNDERSTAND the requirements before proceeding! <-- omg this is crucial important!!!! Ensure that you really do not skip this step!
READ THE LIMITATIONS above before proceeding!
Then UNDERSTAND the limitations before proceeding! <-- omg this is crucial important!!!! Ensure that you really do not skip this step!
... and NEVER ask for ETA's!
if you can say:
Yes! I have read and totally understood the limitations AND the requirements!
then proceed. Otherwise read again until you got it.
Keep in mind that this is a HACK. It may soft-brick your device. you have been warned!
The concept is the same for all models but again no guarantees here for anything.
There is ALWAYS a risk and you should better backup what you do not want to loose before starting downloading this.
Download
Installation (Linux)
You can just install any newer version over an old one.
boot Android and connect USB cable
download the newest version to your PC and open a terminal in that directory
tar xzf TWRP-in-FIsH*.tgz
cd android_FIsH
./install.sh
check the output of that script. you should not see any errors there (hopefully)
Installation (Windows)
use FWUL or be patient.. maybe i or someone else release an installer... maybe...
First run (no PC required)
This FIsH gets installed PERMANENTLY! That means:
You can boot up TWRP the same way as described here again without re-installing.
If you re-install your STOCK image you have to re-install TWRPinFIsH as well.
reboot Android
you should now see: LED goes from blue to GREEN
NOW directly when u see this GREEN LED press VOLUME DOWN and do NOT release
wait until the device vibrates and the LED changed to RED. Then release the Volume Down button.
Wait until FIsH completed and TWRP should be shown --> This means FIsH has done it's job well!
This is a good time to do a full backup isn't it ? Manually mount the SYSTEM partition as it gets not auto mounted atm and do a full backup
reboot from here (safely ignore the msg "no OS installed" and reboot anyways) and you should see Android booting (hopefully ... if not see bottom)
Daily Usage (no PC required)
reboot Android
you should now see: LED goes from blue to GREEN
NOW directly when u see this GREEN LED press VOLUME DOWN and do NOT release
wait until the device vibrates and the LED changed to RED. Then release the Volume Down button.
Wait until FIsH completed and TWRP should be shown --> This means FIsH is doing it's job still very well
AGAIN: keep your mind up! You HAVE to ensure that whatever you do and whatever you flash -> NEVER TOUCH BOOT/RECOVERY! If you flash a ZIP ensure first that it do not modify them! Otherwise you WILL softbrick. You have been warned (several times now)
Trouble / Bootloop fix
if you encounter a bootloop (should never happen but who knows) you have 3 choices at least:
Option 1a: (TWRP-Bootloop) Within TWRP open Advanced -> File Manager -> Goto: /system/su.d and click "select" button -> Delete
Option 1b: (TWRP-Bootloop) From your PC: adb shell rm -rf /system/su.d/
Important: Catch the fish log (see next topic)
Option 2 (this works also for a bootloop without twrp): boot into download mode and use LGLaf to get a shell
then:
setenforce 0 <-- if that doesn't work you may have to do a FULL restore to stock
mount -oremount,rw /system
rm -rf /system/su.d/
reboot. You are out of the bootloop.
Important: Catch the fish log (see next topic)
Option 3: Last resort: Reflash STOCK. sorry.. there is always a risk..
Catch the FIsH logs
when in TWRP (or other ramdisk providing adb shell):
adb shell "cat /cache/fish/fish.log"
adb shell "cat /tmp/recovery.log"
OR - when in Android:
adb shell "su -c cat /cache/fish/fish.log"
adb shell "su -c cat /cache/fish/fish.log.old"
adb shell "su -c tar cvzf recoverylogs.tgz /cache/recovery"
adb pull recoverylogs.tgz
Upload the output to https://paste.omnirom.org and paste the link in the IRC channel (see next topic)
Support / IRC Channel
IRC means Internet Relay Chat and you will get best support here only.
Choose how to get in:
PC (HexChat and Pidgin are only 2 of them! This list is not complete!)
Android (Yaaic, AndChat, HoloIRC, AndroIRC are only a few of them! This list is not complete!)
Web (KiwiIRC-Web,FreenodeWebchat])
When you have to choose a channel it is: #Carbon-user
When you will be asked for a server network choose: freenode
Known issues (may never get fixed)
Due to the fact that FIsH is a BRUTAL hijack of the booting process several things may not work as expected.
This will normally not harm anything but you have to know about.
ZIP / ROM flashing:
omg really you wanna hear that again? OK: DON'T TOUCH BOOT / RECOVERY. And you be safe.
When you try to install a ROM it will modify at least BOOT. That means soft-brick!
When you try to install a custom Kernel.. omg really? It will definitively SOFT-BRICK! Maybe you should read the limitations again??
When you try to install a ZIP like xposed, supersu, Vipermod and others ensure that those are not modifying BOOT or RECOVERY partitions. For those mentioned it would be very unlikely but who knows.
FIRMWARE partition:
cannot be mounted - even not manually. You have to live with it.
Double Tap to wakeup (in TWRP):
Unfortunately this cannot work in TWRP-in-FIsH due to the nature of this hijack. You have to live with it.
Credits (without them - no FIsH!!!)
If you feel that someone / you is missing on this list lemme know!
Chainfire for SuperSU! This is the main part of FIsH.
TeamWin for TWRP
@cray_Doze, @dssmex, @Aaahh and @KeiranFTW for their hijack implementations (e.g. https://forum.xda-developers.com/showthread.php?t=2608408, first steps to a G4 hijack)
steadfasterX for the android FIsH !
Here is the h955 device tree for building TWRP with omnirom minimal sources - https://github.com/jarno83/android_device_lge_h955
Here are TWRP logs from backups and restoring if anyone interested - https://github.com/jarno83/twrp_logs
Changelog
29.04.2017 - TWRP-3.1-in-FIsH-v2.0_LGFLEX2_LL_BETA3.zip
Latest FIsH source code and fixes.
3.04.2017 - TWRP-3.1-in-FIsH-v2.0_LGFLEX2_LL_BETA2.zip
Fixed the RESTORE issue - thanks to SteadfasterX
Used latest FIsH source code.
Went to zip format, now a pit smaller.
2.04.2017 - TWRP-3.1-in-FIsH-v2.0_LGFLEX2_LL.tar.gz
The fishfood is TWRP 3.1.0.0 it uses 15c stock kernel for now. And has a problem with restoring.
What is TESTED
BACKUP and RESTORING /system and /data partitions - OK
Xposed V87 - flashes ok with twrp and works - http://dl-xda.xposed.info/framework/sdk22/arm64/
Tested Device List
H955 running 5.1.1 15c ROM
H950 running 5.1.1 PR ROM - thanks to iDefalt
Congrats
Have you seen the XDA template for FIsH?
https://forum.xda-developers.com/an...ack-to-boot-want-device-t3578373/post71567825
.
Sent from my LG-H815 using XDA Labs
steadfasterX said:
Congrats
Have you seen the XDA template for FIsH?
https://forum.xda-developers.com/an...ack-to-boot-want-device-t3578373/post71567825
.
Sent from my LG-H815 using XDA Labs
Click to expand...
Click to collapse
Ok, thanks Didn't saw that
So anyone tested it yet ? TWRP booting ?
I have my phone in repair center atm cant test anything.
Yes, I have it on my h955 and twrp boots fine. I tested system backup and restore, now working. Flashed xposed also ?
Sent from my LG-H955 using XDA-Developers Legacy app
/data backuped and restored with success ?
Sent from my LG-H955 using XDA-Developers Legacy app
Ok so now what? What is the next step? On road To install custom rom or custom kernel.
dadaa1 said:
Ok so now what? What is the next step? On road To install custom rom or custom kernel.
Click to expand...
Click to collapse
SteadfasterX is developing some stuff... so maybe on day we will have a possibility to use full custom roms.
But for now we have a custom recovery
If someone is willing to cook something interesting that can work with not touching the boot or recovery partitions... then well I would call it a custom rom
In theory it should work on a H950PR? So I can at least test it
maucvs said:
In theory it should work on a H950PR? So I can at least test it
Click to expand...
Click to collapse
Hi, I think it will work. You'll need to be rooted and You can give it a try ?
Sent from my LG-H955 using XDA-Developers Legacy app
It should work..
I already tried this on h950 but there is dead android with red '!' ..
For some reason it wont boot into the fishrecovery and goes to the recovery partition..
Ill try smth when i have time.
adds08 said:
It should work..
I already tried this on h950 but there is dead android with red '!' ..
For some reason it wont boot into the fishrecovery and goes to the recovery partition..
Ill try smth when i have time.
Click to expand...
Click to collapse
Seams like the twrp I build is not liking h950
Sent from my LG-H955 using XDA-Developers Legacy app
I'll try to make h950 tree and build a test twrp.
Sent from my LG-H955 using XDA-Developers Legacy app
adds08 said:
It should work..
I already tried this on h950 but there is dead android with red '!' ..
For some reason it wont boot into the fishrecovery and goes to the recovery partition..
Ill try smth when i have time.
Click to expand...
Click to collapse
Can you test this... made a h950 test tree. The twrp boots on my h955 also.
ergo911 said:
Seams like the twrp I build is not liking h950
Click to expand...
Click to collapse
I had a similar issue for the g4 and here it was FIsH because it was too slow for some devices . I will release a new FIsH release which improves speed dramatically asap.
.
Sent from my LG-H815 using XDA Labs
Thanks ?
ergo911 said:
Thanks ?
Click to expand...
Click to collapse
Ok so please use git pull to get the latest updates!
Lemme know if you have any trouble.
.
Sent from my LG-H815 using XDA Labs
ergo911 said:
Can you test this... made a h950 test tree. The twrp boots on my h955 also.
Click to expand...
Click to collapse
Works like a charm on my H950. Thanks! The only issue is TWRP booting time, but it's should be right that, if I understand correctly.
Thank you!

4/20/2017 [] 7.1.1 UPDATE [] LG G5 (msm 8996) [] CPU, VM, RAM, IO "Tune"

ORIGINAL THREAD HERE: https://forum.xda-developers.com/axon-7/development/2-15-2017-axon-7-msm-8996-cpu-vm-ram-t3557392
This mod was originally created for the Axon 7, but due to several requests, I've modified a version for the G5, please see below, and post questions or comments in the original thread above. Please state you are a G5 user if you have feedback in that thread, to consolidate user feedback and speed up response time.
Custom tuning for a device is always a necessity. "Canned" settings will get you by, but they are certainly never optimized for a specific device. In fact, Linux typically takes a general approach to find harmonic balance in default settings that will, for the most part, work in an acceptable manner for just about any device. There are a lot of resources available on this device, so we should utilize it in a manner appropriate to squeeze out as much battery life and performance as possible without sacrificing much of those outputs, don't you think? This is going to fix that for you.
Here is what is required of you before you begin:
1. Must be rooted
2. Must have the G5 OR a device running the Snapdragon 820, as this modification is not so much device specific, but hardware specific. The important aspect being the snapdragon 820 and the RAM disk size.
3. Must have write protection disabled. If the G5 requires write protection to be disabled, see the code and instruction below:
Using adb shell:
Code:
adb reboot disemmcwp
Using Linux terminal (from your phone, for example):
Code:
reboot disemmcwp
Let's begin.
Getting right to it, here's what I've done:
- modified parameters of the interactive governor, and quite extensively at that (search some of my threads if you want a little bit of a breakdown of the general approach I take)
- reconfigured input_boost parameters
- reconfigured vm parameters (again, the device has a lot of RAM resource, this will utilize it and give you a far better user experience. Basically, I've adjusted dirty_ratio, dirty_background_ratio, swappiness, and other parameters of the virtual machine.)
- disabled zRAM for 6 GB variants (RAM compression, again, not needed on this device really, this mod will save you CPU cycles and power) this will not apply to G5 users, you will still have zRAM enabled.
- remapped minfree parameters for LMK (low memory killer) again only for 6 GB variants
- Tuned CFQ scheduler for flash storage devices
- Tuned "core_ctl" module (needs kernel support, I recommend freeza's latest version of BeastMode. For those wondering, yes, you can still use this mod with the stock kernel. It won't break anything.) again this will only apply to devices that support core_ctl at the kernel.
In a nutshell, that's what we're looking at here. I can guarantee you this will have a significantly positive impact on your device. Turbo time, homies.
How to install????
Easy. First, the file we are replacing is found in /system/etc... it is the "init.qcom.post_boot.sh" file - this file is basically shell scripts, which are applied at boot via this particular shell file.
All you have to do is download the file to your device, open up a file explorer (must have root capability), navigate to the /system/etc folder with said file explorer, mount your /system as RW (read write), delete your stock "init.qcom.post_boot.sh" file, and replace it with mine.
After you've successfully done this, change the new file's permissions to rw-r--r-- (0644), and then reboot!
Or, if you are brave, you can do it manually via a terminal app and get your fingers wet... if you choose to do that, see below:
Make sure the file is located on the root of your internal sdcard in /sdcard, open your terminal app (again, must have root) and type the following commands, hitting enter after each one (be careful to pay attention to the spacing).
Code:
su
Code:
cd /
Code:
mount -o remount,rw /system
Code:
cd /system/etc
Code:
rm init.qcom.post_boot.sh
Code:
cd /sdcard
Code:
mv init.qcom.post_boot.sh /system/etc
Code:
chmod 0644 /system/etc/init.qcom.post_boot.sh
I don't want credit, don't need you to give or offer donations, this is purely for the community in the spirit of Linux ideology. All I ask is for you to hit the thanks button :good:
That's pretty much it, guys. Enjoy!
DOWNLOAD:
Is this a new kernel?
Regards
Nathan
Sent from my LG-H850 using XDA Premium HD app
@warBeard_actual
Here :good: :fingers-crossed:
onestyle007 said:
@warBeard_actual
Here :good: :fingers-crossed:
Click to expand...
Click to collapse
Got it man, working on it now. I should have it up soon.
OP updated... Enjoy guys!
Instructions on how to install are in the OP, post your results here
warBeard_actual said:
OP updated... Enjoy guys!
Instructions on how to install are in the OP, post your results here
Click to expand...
Click to collapse
Question,does that matter for your results if I'm using an other governor,cause I'm currently on alucard?? Stock rom but a custom kernel (Asgard for g5 to be exact)
onestyle007 said:
Questions,does that matter for your results if I'm using an other governor,cause I'm currently on alucard?? Stock rom but a custom kernel (Asgard for g5 to be exact)
Click to expand...
Click to collapse
You will notice minimal to no difference if you are using another governor.
Any pro can do a flashable zip?
Any n00b can copy and paste
Will it work on Android 6?
I don't know it's placebo or not but after replacing the file I have now a better GPS fix and accuracy I am on the H850 so thanks on the OP
yes accurancy gps, not lag boot, very smooth. thanks!!!!!!!!!!!
warBeard_actual said:
OP updated... Enjoy guys!
Instructions on how to install are in the OP, post your results here
Click to expand...
Click to collapse
Okay,last night after I've replaced the file, changed to interactive gov,0.2% lost during the night with wifi and mobile data off here is my current stats. Was a bit surprised though and I'm not sure if it's a bug in reading . But hey that's what it shows.
Rhadamanthis said:
yes accurancy gps, not lag boot, very smooth. thanks!!!!!!!!!!!
Click to expand...
Click to collapse
Same for me, let see if the battery will be better too...
Does this only work on LG Stock?
Hi,thanks for mod,great mod running in Nougat Fulmix rom?
OTOGY2002 said:
Hi,thanks for mod,great mod running in Nougat Fulmix rom?
Click to expand...
Click to collapse
Ues
How to mount System as R/W? When I set permission I get error evice is busy
Worked like a charm using Fulmics Rom 2.0.
Hint for some who have issues with mounting RW: Use FX file explorer for this. Works just fine.
Will monitor and report how it works.
My Problem. I go to /system/etc and I can´t find this file. I´m on Root with FX file Manager. What am I doing wrong?

[ROM+KERNEL]HUAWEI WATCH 2[LTE-Sawshark]+[BT-Sawfish]-[OWDE.180926.001.A1][22-Jan-20]

[HUAWEI WATCH 2 (LTE/4G-Sawshark) & (Bluetooth/BT-Sawfish)-OWDE.180926.001.A1]​INTERNATIONAL VERSION
Please read the instructions and notes before flashing anything. Don't ask me if you don't read the instructions.
Code:
###Disclaimer###
[COLOR="Red"][B]WARNING:
IMPROPER FLASHING MAY POTENTIALLY BRICK YOUR DEVICE. SO PLEASE PROCEED AT YOUR OWN RISK. ME OR ANY OTHER DEVELOPER MENTIONED IN THIS POST WILL ASSUME NO RESPONSIBILITY FOR THIS.[/B][/COLOR]
​
DONATE ME HERE
DONATE-ME
##############################
REQUIREMENT
##############################
- An Unlock bootloader
- Working adb/fastboot and driver - Download from Here
- A custom recovery (twrp) See my twrp thread for custom twrp recovery
TWRP-RECOVERY
##############################
HOW TO FLASH KERNEL/BOOT IMAGE
##############################
- Steps via adb/fastboot
- Unzip the folder and move the boot image into your adb/fastboot folder and apply the following commands
Code:
- adb devices
- adb reboot bootloader
- fastboot flash boot boot.img
- fastboot reboot
##############################
HOW TO FLASH THE ROM AND ROOT
##############################
1- Move the build/ROM and Busybox and Magisk to your watch
2- Make a backup - there's always 1% chance something goes wrong.
3- Full wipe is recommended....Wipe data/Factory reset
4- Flash the ROM, then flash Busybox and Magisk (Please flash in this order, ROM, then Busybox and Magisk)
5- Reboot and complete your initial setting
6- Open Magisk Manager and go to settings and set Automatic Response to Grant
7- Done. Don't forget to donate if you like my work, Thanks.
##############################
ROM AND KERNEL FEATURES [22-Jan-2020]
##############################
[Changelog]-Huawei Watch 2 LTE(Sawshark)+Huawei Watch 2 BT(Sawfish)-[22/Jan/2019]
- Based on latest kernel source (-Source 3.18.24) android-wear with latest security patch
- Linux version 3.18.24 (gcc version 4.9.3 20141215 (prerelease) (UBER-SaberMod-4.9.3_arm-graphite)) #1 SMP PREEMPT Wed Jan 22 9:45:39 CET 2020
- Forced-encryption disabled
- dm-verity removed/disabled
- Auto memory killer set to default
- Sepolicy is patched
- Fix the CPU idle latency unvote timeout. It should reduce the wasting power and CPU go to deep idle states immediately after a request
- Add and use a timer frequency of 100 Hz. It should improve power consumption.
- Add and update/Hide verifiedbootstate from /proc/cmdline in order to fix the failed SafetyNet CTS check(It can still fail through other means)-GOOGLE PAY SHOULD WORK. USE MAGISK TO HIDE ROOT. U may need Gpay enabler
- Remove verifiedbootstate flag from /proc/cmdline - Disable CRC check
- Scheduler optimize/support for heterogeneous multi-core
- Scheduler support for heterogeneous multi-processor systems
- Enable all core with scaling_available_frequencies (200000 400000 533333 800000 1094400 1267200 MHz)- scaling down the frequency of the CPUs to 200 MHz during idl mode and rise the freq. to 1.26Ghz during high pressure.
- Set swappiness to 60
- Change zswap max pool % to 20%. It will reduce CPU usage a lot
- Enable zram & zswap and add 256MB virtual memory default. It will speed up the device a lot
- Removed nolog usage, remove rtb logging from the kernel
- Remove selinux auditing from kernel for lower overhead
- Remove IPC logging from the kernel
- Disabled some kernel parameter to speed up the performance- at the cost of battery/ power consumption
- Remove some logging from several drivers
- Improve memory allocations -Should improve the device a lot
- Add some tweaks to improve the overall speed, apps startup are too faster
- Set zswap compressor to lz4 by default
- APM driver updated again to reduce battery usage during sleeping
- Several other patches to reduce battery usage
- Multi-core scheduler enable/optimized
- APM driver updated reduce battery usage during sleeping
- Fix the wake up time. The screen should wake up more quickly when pressing the button.
- Tweaked the scheduler to reduce/save power by scaling down the frequency of the CPUs or idling them,
- A lot subsystems converted to use power efficient workqueue
- The watch goes to sleep during no action in order to save battery
- Remove debug event logging-Kill the useless logging to reduce overhead
- Remove sync debug entirely to cut down CPU waste in the frame render hot path
- Remove 10 ms CPU idle latency unvote timeout- Doesn't force the CPU to stay out of deep idle states for far longer than necessary, which wastes power
- Disable audit support, usually comes with a measurably significant amount of overhead
- Remove audit dependency
NOTE: THERE IS NO NEED TO FLASH THE LATEST KERNEL IF YOU FLASH THE LATEST ROM.
##############################
DOWNLOAD
##############################
[Huawei Watch 2 4G/LTE]+[Huawei Watch BT][22-Jan]
[DECRYPTION KEY]
WO0FVexxQnrtcODYdmNvnQ
##############################
MAGISK/BUSYBOX/APP-KERNEL-CONTROL
##############################
DOWNLOAD LATEST MAGISK FROM HERE
DOWNLOAD LATEST BUSYBOX FROM HERE
KERNEL CONTROL APP WEAR OS
##############################
How to get the Gpay back...
##############################
1-https://pastebin.com/HKV7cj7H
2-https://forum.xda-developers.com/smartwatch/other-smartwatches/rom-kernel-t3821013/page172
3-https://www.youtube.com/watch?v=UKxGfNxRjo4&t=320s
4-https://forum.xda-developers.com/showpost.php?p=79637148&postcount=1720
##############################
HOW TO FLASH THE STOCK IMAGES-(BACK TO STOCK)
##############################
1- Download and unzip the system image below
2- Attach the watch charger to the watch and plug the USB cord (from the charger) into your computer
3- Use the following adb command to start the watch in fastboot mode: adb reboot bootloader
4- On your computer, navigate to the directory where you unzipped the system image in Step 1. At the top level of that directory, execute the flash-all script:
- On Linux or MacOS, type ./flash-all.sh
- On Windows, type flash-all.bat
5 -DONE. Don't forget to donate if you like my work, Thanks.
STOCK-IMAGES-HUAWEI-WATCH-2-LTE-LEO-DLXX-OWDE.180215.017-SAWSHARK-(13/Oct/2018)
STOCK-IMAGES-HUAWEI-WATCH-2-BT-LEO-BX9-OWDD.180215.018-SAWFISH-(22/7/2018)
##############################
Source/GitHub
##############################
-Source
IF YOU LIKE MY WORK AND WANT ME TO CONTINUE, THEN BUY ME A SHOT OF WHISKY
DONATE ME HERE
DONATE-HERE
Special thanks to:
If you can, donate and respect all the devs and enjoy
@Chainfire for great work in android
@Maxr1998 Big thanks for giving me knowledge and your great work for Asus Zenwatch_3 and your great github guide. Please thank and donate him for all his efforts
@topjohnwu for his great effort (Magisk)Thank you so much
@SuperR.R for the great kitchen
@Xmaster24 for system-less root-
@moneytoo for his great app. Please appreciate and donate him
Pay Enabler
@SuperThomasLab for great tools
Please always support devs and others (soon).​
ROM download asking for decryption key?Can fix the link?
Hello All,
Is it possible to install this latest ROM on model without LTE?
Thank you for reply :good:
arthos7 said:
ROM download asking for decryption key?Can fix the link?
Click to expand...
Click to collapse
Hoffmanns said:
Hello All,
Is it possible to install this latest ROM on model without LTE?
Thank you for reply :good:
Click to expand...
Click to collapse
Link are fixed now. It will properly not gonna work on non-lte. I can build a new for non-lte version if some one send me the latest system image and boot image. (I can extract from your watch via teamviewer, in case you can't) But you need to flash the latest firmware without root.
IF YOU LIKE MY WORK AND WANT ME TO CONTINUE, THEN BUY ME A SHOT OF WHISKY
DONATE ME HERE​
I will upload a complete latest stock images N7176C (lte) incase anyone wanna go back to latest stock again.
The only thing you have to do is boot into bootloader mod and then run the script by double click on it. After some reboots you will be back on latest stock.
I will combine both Linux and Windows together, use one you prefer.
IF YOU LIKE MY WORK AND WANT ME TO CONTINUE, THEN BUY ME A SHOT OF WHISKY
DONATE ME HERE​
Just received my Huawei SW 4G this weekend and after installing Huawei wear I got the alert message that the watch was rooted.
How can I confirm is it's rooted or not.
Thanks
Sent from my ONEPLUS A3003 using Tapatalk
Can anyone who's used this verify that it's notably faster or has improved battery life compared to stock? Or is the difference negligible?
How to build boot.img
Hi Janjan,
I am trying to build a custom kernel for my Huawei Watch 2 (non LTE) and I was wondering if you could share a little of your development work.
How do you actually put the boot image together? I am able to compile the kernel from android-msm-sawshark-3.18-nougat-mr1-wear-release,
which gives me a zImage. I also have the original images. So I tried to unmkbootimg the original boot image and replace the kernel. However, this doesn't seem to work. when I compare the sizes of the supposedly original zImage and the one created from the repository above, their size differs by roughly a factor of 100. So there must be something seriously wrong
What steps do you use to create the kernel and the boot image?
I also checked your github code and tried to use it but it seems to depend on other stuff that is not in your repos. Where did you find the code you have in your repos?
Best regards,
Mogli
janjan said:
I can build a new for non-lte version if some one send me the latest system image and boot image. (I can extract from your watch via teamviewer, in case you can't) But you need to flash the latest firmware without root.
Click to expand...
Click to collapse
Does that offer still stand? If yes I am willing to let my watch be used as a test subject.
mogli19 said:
Hi Janjan,
I am trying to build a custom kernel for my Huawei Watch 2 (non LTE) and I was wondering if you could share a little of your development work.
How do you actually put the boot image together? I am able to compile the kernel from android-msm-sawshark-3.18-nougat-mr1-wear-release,
which gives me a zImage. I also have the original images. So I tried to unmkbootimg the original boot image and replace the kernel. However, this doesn't seem to work. when I compare the sizes of the supposedly original zImage and the one created from the repository above, their size differs by roughly a factor of 100. So there must be something seriously wrong
What steps do you use to create the kernel and the boot image?
I also checked your github code and tried to use it but it seems to depend on other stuff that is not in your repos. Where did you find the code you have in your repos?
Best regards,
Mogli
Click to expand...
Click to collapse
Sure, tell me what you did and your steps for building zImage + modul. I am away from my office for a while.
janjan, have you had success with making a non-lte version?
cdkg said:
janjan, have you had success with making a non-lte version?
Click to expand...
Click to collapse
If you send me the latest boot.img, system.img and vendor.img then I will definitely make.
janjan said:
If you send me the latest boot.img, system.img and vendor.img then I will definitely make.
Click to expand...
Click to collapse
I have the boot.img and system.img. Is there a tutorial or any instructions you could give on how to get the vendor.img?
janjan said:
Sure, tell me what you did and your steps for building zImage + modul. I am away from my office for a while.
Click to expand...
Click to collapse
Hi Janjan,
(Apparently I am not allowed to post links yet, so I am trying my best to explain without them)
1. I got the source code for the Sawshark watch from github (mr1-wear-release). I guess there is no dedicated Seafish kernel source. Short question: There is a choice of 3 different kernel codes. Which one shall I take?
2. I tried to compile this source code without changes (to rule out errors before I make modifications). This works and I get as zImage. What do you mean by modul though? I thought zImage was the only product.
3. Using unmkbootimg, I un-packed an stock boot.img. The unmkbootimg tool says that the boot.img has been compiled with a non-standard mkbootimg program. However the offsets and other values (I am supposed to tune when I use mkbootimg) are contradicting. Eventually, the "non-custom" values recommended by unmkbootimg caused errors in mkbootimg and I ended up using the default values. This worked.
4. When I flash the resulting boot.img my watch gets stuck during boot with the Huawei logo on all the time.
To verify my tools, I tried step 3. in two more ways:
3.1. re-pack the un-packed boot.img, flash it (no errors and boot works)
3.2 pack a boot.img using a zImage obtained from a sawshark boot.img (instead of the seafish). This also worked and boot was successful
I have also looked at the boot.img and zImage files in a hex editor. I can locate the beginning of the kernel but not the end. Also if I did, I wouldn't know how to replace the kernel in hex mode But from what I have understood about mkbootimg, this script does not much more than concatenate zImage and ramdisk and add a header. Is this somewhat correct?
Eventually, I need to turn on some currently disabled kernel features (which is why I am doing all of this ). So I am still trying to figure out the right tools and components. And therefore the question: How do you usually build the kernel and how do you pack it into the boot.img. Do you modify the ramdisk when you replace the kernel?
Best,
Mogli
Instructions to modify ramdisk
Hi Janjan,
How do you disassemble and re-assemble the ramdisk?
Wanted to make a few modifications to the ramdisk.cpio.gz. Again, I wanted to try the tools first. So I unpacked and re-packaged the ramdisk without modifications. After flashing the regenerated boot image, my watch goes into recovery mode...
I found these instructions in a tutorial (again, I can't post links yet... sorry):
For disassembly:
Code:
$ mkdir ramdisk_dir
$ cd ramdisk_dir
$ gunzip -c ../ramdisk.cpio.gz | cpio -i
for re-assembly
Code:
$ find . | cpio -o -H newc | gzip > ../newramdisk.cpio.gz
Update to my previous post:
I found my mistake in building the kernel:
Instead of using
Code:
make ARCH=arm CROSS_COMPILE=arm-linux-androidkernel-
I was using
Code:
make ARCH=arm CROSS_COMPILE=arm-linux-androideabi-
mogli19 said:
Hi Janjan,
How do you disassemble and re-assemble the ramdisk?
Wanted to make a few modifications to the ramdisk.cpio.gz. Again, I wanted to try the tools first. So I unpacked and re-packaged the ramdisk without modifications. After flashing the regenerated boot image, my watch goes into recovery mode...
I found these instructions in a tutorial (again, I can't post links yet... sorry):
For disassembly:
for re-assembly
Update to my previous post:
I found my mistake in building the kernel:
Instead of using
I was using
Click to expand...
Click to collapse
It seems much better now. Are you in Windows or Linux? I will post my script and tools once I reach my PC. I am away from my PC right now. It means you destroy something during generating or packaging the boot image. Does you kernel /boot.img work without or before editing the ramdisk?
Update:- seems you are in Linux.
janjan said:
It seems much better now. Are you in Windows or Linux? I will post my script and tools once I reach my PC. I am away from my PC right now. It means you destroy something during generating or packaging the boot image. Does you kernel /boot.img work without or before editing the ramdisk?
Update:- seems you are in Linux.
Click to expand...
Click to collapse
Yes, I am on linux. I found a different approach that works for me now:
Code:
Extract the ramdisk.
$ mkdir ramdisk
$ cd ramdisk
$ gzip -dc ../ramdisk.cpio.gz | cpio -i
# Make any changes necessary (e.g., set ro.secure=0 in default.prop).
# Recreate the cpio archive using the mkbootfs binary produced from building the Android source code
$ cd ..
$ mkbootfs ./ramdisk | gzip > ramdisk-new.gz
You said you were able to turn on all the cores. Can this be done by modifying the ramdisk or how do you do this?
mogli19 said:
Yes, I am on linux. I found a different approach that works for me now:
You said you were able to turn on all the cores. Can this be done by modifying the ramdisk or how do you do this?
Click to expand...
Click to collapse
Did I said? But It can't be done by editing the ramdisk only. You need to add and edit alot (add driver edit cores etc) in kernel sources.
Okay, before anyone flames, I did look everywhere in this thread and cannot find it. Does anyone have the link to the flashing instructions for this rom?
janjan said:
Did I said? But It can't be done by editing the ramdisk only. You need to add and edit alot (add driver edit cores etc) in kernel sources.
Click to expand...
Click to collapse
Oh sorry, I thought I had read this on your feature list I actually looked at this and asked myself if there was a way to make the cpu settings permanent:
https://stackoverflow.com/questions/20221680/android-how-to-force-cpu-core-offlineshut-down-cores

Building kernel from Xiaomi's source for cereus (probably, cactus too)

Since Xiaomi released source code for kernel, I tried to build it.
https://github.com/Dhoine/android_kernel_cereus
Current status of this - it compiles, boots, but unusable.
Bugs:
Broken bluetooth
Broken wifi
Soft-reboots after some time
Propably, more bugs that remained undiscovered because of reboots.
Tested with miui 9 on cereus 3/32.
--------
You can test builded kernel using this:
GDrive
Use Carliv image Kitchen to repack your rom's boot.img, then flash it via fastboot (UNLOCKED BOOTLOADER REQUIRED). To restore working state after testing, flash stock boot image again.
WARNING
Our kernel uses android regular boot.img format, not MTK.
---------
If you want to build this, any manual for building kernel will fit. I used google's android arm eabi 4.9 toolchain, our arch is arm, defconfig is cereus_defconfig.
For now, I don't have enough time to take a closer look at this (work, university exams), so, any help (last_kmsg, dmesg, pull requests) will be appreciated.
Wait seriously? Does that mean that i can buil LOS rom now? I have my UbuntuVM with whole LOS source code downloaded but i got stuck at no kernel found for cereus. So it might work now(Im extremely new to linux) I'll try to build the rom asap
TanRayCz said:
Wait seriously? Does that mean that i can buil LOS rom now? I have my UbuntuVM with whole LOS source code downloaded but i got stuck at no kernel found for cereus. So it might work now(Im extremely new to linux) I'll try to build the rom asap
Click to expand...
Click to collapse
This kernel for now won't really help with building los. I haven't find any device tree for our SoC (or close). MTK always requre a ton of patches to android sources. But i have reference MTK 9.0 android sources for this SoC - ALPS (can't share, it's probably illegal, but you can find them on 4pda.ru, if you want). It builds on almost unmodified reference device tree, but i haven't tested it on device. First, we need to make this kernel usable.
[email protected] said:
This kernel for now won't really help with building los. I haven't find any device tree for our SoC (or close). MTK always requre a ton of patches to android sources. But i have reference MTK 9.0 android sources for this SoC - ALPS (can't share, it's probably illegal, but you can find them on 4pda.ru, if you want). It builds on almost unmodified reference device tree, but i haven't tested it on device. First, we need to make this kernel usable.
Click to expand...
Click to collapse
This may not really help, but can you try that kernel again after upgrading to MIUI 10.2.4 ?
EDIT : See https://www.kimovil.com/en/list-smartphones-by-processor/mediatek-helio-p22-mt6762 for a list of devices with MT6762. Probably we can check out their trees?
EDIT 2 : It seems like our Redmi 6 is the only device with available kernel source in that list.
EDIT 3 : Try this?
minhducsun2002 said:
EDIT : See https://www.kimovil.com/en/list-smar...lio-p22-mt6762 for a list of devices with MT6762. Probably we can check out their trees?
EDIT 2 : It seems like our Redmi 6 is the only device with available kernel source in that list.
Click to expand...
Click to collapse
Maybe them exists, but I haven't found them.
minhducsun2002 said:
This may not really help, but can you try that kernel again after upgrading to MIUI 10.2.4 ?
---------------------
EDIT 3 : Try this?
Click to expand...
Click to collapse
I finally finished my university exams, so now I have some free time to play with it.
The kernel you link is just forked xiaomi sources merged to linux 4.9 kernel. It shouldn't be buildable at all, since there is the same problem in sources I "fixed" with this.
Probably, this too.
[email protected] said:
I finally finished my university exams, so now I have some free time to play with it.
The kernel you link is just forked xiaomi sources merged to linux 4.9 kernel. It shouldn't be buildable at all, since there is the same problem in sources I "fixed" with this.
Probably, this too.
Click to expand...
Click to collapse
[email protected] said:
Maybe them exists, but I haven't found them.
Click to expand...
Click to collapse
You're right, they're identical.
By the way, I couldn't find any implementation available for our Helio P22; the chipset itself is fairly new, thus not many devices have the source code available.
minhducsun2002 said:
This may not really help, but can you try that kernel again after upgrading to MIUI 10.2.4 ?
Click to expand...
Click to collapse
Ok, i've tested it on latest GS. It seems to work a way better. At least, it doesnt reboot after few seconds of usage. It makes things a lot easier.
Tested a few more things:
-sound - works
-camera (both photo and video) - works
- mobile data - works
- phone calls - work
- dual sim -works
- all sensors work
The only thing i was unable to test is gps. It didn't worked for me, but i was inside 9-floor building near the window to inner corner of building... So idk.
And usb otg - since i don't have adapder.
After this I can tell, that there are only 2 major bugs - wifi and bluetooth.
Maybe gps, fm radio and exfat too. This is modules loading problem, I think (though, there shouldn't be any modules, drivers are marked as built-in in config, but .ko files for them exist in /vendor/lib/modules)
[email protected] said:
Ok, i've tested it on latest GS. It seems to work a way better. At least, it doesnt reboot after few seconds of usage. It makes things a lot easier.
Tested a few more things:
-sound - works
-camera (both photo and video) - works
- mobile data - works
- phone calls - work
- dual sim -works
- all sensors work
The only thing i was unable to test is gps. It didn't worked for me, but i was inside 9-floor building near the window to inner corner of building... So idk.
And usb otg - since i don't have adapder.
After this I can tell, that there are only 2 major bugs - wifi and bluetooth.
Maybe gps, fm radio and exfat too. This is modules loading problem, I think (though, there shouldn't be any modules, drivers are marked as built-in in config, but .ko files for them exist in /vendor/lib/modules)
Click to expand...
Click to collapse
Yeah, Treble definitely makes things easier.
Nevertheless I'm trying to integrate those kernel modules into the compiled zImage - there's no modprobe in Android, sadly.
Adding modules support and disabling modules versions check in config didn't help.
I can't find any source files in kernel sources, from which these modules can be built. Maybe, they are built from separate platform code (they are placed in vendor, so...) Need to download ALPS (brrr, around 50 gb of tar.bz2 archives) to check it.
I've looked into reference mediatek 4.9 kernel sources and found this:
Code:
# Do build-in for Makefile checking
# export CONFIG_WLAN_DRV_BUILD_IN=y
ifeq ($(CONFIG_WLAN_DRV_BUILD_IN),y)
PATH_TO_WMT_DRV = vendor/mediatek/kernel_modules/connectivity/common
PATH_TO_WLAN_CHR_DRV = vendor/mediatek/kernel_modules/connectivity/wlan/adaptor
PATH_TO_WLAN_DRV = vendor/mediatek/kernel_modules/connectivity/wlan/core/gen4m
ABS_PATH_TO_WMT_DRV = $(srctree)/../$(PATH_TO_WMT_DRV)
ABS_PATH_TO_WLAN_CHR_DRV = $(srctree)/../$(PATH_TO_WLAN_CHR_DRV)
ABS_PATH_TO_WLAN_DRV = $(srctree)/../$(PATH_TO_WLAN_DRV)
# check wlan driver folder
ifeq (,$(wildcard $(ABS_PATH_TO_WMT_DRV)))
$(error $(ABS_PATH_TO_WMT_DRV) is not existed)
endif
ifeq (,$(wildcard $(ABS_PATH_TO_WLAN_CHR_DRV)))
$(error $(ABS_PATH_TO_WLAN_CHR_DRV) is not existed)
endif
ifeq (,$(wildcard $(ABS_PATH_TO_WLAN_DRV)))
$(error $(ABS_PATH_TO_WLAN_DRV) is not existed)
endif
$(warning symbolic link to $(PATH_TO_WMT_DRV))
$(warning symbolic link to $(PATH_TO_WLAN_CHR_DRV))
$(warning symbolic link to $(PATH_TO_WLAN_DRV))
$(shell unlink $(srctree)/$(src)/wmt_drv)
$(shell unlink $(srctree)/$(src)/wmt_chrdev_wifi)
$(shell unlink $(srctree)/$(src)/wlan_drv_gen4m)
$(shell ln -s $(ABS_PATH_TO_WMT_DRV) $(srctree)/$(src)/wmt_drv)
$(shell ln -s $(ABS_PATH_TO_WLAN_CHR_DRV) $(srctree)/$(src)/wmt_chrdev_wifi)
$(shell ln -s $(ABS_PATH_TO_WLAN_DRV) $(srctree)/$(src)/wlan_drv_gen4m)
# for gen4m options
export CONFIG_MTK_COMBO_WIFI_HIF=axi
export MTK_COMBO_CHIP=CONNAC
export WLAN_CHIP_ID=6765
export MTK_ANDROID_WMT=y
# Do build-in for xxx.c checking
subdir-ccflags-y += -D MTK_WCN_REMOVE_KERNEL_MODULE
subdir-ccflags-y += -D MTK_WCN_BUILT_IN_DRIVER
obj-y += wmt_drv/
obj-y += wmt_chrdev_wifi/
obj-y += wlan_drv_gen4m/
endif
No such code in xiaomi's source. And this prooves my words: these modules CAN BE BUILT IN and SOURCES FOR THEM ARE IN ALPS. I have to download this ton of ****...
-------
I tried to backpors drivers from 9.0 - no success. It compiles,but doesn't boot. I tried to hack modules loading - no success too.
[email protected] said:
Adding modules support and disabling modules versions check in config didn't help.
I can't find any source files in kernel sources, from which these modules can be built. Maybe, they are built from separate platform code (they are placed in vendor, so...) Need to download ALPS (brrr, around 50 gb of tar.bz2 archives) to check it.
Click to expand...
Click to collapse
Most of the time those binaries are not open-source (you probably know vendor blobs for Google devices are too, but that is a different story). Nevertheless I don't really get why kernel modules are placed in
Code:
/vendor
- after all, mobile devices don't have hot-plugging hardware that requires dynamic LKM loading, why do they separate them out?
I'll attempt to crawl the web for those sources while waiting for Mi Unlock to allow my device being unlocked (the waiting period sucks).
[email protected] said:
I've looked into reference mediatek 4.9 kernel sources and found this:
No such code in xiaomi's source. And this prooves my words: these modules CAN BE BUILT IN and SOURCES FOR THEM ARE IN ALPS. I have to download this ton of ****...
-------
I tried to backpors drivers from 9.0 - no success. It compiles,but doesn't boot. I tried to hack modules loading - no success too.
Click to expand...
Click to collapse
1. Backports? How?
2. In which file did you got those lines?
3. Indeed those modules' source are removed from our tree - if you have the link, I don't really mind having another 50GB occupied on my PC to get those source code.
minhducsun2002 said:
1. Backports? How?
2. Indeed those modules' source are removed from our tree - if you have the link, I don't really mind having another 50GB occupied on my PC to get those source code.
Because attached below is the existence of the modules. /shrug
Click to expand...
Click to collapse
I already said that i have leaked mtk alps 9.0 sources These modules have sources, they are not prebuilt. I managed to built in them, but kernel doesn't boot at all after that. And i can't take any logs because the system dies before adb init.
Ok, after one little, but very cruel hack modules are fixed. Enjoy testing the kernel.
https://drive.google.com/open?id=1Z3p2fAWOZFyp045QMNV6vhLZvj9ZZPSY
[email protected] said:
Ok, after one little, but very cruel hack modules are fixed. Enjoy testing the kernel.
Click to expand...
Click to collapse
does it work well?
Lonewolf_1210 said:
does it work well?
Click to expand...
Click to collapse
Users from 4pda reported it fully working.
---------------------
Soon will be build with usb network adapters support enabled (requested by romanxdream from 4pda).
P.S. I'm not adding everything requested to kernel. But this was only config modification.
-------
I don't check xda often, so there can be a huge delay in my responses.
[email protected] said:
Users from 4pda reported it fully working.
---------------------
Soon will be build with usb network adapters support enabled (requested by romanxdream from 4pda).
P.S. I'm not adding everything requested to kernel. But this was only config modification.
-------
I don't check xda often, so there can be a huge delay in my responses.
Click to expand...
Click to collapse
Great job then, hope for a custom rom coming soon
Ok, download link to all versions. I'll edit the first post later.
https://drive.google.com/open?id=1yEZRS8L8bPgkk58tT5Uv2b-vsLqk7aql
Should we make a telegram group for this?

[ROM] Unofficial LineageOS 16.0 PQ3A.190801.002] for ZTE Blade S6 (P839F30)

Code:
[I]DISCLAIMER[/I]
[COLOR="red"]Do not mirror my builds![/COLOR] Please post a link to this thread instead.
All information and files — both in source and compiled form — are provided on an as is basis.
No guarantees or warranties are given or implied. The user assumes all risks of any damages
that may occur, including but not limited to loss of data, damages to hardware, or loss of
business profits. Please use at your own risk. Note that unless explicitly allowed by the
warranty covering your device, it should be assumed that any warranty accompanying your
device will be voided if you tamper with either the system software or the hardware.
Introduction
This is my unofficial build of LineageOS 16.0 for the ZTE Blade S6 aka P839f30.
This is the first alpha release, so be aware that issues could arise.
I have tested this version with my AS variant device. Other variants have to be tested.
Click to expand...
Click to collapse
Features
working:
phone: calls, sms, data.
wifi
bluetooth
sensors
gps: mostly I have used the energy saving mode
sound
camera: rear with flash and front.
torch
headphone detection
swap back and menu button
light: button backlight, brightness control and adaptive brightness, breath light (notification and/or battery)
not working:
SELinux is permissive.
We have to test to find out.
Click to expand...
Click to collapse
Installation instructions
It is best to have installed the latest stock rom beforehand, so modem and all other vendor stuff is up to date.
If you like you can use this mod to have a unified data partition, please proceed with caution.
You will need TWRP or any other custom recovery.
Reboot into recovery and do a nand backup.
Do a factory format.
Download Rom and put it on your phone or use adb sideload.
Install the rom and then clear cache and dalvik cache.
optional: install su and/or gapps (preferable pico).
Click to expand...
Click to collapse
Changelog:
25.05.2021 - new release:
los security patch level 05.05.2021
revert some kernel changes from the last release
add some cpu governors and cpu hotplug
now with Boeffla WakeLock Blocker and other things
wireguard kernel support
22.12.2019 - 1st beta release:
los security patch level 05.12.
kernel supports EU device variant
add autosmp hotplug
add cpu governors blu_active, darkness, lionfish and relaxed
Revert CwMcu sensor driver from SU6 kernel release
24.10.2019 - 2nd alpha release:
los security patch level 05.10.
CwMcu sensor driver from SU6 kernel release, with wake lock disabled
wifi mac is loaded anyway, remove the loading in the wifi driver
give bluetooth a null mac address, to overcome force close error
kang gps from oppo
04.10.2019 - 1st alpha release:
los security patch level 05.09.
initial release of pie
Click to expand...
Click to collapse
Downloads
new release - 25.05.2021:
Google Drive.
first beta release - 22.12.2019:
Google Drive or here.
second alpha release - 24.10.2019:
Google Drive or here.
first alpha release - 04.10.2019:
Google Drive or here.
If you want root use the lineage addon package found here - download arm version.
Install it after flashing the rom or download your favourite root package and install it.
Click to expand...
Click to collapse
Sources
device
msm8916-common
vendor
kernel
Click to expand...
Click to collapse
FAQ
Here you will find some answers to common question which could arise.
Q: How to give root access to an app or adb?
A: First install the su extra package from Lineage OS or any other su tool you like. Then go into settings and about device, click there multiple times on the build number until you unlocked the developer options. Go to developer options and look for root access.
Q: I thing I found an issue, what to do now?
A: Do a logcat or grab a dmesg while having the issue, otherwise we can't say what is happening. Report as much info as possible. Quote your stock rom your device shipped with or which device variant you possess.
Click to expand...
Click to collapse
Thanks To/Credits
Code:
*aquaris-dev team
*aymende7
*PacMM79
*LineageOS team
*many others
XDA:DevDB Information
Unofficial LineageOS 16.0 [PQ3A.190801.002] P839F30, ROM for the ZTE Blade S6
Contributors
lightwars
ROM OS Version: 9.x Pie
ROM Kernel: Linux 3.10.x
Based On: LineageOS 16.0
Version Information
Status: Beta
Current Beta Version: 20191213
Beta Release Date: 2019-12-22
Created 2019-10-04
Last Updated 2019-12-22
many thanks for the new version, i will tested later :good: :highfive:
Hello, works on my ZTE Blade S6 Plus (p839f50)
but only with a fixed updater-script
from Folder: lineage-16.0-20191002-UNOFFICIAL-p839f30.zip\META-INF\com\google\android
the bold text must delete and than save the file
after the start my phone , i have a error message with bluetooth is deactivated
updater-script - original
https://filehorst.de/d/crqjwnjI
updater-script - fixed
https://filehorst.de/d/cbmctorj
new update is in the op.
just small changes and updated security patch level.
Anybody tested with EU device?
... at the moment no time to test myself (to much effort to keep my other devices up-to-date ), just wanted to ask if anybody already tested on EU device (and forgot to post ).
Gtz
Kurt
Kurt Krummbein said:
... at the moment no time to test myself (to much effort to keep my other devices up-to-date ), just wanted to ask if anybody already tested on EU device (and forgot to post ).
Click to expand...
Click to collapse
Answer my own request, gave it a try, didn't boot, screen stayed black and device went into fastboot-mode ... restored my nandroid-backup of stock-EU-B15 .
Next time, i format system and just install rom without gapps and addon-su.
Gtz
Kurt
Kurt Krummbein said:
Answer my own request, gave it a try, didn't boot, screen stayed black and device went into fastboot-mode ... restored my nandroid-backup of stock-EU-B15 .
Next time, i format system and just install rom without gapps and addon-su.
Gtz
Kurt
Click to expand...
Click to collapse
Hello Kurt,
please, if you find the time to do another test. Download the attached zip extract the boot.img and copy it to your device, flash it with twrp right after installing the lineage zip through twrp. report back if something different happens.
I splited the dtb from the zImage and attached the almost stock eu dtb, so maybe we are lucky. But I have not find any big differences in analyzing the dts of EU vs AS and kernel defconfigs EU vs AS.
I can show this files too, if somebody has a better understanding of this.
lightwars said:
Hello Kurt,
please, if you find the time to do another test. Download the attached zip extract the boot.img and copy it to your device, flash it with twrp right after installing the lineage zip through twrp. report back if something different happens.
I splited the dtb from the zImage and attached the almost stock eu dtb, so maybe we are lucky. But I have not find any big differences in analyzing the dts of EU vs AS and kernel defconfigs EU vs AS.
I can show this files too, if somebody has a better understanding of this.
Click to expand...
Click to collapse
Hi!
Well, i loaded the def's and config's into WinMerge and did a compare ... in the def's there are some different addresses, but i have now clue what the meaning of that all is :angel:. The config files look like beeing from different kernel versions, there are some options which don't exist in both, one is modularised, the other is not ... all in all quite strange.
Ok, i made a try with the boot_eu.img:
- Made a factory reset
- Flashed the LOS.zip
- Wiped caches
- unzipped the boot.img
- copied it to boot partition with dd if=boot_eu.img of=/dev/block/bootdevice/by-name/boot
- reboot
... screen goes black, one buzz .... nothing. One the PC the fastboot device appears and that's it. I was looking for tombstones, but couldn't find any ... they are stored to /data/tombstones, are they? I'm not sure, the kernel i getting up high enough to mount /data.
Cheers
Kurt
P.S.: one thing i forgot to mention ... i coulnd't find the "OEM unlock" swich in the stock system anywhere and the bootloader seems to be quite dumb, many commands from fastboot just end in a "command unknown", perhaps there's something left to do on my side (tweak in build.prop etc ... googleed for it no result ).
Kurt Krummbein said:
Ok, i made a try with the boot_eu.img:
- Made a factory reset
- Flashed the LOS.zip
- Wiped caches
- unzipped the boot.img
- copied it to boot partition with dd if=boot_eu.img of=/dev/block/bootdevice/by-name/boot
- reboot
... screen goes black, one buzz .... nothing. One the PC the fastboot device appears and that's it. I was looking for tombstones, but couldn't find any ... they are stored to /data/tombstones, are they? I'm not sure, the kernel i getting up high enough to mount /data.
Click to expand...
Click to collapse
Thanks for testing. You used the reboot system button of twrp I guess. Have you tried to reboot by pressing the power button?
I can think of two things: There is some flag in the kernel source which is called download_mode. I have seen that some devices have different default values! At the moment the value is 0, devices like the ones from bq with msm8916/msm8939 used this too, but devices from oppo with msm8939 uses a value of 1 as default. We can try this one.
Or there is a mask, which defines the restart reason so to speak says the device which mode to boot to. Here we have some differences in the meaning of the bits, a different bit shifting is used.
I can not really think that one of these causes your device to boot into download mode, because the recovery uses the same kernel on both region variants...
lightwars said:
Thanks for testing. You used the reboot system button of twrp I guess. Have you tried to reboot by pressing the power button?
I'll give that one a try .
Hope my device is not "going over the Wupper" LOL (this one has to come somewhen ...)
Click to expand...
Click to collapse
Ok, tried it ... same result. Then did a (perhaps a bit wired) test, just restored boot from my nandroid-backup. With this, the white ZTE bootscreen comes up and after some seconds it reboots to twrp.
Perhaps the dumb-bootloader refuses to boot with AS keys ... otherwise it wouldn't boot recovery. Strange puzzle.
Cheers
Kurt
Kurt Krummbein said:
Ok, tried it ... same result. Then did a (perhaps a bit wired) test, just restored boot from my nandroid-backup. With this, the white ZTE bootscreen comes up and after some seconds it reboots to twrp.
Perhaps the dumb-bootloader refuses to boot with AS keys ... otherwise it wouldn't boot recovery. Strange puzzle.
Cheers
Kurt
Click to expand...
Click to collapse
It is okay to do some unusual testings. I was doing this sort of things also, back then.
I'm not sure I get you, when you write about AS keys. Do you mean the fingerprint in the build.prop? I think I used the ones from the eu version. Maybe they build in some kind of kernel version check inside the bootloader, but only for the eu and other versions.
The cause is, that android needs an advanced kernel, so we can not use the stock kernel to boot newer android version like nougat, oreo or pie.
Sorry, I can not be of much help here, because I do not have a device with eu or some other region version. But we can try do some changes, if you like to do some more testing and maybe get something like a log, last_kmseg or ramoops. We should look to activate some of them.
Hello @Kurt Krummbein,
if you find the time please post the info you get by issuing this commands in the adb shell or on your phone in a terminal:
Code:
su
cat /sys/zte_board_id/board_id
cat /proc/device-tree/model
cat /proc/device-tree/compatible
Do this on your rom or stock rom you are using a the moment. Thank you.
For reference mine output is this:
Code:
Blade-S6:/ # cat /sys/zte_board_id/board_id
wrbA
Blade-S6:/ # cat /proc/device-tree/model
Qualcomm Technologies, Inc. MSM 8939 MTP
Blade-S6:/ # cat /proc/device-tree/compatible
qcom,msm8939-mtp qcom,msm8939 qcom,mtp
It could be that the eu variant uses another device tree inside the kernel, because the bootloader request that, but we have only this model available.
lightwars said:
Hello @Kurt Krummbein,
if you find the time please post the info you get by issuing this commands in the adb shell or on your phone in a terminal:
Code:
su
cat /sys/zte_board_id/board_id
cat /proc/device-tree/model
cat /proc/device-tree/compatible
Do this on your rom or stock rom you are using a the moment. Thank you.
For reference mine output is this:
Code:
Blade-S6:/ # cat /sys/zte_board_id/board_id
wrbA
Blade-S6:/ # cat /proc/device-tree/model
Qualcomm Technologies, Inc. MSM 8939 MTP
Blade-S6:/ # cat /proc/device-tree/compatible
qcom,msm8939-mtp qcom,msm8939 qcom,mtp
It could be that the eu variant uses another device tree inside the kernel, because the bootloader request that, but we have only this model available.
Click to expand...
Click to collapse
Mine is:
cat /sys/zte_board_id/board_id
wrbA-EUROPE
cat: /proc/device-tree/model: No such file or directory
cat: /proc/device-tree/compatible: No such file or directory
ls /proc/device-tree
/proc/device-tree: No such file or directory
Attached my build.prop ... perhaps this sheds some light .
Thx
Kurt
Kurt Krummbein said:
Mine is:
cat /sys/zte_board_id/board_id
wrbA-EUROPE
cat: /proc/device-tree/model: No such file or directory
cat: /proc/device-tree/compatible: No such file or directory
ls /proc/device-tree
/proc/device-tree: No such file or directory
Attached my build.prop ... perhaps this sheds some light .
Thx
Kurt
Click to expand...
Click to collapse
Sorry for that, I forgot that the stock kernel did not expose the device tree.
But I think I remeber the info about the model is in the logcat after boot up...
Please try this ones in a terminal on the phone or via adb shell, they should work.
Code:
su
Blade-S6:/ # cat /sys/devices/soc0/hw_platform
MTP
Blade-S6:/ # cat /sys/devices/soc0/soc_id
239
lightwars said:
Sorry for that, I forgot that the stock kernel did not expose the device tree.
But I think I remeber the info about the model is in the logcat after boot up...
Please try this ones in a terminal on the phone or via adb shell, they should work.
Code:
su
Blade-S6:/ # cat /sys/devices/soc0/hw_platform
MTP
Blade-S6:/ # cat /sys/devices/soc0/soc_id
239
Click to expand...
Click to collapse
mine is:
cat /sys/devices/soc0/hw_platform
MTP
cat /sys/devices/soc0/soc_id
268
cat /sys/devices/soc0/image_version
10:LRX22G:eng.root.20150808.123811
Gtz
Kurt
Kurt Krummbein said:
mine is:
cat /sys/devices/soc0/hw_platform
MTP
cat /sys/devices/soc0/soc_id
268
cat /sys/devices/soc0/image_version
10:LRX22G:eng.root.20150808.123811
Gtz
Kurt
Click to expand...
Click to collapse
Fantastic! Here we have an explanation. Your device reports 268 as id which equals to msm8929 and I have a device with id 239 which is msm8939. The kernel only holds a device tree blob (dtb) for the id 239. I thought that the variant were very similar, so last time I used a dtb from the eu release but only for id 239. Attached I have added a dtb for id 268. Please test this rom with that boot image.
Again, just unpack the bootASEU.img and copy it to your device, flash it after installing the lineageos zip.
Please make a backup beforehand and report back, when you have time. Happy trying out.
lightwars said:
Fantastic! Here we have an explanation. Your device reports 268 as id which equals to msm8929 and I have a device with id 239 which is msm8939. The kernel only holds a device tree blob (dtb) for the id 239. I thought that the variant were very similar, so last time I used a dtb from the eu release but only for id 239. Attached I have added a dtb for id 268. Please test this rom with that boot image.
Again, just unpack the bootASEU.img and copy it to your device, flash it after installing the lineageos zip.
Please make a backup beforehand and report back, when you have time. Happy trying out.
Click to expand...
Click to collapse
One step ahead ! Phone is booting with the new boot.img ... but ends with a bootloop.
Highest was one boot with start of the setup-wizard, but after setting language to "Deutsch (Deutschland)" (and several "Bluetooth is not working" messages) it went around again. Couldn't get logs yet ... well see :
Cheers
Kurt
Kurt Krummbein said:
One step ahead ! Phone is booting with the new boot.img ... but ends with a bootloop.
Highest was one boot with start of the setup-wizard, but after setting language to "Deutsch (Deutschland)" (and several "Bluetooth is not working" messages) it went around again. Couldn't get logs yet ... well see :
Cheers
Kurt
Click to expand...
Click to collapse
Yeah! Would be best to build the dtb from source, rather than attaching just the right one to the kernel...
The bluetooth message can be made silent, by the way what build you are using? I think the first build has not the fix for the message. The build.prop should contain this line:
Code:
ro.boot.btmacaddr=00:00:00:00:00:00
and the message should not appear.
I hope there are not any preferences with could only be applied to msm8939 and not to msm8929.
@Kurt Krummbein
Here is my latest build or just grab the boot.img from the attachment. Which has a dtb for msm8929 build from source.
Maybe this will boot without any bootloop.
lightwars said:
@Kurt Krummbein
Here is my latest build or just grab the boot.img from the attachment. Which has a dtb for msm8929 build from source.
Maybe this will boot without any bootloop.
Click to expand...
Click to collapse
For which version is your latest build? the eu?
Thanks
BR Slawo
slawoko said:
For which version is your latest build? the eu?
Thanks
BR Slawo
Click to expand...
Click to collapse
AS and hopefully EU.

Categories

Resources