Kernel V4.4 _ LG G6 (Lucye) Specifics - LGE-G5-G6-V20/msm8996_lge_kernel GitHub Wiki

G6 specifics

This model was the only one not booting yet as of the date of this wiki's creation, so we needed a special section in order to keep track of current problems impeding boot.

History:

Initially, some build fixes had to be made in order to even compile the kernel for it, which proved to be easier than expected since much of the TUSB422 code is similar to sony's FUSB301 for example, and other things like the ESS DAC had already been updated to some extent due to the LG V20 & G5 being way ahead.

After that, it was possible to flash the kernel on the G6 and check how far it would get on boot. Turns out it wouldn't get very far. Turns out some LGE UFS nodes in the dtsi files were causing problems in 4.4 despite being fine in 3.18. That was quickly fixed through some dtsi changes made on this commit.

With those ufs fixes in place, the phone reached a state where it seems to go further into boot, but still loops and this time it doesn't generate any logs in sys/fs/pstore/. This is the current state it's in, we're trying to patch up the USB in order to try getting anything through ADB, assuming it fails after getting ADB up and running.

After disabling the usage of usb_psy on G6's tusb422 dual-role driver, as well as some changes in its device trees, the phone now boots well enough to get logs, although a few problems are still present, such as random kernel panics when rebooting the phone, which seem to be caused by tusb422's incomplete update to 4.4. USB also doesn't work there yet.

Recent USB commits such as this and this seem to have helped the phone boot reliably and also have working USB (although data transfers are slower than normal for the time being), so the G6 has reached near parity with the V20 and G5 now.

Its fingerprint sensor wasn't working on 4.4, and internal discussions point to this commit. Our current fix is to add ifdefs to different phone models, which have different FPC blob versions and with that we can support all of them. This is the commit with the fix.