• After 15+ years, we've made a big change: Android Forums is now Early Bird Club. Learn more here.

Root GPS.conf fix for LG Volt as of 4/9/2015

jfuginay

Well-Known Member
Feb 22, 2012
131
91
Longview,WA
This post contains the continued efforts to understand the language used in our GPS.conf file, and how to best use that information to get improved GPS performance.

I play Ingress very frequently so GPS is crucial for me, as it could mean I wasted gas driving to a location only to have the app not recognize me as being there.

I'd love if more Volt owners would test these to see if it works for them, or if I just have a faulty device and need to get it replaced.

I just use a root browser to find the /system/etc folder and open up the GPS.conf file to edit manually (and/or copy and paste)

I was paranoid about the formatting affecting the reading of code, so I deleted all of the hastags and their corresponding notes.

I have an LG Volt with Boost, using the full stock rooted deodexed zv5 rom (debloated with Rom Toolbox)

Updated as of 4/9/2015:

//Begin GPS conf text:

Code:
LGE_XTRA_IGNORE_NETWORK_STATE_CHANGE=1

LGE_XTRA_NTP_RETRY_INTERVAL=-1
NTP_SERVER=us.pool.ntp.org
NTP_SERVER=north-america.pool.ntp.org

LGE_XTRA_DATA_RETRY_INTERVAL=-1
XTRA_SERVER_1=http://xtra1.gpsonextra.net/xtra2.bin
XTRA_SERVER_2=http://xtra2.gpsonextra.net/xtra2.bin
XTRA_SERVER_3=http://xtra3.gpsonextra.net/xtra2.bin

DEBUG_LEVEL = 5

INTERMEDIATE_POS=0

ERR_ESTIMATE=0

CAPABILITIES=0x10

ENABLE_WIPER=0

LPP_PROFILE = 0

LGE_GPS_POSITION_MODE=standalone

// End gps conf (note as of 4/9/2015)

Hope this helps!

Edit: also, please remember to make sure you have proper permissions set on your GPS.conf file. Should be Owner: Read Write Execute, Group: Read, and Other: Read

If you want a deeper understanding of how GPS works, and why the fields in your GPS.conf file are there, please read through the whole thread. If you just want to speed up your GPS lock and improve the overall performance/communication with GPS satellites, then change the following four values on your GPS.conf file:

