yashsingh1/xdaforums huggingface dataset:
[LG V20 Guides, News, & Discussion] poczynek:
Well mine is due to be delivered this afternoon. And in theory if the bootloader can be unlocked then the already root method should work. When i get home tonight i will see if the bootloader can be unlocked.

---------- Post added at 01:06 AM ---------- Previous post was at 12:21 AM ----------

Ok so i got mine and first thing i tried was trying to get into fastboot and it wouldn't work. Suggesting bootloader cannot be unlocked.
[LG V20 Guides, News, & Discussion] roosta:
[MENTION=4732713]poczynek[/MENTION] You are probably right. However, it took a few months for devs to release the root method that actually worked with the LG G4 dual, despite the bootloader being locked. Eitherway, I'm happy to contribute to get root at minimum. Where did you source yours?
[LG V20 Guides, News, & Discussion] poczynek:
Yes got mine through Ebay for $806. DWI currently have them for that price too on Ebay and are good to deal with. Much better than $1100AUD. Although you won't get local warranty ... but a saving of $300 is good enough for me!
[LG V20 Guides, News, & Discussion] malifact:
I will also officially pledge $50 AUD for the H990DS model.
[LG V20 Guides, News, & Discussion] Artcrime:
I will pledge $20 AU for the h990ds.

Sorry it can't be more but am unemployed at present. If things improve I will increase the pledge.
[LG V20 Guides, News, & Discussion] dr jakub:
Count me in for 50$
[LG V20 Guides, News, & Discussion] sho.mcgregor:
I'm in for £30 sterling.
[LG V20 Guides, News, & Discussion] SAO:
I'm in for 100USD for the 990DS.
[LG V20 Guides, News, & Discussion] roosta:
Delete
[LG V20 Guides, News, & Discussion] donkanmcklaus:
i can contribute with 50 US$
[LG V20 Guides, News, & Discussion] reaktor TuT:
Put me down for $20 US

But we really need root + TWRP
[LG V20 Guides, News, & Discussion] roosta:
top
[LG V20 Guides, News, & Discussion] andired:
I'm in with 20USD as well for H990ds.
[LG V20 Guides, News, & Discussion] emdroidle:
Again, not guaranteed, but very likely. I'd guess there is even a pretty good chance the original unmodified DirtySanta will work on a single-SIM H990 device. Most of the differences between V20 variants is in hardware attached to the modem chip (notably the radio), which the kernel never directly interfaces with.

There is a very simple test, run the command `adb shell getprop ro.product.name`, if the result is "elsa_global_com" then the software is identical to or similar enough that this same effort should work on your device.

I'm trying not to promise too much. I'm very hopeful, but this isn't finished. Right now I'm fighting a speedbump of things not working the way they're supposed to. You cannot absolutely count on root in a month or two, but there is a good chance.

It tells me we've all got the software and hardware. Rather than having to create several variants for several hardware versions, only one is needed. Even if there are software differences, they're all the same (or similar enough) hardware underneath.

I was being tricked by the documentation included with LG's kernel source. There was a "LGH990_N_README_v1.0.txt" which mentioned 3 variants, "H990K"/"elsa_kt_kr", "H990L"/"elsa_lgu_kr", and "H990S"/"elsa_skt_kr". Now based upon your report and looking at my own device, I'm now pretty sure those 3 are the Korean versions, and we've all got the "elsa_global_com" version. There are a total of 15 kernel variants for the LG V20, but now I only need to worry about 1.

The difference is going to be pretty small, merely need differing TWRP and boot1.img files. Even though TWRP mostly doesn't talk to the modem, the US996 kernel gets confused by the dual-SIM modem; while the main kernel does talk to the modem and needs to be able to talk to it.
[LG V20 Guides, News, & Discussion] capfirepants:
For TWRP, get in contact with the TWRP guys. They're very helpful and can get a build up and running (Their mission is TWRP on every device).
[LG V20 Guides, News, & Discussion] eladeb:
H990 Single~~~~adb shell getprop ro.product.name = elsa_global_com

r u suggesting that dirty santa that works on every other veriant will work on H990/DS?

so why the H990DS need modification that youre corrently working one?

BTW ,

if i can recall some users did try to ran dirty santa on H990/DS and went bricked....

elad
[LG V20 Guides, News, & Discussion] capfirepants:
The DS has different hardware. The kernel doesnt like that.
[LG V20 Guides, News, & Discussion] Byte_76:
Thank you for that detailed response Emdroidle
[LG V20 Guides, News, & Discussion] emdroidle:
There appear to be a few slightly different devices qualifying under "H990". I'm suggesting the single-SIM variants might work with the unmodified DirtySanta.

