Here is my adventure in getting Custom Rom/Root/TWRP etc onto the LG V40. This is my first LG phone, but I've had expertise with Samsungs ODIN and using A/B devices w/ Pixel and consider myself quite familiar with root, yet it was still quite the experience! I highly reccomend you don't try this unless you are very confident in your abilities.
Links:
https://forum.xda-developers.com/t/guide-lgup-for-all-no-root-needed.3967858/page-12#post-85451175
https://forum.xda-developers.com/t/twrp-lg-v40-judypn.3970111/
https://forum.xda-developers.com/t/unofficial-havocos-3-5-for-the-lg-v40.4104753/
https://forum.xda-developers.com/posts/85445717/
https://drive.google.com/file/d/1Gy0crcs4D4JgaL5w3yalAD2QcJ7Lgg8v/view
Notes:
- You can get to 9008 mode from any screen, even if you break phone basically as long as its not hardware broken
- I found it easiest to get to from Download Mode
- Hold Vol Down + Power then when it resets press Vol Up repeatedly till you hear sound on computer, nothing shows on screen (continue to hold Vol Down + Power)
- I got an error the first time as I got to 9008 mode and left my phone alone, i was able to fix by restarting process and being faster
- LG UP v 17.1 got past the "Cross Flash" error for me, then I used regular LGUP to do a "Partition DL" flash (I always used this mode, flash ALL partitions, never lost Unlocked Bootloader, don't care about root, can easily re-root anytime)
- LAF partitions = Download Mode
- ABL partitions = Bootloader mode
- When you get into QFIL, backup EVERY partition via "Read", or at minimum, ABL/LAF/MODEM*/EFS.
- I once used "erase flash all" in QFIL and recovered via the ATT_FULLBACKUP, but I had 0 for IMEI. Thankfully I had a modem backup or I would have been screwed, flashing that restored my IMEI.
- Unlocking Bootloader is best done on 8 or 9
- TWRP Metadata is for Android 10 +, don't bother with the regular non-metadata files/instructions, just IGNORE THEM.
- To get to Bootloader I had to erase LAF_A and to get back to download mode I had to erase ABL_A and restore LAF_A and visa versa. Always keep backups of these partitions. I had multiple backups based on Android Version and Rom Version for LAF/ABL (Modem not so much).
- To get to DL mode or Bootloader hold VOL UP (with phone unplugged) and plug into PC, it will auto boot into that mode (no "timing" needed!)
- I don't trust Xenious ROMs as the IMEI was blank on V18 of LOS and I don't think LOS 18 will ever work without a stock FW of Android 11 (which will never get).
- There should have been a bigger warning
- The "Bug" "BT-Audio in some situations" for LOS based custom roms for LG V40 is more like "BT Audio Doesn't Work".
- Don't even bother with LOS ROMS!
- Use the Havoc-OS which is based on Pixel (I got an e-mail from google congratulating me on my new Pixel 4 XL!)
- I was originally not using this rom as I found it "unprofessional" to have like 4x the same posts in the forum, but it actually works 100% and is super stable.
- Order of flashing:
- Boot stock, enable USB Debug and Unlock OEM Bootloader
- Boot 9008, wipe LAF_A, flash v35eng to ABL_A reboot via VOLDown + Power, release and hit VOL UP when reboot to get to v35 BL
- Use commands "fastboot oem unlock" to unlock booloader!
- Note: I have severely damaged my phone after this (wiped all partitions in QFIL and NEVER lost unlocked bootloader beyond this point, so your done!)
- Now your goal is to use LGUP to get to Android 10. I used the European version that is "open", but you can use Korean (special bands available?) or the VZW (Verizon) one, any should work as long as its Android 10
- Note: If you get Cross Flash error, try LGUP v17 which is CLI only (link to come, I forget where I found it in some random XDA thread lol), but it worked for me. I'm unsure what it does, so after, I used LGUP to flash the same kdz via "Partition DL"
- If you don't have "Partition DL" in LGUP your not setup correctly
- Reboot back into 9008 mode, flash back LAF_A and wipe ABL_A, reboot to DL mode and use LGUP to get to Android 10
- Boot Phone then go back into 9008 mode
- Wipe LAF_A and reboot to get to "stock" bootloader
- "fastboot boot judy-twrp-metadata"
- Install via the ZIP file
- From TWRP reboot to recovery (same slot "A")
- Flash HavocOS (inject TWRP)
- From TWRP switch slots, reboot to recovery
Note:
- I struggled with this part, not sure how I fixed it tbh, I had to get to bootloader and then use the command "fastboot erase userdata" to get HavocOS to boot, I kept getting "Enter Password to run Android" (Failed to decrypt Drive)
- Perhaps you can do this via TWRP?
- For metadata w/ LOS I had to reboot to recovery in slot B, then factory reset, then install Magisk + OpenGApps BEFORE first boot.
- I actually didn't think that TWRP got installed, but it did, the only way I could get there was via Magisk - Reboot to Recovery, not via ADB commands or Vol/Power combos.
- You'll never get to pass Integrity I don't think (No Google Pay)
- Apps that detected root I was unable to "hide" from and just couldn't use
- BT Audio works 100%!
- I used Titanium Backup to freeze the Messenger App (but not Messenger Service or MMS didnt work) otherwise each boot Messenger would load even though I use Textra for Default
- I also froze the Camera App as it isn't able to be configured to use Storage Correctly, I use "Open Camera" and it works fine.