[Huawei Ascend P7] threader:
LineageOS 13.0 for Ascend P6S-U06 P7-L10​

NB: This is a continuation of Kostyan_nsk's builds, he did all the work creating patches to Android for the device's quirks etc. to make it operate as it should.

Works:

Audio

Video

HW Codecs

RIL (Calls, SMS, USSD, Mobile Data)

Wifi / Bluetooth

Camera

Sensors

GPS

Live Display

NFC

Doesn't work:

FM Radio

Bugs:

Doesn't work "Best Shot" and "Time Lapse" camera modes

Might be problems with playback of some video clips

Random camera app FC (P7 only)

Can't connect with newer WPA2/3 network configured routers it seems....

Issues with video playback of VP9 files.... Something about color format in libStagefright, ChromeWebView handles that format and Lineage 13 doesn't get that any more either, hence the effort for a new kernel.

Issues with certain apps that don't like the way storage is handled, I'm sure there's a way (mount a .img file??)

You tell me.

Requirements:

Unlocked bootloader

Stock firmware B6XX or B8XX

TWRP 3.0.3

Installation:

Backup boot, system, data partitions in TWRP to have a chance to rollback. Internal storage won't be affected so you don't have to back it up.

Make standard wipe (Wipe - > swipe)

Install zip

Installation sequence is mandatory!

Note: This ROM doesn't support HiSuite and Huawei Backup, so to backup / restore your contacts, sms, app settings, etc use your Google account or any other third party methods, like Titanium Backup, for example.

Important: High Performance profile in Battery menu of Settings activates 1996MHz CPU frequency. If your device has stability issues at this frequency (random reboots), don't use this profile.

Download:

Google drive folder where my builds, Kostyan's builds and TWRP live.

Source code:

Kernel: https://github.com/threader/hwp6s-kernel/tree/cm-13.0-0

Device:

https://github.com/threader/android_device_huawei_hi6620oem-common

https://github.com/threader/android_device_huawei_p6s_u06

https://github.com/threader/android_device_huawei_p7_l10

Hardware: https://github.com/Kostyan-nsk/android_hardware_huawei_hi6620oem

Vendor: https://github.com/Kostyan-nsk/android_vendor_huawei_hi6620oem-common

TWRP: https://github.com/threader/android_bootable_recovery/tree/lineage-13-hwp6s

Notes on building:

# edit /etc/java/security/java.security not to disallow TSL1 and TSL1.1
# Dependencies
# can be built with openjdk-8-jdk, apt install openjdk-8-jdk and apt purge openjdk-1x or such.
sudo apt install openjdk-8-jdk bc bison build-essential ccache curl flex g++-multilib gcc-multilib git gnupg gperf imagemagick libncurses5-dev lib32readline-dev lib32z1-dev liblz4-tool libncurses5-dev libsdl1.2-dev libssl-dev libwxgtk3.2-dev libxml2 libxml2-utils lzop pngcrush rsync schedtool squashfs-tools xsltproc zip zlib1g-dev maven libncurses5

# Apply all patches found under device/huawei/hi6620oem-common/patches

## required
export LC_ALL=C

JACK_VM_COMMAND="java -Dfile.encoding=UTF-8 -Xms2560m -XX:+TieredCompilation -jar "$OUT_DIR"/host/linux-x86/framework/jack-launcher.jar" JACK_JAR="$OUT_DIR"/host/linux-x86/framework/jack.jar "$OUT_DIR"/host/linux-x86/bin/jack-admin start-server
##
## optional
## compiler
# get https://releases.linaro.org/components/toolchain/binaries/4.9-2017.01/arm-linux-gnueabi/gcc-linaro-4.9.4-2017.01-*.tar.xz
# I put it under $(HOME)/dev/sdk/
# or set hi6620oem-common/BoardConfigCommon.mk KERNEL_CROSS_COMPILE := to that path
##

export OUT_DIR_COMMON_BASE=/path/to/say/external/drive
export CCACHE_EXEC=/usr/bin/ccache
export USE_CCACHE=true
export CCACHE_DIR=""$OUT_DIR_COMMON_BASE"/ccache"
# TWRP
# Ive not figured out where in the scripts this goes wrong, i just noticed it now in 2023 so just cp
# once the build errors out
cp $OUT_DIR/target/product/p7_l10/ota_temp/SYSTEM/etc/install-recovery.sh $OUT_DIR/target/product/p7_l10/ota_temp/SYSTEM/bin/install-recovery.sh
##