The brick reports were with the H990DS dual-SIM. This is where modifications are needed.

The source for the TWRP images used for DirtySanta also has a TWRP image for the H990. Problem right now is I suspect I need to figure out how they modify initial ramdisks and use that on my kernel image ramdisk. I'm also wondering which kernel source to use, I'm getting worried the LineageOS kernel isn't actually in shape for the H990DS.

Now need to come up with yet more things to try in order to figure out what is going on.
[LG V20 Guides, News, & Discussion] eladeb:
Hi ,

opend a new thread regards attempting root the h990 single with unmodified dirty santa [MENTION=4008040]Hamodi[/MENTION] tryed to root with unmodified dirty Santa with no success as [MENTION=6984210]emdroidle[/MENTION] suggested [MENTION=4591212]me2151[/MENTION] got to the rescue and boot to default. [MENTION=4591212]me2151[/MENTION] said that theres no chance it will work on h990 since the hardware is different.

https://xdaforums.com/v20/how-to/dirty-santa-h990-singe-t3550035
[LG V20 Guides, News, & Discussion] me2151:
Not specifically no chance. the method will require modification just like the 990ds.
[LG V20 Guides, News, & Discussion] emdroidle:
I'm still slogging along. I'm feeling a bit like Han Solo trying to get into the bunker in "Return of the Jedi": "I think I've got it!" (then we see another portion of the hatch closes)

Still managing to come up with new ideas, but no dice yet.
[LG V20 Guides, News, & Discussion] abudgx:
Have you tried contacting the guys at TWRP ?
[LG V20 Guides, News, & Discussion] emdroidle:
I've been asking questions in the hope I'd get things further along.

At this point TWRP is solved (simple issue of I'm stronger with desktop Linux and wasn't familiar with how TWRP behaves on the V20). Problem at this point is getting the V20 to boot Android in a useful way.

LG's V20 kernel produces a screen mostly covered by bands of "static" (almost certainly a copy of memory at some address outside the normal framebuffer). Whereas none of the replacement kernel builds has gotten past the LG logo, though I've solved an earlier issue where I was seeing kernel panics.
[LG V20 Guides, News, & Discussion] exadeci:
[MENTION=3102329]roosta[/MENTION] I'm pledging 50Aud time to sum ;)
[LG V20 Guides, News, & Discussion] emdroidle:
I don't yet have a successful Android boot, but I've finally gotten to a place where I'm getting into my comfort zone. I don't have a time frame, but I've finally got what looks to be a pretty solid foothold and should have things cracked open "soon".
[LG V20 Guides, News, & Discussion] capfirepants:
So looking forward to this. I've set myself a deadline - I want a new phone by the start of the next month. Your making me hopeful it could be the V20
[LG V20 Guides, News, & Discussion] Matt07211:
You still suffering the static boot?

If I remember correctly, it it was an error in the device tree binary source code.

Apply the above patch and you should hopefully have a phone booting without the static.

So what's your current position. Your able to flash files but unable to get past the static screen, correct?

Some side questions (cause I'm curious):

1) You using the dirty Santa method [Pivot of a few file contexts until you get to the "ADT" which has read and write access to aboot/block partitions.

2) What changes have you done to dirty Santa if any (other then compiling your own kernel/boot.img)

3) You using the debug bootloader image from the US phones (The one that comes with dirty Santa)

