• Introducing XDA Computing: Discussion zones for Hardware, Software, and more!    Check it out!

H918 - Newbie

Search This thread

Supovitz

Senior Member
Dec 8, 2010
175
23
www.supovitz.com
It's been about 10 years since I've last signed into XDA :)

I just purchased an H918 on eBay for $50 and a new 4500mah battery on Amazon for $19.

I specifically sourced this phone for: the removeable battery and IR blaster.

I will follow up on the actual software versions when I power it up for the first time...

I'm looking for recommendations on what I should run for the most stable experience

Thanks in advanced all
 

Descent2

Senior Member
Nov 1, 2012
65
11
California
LG V20
Welcome Back Supovitz!

I am a newbie for V20, and looking to answer the same question as you, plus how to root. By writing out my small collection of knowledge in response to your question, I hope to help myself first, to organize and bake -in my knowledge so that it becomes useful to me and starts making sense. But keep in mind that I am a newbie.

MODEL AND VERSIONS

You can find the exact model here (from your IMEI):

Mine is listed as H918 on the label behind battery, but the http://lg-roms.com/ gives me H918TN
(I do not know if this difference is significant, however, elsewhere on this forum there is a lot of warnings that specifically with H918 there should be NO CROSSFLASHING, the model number must match - or BRICK.)


For H918 what matters is what ARB version your phone is on (ARB=AntiRollBack):
Nougat was ARB0 then ARB1, Oreo is ARB1 so far.
These ARB versions are loosely associated with the phone software versions such as 10j, 10p or 20h and so on.
Look at this page to get an idea when these software versions were released and how many of them are there:

To find ARB and Software version, you can use the about phone info in settings (at least for H918 they are visible):


PhoneInfo1.png

PhoneInfo2.png


Mine is running Nougat Android v7, software version 10j (ARB0)

Another way isto check by entering the dial code:

dial: *#LGMENU#*model# ( *#546368#*918# )
choose SVC Menu
choose Version
scroll to bottom


Thus for H918 there have been two ARB versions, 0 and 1 so far:
ARB0 - 10a - 10o
ARB1 - 10p - 10u



The point of knowing the ARB version is that there are two rules:
- if you flash a ROM for a lower version of ARB than the device shows, this will brick your device
- once you flash a ROM that has a higher version than what the device is currently on, ARB adjusts irreversibly
This is why the Anti Roll Back, - we can only move up in software versions, once we discover a root, they issue a new version and severely reduce the number of devices for sell that could use that discovered root.
( there is an actual fuse on the SOC that is burned, and this cannot be ever restored )

So this needs to be considered when choosing a ROM.

TOOLS INVOLVED, TIPS AND LIMITATIONS

Another thing you need to know about H918, is that you cannot count on FASTBOOT flash command on H918. These important FastBoot commands were disabled by T-Mobile. The only use for the fastboot remains on H918 is to unlock the bootloader / check if it is unlocked, i.e. fastboot oem unlock and fastboot getvar unlocked