Threader - 15.05.2023

Video issue was solved, I had overwritten previously patched files, I want to cry.

VLC is included as the built in media player can't handle many modernly compressed formats.

Experimental .vp9 decoder support, sadly this comes at the cost of .vp8 files being decoded in software thus far, this is possible to work around but not this day, now I can focus on other ways forward - like the kernel I was trying to bring up on this device to try with lineage 14.1.

Threader - 11.04.2023

Got it built again on a fresh Debian 12 and wrote down hopefully most of the details on how. I started work last time re-implementing the Huawei kernel atop a vanilla 3.0.101 sometime around 17.12.2022 but my migraines and tinnitus got the better of me for way too long, that kernel lives under the https://github.com/threader/hwp6s-kernel/tree/linux-3.0.101-hwp6s-android * branches, it displays a lovely boot logo and gives no logs so I started working on cherry-picking my way to bringing it up in the Android emulator/KVM

Threader - 17.12.2022

Trying to fix a video playback issue two more patches have been applied to Android: https://osdn.net/projects/android-x...mits/2f1103142fde38b9bdc2514b168d278c0ce08398 and https://android.googlesource.com/platform/frameworks/native/+/0471d0a^!/

Threader - 16.12.2022

Build new old version and provide first p6s image. <PULLED, there were conditions I hadn't set, tbc>

Threader - 10.03.2020 - 01.06.2021:

My builds do not include Gapps, stock camera app, etc, nothing is included beyond compiling Lineage sources. I will release builds every so often, as long as I can keep building it on a modern system, if I make headway with the kernel (which is fighting me all the way) or Chromium webview falls too far behind.

Short list of changes:

Lineage: Updated CA-Certificates to Google main.

Kernel: Added 'cpu_pm' driver to improve battery performance.

Applied tweaks learnt trough other projects.

Fixed bugs by Huawei.

A more comprehensive list to of changes to follow.

Kostyan_nsk - 18.12.2018 - 10.03.2020:

Updates:

2018-12-24:

ASB 2018-10

Working NFC

2019-02-06:

ASB 2018-12

Fixed bug which was causing boot-loop if you had ExFAT-formatted SD card.

Fixed wakelock release in WeatherUpdateService of LockClock app which in some case was causing battery drain.

YahooWeatherProvider was replaced by OpenWeatherMapProvider because Yahoo changed API.

Added "Sweep to Sleep" option in display settings.

2019-03-01:

ASB 2019-01

Fixed unzip symlink in TWRP.

2019-12-08:

ASB 2019-04

Included fix of "transparent" video playback bug.

Lawnchair updated to version 2.0; recommended make backup of Lawnchair settings because after update they will be dropped to defaults.

TWRP updated to version 3.3.1-0.

List of known 3rd party bugs:

Magisk v21.x does not work.

Plans ahead: In December 2022 started with a fresh Linux 3.0.101 kernel cloned from git.kernel.org , attached the Huawei drivers and satisfied the dependencies thereof as i got very sick of working with a source with no version control/history. It currently lives in the linux-3.0.101-hwp6s-android branch, there are branches with just the two applied diffs in this post though nothing is planned for those other than to be picked apart. The hope is this will make it easier to crawl up a few kernel versions and add compatibility _in the kernel_ for newer Android versions. Currently I've satisfied the Huawei and bcm drivers etc. to a bare minimum for it to compile for P7, some conditins for P6 are not yet added and i spotted numerous cherry picked features in the network stack i skipped, these would come along with merging up to linux 3.2 or 3.4.

GitHub - threader/hwp6s-kernel: Huawei Ascend P6S-U06 KitKat/Lollipop/LOS13.0 kernel

Huawei Ascend P6S-U06 KitKat/Lollipop/LOS13.0 kernel - threader/hwp6s-kernel

github.com

Attached diffs: I found Huawei p6 and p7 diffs on elinux - https://elinux.org/Phones_Processors_and_Download_Sites - attaching them here, re-compressed to tar.xz, so hopefully they don't go AWOL.