Hi, I am currently trying to compile a list of carrier specific aGPS servers to make a profiling tool that will allow people with custom ROMs to access the correct aGPS servers. The information that I need is contained in your registry (I would suggest using total commander attached to this post if you dont already have a registry editor)
Please can you let me know the information contained in the Following key:
Code:
[HKEY_LOCAL_MACHINE\Software\HTC\SUPL AGPS]
"ServerIP"=
"ServerURL"=
"GPSMode"=
"ServerPort"=
"DynamicURL"=
"TLSHostName"=
Please reply using the above format and maybe I can add this to my profiling app
Excellent!
With the recent AT&T changes, we're going to need this.
Cheers,
Hi there here is mine
Rom:Vodafone UK 5.10.161.1 WWE
Code:
[HKEY_LOCAL_MACHINE\Software\HTC\SUPL AGPS]
"ServerIP"=10.1.101.63
"ServerURL"=missing
"GPSMode"=0x2 (2)
"ServerPort"=0x1C6B (7275)
"DynamicURL"=missing
"TLSHostName"=missing
So by the looks of it uses an Internal IP address specific to Vodafone UK.
HTH
b0yce
b0yce said:
Hi there here is mine
Rom:Vodafone UK 5.10.161.1 WWE
Code:
[HKEY_LOCAL_MACHINE\Software\HTC\SUPL AGPS]
"ServerIP"=10.1.101.63
"ServerURL"=missing
"GPSMode"=0x2 (2)
"ServerPort"=0x1C6B (7275)
"DynamicURL"=missing
"TLSHostName"=missing
So by the looks of it uses an Internal IP address specific to Vodafone UK.
HTH
b0yce
Click to expand...
Click to collapse
Actually, I think that's the generic IP address HTC ships with all their ROMs. See below, which I got from the OEMDrivers RGU of the new AT&T ROM (the AT&T aGPS server updates are done via PROVXML):
Code:
[HKEY_LOCAL_MACHINE\SOFTWARE\HTC\SUPL AGPS]
"EnableAGPS"=dword:00000000 ; 0:Disable AGPS
[B]"GPSMode"=dword:00000002 ; 1:GPS_FIX_MODE_MSA, 2:GPS_FIX_MODE_MSB, 3:GPS_FIX_MODE_MSS[/B]
"NumberFixes"=dword:3B9AC9FF ; 999999999
"TimeBetweenFixes"=dword:00000001 ; 1
"QoSAccuracy"=dword:00000032 ; 50
"QosPerformance"=dword:00000059 ; 89
[B]"ServerIP"="10.1.101.63" ; Set CHT AGPS Server IP as default[/B]
[B]"ServerPort"=dword:00001C6B ; Set CHT AGPS Server Port as default[/B]
It appears that aGPS is in fact disabled by HTC, by default, as not all Carriers support it (Vodafone UK might be one of them that don't).
Yeah, just found that in the T-Mobile ROM i have dumped as well Though there does seem to be a mention of supl.agps.emome.net in the gpsdriver.dll....
B4PJS said:
Yeah, just found that in the T-Mobile ROM i have dumped as well Though there does seem to be a mention of supl.agps.emome.net in the gpsdriver.dll....
Click to expand...
Click to collapse
If there ARE aGPS settings, they'd probably be in one of the PROVXMLs in the "OperatorPkg" OEM folder. In the AT&T ROM, they're in the "mxipupdate_oemoperators_107.provxml".
AT&T a
This is what I have for stock at&t rom.
[HKEY_LOCAL_MACHINE\Software\HTC\SUPL AGPS]
"ServerIP"= 199.88.233.169
"ServerURL"= h-slp.mnc410.mcc310.pub.3gppnetwork.org
"GPSMode"= value:2 (Dec)
"ServerPort"= 7275 (Dec)
"DynamicURL"= h-slp.mnc000.mcc111.pub.3gppnetwork.org
"TLSHostName"= h-slp.mnc410.mcc310.pub.3gppnetwork.org
re: supl.agps.emome.net
This is the server referred to here:
"ServerIP"="10.1.101.63" ; Set CHT AGPS Server IP as default
"ServerPort"=dword:00001C6B ; Set CHT AGPS Server Port as default
emome.net is a cell phone provider, see http://www.emome.net/channel?chid=256
Anyway, their name is Chunghwa Telecom, (CHT) - it's an internal IP for their SUPL server, similar to AT&T's
Imagine that Chunghwa is a large provider near HTC, so they use that for testing..
Yeah I kinda guessed they were something local to HTC, strange that it is hard coded in the dll though...
T-Mobile USA AGPS Settings
Compliments of a T-Mobile Rhodium ROM. Any Fuze users running on T-Mobile in the US should be able to use these, I guess?
Code:
[HKEY_LOCAL_MACHINE\SOFTWARE\HTC\SUPL AGPS]
"EnableAGPS"=dword:00000001
"ServerPort"=dword:00001C6B
"ServerIP"="10.176.29.225"
"Network"="T-Mobile Data"
"GPRSConnection"="T-Mobile Data"
"ServerURL"="lbs.geo.t-mobile.com"
"GPSMode"=dword:00000002
"TLSHostName"="lbs.geo.t-mobile.com"
There's no entry for "DynamicURL".
Captain_Throwback said:
Compliments of a T-Mobile Rhodium ROM. Any Fuze users running on T-Mobile in the US should be able to use these, I guess?
Code:
[HKEY_LOCAL_MACHINE\SOFTWARE\HTC\SUPL AGPS]
"EnableAGPS"=dword:00000001
"ServerPort"=dword:00001C6B
"ServerIP"="10.176.29.225"
"Network"="T-Mobile Data"
"GPRSConnection"="T-Mobile Data"
"ServerURL"="lbs.geo.t-mobile.com"
"GPSMode"=dword:00000002
"TLSHostName"="lbs.geo.t-mobile.com"
There's no entry for "DynamicURL".
Click to expand...
Click to collapse
any luck for t-mobile uk settings?
maybe it's an idea to change the title of the thread to all agps settings?
it could be useful to also have the open servers up here in stead of only the carier specific ones...
Maybe we should spread the word and not keep it to Raphael specific, since the AGPS servers are used on more devices..
just trying to increase our chances in getting a working AGPS setup for everyone who's looking, even not carier specific.
Maybe we can move this thread and change the title to AGPS settings wanted, try these and and report back if they work for you?
That an idea?
Hope we can get this thread widely spread so everyone can use it...
Da_G, could you check if the Nokia server is back in business?
I can't really figure it out..I get a $GPSCEL in my nmea log, but can't get a lock under my roof..
So don't really know if it's actually working..
ta a bunch..
Hi, I will check soon (very busy with image update)
for $GPCELL string, the paramater is degrees LAT / LONG - does it translate to location nearby? if not supl server may be feeding incorrect data.
Mark here.
Thanks in advance for any help offered.
Searched around here and elsewhere since last year & can't find a solution. (please don't copy whole message in reply)
Ideal solution either: 1. Able to store/save settings and password so it does not need to be entered every day (many times) or 2. Load certificate correctly.
I have a TMous HD2 running Energy ROM (Feb 2011 version)
Connects fine to home WiFi's without prompts. Also to about 10 others when traveling - no probs.
It does not connect easily to my work WiFi. I have worked out a method, but I need to re-enter settings and password many times a day. With high security p/w with various characters etc it's a real pain.
To do so, I have setup link to WLANSettings.exe on home screen. I use these settings: 1. Work (not internet), 2. WPA2/AES, 3. PEAP (not Smart card or cert). OK. Then asks for login, password (no domain needed). First time enter login etc it doesn't connect. Second time I've learned to hit OK again and after a few seconds it connects.
If I go though the 'normal' WiFi setup it asks for a Certificate. I enter the server for the cert, password as above and it will not find it. They gave me a cert file ('home grown' PEAP Authority certificate Thawte Premium Server CA) but it loads into Intermediate, not Personal and does not work. Apparently iPhone & iPad link to cert server and install it fine.
Tried:
1. I tried Odyssey (Odyssey Access Client for Windows MobileCE - Juniper Networks ). Helps, but not perfect, but it messes up my home connection. so uninstalled (updated ROM since then)
2. Tried programs to load cert. No go. (p12imprt, pfximprt; smartphoneaddcert). Various error messages - can't remember them - along the lines of not signed, not .pfx cert etc.
3. Exported cert. from PC's (WinXP) Firefox. Can't convert it to a .pfx to use the above.
Work does not support Win Mobile. So no support offered - though they've tried to help.
The settings for my mates Nokia which does work are:
PEAP and the fields are:
Personal certificate: not defined
Authority certificate: Thawte Premium Server CA User name in use: user defined User name: 'must leave blank'
Realm in use: user defined
Realm: 'must leave blank'
Allow PEAPv0: Yes
Allow PEAPv1: Yes
Allow PEAPv2: No
Under MSCHAPv2 within PEAP settings are
User name : your 'username'
Prompt password: no
Password: your 'password'
Have tried following also (rough notes):
HKEY_LOCAL_MACHINE\Comm\EAP\Extension\25.
"InvokePasswordDialog" and "InvokeUserNameDialog" value 1, switch to 0. Works till restart.
go to commMan/ menu/ settings set work & proxy or commMan/Conns/conns
changed to HKLM, gone to directory comm\EAP\extension\25. added a folder called validateservercert and added a key to this folder - DWORD. it asks me to edit the DWORD value - in value data i have added 00000000 and selected hexadecimal.
add the key [HKEY_LOCAL_MACHINE\Comm\EAP\Extension\25] and [HKEY_LOCAL_MACHINE\Comm\EAP\Extension\26]
Mmm... 'tis a difficult one.
>"Ideal solution either: 1. Able to store/save settings and password so it does not
>need to be entered every day (many times) or 2. Load certificate correctly."
Another alternative would be software to manage WiFi login - that saves passwords.
I tried Odyssey, but it messed up home connections. WiFi Monster does not do it.
Anything out there?
Mark
My network is 192.168.0.0/24, my former network was 172.17.19.1/24 (gw 172.17.19.1). In former times is set this ip static. (In android 2.3 as global ip)...
My Android (actual CM11) use the actual network (192.168.0.127/24 gw 192.168.0.1).
For the first time it works, but after round about 30min the android tryied to reach the old gateway:
This happens only by connecting to some servers. Other works fine.
10:58:03.877391 ARP, Request who-has 172.17.19.1 tell 192.168.0.127, length 46
10:58:52.700440 ARP, Request who-has 172.17.19.1 tell 192.168.0.127, length 46
I looked in /data/misc/wifi but i found only correct entrys.
I have gapps installed but unchecked the recovery checkbox on initialisation. But these issue survive factory reset AND other devices... therefor i think it get old settings from google :/
UPDATE: Add persist.data.iwlan.enable=true persist.radio.calls.on.ims=1 to /system/build.prop I'm not sure why they only added it to NA 16s. There appears to still be issues getting this to work on LOS. I suspect it has to do with modem firmware and android driver mismatches as LOS also can't properly read the sim address book.
While testing to see if WiFi Calling worked on custom roms I flashed back to stock cn EUI 23s and noticed it doesn't even appear to work on it. It activates and doesn't give an error message on EUI 23s (once got an Error81), and it shows that it is enabled. However it doesn't appear to actually work and checking with 'Network Cell Info' it shows 'WiFi Call avail: No'.
[UPDATE] - I tracked down what makes it work. Apparently all that is needed is something in the le_x2_na (US/CA) 16s build. You can use modem 50 with it and it still works so its something about the android software itself that changed that broke it in the China 23s/India 19s roms. I tested it with Airplane mode on and only wifi enabled and it made calls so it definitely works. It appears all the other builds give Error81 eventually and will not work. I think the other builds don't even try to connect as they didn't show anything when using tcpdump. The 16s build shows lookups to 3gppnetwork.org for mnc260 "US" mcc310 "T-Mobile" (my provider) and a bunch of ISAKMP and ESP packets to the resulting ip address.
Grepping for the 3gppnetwork.org text in /system turns up the following files:
Code:
$ grep -r 3gppnetwork.org *
Binary file bin/wpa_supplicant matches
Binary file etc/firmware/modem_pr/mcfg_sw_tmo.mbn matches
Binary file etc/firmware/modem_pr/mcfg_sw_cmcc.mbn matches
Binary file framework/oat/arm64/wifi-service.odex matches
Binary file priv-app/Settings/oat/arm64/Settings.odex matches
Binary file vendor/lib/lib-imsqimf.so matches
Binary file vendor/lib64/lib-imsqimf.so matches
Generic Access Network
If no one else knows what's going on with it I might throw a packet sniffer in between and see if its actually sending out the request properly. It should also help to see if a call is actually being routed, but it fails when I turn off the cell connection so I think it may not be working. There also isn't a wifi calling icon at top so probably isn't working.
Code:
05-13 00:01:30.219 2280 3293 I NetworkController: onReceive: intent=Intent { act=android.net.wifi.RSSI_CHANGED flg=0x4000010 mCallingUid=1000 (has extras) }
05-13 00:01:30.228 2280 3293 I NetworkController: onReceive: intent=Intent { act=android.net.wifi.RSSI_CHANGED flg=0x4000010 mCallingUid=1000 (has extras) }
05-13 00:01:30.361 12051 12051 I ViewRootImpl: finishMotionEvent: handled = true stage=10: View Post IME stage,inputElapseTime=2 eventTime = 2467238 downTime = 2467238 title= com.android.settings/com.android.settings.Settings$WifiCallingSettingsActivity
05-13 00:01:30.439 2280 3293 I NetworkController.MobileSignalController(slotId:0 subId:1): mWfcImsObserver onChange()
05-13 00:01:30.458 1605 2698 W AppOps : isskipsystem code:40 uid:1001
05-13 00:01:30.466 2755 3770 E ImsConfigImpl: getImsConfigListener returns null
05-13 00:01:30.466 2755 3770 E ImsConfigImpl: onSetFeatureResponseDone listener is not valid !!!
05-13 00:01:30.470 1605 2604 W AppOps : Finishing op nesting under-run: uid 1001 pkg org.codeaurora.ims code 40 time=0 duration=0 nesting=0
05-13 00:01:30.484 1605 2628 W AppOps : isskipsystem code:40 uid:1001
05-13 00:01:30.510 1605 2681 W AppOps : Finishing op nesting under-run: uid 1001 pkg org.codeaurora.ims code 40 time=0 duration=0 nesting=0
I also notice that while VoLTE appears to work on 23s if you turn it off and on it doesn't, the logcat output also looks a bit odd, like it might not be doing anything at all, ugh.
Code:
05-13 00:20:02.742 2755 2755 I ViewRootImpl: finishMotionEvent: handled = true stage=10: View Post IME stage,inputElapseTime=1 eventTime = 3580090 downTime = 3580090 title= com.android.phone/com.android.phone.MobileNetworkSettings
05-13 00:20:02.878 1605 1633 W AppOps : isskipsystem code:40 uid:1001
05-13 00:20:02.887 2755 3770 E ImsConfigImpl: getImsConfigListener returns null
05-13 00:20:02.887 2755 3770 E ImsConfigImpl: onSetFeatureResponseDone listener is not valid !!!
05-13 00:20:02.967 1605 2628 W AppOps : Finishing op nesting under-run: uid 1001 pkg org.codeaurora.ims code 40 time=0 duration=0 nesting=0
It works on the us rom x829 5.8.16s and maybe on some of the dev roms.
Edit: You can check by enabling airplane mode
whymoo said:
It works on the us rom x829 5.8.16s and maybe on some of the dev roms.
Click to expand...
Click to collapse
Thanks, I'll have to take a look at what it is doing differently between 16s and 23s so hopefully it will work on more roms.
So running tcpdump on 23s and turning off and on WiFi Calling does not appear to produce any network packets at all, or at least not any that tcpdump saw. I'll have to try it out on 16s sometime soon.
Updated OP, US 16s apparently will work with various modem firmwares, v24 v50 tested, but India 19s and China 23s do not.
I'm not certain but I think the issue is due to the newer builds not including WfcService at all. Copying it from 16s though causes com.android.phone to crash continuously.
ccheney said:
Updated OP, US 16s apparently will work with various modem firmwares, v24 v50 tested, but India 19s and China 23s do not.
Click to expand...
Click to collapse
Nice to see someone digging into this. Getting sick of the 16s firmware.
Another thing which is a bit interesting is that with the original 16s radio, WiFi calling tends to be a bit less finicky about connecting. After reading your post, I flashed the v50 modem, and got the REG99 "Unable to connect" error message upon booting. This almost never happens with the original modem file. I did manage to get it to work, but only after putting the phone into Airplane mode and enabling WiFi. If you only need to call numbers in your contacts, or receive calls, you can leave it in Airplane. Otherwise, the dialer shows "Emergency calls only", and you have to put it back into normal mode. The 16s seems more seamless, but the newer modem files are probably better overall for other radio functions.
I wish LeEco would release the sources for the 16s firmware, to make the job of the devs easier for this, but I don't see that happening.
If anyone knows more details about how WFC works in Android please let us know or point to reading material.
I have some prior Android hw development experience but have been previously using an iPhone and finally made the switch permanent with this phone. So I'm still learning how WFC works under Android, but it seems there are also two sets of modem files. The ones in /system/etc/firmware/modem_pr/ and the ones in /firmware/image/modem_pr/mcfg/configs/mcfg_sw/generic . I'm not sure why they are different (the md5sums don't match). There are much fewer of them in the system area as well as compared to firmware. I suspect the ones in /firmware are from qualcomm for global use and perhaps LeEco just picked a few to actually use for some reason? Looking at how the Pixel phones do it they seem to copy the files out of the /firmware dir to use at boot time. I'll have to try out v50 again later on 16s but I'm pretty sure I got it to work fine. VoLTE activation also seems to be a bit flaky even on the EUI firmware.
I suspect that WFC does not work for carriers in Europe or most of Asia even on 16s unless the 'others' modem profile allows them to work somehow. There are more modem profiles in /firmware we could potentially use if we determine how this works.
I'm going to go back to EUI 23s again and see if it ever tries to communicate to the WFC website via tcpdump. It certainly didn't show much in the logcat output that I could see. I'm not sure if I can start tcpdump with the network down, but it does seem to work with just disabling/reenabling WFC on 16s.
I'm probably wrong, but couldn't someone just take the WFC code from another SD820 phone and use that to make it work?
/system/etc/firmware/modem_pr/
mcfg_sw_att.mbn - US - AT&T
mcfg_sw_cmcc.mbn - China - CMCC
mcfg_sw_ct.mbn - China - CT
mcfg_sw_cu.mbn - China - CU
mcfg_sw_le_others.mbn - ??
mcfg_sw_others.mbn - ??
mcfg_sw_reliance.mbn - India - Reliance
mcfg_sw_tmo.mbn - US - T-Mobile
mcfg_sw_verizon.mbn - US - Verizon
I did another round of testing on 23s and I turned airplane mode on/off while running tcpdump, just toggling wifi didn't give any error and didn't work, WFC gave Error81 but there was no visible attempt to connect to the WFC server or even do a DNS lookup for it during the entire time. No points for LeEco making their newer roms buggier.
Interestingly CN 16s also gives Error81, so it might be that only the NA (US/CA) 16s works for some reason. I suspect it might have something to do with the modem firmware.
UPDATE: I think I solved the issue on EUI, testing against 26s now to see if it fixes it. Having trouble verifying if I fixed it as its not giving Error81 anymore but not saying WFC is enabled either, will have to look at tcpdump output some more I suppose.
Ok, so I managed to get IN 19s to work with the change. For some reason CN 23s/26s did not seem to work.
All you have to do is add the following and it works:
persist.data.iwlan.enable=true
At the top of the screen it shows "T-Mobile Wi-Fi Calling LTE" (I'm using T-Mobile) I noticed that if I have Airplane mode enabled it does not appear to be able to make calls so it may be only partially working, will have to look at tcpdump output to see if its actually registering. It may need persist.radio.always_send_plmn=true but I'm not sure yet. I can't really tell from the tcpdump if its working or not, will have to capture a full call under 16s to see what it looks like to compare it. There was lots of ipv4/ipv6/da1a data being transferred, but I don't know which part was the call, lol.
There may be other useful props to add from NA 16s but I'm not sure.
But I'm still pretty new at this, only had an Android phone for a couple weeks.
ccheney said:
Ok, so I managed to get IN 19s to work with the change. For some reason CN 23s/26s did not seem to work.
All you have to do is add the following and it works:
persist.data.iwlan.enable=true
At the top of the screen it shows "T-Mobile Wi-Fi Calling LTE" (I'm using T-Mobile) I noticed that if I have Airplane mode enabled it does not appear to be able to make calls so it may be only partially working, will have to look at tcpdump output to see if its actually registering. It may need persist.radio.always_send_plmn=true but I'm not sure yet. I can't really tell from the tcpdump if its working or not, will have to capture a full call under 16s to see what it looks like to compare it. There was lots of ipv4/ipv6/da1a data being transferred, but I don't know which part was the call, lol.
There may be other useful props to add from NA 16s but I'm not sure.
But I'm still pretty new at this, only had an Android phone for a couple weeks.
Click to expand...
Click to collapse
If you can get Wi-Fi Calling and VoLTE to work in Nougat ROMS it would be amazing.
So I found out how to make IN 19s work properly after looking at the LOS 14.1 x2 device tree.
You need both of the following:
persist.data.iwlan.enable=true
persist.radio.calls.on.ims=1
I can now turn on airplane mode and only turn on wifi and still make calls so it is going over WiFi like it should.
LOS 14.1 does not support it due to a 'feature' in the code they copied from LeEco. They turn off support for WiFi Calling for the X820 model for some unknown reason. Even the cellular providers in China support WiFi calling so its unclear why they did that. Oh and this might also fix VoLTE but I haven't tested that part yet...
device/leeco/msm8996-common/init/init_leeco_msm8996.cpp
Code:
else if (isLEX820)
{
// This is LEX820
property_set("ro.product.model", "LEX820");
property_set("persist.data.iwlan.enable", "false");
// Dual SIM
property_set("persist.radio.multisim.config", "dsds");
// Disable VoLTE
property_set("persist.radio.cs_srv_type", "1");
property_set("persist.radio.calls.on.ims", "0");
property_set("persist.radio.jbims", "0");
}
else if (isLEX829)
{
// This is LEX829
property_set("ro.product.model", "LEX829");
property_set("persist.data.iwlan.enable", "true");
// Dual SIM
property_set("persist.radio.multisim.config", "dsds");
// Enable VoLTE
property_set("persist.radio.cs_srv_type", "0");
property_set("persist.radio.calls.on.ims", "true");
property_set("persist.radio.jbims", "true");
}
I flashed today's official LOS 14.1 and noticed there isn't an option to even turn on/off VoLTE/WFC at all. I'm guessing it is disabled in the settings gui in the build?
Anyone happen to know what I need to change to make it show up?
ccheney said:
I flashed today's official LOS 14.1 and noticed there isn't an option to even turn on/off VoLTE/WFC at all. I'm guessing it is disabled in the settings gui in the build?
Anyone happen to know what I need to change to make it show up?
Click to expand...
Click to collapse
Maybe editing the settings.db and/or dialing *#*#4636#*#*. Great work so far.
whymoo said:
Maybe editing the settings.db and/or dialing *#*#4636#*#*. Great work so far.
Click to expand...
Click to collapse
Thanks!
The secret menu shows its disabled but won't let me change it but and I don't see a settings.db file in /system, is it somewhere else?
Looking *#*#4636#*#* menu it seems to be having some issues reading the SIM properly. It claims that ViLTE is unprovisioned, WiFi Calling is unprovisioned, IMS is not registered, no SIM Address Book, etc.
Searching online it seems that at least on some versions of Android that if it doesn't detect you can use the feature (VoLTE/ViLTE/WFC) it is auto hidden, so the problem may lay with the problems reading the sim.
Update: Flashed back to NA 16s and the SIM address book has entries in it so its definitely something wrong with LOS 14.1 ability to read the SIM card properly. Unfortunately the hidden menu in 16s doesn't show the VoLTE/ViLTE/WFC status like the version in LOS 14.1
With NA 16s 'Network Cell Info' shows the following:
VoLTE capable: Yes
WiFi call Available: Yes
Video call av: No
Video call en: No
So ViLTE may take extra effort to make work, but VoLTE/WFC should work once we resolve why the SIM isn't being read properly.
settings.db is supposed to be in /data/data/com.android.providers.settings/databases/settings.db but its missing. Have you tried Resurrection Remix? In the *#*#4636#*#* menu volte and wi-fi calling are enabled but they don't work.
I'll have to take a look at that. I just grabbed the 23s failed logcat output and am about to compare it to NA 16s working output to see if anything obvious sticks out.
ccheney said:
I'll have to take a look at that. I just grabbed the 23s failed logcat output and am about to compare it to NA 16s working output to see if anything obvious sticks out.
Click to expand...
Click to collapse
infrag was able to fix volte in this nougat ROM https://drive.google.com/open?id=0B4k5OpXTXcS9bVRVVkZMY2RORDQ
Here is the thread https://forum.xda-developers.com/le-max-2/development/kernel-blackscreen-leeco-x2-t3604445