4) not a question, but more a thought, if I remember correctly from the hangouts conversations (I can't go back check now as I left the hangout group) the differences between the various boot.img you needed to flash was because you needed stock kernel to boot and get past setup, then the custom boot to actually make the phone use able on a daily basis (Fixs a few problems).

Good job on continuing on with the work, glischi (1 of the two main Devs who helped bring dirty santa to what it is) had an international variant and was gonna work on it, but I haven't seen him online since a few hours before the release of the method. Of I had an LG v20 I definitely would be working on this. :)

I'll see how else I am able to help you (if needed/wanted).
[LG V20 Guides, News, & Discussion] emdroidle:
I wonder what the "static" actually looked like, but I wish it was merely "static" on boot. What I'm seeing is much worse. I see some narrow bands which are intelligible alternating with wide bands filled with garbage. The display is pretty much useless in this state.

Pretty obviously the problem is the CRTC is being heavily misprogrammed. Good news is something in the TWRP build either reprograms the CRTC correctly or switches it to a correctly programmed mode. Kernel panics also reprogram it to a feasible text mode and I can read those.

That commit to the LineageOS tree isn't the issue. I note the Werewolf kernel worked with no static, but was forked from a revision just before that change.

I've done some work towards automating the process (far from done). Mostly following the Dirty Santa method, with small differences. If I claim this bounty I'll be giving a large share to [MENTION=4591212]me2151[/MENTION] since my work wouldn't be useful without that debug bootloader.

I'm using the debug aboot image, but I've been assuming from the start the boot image wouldn't work. I suppose I should try the debug boot image, but that seems too implausible (I guess I'll admit I don't know how much of the talking to the modem is kernel versus userspace; the dual-SIM modem seems likely to confuse the debug boot image).

The magic needed for this is to reprogram the CRTC to a workable state. As mentioned previously, this either involves extracting the initialization code out of the original bootloader or else having the kernel reset the CRTC. The latter seems easier right now, but depending upon how much the kernel code relies on the bootloader's initial programing this may not be feasible.

Problem is modern graphics chip initialization code is highly complex.

Interesting even this weekend, so I'm going to get too much done this weekend (but will have time during the week).
[LG V20 Guides, News, & Discussion] Matt07211:
Think of it like old TV's with an analogue channel out of range/reception do you only get static. Basically like that but background is black and the static lines is the colour of the part of the screen it's at.

Probably related to the boot.img CMD line, read my comment Futher along in this post.

Yea may have had a revision early enough that the changes that caused the static hadn't happen yet.

yea there is only so much you can automate... I would have suggested to share the bounty with me2151 as well as glischi(Really helped make the thing come into reality, without him it would have taken a lot longer and more bricks before dirty Santa would have happened), as they where the main Devs on dirty santa, but sadly I haven't seen glischi online since a few hours before the release of dirty Santa.

Now to the meat of the problem, as stated above you said that the TWRP have something different that at least allows you to see a proper screen. I believe this may be the boot.img CMD line.

Something useful to note, when glischi was messing with the debug bootloader, he mentioned that the debug bootloader appended and/or modified the values of the boot.img CMD line at real time (as the values get passed over to where they are needed to go), but since it was a while ago I can't remember what values where changed and how adverse the affect was.

I would suggest you examine the boot.img CMD line from various boot.img's (especially TWRP) and see what differences they have compared to yours. It may be here where your able to fix the CRTC problem you've described, just pass the right values over and you may be able to fix the problem.

Keep in mind these are just my idea's, and I am unable to test them due to me not having the device.

^_^
[LG V20 Guides, News, & Discussion] roosta:
Good to see there's a lot of talk here, but sadly there may be many others like me who have pledged who may withdraw. I've updated the list with another contributor to the fund.

RoOSTA
[LG V20 Guides, News, & Discussion] Matt07211:
That's sad. But if it happens then it happens, nothing we can do about it.
[LG V20 Guides, News, & Discussion] jayfiled:
I'll pledge $50 AUD
[LG V20 Guides, News, & Discussion] reaktor TuT:
A pledge is a pledge. Most of us are here for the long haul ?
[LG V20 Guides, News, & Discussion] emdroidle:
Issue was how much static? I was under the impression it was spots scattered over most of the display. Whereas what I'd been seeing was some narrow readable bands, with most of the screen covered with dark bands with scattered spots over those bands. Much worse than the static problem for any other device.

There might be some effect here, but not enough to account for the level of problem I was seeing. The command-line is large enough to select a mode line out of a bunch pre-programmed into the CRTC, but not likely enough to completely reprogram the CRTC.

Good news! Did an obvious change and now I've got a replacement kernel working with an intelligible display! There is a lot of breakage at this time, but I'm definitely making progress. 802.11 is broken, Bluetooth is almost certainly broken, I'm pretty sure the FM Radio is broken, I don't have working ADB. I don't even know whether it is possible to make phone calls if a SIM card is installed and dual-SIM may well be broken. I don't even know whether things are in place for an actual root shell, but progress is being made!

Nothing is certain until confirmed to work, but it is highly likely root will be available soon. I've got several battles to fight before I declare this one won, but we're close.

Thank you. Pretty sure it won't be long.

I'll be up for some alpha testing RSN.
[LG V20 Guides, News, & Discussion] Moordenaar:
I would donate 50 €

Model H990N
[LG V20 Guides, News, & Discussion] norvik61:
Me too. 50 -AUD$ for the root possibility
[LG V20 Guides, News, & Discussion] Matt07211:
Mhh, okay.

May I ask what the obvious change was (Don't worry I ain't gonna steal your work, cause I don't even have the phone. Just interested in the challenge and how it's solved)
[LG V20 Guides, News, & Discussion] emdroidle:
Replaced one of the device-tree files. Apparently the H918 and US996 use one file, most of the US phones use another file, while the H990ds uses a third. The differences are tiny, but as off-by-one errors show, small differences can cause big changes.

Right now too many things are broken to do anything better than pre-alpha testing. Single-SIM operation may be functioning, but I'm certain dual-SIM is broken (I've got two ideas for why). I'm inclined to rate 802.11 operation as a high priority.