Searching for a way to flash our files to the H918, XDA RunningNak3d created a method to exploit the "Download Mode" (hold VOL+ insert USB cable to enter the DM) present on H918 which is there to allow for the "LG Advanced Flash".
(I do not know why we can't just use that LG Advanced Flash tool to push our images, such as TWRP? I am sure there is a reason)
Now this exploit allows us to place a TWRP onto the LAF partition (where the Download Mode binary normally is) and thru that TWRP gain an ability to flash images rather than using the the LGUP tool (is LGUP the same as LG Advanced Flash " tool ?). IIRC, the LGUP does have some sort of control what is it asked to flash, so may-be this is why we can't use LGUP to flash TWRP onto Recovery partition and be done with it. So , we use the LAFSPLOIT.
To use LAFSPLOIT you would need to have a prepared linux environment to run the script by the RunningNak3d. There is a prepared bootable ISO image of such environment complete with many tools and LAFSPLOIT and also the ADB called FWUL. Once you get the TWRP on LAF, you typically use it to flash another TWRP, this time to Recovery partition, flash LAF Partition back if you want a working Download mode, and also flash your ROM and your chosen ROOT thingy.

With this it is important to note that H918 has some intricate issue that has to do with encryption. As you know you first Encrypt and then you Root, if you want to have the encryption.
Look at the currently ongoing attempt by XDA PineappleMousepad to ROOT the H918 and keep the Encryption here: https://forum.xda-developers.com/t/h918-rooted-and-encrypted-on-stock.4302253/

But there is this issue with booting to system from TWRP on a stock based ROMs (as opposed to AOSP, for instance). The issue is that the phone goes into the bootloop on SecureBoot (aka DM-Verity), trying to decrypt the DATA partition. To prevent this you must remember to do an advanced wipe from TWRP, before it had a chance to boot to system! So you Reboot to Recovery / and/or use hardware buttons to reboot to recovery, and you have you back cover off, standing ready to pull the battery if you think the phone boot process is going to miss the recovery.
The wipe (format ?) of data (and some say data and cache, some say data system and cache, again needs more research)(Some recommend now to boot to TWRP again and do a full format ? - 3808258 post #1) partition must be the advanced one, - where you have to type YES to confirm. As you can tell my understanding of this aspect is very cloudy, research this.

Finally, when you use the hardware button combination to enter the TWRP that is on the Recovery partition, the process had to be made such that it appears you are about to factory reset your phone. But, no, this is how you actually enter that TWRP. See bolow in BUTTONS section.





BUTTONS

Shutdown:
Hold POWER button for 10 sec

Exit from any Mode:
Hold the [POWER] until reboot

Factory Reset / Recovery Mode:
Shutdown > [VOL-] & [POWER] few seconds (10) > LG-Logo > release [POWER][if not working try releasing both] (only let go of the power button for half a second) but keep [VOL-] > [POWER] once more > Release all once in
Factory Recovery Mode
Note: Accept the factory reset prompt using the hardware buttons. (YES two times) This will not actually reset your device but instead will boot the custom recovery [if TWRP is isntalled on Recovery Partition]

Download Mode: (LAF mode on H918 aka LG Advanced Flash)
Shutdown > Plug one end of cable to PC > while [VOL+] connect other end of cable to phone > Release once in Download Mode
Note: You will enter the TWRP LAF Version if it is installed onto the LAF Partition

Bootloader Fastboot Mode:
Shutdown > Plug one end of cable to PC > while [VOL-] connect other end of cable to phone > Release once in Bootloader Mode


FIXES

There are several fixes available for H918. I am not entirely certain what situations require these fixes, but I want to mention them anyway so that you are aware of what might go wrong.

-Thermal throttling fix
-RCTD removal
-Screen Recalibration with Kernel Auditor
-bluetooth fix? (I've seen a file but failed to findout what it is for)
-LG V30 Camera by Zacharee
-Josh Camera Mod


ROMS


I don't know a whole lot, but it seems that the Stock is the most stable, if you only want the root (like I do).

The Lineage OS has major issues, such as a dead 5G tether, dead VoLTE, No second screen, etc.
(Second screen seems to be enabled on builds of LOS and ResurrectionRemix by Blaises from XDA, but I don't think he is watching the activity here anymore. If you want those, check here:

There is SuperV20 ROM , and again, I read there are issues, allthough, many do like it
Download: https://androidfilehost.com/?fid=673956719939834027
Discussion: https://forum.xda-developers.com/t/...-vs9951ca-h990-ds-more.3764390/#post-75915485

I read somewhere on XDA and did not take a note of URL, that If the custom ROM is not stock based, you lose the great camera that V20 has. Don't know if this all the truth, nothing but the truth or what. Also, there were some fixes for the camera if flashing not a stock based rom, but did not do a great research there yet.

Obviously the WETA ROM, which was made for audiophiles and stability:
https://forum.xda-developers.com/t/rom-kern-weta-5-0-7-16th-jun.3532778/
 
Last edited:

Descent2

Senior Member
Nov 1, 2012
65
11
California
LG V20
WETA ROM for the H918 is ARB0
That is a great question seldom discussed:
Q-How does one know what version of ARB a certain ROM is made for?
A--consider ROM creation date vs. ARB history timeline
A--read ROM thread and in case the OP cared to mention
A--ask around

But, is there a way to check? I mean is that a different looking file, a property, ...?
Let's say, the OP did not mention, no one knows and the ROM was made after ARB1 was sent out.
It is likely that the OP had made the ROM using the new firmware, but it could be that he took a while and his ROM was started and got finished on older, ARB0 firmware.

How to know for sure? Is there a way?
 

Descent2

Senior Member
Nov 1, 2012
65
11
California
LG V20
I am writing this out to organize my own thought and to receive a correction, because I am kind of just now learning about this. Feel free to tell me where I am wrong.

My second question is to clarify firmware vs. software.

If you look in the "About" section of settings, you will see that the firmware version [..like H91810p] is actually listed as a "Software Version". So, this is one source of confusion.

My understanding currently is that the OEM calls it "Software" because they do not want the consumers to know too much about how things work, i.e. they create this confusion on purpose.

What is "Firmware" ?
Currently, I hold that it is the code that runs the metal. To say it in a way that is easier to understand, there is a phone (bare metal), it is is run by drivers and binary blobs, which is a code, thus a software, but for the purpose of confusion it is called a firmware because it comes from the OEM (thus, from "a firm"). The phone can run with just that, even though it will not be useful to most people it that way, but never the less, it would be a fully functional device (from a robot point of view). Functional, in a sense that it has a hardware charger component, and there is also would be a code that runs a charger (firmware). It has a radio and there is also a code that runs the radio (again, firmware). Just like a computer that came without the OS, already has the BIOS, which is the firmware by our convention, and it also has a lot of code in many chips throughout (Video card chips, Bridges, Audio circuits and so on). All that code is Firmware.
There will also be the drivers for the OS, which I think would also be the firmware (drivers), but they come with the software because they were written as an interface between a given hardware and a given OS. I do not know if this is exactly the same with phones or not.

What is missing so far is the software, or what we, in these forums call the software. Again, this is some code, but this time it comes from Google who pays the Open Handset Alliance to write it. This time, however, we are talking about the code that runs the OS (Android). This code makes the phone which was already a completely finctioning device (for robots and reversers maybe), useful to the regular consumers as it creates all the windows, dialog boxes, buttons, colors and sounds that makes a regular user able to actually operate the device.

Technically, I think the OS could come as Windows if it was requested to the same device that was running Android OS before, there is no hard rule that would make it impossible. Why I am mentioning this? Because I think it helps to mentally separate the role of firmware from the role of software.

The firmware is stored is a separate partition (in case of modem / baseband / radio code) because:
- it frequently is the case that this firmware operates literally it's own CPU, and
- because it keeps things cleaner - you can re-flash modem partition only (same reasons as for /data), leaving everything else intact, or vice versa, you could leave the firmware partition intact while wiping / re-writing (flashing) others.


What I don't know is where is the firmware that is related to the ARB version stored? Is it only the modem? What other partitions are the firmware?
If this is known, can't we flash only the software and downgrade the OS, while leaving all the firmware (firmware partitions?) intact?

Also about what exactly constitutes a ROM, specifically, what partitions must it include and why, and what partitions can it include that are optional and could be replaced, omitted? At this time I think that the ROM must include a /system as a minimum, it might include boot.img (kernel and ramdisk) and if it does then it is NOT optional because this is where the OS "drivers" are for the given phone (these would be the ones that are compatible with both the given FW version of the device and on the other side, the modded OS that is the reason for this ROM). What other partitions might come with the ROM and are they optional?
 
Last edited:

C D

Senior Member
That is a great question seldom discussed:
Q-How does one know what version of ARB a certain ROM is made for?
A--consider ROM creation date vs. ARB history timeline
A--read ROM thread and in case the OP cared to mention
A--ask around

But, is there a way to check? I mean is that a different looking file, a property, ...?
Let's say, the OP did not mention, no one knows and the ROM was made after ARB1 was sent out.
It is likely that the OP had made the ROM using the new firmware, but it could be that he took a while and his ROM was started and got finished on older, ARB0 firmware.

How to know for sure? Is there a way?
The simple answer is: If you can't find out any of the above information, then it shouldn't be trusted or touched. That info should be found somewhere in the ROM's respective thread.
And of course, the ARB0 vs ARB1 issue only applies to Nougat ROMs. From what I've seen, WETA is clearly ARB0 due to its age, Alpha Omega Nougat is ARB1, the later versions of Super Rom are ARB1, and some LineageOS builds have the ARB0 ones labeled "h918-PRE10p" in their filenames. It's probably safe to assume that all recent Lineage versions not labeled this way are ARB1.

Since you can still freely go between Nougat and Oreo on ARB1, very few still care about ARB0 since the only reason to still have ARB0 is to run older Nougat ROMs on the phone.

As for your software/firmware/ROM parts questions, any ROM developer should be able to give you the answers to those.
 
  • Like
Reactions: Descent2

Descent2

Senior Member
Nov 1, 2012
65
11
California
LG V20
If you have the .zip, you can extract it and look at system/build.prop
Look for the line ro.lge.swversion=

What I was looking for, exactly. Thank you! This is the main thing, the main hint.

Still a hint and every other hint is no less important, because as we know from RunningNak3d the QFPROM cannot be fooled even if we change this in build.prop.

I am writing the above as a warning to anyone who might have read only this Q and A and nothing else, a decided that he will change the value in build.prop and flash a lower ARB version onto a device showing a higher ARB version installed. AFAIK, you will be bricked.
 

Supovitz

Senior Member
Dec 8, 2010
175
23
www.supovitz.com
I have my phone up and running on WETA. It's a little slow in comparison to my newer OnePlus 7 but I am enjoying it!

I used LGUP to roll all the way back to original Nougat and then flashed WETA.

Does anyone run Lineage and find it to be smoother?
 

Descent2

Senior Member
Nov 1, 2012
65
11
California
LG V20
Could you give a link to the exact Weta you installed and also let me know your downgrade path? (Like you downgraded from 20h to 10p, for example). Thanks and congrats on your success loading that!
 

Top Liked Posts

  • There are no posts matching your filters.
  • 2
    Q-How does one know what version of ARB a certain ROM is made for?
    If you have the .zip, you can extract it and look at system/build.prop
    Look for the line ro.lge.swversion=
    1
    That is a great question seldom discussed:
    Q-How does one know what version of ARB a certain ROM is made for?
    A--consider ROM creation date vs. ARB history timeline
    A--read ROM thread and in case the OP cared to mention
    A--ask around

    But, is there a way to check? I mean is that a different looking file, a property, ...?
    Let's say, the OP did not mention, no one knows and the ROM was made after ARB1 was sent out.
    It is likely that the OP had made the ROM using the new firmware, but it could be that he took a while and his ROM was started and got finished on older, ARB0 firmware.

    How to know for sure? Is there a way?
    The simple answer is: If you can't find out any of the above information, then it shouldn't be trusted or touched. That info should be found somewhere in the ROM's respective thread.
    And of course, the ARB0 vs ARB1 issue only applies to Nougat ROMs. From what I've seen, WETA is clearly ARB0 due to its age, Alpha Omega Nougat is ARB1, the later versions of Super Rom are ARB1, and some LineageOS builds have the ARB0 ones labeled "h918-PRE10p" in their filenames. It's probably safe to assume that all recent Lineage versions not labeled this way are ARB1.

    Since you can still freely go between Nougat and Oreo on ARB1, very few still care about ARB0 since the only reason to still have ARB0 is to run older Nougat ROMs on the phone.

    As for your software/firmware/ROM parts questions, any ROM developer should be able to give you the answers to those.