Step one:
remove the hashtag (#) from infront of the NTP server closest to your location. For me it was north-america.pool.ntp.org
NTP_SERVER= (your closest server)

Most sources I have read have stated that having just one ntp server is suggested.

Step two:
CAPABILITIES=0x4
(change to enable more capabilities)

Step Three:
LPP_PROFILE=1

(default is 0, 0 is only good for phones on a GSM network, ours is CDMA. 3 also works, but only because it technically enables 1 and 2, so setting to 3 is the same thing as setting to 1 )

(As of 3/20/2015 I have been having good results with LPP set to 0, as long as my GLONAS is set to 0x2 instead of 0x4)

**As of 4/9/2015 I still have better performance with 0 instead of 1

Step Four:
A_GLONASS_POS_PROTOCOL_SELECT=0x4

(default is just 0, this means nothing according to the info provided in our comments in the gps.conf file. 0x4 allegedly enables our positioning on the LTE network)

as of 3/20/2015 I have had decent performance with GLONAS set to 0x2 as long as LPP is set to 0

Step Five: ????

Step Six: profit!!1one

Reported by users as improving performance on both 4.4 and lollipop ROMs.

Please note that there are no spaces in between values in the GPS.conf file. I have had some reports of poor performance when a value has an extra space between values, such as follows:

GLONAS= 0 x 4
versus
GLONAS=0x4

Side Note: I've read many reports of the google supl addition being a placebo in most cases as the Google supl server requires a supl root cert and we don't have one specific for our phone, even if we make one, it will expire after a while and we will need a new one. I am going to experiment with the nokia supl server, while it is slower than google's, it reportedly doesn't require a supl root cert located in system/etc to work.

Port for nokia supl is 7275

I'm also not sure about "LGE_GPS_POSITION_MODE=0"

I believe this is whether or not our phone is standalone gps or assisted gps. I don't know if 0 or 1 enables or disables either. I'm hoping a 0 doesn't mean standalone.

**As of 4/9/2015
It appears a zero '0' does mean standalone. I am testing ms_assisted at the moment with great results, I will try ms_based next.
 
Last edited:
Have you tried "GPS Status & Toolbox"

https://play.google.com/store/apps/details?id=com.eclipsim.gpsstatus2

Wrench, calibrate everything, a-GPS, reset and again to download assistance data, and set auto updates so you don't have to go back and constantly launch something?

Not saying that your way is wrong, and well done for sorting it out, just curious if you could save a step.
 
Upvote 0
Have you tried "GPS Status & Toolbox"

https://play.google.com/store/apps/details?id=com.eclipsim.gpsstatus2

Wrench, calibrate everything, a-GPS, reset and again to download assistance data, and set auto updates so you don't have to go back and constantly launch something?

Not saying that your way is wrong, and well done for sorting it out, just curious if you could save a step.

Yeah, tried that one, it works to get a lock but didn't show to work as fast as GPS Test, also, it seemed to make my Ingress game not update my location until I used task manager to end the process.

Have tried GPS fix, GPS Status, pretty much any app with GPS in the name. GPS Status basically just shows you what your GPS is doing. I purchased the full version and experimented with calibration, reset, download, etc, and my GPS was still shoddy at best. It seemed like GPS Test actually helps my phone communicate with the Satellites to get faster locks.

Thanks though.
 
Last edited:
  • Like
Reactions: EarlyMon
Upvote 0
I should mention that I only need the GPS Test app when I'm down some long road with trees over me and I'm far away from cell towers (playing Ingress). For in town and every day normal use, just gotta open up maps or Ingress and I get a lock within 30 seconds with pinpoint accuracy (30 feet or less margin of error)
 
Upvote 0
What is that ntp server?


Some dude named by that name that hosts his own NTP and xtra server. Not sure why he does, but he does. Many report it working better as he updates it more frequently than some others do.

He also has made custom SUPL cert files to match the supl information if it is required by your settings.

Just copying and pasting his gps conf files didn't work for me though, I'm not sure what type of phone he's tested them on but it didn't work for mine (ours). His work can be seen with TopNTP app, it installs custom GPS.conf and supl.cert files for your device. I borrowed some text from the gps.conf he provides, namely the auto enabling of AGPS, but I had to edit some of his code for my phone to work well.
 
Upvote 0
My GPS has also been shoddy at best. I've only experienced it with this phone. Might have to give your method a try.

Ditto. My stock phone out of the box had decent at-best GPS. I ALMOST decided to give the phone away and fork over cash for another phone. I really like the battery Life and the knock code, plus that we have developers working on custom roms and Lolipop.

I haven't had to make any changes to my gps conf file for a few days now, and have had successful gps locks even while in the back seat of a car.
 
Upvote 0
So far it is seeming like SUPL doesn't work on our phones, or at the very least, not on mine nor my wife's (straight out of the box volt, mine has been tampered with)

It may be what is causing me to have to re-start my gps with the GPS Test app frequently. The SUPL will attempt to work, fail, then the standard GPS kicks in and locks, until the SUPL starts up again and makes me lose my lock. I stuck a hashtag infront of everything that had to do with SUPL and my GPS worked just as well as with them on, except I didn't keep losing my lock.

It seems the LPP Profile being set to 3 enables both user and control plane, the user plane being SUPL (Secure User Plane), so, I'm confused as to why enabling both makes my phone work well along with the addition of "Default User Plane = true". My guess is that the default user plane true makes the supl kick in, then when it stops working it switches to stand alone gps (with some AGPS data?). I am going to try removing the default user plane and any supl references and will report back with results.
 
Upvote 0
I'm so confused. After reverting to stock zv3 and OTA updating to zv5 then trying the new root method my GPS is shoddy again, regardless of my GPS.conf file. It leads me to believe there is some truth to a crazy notion I read about and actually tried.

The theory was that you need to revert to stock, get a lock on GPS, THEN restore a back up or flash a custom ROM, and somehow for some reason your GPS locking will automagically remember when you had a lock before and perform better.

In theory the idea of this sounds absurd to me, but that is what I tried before posting this thread and my GPS was working really well. Now, with this same GPS conf I posted, without the getting lock on GPS with stock ROM before upgrading, my GPS has gone back to shoddy at best.

I will revert my phone to stock zv3 again, get a lock on GPS, then flash a recovery and upgrade to lollipop and see if my GPS is good, I will also revert to stock and get a lock on GPS, then OTA update to zv4 and get a lock on GPS, then ota to zv5 and get a lock on GPS, to see if it somehow magically fixes my GPS.

In case you're wondering, I test my GPS by going outside in clear view of the sky, opening Google Maps, starting Navigation to a destination, then switching to my GPS Test app to see GPS data (how many satelites are viewed, how many are being used, Time till lock, etc)

Then, getting a lock is just step one, my next test is to see how well the GPS follows me, I walk one block up, down, left, and right, to see if the GPS position keeps up with me.

Ever since my last revert to zv3 and ota updates to zv5 without getting a lock on GPS prior to upgrading, my GPS hasn't been following me after getting a lock.

To be continued....
 
Upvote 0
I found this:

A-GPS protocols are part of Positioning Protocol defined by two different standardization bodies, 3GPP and Open Mobile Alliance (OMA).

Control Plane Protocol
It is defined by 3GPP for various generations of mobile phone system. These protocols are defined for Circuit Switched Networks. Following positioning protocol has been defined.
  • RRLP – 3GPP defined RRLP or Radio resource location protocol to support positioning protocol on GSM networks.
  • TIA 801 – CDMA2000 family defined this protocol for CDMA 2000 networks.
  • RRC position protocol – 3GPP defined this protocol as part of the RRC standard for UMTS network.
  • LPP – 3GPP defined LPP or LTE positioning protocol for LTE Networks.
User Plane Protocol
See also: Secure User Plane Location
It is defined by OMA to support positioning protocols in Packet Switched Networks. Two generations of User plane Protocol have evolved.

  • SUPL V1.0
  • SUPL V2.0
So according to this, my phone's default GPS.conf file is attempting to use a GSM network (LPP_PROFILE is set to 0 which is the #GPP defined RRLP on GSM network). If I'm thinking right here, this is why switching to 3 or 1 improved my phone's GPS, as it stopped trying to use GSM network and allowed it to attempt to download assistance data via the LTE network. Entering in a "0" or "2" attempts to use the Control plane and therefore makes GPS shoddy.

This is seen in the GLONASS text as well. My default setting is "A_GLONASS_POS_PROTOCOL_SELECT=0" which doesn't mean anything according to my gps.conf commented-out text. It has the options of "0x1", "0x2", or "0x4", so I'm thinking I need to change my setting here to "ox4" as the text in there reads "0x4 = LLPUplane", which according to the above text, allows downloading Agps data via the LTE network instead of the GSM network.

My next thing to try to understand is the GPS Capabilities bitmask.
 
Upvote 0
Man, you are really dedicated to this mystery. I appreciate all the hard work you're putting into this! I had been searching high and low for someone else complaining about the GPS lock on the Volt and hadn't seen a single mention of it until now. I hope you are able to sort this out as I use my GPS a lot and have been considering ditching the Volt altogether because of the GPS lock (or lack-thereof).
 
Upvote 0
I can't find any information about what gps bitmask is and which settings are best. All I know is that my default setting is "0x31", and the comments in my file say nothing about that entry. I am going to try 0x10 as this is an entry listed in the comments as "ON_DEMAND_TIME" and the comments also read "default : ON_DEMAND_TIME | MSA | MSB | SCHEDULING | GEOFENCE"
leading me to believe that by default, On demand time is used first, then msa, msb, etc. Only problem is that 0x31 is there by default, so I will change it and see what happens.
 
Upvote 0
Here we go:

"Modes of operation[edit]
A-GPS has two modes of operation:

Mobile Station Assisted (MSA)
In MSA mode A-GPS operation, the A-GPS capable device receives acquisition assistance, reference time and other optional assistance data from a mobile service provider. The mobile service provider continuously logs GPS information (mainly the almanac) from the GPS satellites using a A-GPS server in its system. With the help of the above data (the data received from the mobile device and the data already present in A-GPS server) the A-GPS server calculates the position and sends it back to the A-GPS device.
Mobile Station Based (MSB)
In MSB mode A-GPS operation, the A-GPS device receives ephemeris, reference location, reference time and other optional assistance data from the A-GPS server. With the help of the above data, the A-GPS device receives signals from the visible satellites and calculates the position.[5]"

So, changing my phone's setting from "0x31" to either "0x02" for MSB or "0x04" for MSA would enable either of these two Agps modes of operation.

Also:

"Basic concepts[edit]
Standalone GPS provides first position in approximately 30–40 seconds. A standalone GPS needs orbital information of the satellites to calculate the current position. The data rate of the satellite signal is only 50 bit/s, so downloading orbital information like ephemerides and the almanac directly from satellites typically takes a long time, and if the satellite signals are lost during the acquisition of this information, it is discarded and the standalone system has to start from scratch. In A-GPS, the network operator deploys an A-GPS server. These A-GPS servers download the orbital information from the satellite and store it in the database. An A-GPS capable device can connect to these servers and download this information using mobile network radio bearers such as GSM, CDMA, WCDMA, LTE or even using other wireless radio bearers such as Wi-Fi. Usually the data rate of these bearers is high, hence downloading orbital information takes less time."

From this paragraph I wonder if I should use MSB or MSA instead of On Demand, as it reads here that MSB mode could help in the acquisition of data needed to get a good position lock.

Either way, I have no idea what "0x31" does and/or why our phones are set to that value by default.
 
Upvote 0
From this site: http://en.miui.com/thread-81092-1-1.html
it reads:

"Some people have reported that the GPS is slow to fix. If your device is on a China ROM, it could be because Assisted GPS (AGPS) is switched off.

How to enable itEdit the file /system/etc/gps.conf.
Change the following line to say, instead of 0x31:
  1. CAPABILITIES=0x37
"

I wonder if changing mine to 0x37 would enable the use of MSB and MSA and SUPL, as reported by those users. They were defaulting to "0x31" as well, which according to that OP, doesn't enable MSA, MSB, nor SUPL.

Allegedly 0x37 is going to enable the default progression of Ondemand, MSA, MSB, scheduling, geofence, in that order.

We'll see..
 
Upvote 0
Aha!

From another person's gps.conf, I think I figured it out.

"# GPS Capabilities bit mask
# SCHEDULING = 1
# MSB = 2
# MSA = 4
# ON_DEMAND_TIME=0x10
# ULP = 0x20
# default = MSA | MSB | SCHEDULING | ULP | ON_DEMAND_TIME
# CAPABILITIES=0x37
CAPABILITIES=0x17"

20, plus 10, plus 4, plus 2, plus 1, equals 37. So that's why 37 would enable all of them. So ours set at 31 is not enabling the MSB and MSA, but is allowing for 1, 10, and 20.

I will switch to 37 and report back. (exciting that this is starting to make sense. )

It looks like that person's gps conf file enabled 10, 4, 2, and 1, or on demand, msa, msb, and scheduling, but not ULP.
 
  • Like
Reactions: totalrecarl
Upvote 0
The following is my current settings, based off of the stock gps.conf on my phone after a fresh ota update to zv5:
/start gps.conf
XTRA_SERVER_1= http://xtra1.gpsonextra.net/xtra1.bin
XTRA_SERVER_2=http://xtra2.gpsonextra.net/xtra2.bin
XTRA_SERVER_3=http://xtra3.gpsonextra.net/xtra3.bin
ERR_ESTIMATE=0
NTP_SERVER= north-america.pool.ntp.org
DEBUG_LEVEL=5
INTERMEDIATE_POS=0
SUPL_VER=0x10000
CAPABILITIES=0x37
SUPL_HOST=supl.google.com
SUPL_PORT=7276

LPP_PROFILE = 1
ENABLE_WIPER=1
NMEA_PROVIDER=1
A_GLONASS_POS_PROTOCOL_SELECT = 0x4
VENDOR=SPR
LGE_GPS_POSITION_MODE=0
/end gps.conf

My phone locked on to GPS within 10 seconds with this setting. Haven't had a chance to see how it follows me yet, as I'm at work. But I will report on that later.

Next research is the LGE GPS Position mode = 0, I've seen phones set that to "Standalone", I'm also curious about the wiper. I know it is Wifi positioning, but I've heard bad things about it's functionality. Will experiment with gps with it enabled and disabled and report back.

Also going to look into the difference between modem and application processor (NMEA provider as "1" or "0")
 
Upvote 0
Praise God; it works.

Flashed the CM12 ROM, the google apps, and the zv5 radio, boot up, flashed the boost APN fix, and my signal shows as boost and my GPS locked on in under 10 seconds.

I used the Feb 25 release of the lollipop ROM, the most recent ones seem to cause problems on my device.

Following is my exact GPS.conf file:

XTRA_SERVER_1=http://xtra1.gpsonextra.net/xtra2.bin
XTRA_SERVER_2=http://xtra2.gpsonextra.net/xtra2.bin
XTRA_SERVER_3=http://xtra3.gpsonextra.net/xtra2.bin

# Error Estimate
# _SET = 1
# _CLEAR = 0
ERR_ESTIMATE=0

#Test
# NTP_SERVER=time.gpsonextra.net
#Asia
# NTP_SERVER=asia.pool.ntp.org
#Europe
# NTP_SERVER=europe.pool.ntp.org
#North America
NTP_SERVER=north-america.pool.ntp.org
#Korea
# NTP_SERVER=0.kr.pool.ntp.org
#JP
# NTP_SERVER=3.jp.pool.ntp.org

# DEBUG LEVELS: 0 - none, 1 - Error, 2 - Warning, 3 - Info
# 4 - Debug, 5 - Verbose
# If DEBUG_LEVEL is commented, Android's logging levels will be used
DEBUG_LEVEL = 0

# Intermediate position report, 1=enable, 0=disable
INTERMEDIATE_POS=1

# supl version 1.0
SUPL_VER=0x10000
# supl version 2.0
#SUPL_VER=0x20000

# GPS Capabilities bit mask
# SCHEDULING = 0x01
# MSB = 0x02
# MSA = 0x04
# ON_DEMAND_TIME = 0x10
# GEOFENCE = 0x20
# default = ON_DEMAND_TIME | MSA | MSB | SCHEDULING | GEOFENCE
CAPABILITIES=0x37

# Accuracy threshold for intermediate positions
# less accurate positions are ignored, 0 for passing all positions
ACCURACY_THRES=1000

################################
##### AGPS server settings #####
################################

# FOR SUPL SUPPORT, set the following
SUPL_HOST=supl.google.com
SUPL_PORT=7276

# FOR C2K PDE SUPPORT, set the following
# C2K_HOST=c2k.pde.com or IP
# C2K_PORT=1234


####################################
# LTE Positioning Profile Settings
####################################
# 0: Enable RRLP on LTE(Default)
# 1: Enable LPP_User_Plane on LTE
# 2: Enable LPP_Control_Plane
# 3: Enable both LPP_User_Plane and LPP_Control_Plane
LPP_PROFILE = 1

################################
# EXTRA SETTINGS
################################
# Enable or Disable Wiper (1=Enable, 0=Disable)
#ENABLE_WIPER=1
ENABLE_WIPER=1
# NMEA provider (1=Modem Processor, 0=Application Processor)
#NMEA_PROVIDER=0
NMEA_PROVIDER=1

##################################################
# Select Positioning Protocol on A-GLONASS system
##################################################
# 0x1: RRC CPlane
# 0x2: RRLP UPlane
# 0x4: LLP Uplane
A_GLONASS_POS_PROTOCOL_SELECT = 0x4

################################
# LGE EXTRA SETTINGS
################################
VENDOR=SPR
#LGE_TLS_MODE=0
LGE_GPS_POSITION_MODE=standalone
 
Upvote 0

BEST TECH IN 2023

We've been tracking upcoming products and ranking the best tech since 2007. Thanks for trusting our opinion: we get rewarded through affiliate links that earn us a commission and we invite you to learn more about us.

Smartphones