I'd like to confirm one issue, anyone on this thread should see "LG-H990ds" if you run `adb shell getprop ro.model.name`. I came up with a hack which may take care of the other H990 devices (H990n, the single-SIM H990 device) without needing multiple kernels, but it is something of a hack and I'm wondering whether I need it.
[LG V20 Guides, News, & Discussion] Matt07211:
Ohhhh, interesting.
[LG V20 Guides, News, & Discussion] roosta:
Bounties updated.
[LG V20 Guides, News, & Discussion] exadeci:
The edit failed it seems as it was already 2195 after my pledge.
[LG V20 Guides, News, & Discussion] emdroidle:
I haven't disappeared, but fixing software problems takes time and can be very frustrating. I'm still doing a kernel build based off LineageOS's kernel since otherwise the screen is a major problem.

I've discovered the people behind the V20 LineageOS kernel have been making some interesting choices. Notably I've been running into a number of "fixes" which ended up breaking things for me. "Disable 2nd screen for now", which breaks things if you're not in their environment (keep that hack internal!). Adding an extra configuration option for enabling Bluetooth/fm radio, but not making the other options dependent and so they stop building for no obvious reason.

Then I see LG's Android release appears to make assumptions about the installation, which results in interesting behavior. I'm suspecting the Bluetooth module must be loaded as a module after the kernel boots otherwise things break. Some really odd choices, which turn out to be distinct annoyances for me.

