FORUMS

[H930/H930G] TWRP alpha testing

1,492 posts
Thanks Meter: 6,213
 
Post Reply Email Thread
https://adduono.com/twrp-test/twrp-3.1.1-0-h930.img

go ham

NOT FOR T-MOBILE LG V30/V30+ H932 OR ANYTHING OTHER THAN H930/H930G!
however, if you find an exploit to flash this to an unlocked bootloader H932 then have at it!

don't forget to unlock your bootloader first: http://developer.lge.com/resource/mo...yId=CTULRS0702
if LG's bootloader unlock page says your device isn't eligible, then you are officially screwed!

you must use fastboot to flash it to your recovery partition, from there, do the factory reset button dance
i have no idea how to do that so tell a friend

warning: if you boot the OS after flashing recovery, it will just replace it with stock recovery!
solution: swipe to enable modifications in TWRP after accepting factory reset screen (it won't actually wipe your device, twrp will ignore the request)

if you are having trouble with that, you can flash twrp to boot partition instead, and probably get away with flashing your boot image to recovery.
using it backwards like this, you will default boot into twrp, then you can select reboot -> recovery to get into your rom. it's just like having a GRUB menu, ha!
you should have an extra copy of boot.img for your current rom if you want to go this route!

tested working:
  • OTG storage
  • MTP
  • ADB
  • Mass Storage mode (legacy sdcard as flash drive mode!)
  • Brightness
  • no-verity-opt-encrypt-6.0.zip (download here)

please test:
  • Backup/Restore
  • f2fs (requires a custom kernel to boot, LG does not have it enabled in stock)
  • exFAT sdcards
  • NTFS (via OTG storage)
  • time/date? (be sure to set your timezone correctly)
  • STABILITY - LG really sucks at kernel modifications and any small thing could cause a NULL pointer exception and crash
  • Magisk stable (root that puppy, MAKE BACKUPS FIRST!)
  • SuperSU (don't flash it with Magisk lol)
  • Backing up EFS and emailing it to me so I can sell to the highest chinese bidder

will probably never work:
  • Encryption - LG's proprietary encryption is beyond my capabilities - it is possible to support encryption on custom ROMs however.

you can flash no-verity-opt-encrypt then format your data partition to disable encryption (i think?)
LG might just encrypt it regardless, who knows

you can disable LG's root checker daemon/service by flashing this cool zip https://build.nethunter.com/android-...rctd-disabler/

crashes can be diagnosed by entering back into recovery immediately after the crash and doing adb pull /sys/fs/pstore then uploading pstore folder for me to stare at in confusion


when all is tested and happy, I will close this thread, submit it to twrp.me, and open an official TWRP thread.

thanks for your participation

special thanks to @wolfgart for providing factory images to work off, and doing all the dangerous pre-alpha testing for me, and allowing me to use SSH to talk to his device.

SOURCES (never trust a man without them)
kernel: https://github.com/jcadduono/android...mmits/twrp-7.1
device tree: https://github.com/jcadduono/android_device_lge_h930

UNDECIDED IDEAS
  • should it be called h930? officially it is called joan/joan_global_com
  • should I make it a unified device and have it automatically populate with correct model by reading serial number (H930 vs H930G) or just have it H930 for simplicity
  • should I update the f2fs driver to f2fs-stable upstream
  • should I include crypto libs and qseecomd for custom ROMs to use HW encryption (may cause delayed startup/longer boot in TWRP for everyone else)
  • should I just hand this off to someone who actually owns the device to maintain themselves
  • should I log out of XDA and go back to playing World of Warcraft for another few years
It would be nice to get feedback from the community on these as I know sometimes my choices may be different than yours if I don't know what you want
The Following 28 Users Say Thank You to jcadduono For This Useful Post: [ View ]
27th November 2017, 08:55 PM |#2  
Member
Thanks Meter: 34
 
More
And so it starts , thank you
28th November 2017, 06:32 AM |#3  
Senior Member
Thanks Meter: 714
 
More
Quote:
Originally Posted by jcadduono

https://adduono.com/twrp-test/twrp-3.1.1-0-h930.img

go ham

don't forget to unlock your bootloader first: http://developer.lge.com/resource/mo...yId=CTULRS0702

you must use fastboot to flash it to your recovery partition, from there, do the factory reset button dance
i have no idea how to do that so tell a friend

warning: if you boot the OS after flashing recovery, it will just replace it with stock recovery!
solution: swipe to enable modifications in TWRP after accepting factory reset screen (it won't actually wipe your device, twrp will ignore the request)

if you are having trouble with that, you can flash twrp to boot partition instead, and probably get away with flashing your boot image to recovery.
using it backwards like this, you will default boot into twrp, then you can select reboot -> recovery to get into your rom. it's just like having a GRUB menu, ha!
you should have an extra copy of boot.img for your current rom if you want to go this route!

tested working:
OTG storage
MTP
ADB
Mass Storage mode (legacy sdcard as flash drive mode!)
Brightness
no-verity-opt-encrypt-6.0.zip (download here)


please test:
Backup/Restore
f2fs (requires a custom kernel to boot, LG does not have it enabled in stock)
exFAT sdcards
NTFS (via OTG storage)
time/date? (be sure to set your timezone correctly)
STABILITY - LG really sucks at kernel modifications and any small thing could cause a NULL pointer exception and crash
Magisk stable (root that puppy, MAKE BACKUPS FIRST!)
SuperSU (don't flash it with Magisk lol)
Backing up EFS and emailing it to me so I can sell to the highest chinese bidder


will probably never work:
Encryption - LG's proprietary encryption is beyond my capabilities - it is possible to support encryption on custom ROMs however.


you can flash no-verity-opt-encrypt then format your data partition to disable encryption (i think?)
LG might just encrypt it regardless, who knows

crashes can be diagnosed by entering back into recovery immediately after the crash and doing adb pull /sys/fs/pstore then uploading pstore folder for me to stare at in confusion


when all is tested and happy, I will close this thread, submit it to twrp.me, and open an official TWRP thread.

thanks for your participation

special thanks to @wolfgart for providing factory images to work off, and doing all the dangerous pre-alpha testing for me, and allowing me to use SSH to talk to his device.

SOURCES (never trust a man without them)
kernel: https://github.com/jcadduono/android...mmits/twrp-7.1
device tree: https://github.com/jcadduono/android_device_lge_h930

UNDECIDED IDEAS
should it be called h930? officially it is called joan/joan_global_com
should I make it a unified device and have it automatically populate with correct model by reading serial number (H930 vs H930G) or just have it H930 for simplicity
should I update the f2fs driver to f2fs-stable upstream
should I include crypto libs and qseecomd for custom ROMs to use HW encryption (may cause delayed startup/longer boot in TWRP for everyone else)
should I just hand this off to someone who actually owns the device to maintain themselves
should I log out of XDA and go back to playing World of Warcraft for another few years

It would be nice to get feedback from the community on these as I know sometimes my choices may be different than yours if I don't know what you want

I think h930 and us998 would be the best options when it comes out ofc cause they both would get super long names but I do like the naming scheme of joan because it would set the precedent for the entire rom scene @ChazzMatt might have an opinion too as I know he is wanting to Dev the device and I'm getting mine here soon
28th November 2017, 12:33 PM |#4  
ChazzMatt's Avatar
Recognized Contributor
Flag Atlanta, Georgia
Thanks Meter: 14,242
 
Donate to Me
More
Quote:
Originally Posted by jcadduono

UNDECIDED IDEAS

  • should it be called h930? officially it is called joan/joan_global_com
  • should I make it a unified device and have it automatically populate with correct model by reading serial number (H930 vs H930G) or just have it H930 for simplicity
  • should I just hand this off to someone who actually owns the device to maintain themselves
It would be nice to get feedback from the community on these as I know sometimes my choices may be different than yours if I don't know what you want

Unified. Over in the Moto Quark forums (Droid Turbo XT1254, U.S Moto Maxx XT1250, Moto Turbo XT1225, "international" Moto Maxx XT1225) the TWRP dev got us official TWRP (although he also makes his own modded versions) but made the wise decision to go unified. That way no matter what Quark you have, there's ONE TWRP thread, and one official TWRP. It really reduces confusion. (And the Droid Turbo bootloader was unlocked a full year after release by Sunshine. Didn't matter, the Quark TWRP dev included them in the party.)

To reiterate, there's actually TWO XDA Quark forums to cover ALL the variants, but ONE unified TWRP.

Yes, for the V30 right now there's the H930, and surprisingly the H930G -- but in a month there will also be the North America US998. Just because it's not there yet, don't forget to mentally prepare for it. You're the TWRP guy right now and you can include ALL these models. Over in the LG G6 forum, they didn't do that and there's two TWRP versions, two TWRP threads. We can do it better.

The open market US998 will be released December 5 (next week), and even though probably won't be bootloader unlocked until about 3 weeks later, upon release you can immediately update the TWRP to include the serial numbers, yes? So, it will be "shovel ready" when LG does list it on the bootloader unlock page.

I know I wouldn't want to flash this TWRP over my US998 and have it be called an H930, same with someone with an H930 not wanting it to be a US998. And someone with an H930G would also want their device specifically recognized.

Same with ROMs, for any other devs reading this. Again, using Moto Quark as good example -- with only with one Verizon stock-based ROM exception -- ALL the Quarks from all over the world can run ALL the custom ROMs. Should be the same with the V30. (And yes, even Quark had different (32GB/64GB) internal size configurations like the V30/V30+. That doesn't matter. It can be done. When you boot up, the About Settings for all the ROMs show even show specifically what device you have, whether Droid Turbo, Moto Maxx, Moto Turbo.

Please don't make ROMs for JUST the H930 or JUST the US998. Make the ROM so people can flash the radio they need, but the ROM works for all V30 variants.

Quote:
Originally Posted by jcadduono

should I just hand this off to someone who actually owns the device to maintain themselves

That's your decision. It is harder to test if you don't own the device yourself. The Quark dev @bhb27 even makes modded versions of TWRP, which we actually trust more than the "official" TWRP -- because he's also the dev of two different ROMs and a custom kernel. He throws his custom kernel into the TWRP build (if I understand correctly) so it runs better. TWRP website won't accept his modded TWRP builds, but then no one installs the official TWRP anymore because his modded TWRP has so many extra features. Point is, he owns the device and knows what works and what doesn't.

If you decide not to buy a V30 for personal reasons, and decide to hand it off, you can at least get a good foundation going with a unified build.
28th November 2017, 01:14 PM |#5  
jcadduono's Avatar
OP Recognized Developer
Flag Thunder Bay
Thanks Meter: 6,213
 
Donate to Me
More
Quote:
Originally Posted by ChazzMatt

Unified. Over in the Moto Quark forums (Droid Turbo XT1254, U.S Moto Maxx XT1250, Moto Turbo XT1225, "international" Moto Maxx XT1225) the TWRP dev got us official TWRP (although he also makes his own modded versions) but made the wise decision to go unified. That way no matter what Quark you have, there's ONE TWRP thread, and one official TWRP. It really reduces confusion. (And the Droid Turbo bootloader was unlocked a full year after release by Sunshine. Didn't matter, the Quark TWRP dev included them in the party.)

To reiterate, there's actually TWO XDA Quark forums to cover ALL the variants, but ONE unified TWRP.

Yes, for the V30 right now there's the H930, and surprisingly the H930G -- but in a month there will also be the North America US998. Just because it's not there yet, don't forget to mentally prepare for it. You're the TWRP guy right now and you can include ALL these models. Over in the LG G6 forum, they didn't do that and there's two TWRP versions, two TWRP threads. We can do it better.

The open market US998 will be released December 5 (next week), and even though probably won't be bootloader unlocked until about 3 weeks later, upon release you can immediately update the TWRP to include the serial numbers, yes? So, it will be "shovel ready" when LG does list it on the bootloader unlock page.

I know I wouldn't want to flash this TWRP over my US998 and have it be called an H930, same with someone with an H930 not wanting it to be a US998. And someone with an H930G would also want their device specifically recognized.

Same with ROMs, for any other devs reading this. Again, using Moto Quark as good example -- with only with one Verizon stock-based ROM exception -- ALL the Quarks from all over the world can run ALL the custom ROMs. Should be the same with the V30. (And yes, even Quark had different (32GB/64GB) internal size configurations like the V30/V30+. That doesn't matter. It can be done. When you boot up, the About Settings for all the ROMs show even show specifically what device you have, whether Droid Turbo, Moto Maxx, Moto Turbo.

Please don't make ROMs for JUST the H930 or JUST the US998. Make the ROM so people can flash the radio they need, but the ROM works for all V30 variants.



That's your decision. It is harder to test if you don't own the device yourself. The Quark dev @bhb27 even makes modded versions of TWRP, which we actually trust more than the "official" TWRP -- because he's also the dev of two different ROMs and a custom kernel. He throws his custom kernel into the TWRP build (if I understand correctly) so it runs better. TWRP website won't accept his modded TWRP builds, but then no one installs the official TWRP anymore because his modded TWRP has so many extra features. Point is, he owns the device and knows what works and what doesn't.

If you decide not to buy a V30 for personal reasons, and decide to hand it off, you can at least get a good foundation going with a unified build.

The H930/H930G are practically the same device so all the work is done for unifying them. For US998 to be included in the same TWRP build will require a lot of hacks or just good luck with dtb mismatches. The US998 might have hardware located on different pins than H930/H930G so I will have to check the dtb files and see what doesn't match up and create a unified dtb OR find a way to detect the real device model within the kernel (can be done by reading serial number from command line passed by bootloader) and then select the correct dtb to load. This might require modifying dtb format to add device variant descriptors. It would be a lot easier if different models didn't have the same dtb subtype codes conflicting with each other and it would load the correct dtb automatically.
I would be leaning towards the method of modifying dtb/dtsi to include a model ID and insert some code in dtb selector to pick the right one based on serial number from BL cmdline.
None of this will be necessary if this build boots with no noticeable issues running TWRP on US998 when it releases, and if so all I need to do is add init code to change version props. Easy.
The Following User Says Thank You to jcadduono For This Useful Post: [ View ]
28th November 2017, 01:39 PM |#6  
ChazzMatt's Avatar
Recognized Contributor
Flag Atlanta, Georgia
Thanks Meter: 14,242
 
Donate to Me
More
Quote:
Originally Posted by jcadduono

The H930/H930G are practically the same device so all the work is done for unifying them. For US998 to be included in the same TWRP build will require a lot of hacks or just good luck with dtb mismatches. The US998 might have hardware located on different pins than H930/H930G so I will have to check the dtb files and see what doesn't match up and create a unified dtb OR find a way to detect the real device model within the kernel (can be done by reading serial number from command line passed by bootloader) and then select the correct dtb to load. This might require modifying dtb format to add device variant descriptors. It would be a lot easier if different models didn't have the same dtb subtype codes conflicting with each other and it would load the correct dtb automatically.
I would be leaning towards the method of modifying dtb/dtsi to include a model ID and insert some code in dtb selector to pick the right one based on serial number from BL cmdline.
None of this will be necessary if this build boots with no noticeable issues running TWRP on US998 when it releases, and if so all I need to do is add init code to change version props. Easy.

This may be what you are saying, but how about this? If it's NOT an H930/H930G, THEN it HAS to be a US998. True/false decision.

We know only the H930/H930G/US998 will be on the LG bootloader unlock list.

Later, if some devs have luck with T-mobile H932 (using something like this) or other carrier branded models, you can cross that bridge when it comes.


________

Quote:
Originally Posted by jcadduono

The H930/H930G are practically the same device so all the work is done for unifying them. For US998 to be included in the same TWRP build will require a lot of hacks or just good luck with dtb mismatches. The US998 might have hardware located on different pins than H930/H930G so I will have to check the dtb files and see what doesn't match up and create a unified dtb OR find a way to detect the real device model within the kernel (can be done by reading serial number from command line passed by bootloader) and then select the correct dtb to load. This might require modifying dtb format to add device variant descriptors. It would be a lot easier if different models didn't have the same dtb subtype codes conflicting with each other and it would load the correct dtb automatically.
I would be leaning towards the method of modifying dtb/dtsi to include a model ID and insert some code in dtb selector to pick the right one based on serial number from BL cmdline.
None of this will be necessary if this build boots with no noticeable issues running TWRP on US998 when it releases, and if so all I need to do is add init code to change version props. Easy.

I know I hit thanks on post #1, but I also want to say it in writing. Thanks for your work on this.

Not sure why LG separates the European and North America bootloader unlock dates, but probably so the North American carriers have more time to fleece their customers before LG releases the GOOD stuff. They give the carriers some sort of exclusive selling time. We saw it on the LG G6 and it's happening again with the LG V30. But the "open market" US998 is coming.

I'm hoping LG will surprise us and also release a V30+ version of the US998.
  1. U.S. Cellular sells such a version (V30+) with the same model number (US998). It won't be eligible for bootloader unlock, but LG could make that same variant available to authorized retailers for their "open market" model. Much like the H930 (V30) and H930G (V30+). LG including the H930G gives me hope they will do something similar for North America.
  2. LG has said nothing publicly about the North American "open market" US998. The only information (including alleged December 5 release date) we have is from the B&H Photo pre-order page -- and I've already ordered one from there. But there will be other authorized retailers, and none of those have put up pre-order pages. Everyone except for B&H Photo seems to be waiting for LG to speak first.
28th November 2017, 01:47 PM |#7  
wolfgart's Avatar
Senior Member
Flag Rome
Thanks Meter: 1,204
 
More
Quote:
Originally Posted by jcadduono

The H930/H930G are practically the same device so all the work is done for unifying them. For US998 to be included in the same TWRP build will require a lot of hacks or just good luck with dtb mismatches. The US998 might have hardware located on different pins than H930/H930G so I will have to check the dtb files and see what doesn't match up and create a unified dtb OR find a way to detect the real device model within the kernel (can be done by reading serial number from command line passed by bootloader) and then select the correct dtb to load. This might require modifying dtb format to add device variant descriptors. It would be a lot easier if different models didn't have the same dtb subtype codes conflicting with each other and it would load the correct dtb automatically.
I would be leaning towards the method of modifying dtb/dtsi to include a model ID and insert some code in dtb selector to pick the right one based on serial number from BL cmdline.
None of this will be necessary if this build boots with no noticeable issues running TWRP on US998 when it releases, and if so all I need to do is add init code to change version props. Easy.

i prefer to have different TWRP's images . One for H930 / G and another one for US variant.

Make Official for H930
28th November 2017, 02:13 PM |#8  
ChazzMatt's Avatar
Recognized Contributor
Flag Atlanta, Georgia
Thanks Meter: 14,242
 
Donate to Me
More
Quote:
Originally Posted by wolfgart

i prefer to have different TWRP's images . One for H930 / G and another one for US variant.

Make Official for H930

No, no need for that. Can be one official TWRP for all LG V30. You didn't even read what I posted.

As a great example, Moto Quark (XT1254, XT1250, XT1225) has several different variants but still has one OFFICIAL TWRP which works on all, recognizes all. They even have two different XDA forums to cover all the variants, but still ONE TWRP, one TWRP thread -- which makes dev discussion much simpler.

No need for two or three TWRP threads in the LG V30 development section, when this is a forum for all.

It doesn't "hurt" in any way to have a unified build, but does HELP development in so many ways.
28th November 2017, 02:17 PM |#9  
Senior Member
Thanks Meter: 714
 
More
Quote:
Originally Posted by ChazzMatt

This may be what you are saying, but how about this? If it's NOT an H930/H930G, THEN it HAS to be a US998. True/false decision.

We know only the H930/H930G/US998 will be on the LG bootloader unlock list.

Later, if some devs have luck with T-mobile H932 or other carrier branded models, you can cross that bridge when it comes.


________



I know I hit thanks on post #1, but I also want to say it in writing. Thanks for your work on this.

Not sure why LG separates out the European and North America bootloader unlock dates, but probably so the North American carriers have more time to fleece their customers before LG releases the GOOD stuff. They give the carriers some sort of exclusive selling time. We saw it on the LG G6 and it's happening again with the LG V30. But the "open market" US998 is coming.

I'm hoping LG will surprise us and also release a V30+ version of the US998.

U.S. Cellular sells such a version (V30+) with the same model number (US998). It won't be eligible for bootloader unlock, but LG could make that same variant available to authorized retailers for their "open market" model. Much like the H930 (V30) and H930G (V30+). LG including the H930G gives me hope they will do something similar for North America.
LG has said nothing publicly about the North American "open market" US998. The only information (including alleged December 5 release date) we have is from the B&H Photo pre-order page -- and I've already ordered one from there. But there will be other authorized retailers, and none of those have put up pre-order pages. Everyone except for B&H Photo seems to be waiting for LG to speak first.

Yeah I agree Chazz with unified especially when it came to G6 people only developed for the country they own and even though @Rashed97 owned and maintained the us997 the only official lineage thread was for the h870 along with numerous other official h870 with no mention of us997 other than me and one other Dev building unofficial roms for personal builds and sharing.
The Following User Says Thank You to Cameron581 For This Useful Post: [ View ] Gift Cameron581 Ad-Free
29th November 2017, 03:45 AM |#10  
Member
Thanks Meter: 5
 
More
All things seem to work so far, (the ones I normaly use in twrp that means), including backup, restore, magisk stable, magisk beta and supersu. Only thing i can't get to work is flashing zips which would install apps. I have a suspicion but before I talk bullcrap I would like to ask why that may be, if there's a workaround or if I have to wait for the first custom ROMs

Edit : got it, I'm stupid
The Following 3 Users Say Thank You to CoalSvenson For This Useful Post: [ View ] Gift CoalSvenson Ad-Free
1st December 2017, 02:35 AM |#11  
Senior Member
Thanks Meter: 1,805
 
More
Is this for the tmobile variant? Sorry for the noobish question
Post Reply Subscribe to Thread

Tags
h930, h930g, recovery, twrp, v30

Guest Quick Reply (no urls or BBcode)
Message:
Previous Thread Next Thread
Thread Tools Search this Thread
Search this Thread:

Advanced Search
Display Modes