I'm still at it. Right now the dual-SIM functionality is the biggest problem and is being a distinct annoyance.
[LG V20 Guides, News, & Discussion] InsertDumbNick:
Thank you! I had almost given up and hadn't visited the thread for quite sometime. The fact that you haven't given up is so motivating to see. God Speed!
[LG V20 Guides, News, & Discussion] chacho_2me:
keep it up sir
[LG V20 Guides, News, & Discussion] farwish:
thanks man! really happy to see the chance to get root for v20, i m so happy today, i will nerver forget it
[LG V20 Guides, News, & Discussion] emdroidle:
That is why I put the message up. I keep feeling like I'm almost there and then things don't work. :( It will take a lot to make me give up. While the bounty is nice, I've got additional reasons for targeting the H990DS and those aren't going to let me give up easy.

I'm not connecting to XDA every day and didn't have much to report.
[LG V20 Guides, News, & Discussion] emdroidle:
Then I try something really stupidly simple and suddenly dual-SIM functionality appears to be functional. Those moments are both annoying due to all the time-consuming things that had no effect, and wonderful because the problem is (hopefully) fixed. Haven't actually tested it with SIMs, but I suspect that issue is resolved.

Could someone post the results of running `adb shell ip link`? (or simply run `adb shell` and at the shell type `ip link`) I'm mostly need the interface names in the hope of figuring out why things aren't working. On a Linux desktop it might give:

1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 qdisc noqueue state UNKNOWN mode DEFAULT group default
link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00
2: eth0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast state UP mode DEFAULT group default qlen 1000
link/ether XX:XX:XX:XX:XX:XX brd ff:ff:ff:ff:ff:ff

I'd advise crossing out hardware addresses (all the XXs on the link/ether line). I'm not interested in that information, but retrieving the above is a pain on my device right now...
[LG V20 Guides, News, & Discussion] Prowler_gr:
C:\adb>adb shell
elsa:/ $ ip link
ip link
1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 qdisc noqueue state UNKNOWN mode DEFAULT group default
link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00
2: dummy0: <BROADCAST,NOARP,UP,LOWER_UP> mtu 1500 qdisc noqueue state UNKNOWN mode DEFAULT group default
link/ether xx:xx:xx:xx:xx:xx brd ff:ff:ff:ff:ff:ff
3: teql0: <NOARP> mtu 1500 qdisc noop state DOWN mode DEFAULT group default qlen 100
link/void
4: sit0@NONE: <NOARP> mtu 1480 qdisc noop state DOWN mode DEFAULT group default
link/sit 0.0.0.0 brd 0.0.0.0
5: rmnet_ipa0: <UP,LOWER_UP> mtu 2000 qdisc pfifo_fast state UNKNOWN mode DEFAULT group default qlen 1000
link/[530]
6: wlan0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast state UP mode DORMANT group default qlen 1000
link/ether xx:xx:xx:xx:xx:xx brd ff:ff:ff:ff:ff:ff
7: rmnet_data0: <> mtu 1358 qdisc noop state DOWN mode DEFAULT group default qlen 1000
link/[530]
8: rmnet_data1: <> mtu 1500 qdisc noop state DOWN mode DEFAULT group default qlen 1000
link/[530]
9: rmnet_data2: <> mtu 1500 qdisc noop state DOWN mode DEFAULT group default qlen 1000
link/[530]
10: rmnet_data3: <> mtu 1500 qdisc noop state DOWN mode DEFAULT group default qlen 1000
link/[530]
11: rmnet_data4: <> mtu 1500 qdisc noop state DOWN mode DEFAULT group default qlen 1000
link/[530]
12: rmnet_data5: <> mtu 1500 qdisc noop state DOWN mode DEFAULT group default qlen 1000
link/[530]
13: rmnet_data6: <> mtu 1500 qdisc noop state DOWN mode DEFAULT group default qlen 1000
link/[530]
14: rmnet_data7: <> mtu 1500 qdisc noop state DOWN mode DEFAULT group default qlen 1000
link/[530]
elsa:/ $
[LG V20 Guides, News, & Discussion] smack_xda:
c:\adb>adb shell ip link
1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 qdisc noqueue state UNKNOWN mode DEFAULT group default
link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00
2: dummy0: <BROADCAST,NOARP,UP,LOWER_UP> mtu 1500 qdisc noqueue state UNKNOWN mode DEFAULT group default
link/ether xx:xx:xx:xx:xx brd ff:ff:ff:ff:ff:ff
3: teql0: <NOARP> mtu 1500 qdisc noop state DOWN mode DEFAULT group default qlen 100
link/void
4: sit0@NONE: <NOARP> mtu 1480 qdisc noop state DOWN mode DEFAULT group default
link/sit 0.0.0.0 brd 0.0.0.0
6: wlan0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast state UP mode DORMANT group default qlen 1000
link/ether xx:xx:xx:xx:xx brd ff:ff:ff:ff:ff:ff
60: rmnet_ipa0: <UP,LOWER_UP> mtu 2000 qdisc pfifo_fast state UNKNOWN mode DEFAULT group default qlen 1000
link/[530]
61: rmnet_data0: <> mtu 1358 qdisc noop state DOWN mode DEFAULT group default qlen 1000
link/[530]
62: rmnet_data1: <> mtu 1500 qdisc noop state DOWN mode DEFAULT group default qlen 1000
.
.
.
[LG V20 Guides, News, & Discussion] emdroidle:
Guess that theory just expired. :( On the flip side though I'm pondering the idea of a Gordian Knot type solution. This will leave behind hints someone might look for (androidboot.verifiedbootstate=red), but could get root far more easily. Kind of tempting since it should fulfill the conditions very easily, but doesn't seem as satisfying. Hmm...
[LG V20 Guides, News, & Discussion] eslonim:
I'm in for A$20 (I'm not fanatic about root, but would like it)
[LG V20 Guides, News, & Discussion] etm500:
I'm in for $50.
[LG V20 Guides, News, & Discussion] emdroidle:
Okay, it is always the stupidly simple issues that get you. 802.11 ("wifi") is now confirmed to work. Bluetooth is known not to work and the FM radio isn't working. For that matter dual-SIM isn't confirmed to work, but is suspected to work.

At this point I need to ask, where is the line for collecting the bounty to be drawn? Are Bluetooth and FM radio required to work? Even if they aren't required I'm certainly going to continue trying to make them work, but I'll happily collect the bounty sooner if I can. :)

One more issue, this setup has the issue of fairly often crashing on boot. Seems the kernel source I'm using is suboptimal at initializing the modem and pretty often crashes. Good news is I've only seen kernel panics in the first 2 minutes of operation, after that point I haven't had any problems. Right now I rate this as annoying, but survivable. If this is too big of a problem, please state so.
[LG V20 Guides, News, & Discussion] Hamodi:
[MENTION=6984210]emdroidle[/MENTION] its going to work with other 990 version ? Like 990 single sim maybe ?

Or its need to be tested .

Thanks for you amazing work