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

AGPS Patch Galaxy S 4G 3.1 & 2.2 | GET BACK TO RAPID GPS LOCK, LOCK EXTRA SATS

Search This thread

crypted

Senior Member
Nov 20, 2007
2,493
4,224
Miami, FL
derekgordon.com
AGPS PATCH

REVIEW THE WHOLE THREAD BEFORE POSTING QUESTIONS.

List of officially supported devices is at the bottom of this post.

Use this if you're having GPS issues (unreliability, no functionality, etc.)

This patch provides a worldwide solution to GPS issue for multiple devices. Using a general ROM without this has resulted in 10+ minutes of GPS delay. Also, GPS lock kept being lost. By using this patch, most people experience a GPS lock within 10 seconds (2 - 20 seconds range can be expected). Typically, a device using this patch will lock onto 7 - 9 satellites. Users have reported up to 11 satellites being locked at once. Without this patch, the average satellite count is 4.

HOWTO INSTALL: (Remember to make a backup. See Notes section for what this patch does.)

Method 1:
1. Download the "ADB Push Installer". This contains all versions for the latest build and old v1.3 versions.
2. Extract the files into a specific folder.
3. Plug your device into the computer and get it ready for adb pushing. Nothing out of the ordinary required.
4. Open the batch file called "ADB Installation Script - RUN THIS" if you use Windows. Otherwise, run the Linux SH script if you use Linux.
5. Select the version you want from the list.
6. Follow the prompts to reboot. You're done.
4. Review the NOTES section.

Method 2:
1. Download the patch
2. Copy all file(s)* into /etc/ of the system (not sd-card) using ES File Explorer, Root Explorer, or some other form. You must have SYSTEM set to Mounted and Root enabled. Check your explorer app's SETTINGS to do this.
**Files will be: gps.conf & SUPLROOTCERT -OR- only gps.conf for NO-SSL builds.**
3. Reboot the device
4. Review the NOTES section.
*Files are located in the /system/ folder of the ZIP. Do not copy the other directories or folders.

Method 3 (easiest if you use a compatible version of CWR or CWM)*:
1. Download the patch
2. Boot into CWR (Clockwork Recovery)
3. Mount /system/ partition (on the main menu, select the "Mounts and storage" option, then "mount /system")
4. Flash the patch (on the main menu, select "Install zip from sdcard," then "choose zip from sdcard," and find the zip and select it)
If you receive "(Status 0) Installation aborted" this Method will not work for you. Use one of the other methods.
5. Reboot the device
6. Review the NOTES section.
*This was built for and works on Inspire 4G and DesireHD versions of Clockwork Recovery. The Google CWM Flashable Build has binaries known to work with CWM on the X8. It may work on other devices. Please message me your success if you try and flash with recovery version and phone model as part of the message.


Downloads:
SEE THE NOTES SECTION (PARTICULARLY NOTES 1,2, & 3) FOR ALL SORTS OF INFORMATION AND FACTS ABOUT THIS PATCH, WHAT EACH BUILD IS FOR, VERSION DIFFERENCES, AND KNOWN ISSUES WITH SOLUTIONS.

Recommended Builds (pick either):
Download the Google Specific No-SSL v3.1 build here. (Like it? Don't forget to click on "Thanks" and to rate the thread)
Download the Google Specific v3.1 build here. (Like it? Don't forget to click on "Thanks" and to rate the thread)

Confused with all the options below? As the Notes section dictates: I recommend the GOOGLE BUILD of all devices. Other builds have changes in their SUPL server information and/or other variables pertinent to that manufacturer. These builds do not appear to operate as fast as Google build's but are available for your enjoyment.

3.x trunk Alternative Options (currently v3.1)
Download the ADB Push Installer here. (contains all current builds and v1.3 builds) (Like it? Don't forget to click on "Thanks" and to rate the thread)
Download the Google Specific NO-SSL TWRP build here. (Like it? Don't forget to click on "Thanks" and to rate the thread)
Download the Google Specific build here. (Like it? Don't forget to click on "Thanks" and to rate the thread)
Download the Google Specific NO-SSL build here. (Like it? Don't forget to click on "Thanks" and to rate the thread)
Download the Google Specific Alternate* build here. (Like it? Don't forget to click on "Thanks" and to rate the thread)
Download the Google Specific CWM Flashable build here. (Like it? Don't forget to click on "Thanks" and to rate the thread)
Download the AT&T Specific build here. (Like it? Don't forget to click on "Thanks" and to rate the thread)
Download the T-Mobile Specific build here. (Like it? Don't forget to click on "Thanks" and to rate the thread)
Download the LG Phone Specific build here. (Like it? Don't forget to click on "Thanks" and to rate the thread)
Download the LG Phone Specific Alternate* build here. (Like it? Don't forget to click on "Thanks" and to rate the thread)
Download the Sony Ericsson Specific build here. (Like it? Don't forget to click on "Thanks" and to rate the thread)
Download the GPS.CONF only build here. (Like it? Don't forget to click on "Thanks" and to rate the thread)
Download the GPS.CONF only Alternate* build here. (Like it? Don't forget to click on "Thanks" and to rate the thread)
*The alternate patch removes a variable that some GPS hardware on older models cannot handle. Try this if you have problems with the standard patch.

2.x trunk Alternative Options (currently v2.2)
Download the ADB Push Installer here. (contains all current builds and v1.3 builds) (Like it? Don't forget to click on "Thanks" and to rate the thread)
Download the Google Specific build here. (Like it? Don't forget to click on "Thanks" and to rate the thread)
Download the Google Specific NO-SSL build here. (Like it? Don't forget to click on "Thanks" and to rate the thread)
Download the Google Specific Alternate* build here. (Like it? Don't forget to click on "Thanks" and to rate the thread)
Download the Google Specific CWM Flashable build here. (Like it? Don't forget to click on "Thanks" and to rate the thread)
Download the AT&T Specific build here. (Like it? Don't forget to click on "Thanks" and to rate the thread)
Download the T-Mobile Specific build here. (Like it? Don't forget to click on "Thanks" and to rate the thread)
Download the LG Phone Specific build here. (Like it? Don't forget to click on "Thanks" and to rate the thread)
Download the LG Phone Specific Alternate* build here. (Like it? Don't forget to click on "Thanks" and to rate the thread)
Download the Sony Ericsson Specific build here. (Like it? Don't forget to click on "Thanks" and to rate the thread)
Download the GPS.CONF only build here. (Like it? Don't forget to click on "Thanks" and to rate the thread)
Download the GPS.CONF only Alternate* build here. (Like it? Don't forget to click on "Thanks" and to rate the thread)
*The alternate patch removes a variable that some GPS hardware on older models cannot handle. Try this if you have problems with the standard patch.


Changelog: (I'll try to keep this correct and current)
Code:
v3.1 update - New Version
introduced the NO SSL version for Google build.  Shows faster performance times.

v3.1(HELP WITH THE MAINTANENCE COSTS - DONATE A FEW BUCKS)
introduced my own NTP pools
repaired the LG Alternate build (was same as standard build, compilation error)

v3.0 (HELP WITH THE MAINTANENCE COSTS - DONATE A FEW BUCKS)
based on v2.2 configuration
has my own XTRA/AGPS server instead of Qualcomm
re-added two AGPS variables from v1.3   (two beta-testers saw instant results with these re-added)
re-added on USE SUPL variable from v1.3   (two beta-testers saw instant results with these re-added)
variables are now divided into sections and sections have descriptions

Code:
v2.2 update - New Version
introduced the NO SSL version for Google build.  Shows faster performance times.

v2.2 (additional builds added)
added a new SUPL version using data from Sony Ericsson
added an alternate release using LG SUPL servers
added an alternate release using Google SUPL servers
updated the ADB PUSH to include new versions
fixed broken download links for the patch

v2.2
removed local AGPS variable
removed local XTRA_SERVER variable
created LG Build with LG SUPL servers (some LG ROMs fail to work with non-LG SUPL servers)
reduced redundancy in NTP and XTRA (unnecessary entries)
added newly located SUPL server to T-Mobile build

v2.1 (encompassing changes between 1.3 to 2.1)
removed two NTP server pools
removed xtra1 server
removed multiple SUPL_HOST entries
aligned SUPL_HOST with SUPLROOTCERT in each package
increased QOS timeout from 89 to 100
removed QOS standalone timeout variable
removed extra AGPS variables


Old Versions:
3.x Trunk:
v3.0 ADB Push Installer
v3.0 Google Build
v3.0 Google Alternate Build
v3.0 Google CWM Build
v3.0 AT&T Build
v3.0 T-Mobile Build
v3.0 LG Build
v3.0 LG Alternate Build
v3.0 Sony Ericsson Build
v3.0 GPS Only Build
v3.0 GPS Only Alternate Build

2.x Trunk:
v2.1 Google Generic Build
v2.1 AT&T Specific Build
v2.1 T-Mobile Specific Build
v2.1 GPS.Conf Only Build
v2.1 GPS.Conf Only Build (alternate)
v2.0 Google Generic Build
v2.0 AT&T Specific Build
v2.0 T-Mobile Specific Build
v2.0 GPS.Conf Only Build
v2.0 GPS.Conf Only Build (alternate)

1.x Trunk:
Worldwide 1.3
Worldwide 1.3n (alternate)
North America 1.2
Worldwide 1.2
Worldwide 1.2n (alternate)
North America 1.1
Worldwide 1.1
Worldwide 1.0 (not recommended)
North America 1.0 (not recommended)


Rules For Posting Questions:
  1. Read the Notes Section first. I will refuse to answer questions that can be answered by some reading. If it is based upon something in the Notes Section, REFER TO THE NOTE when asking.
  2. Answer the following questions: What ROM you are using?, What kernel are you using?, What GPS apps you have installed?, Where is your general location?, Are you using a case?, Has your GPS worked fine before?, Does it work fine with some apps and not others?, What else happened around the time your GPS stopped working? -AND- Have you reviewed the Notes Section?
  3. DO NOT criticize the user of custom third-party NTP pools and xtra.bin data as dangerous. You obviously HAVE NOT read the Notes section OR reviewed the concurrent branch 2.x to discover it offers the standard NTP pool and Qualcomm-based xtra.bin server.
  4. Don't indulge yourself in ignornat posts. Provide information that may be relevant to helping. Simply stating "this stopped working" or "I can't get it to work" helps nothing and only annoys other readers AND those who may be willing to help you just will not do it.


NOTES Section:
  1. This patch will work with virtually all Qualcomm, Android phones and has been reported to work with other chipsets as well. That means hundreds of devices could see a benefit to GPS performance from this patch.
  2. This patch has various objectives to ensure stability and efficacy with GPS. Locally, the patch will replace your /system/etc/gps.conf and your /system/etc/suplrootcert if you have this file. You can compare the difference in what you have to this one to get an idea of all the changes. V3.1, onward, contains section descriptions for variables in use. Most notably, starting with v3.1 the aGPS Patch uses my own central NTP DNS pool and my own central xtra.bin server by default. The xtra.bin does have fallback servers should mine fail. But, that is very, VERY much an unlikely scenario. These two imperatives allow for better stability and speed by providing top-rated NTP servers and prime-routed network access to transmit the xtra.bin to your phone.
  3. I recommend the GOOGLE BUILD of all trunks. However, you can use any build with any phone. You may have good luck with specific builds that do not fit your phone or carrier criteria. If you're curious, test it and see.
  4. This works with ANY ROM unless the ROM has aGPS and/or GPS disabled in the code. This happens with CMx nightlies and some betas! I cannot fix this, neither can you.
  5. Remember, this has to be reflashed when you update or change ROMs.
  6. Short patch history: The 1.x trunk only flashed a modified gps.conf file which relied solely on Qualcomm and NTP.ORG. Starting with 2.x, a gps.conf and a matching SUPLROOTCERT file for SUPL server authentication is included. The 3.x trunk offers the same as v2.x but adds better sourcing for NTP data and for the xtra.bin file; it utilizes my own server to do so.
  7. Why toss out SSL?Whether or not you have a current SUPL certificate is questionable. Some have expired. Some will expire soon. Either way, the servers may provide SSL access without proper certificates depending upon configuration. That aside, I have found that SSL and secure communications over data networks slows the response times. I see no reason to use SSL for location information. If someone has a logger to obtain your location, SSL will not assist in stopping it. The bad app will continue to obtain your information by "stealing" it and you have more problems than a simple SSL-SUPL communications leak.
  8. NO-SSL Builds will not have a SUPLROOTCERT because these builds do not use SSL. The SUPLROOTCERT is a certificate used for authentication of SSL connections. There is no need for this file for the GPS at this point.
  9. IF you have issues with v2.x or v3.x, your ROM might require more variables. Try the old worldwide v1.3 version in this instance.
  10. IF you still are facing issues, it might be that your GPS hardware is very much outdated. Try any "Alternate" build to see if this helps.
  11. CMx ROM users may not experience benefits from this patch. However, we have had good reports from CM users with one negative one. Remember to do all of the steps when flashing and the following notes are important too!
  12. Reports indicate that this patch DOES WORK with the next iteration of Android, Jelly Bean. This patch has worked from Android 2.2 (Froyo) up through Android 4.1 (Jelly Bean). Therefore, it works with all iterations on the market. I will remove support as soon as it is confirmed to NOT work with a new version of Android.
  13. Reports show that certain ROM's including some CM builds require a modification in the build.prop. You need to change "ro.ril.def.agps.mode = 2" or "ro.ril.def.agps.mode = 0" to be "ro.ril.def.agps.mode = 1" in order for aGPS to properly function. Only do this IF YOU ARE HAVING PROBLEMS after attempting the standard patch.
  14. Your phone "learns" about the individual GPS satellites. This is part of the aGPS design. Don't be surprised if the first time you use GPS Status that it takes 20+ seconds to "lock".
  15. I have read a lot that indicates that it is best to let your GPS run using any application for a while to "learn" aGPS information. I let GPS Status run for about 10 minutes (it has an option to disable the screen timeout, which I do) each "first time" to learn. I say each because I test a lot of tweaks and fully reset/delete GPS cached information to start retesting.
  16. Remember, this has to be reflashed when you update or change ROMs. Each ROM will have its own gps.conf, normally not suited to all devices.
  17. I use GPS Status to test my signal strength. It isn't 100% accurate, but it gives a very good sense of how the GPS is performing.
  18. If you're wondering why GPS is slow on certain apps? Or, you show up as on a street when you're 6 meters away from it? Well, those apps process GPS data differently which is out of anyone's control except the app developer. Certain apps will force your location to a street until you pass the app error threshold. Food for thought.
  19. DO NOT USE ANY OTHER GPS FIXING APPS with this patch. If you do, and you still have problems, I cannot help you. A number of these Apps will overwrite what my patch does dynamically.
  20. Variables are described starting in v3.0. Open up gps.conf in a text editor to read about what variable sections are for. It isn't in-depth, but should be enough to help you get a general understanding.
  21. Still having weak GPS reception? Take your case off. Cases have been known to affect signal, though some argue against it. Personally, I get 3 more sat's when I remove my case.
  22. There is a reported variable that can cause some GPS units not to work as well as it should with this patch. This is very odd as it's hit-and-miss and only seems to cause problems on less than 10% of handsets. This doesn't mean it screws up anything! It's possibly an older piece of GPS hardware incompatible with this variable. Have no fear, v1.2 will remove this variable for the worldwide version. This issue is more prone to occur in DHD.
  23. Tried taking the battery out for 30 seconds? Some have reported that their phone required the battery to be removed. First, power off the device. Second, remove the battery for 30 seconds. Third, put it back in and give it a try. I cannot explain this except for possible cache clearing.
  24. Some Inspire 4G and DHD devices have hardware problems. There is a known problem that the spring connectors to the GPS antenna sometimes are out of place or quit touching. http://forum.xda-developers.com/showthread.php?t=1101066 provides a video on self-repair.
  25. An error in flashing this patch means that this method will not work for you. Use one of the other methods for flashing this patch. Don't ask why or for a fix. There are hundreds of variations of recovery systems and update binaries. I do not have the time or desire to support them all. This is why I describe other install methods. Reference error: E:Error in /sdcard/android apps/agps.patch.google.build.nossl.v3.1.zip (Status 0) Installation aborted.
  26. Location is way off? Like, not near you at all? This means your GPS is not actually being used. Try the following to resolve it: Goto Settings -> Locations and disable ALL options. Reboot into recovery. Clear Cache and Dalvik Cache. Reboot normally. Go back to Settings -> Locations and only enable GPS. Reboot once more and try your GPS again. If this didn't work, did you read all of the Notes such as the one about the battery or RIL?
  27. Donations: If you wonder why I asked for donations, it's simple. Users of v3.x are gaining extra, noticeable benefit over v2.x. This comes at a cost to someone. I pay the bills to provide a reliable data setup to transmit the xtra.bin data file and to provide the top NTP SERVERS in one DNS pool. To help keep this going, I just ask for the user to consider a donation. Nothing more, nothing less. Thank you for your consideration.

AGPS Patch Officially Supported Devices:
Acer Iconia
Asus Transformer Prime
Asus Transformer (TF101)
Asus Transformer TF300T
HTC Inspire 4G
HTC Desire HD
HTC Sensation
HTC Incredible S
HTC Salsa
HTC Flyer
HTC Evo 3D
HTC Desire S
HTC Wildfire
HTC Wildfire S
HTC Droid Incredible 2
HTC Thunderbolt
HTC Desire
HTC Desire Z
HTC One X
LG GT-540 OPTIMUS
LG Optimus One
Motorola Triumph
Motorola Droid X2
Samsung Galaxy S II Skyrocket (SGH-I727)
Samsung Galaxy S II (I9100)
Samsung Galaxy S II (SGH-T989)
Samsung Galaxy S Plus I9000
Samsung Galaxy Nexus
Samssung Galaxy S III (AT&T, Rogers, Bell, Telus)
Samsung Galaxy S III I9300, I9305
Samsung Galaxy S 4G
Sony Ericcson XPERIA X8

* I do not officially support all devices that this patch is known to work on at this time. You may private message me your success story for official support considerations.

Thanks Section
While this has gone a long distance since its inception, I want to still send thanks to Angeldeath for permitting me to take his early work and start tweaking it for HTC Inspire 4G users. This inevitably led to what we have here today.
Thank you to all those who joined and participate in the testing community. Without their help, I couldn't get enough data to know how well this works on different devices and in various regions of this planet we call Earth.
Thank you eagleeyetom, husky69, and tamagotono for their work in building an ADB pushing environment for Windows and for Linux respectively.


If you are happy with the patch and find this thread useful, please consider pressing the "Thanks" button on any of my posts on this thread. You may also consider rating this thread with five stars if you're satisfied. You may do so just below "Search This Thread" on the right-side at the top of this post. Donations are appreciated (See last NOTE)


REVIEW THE WHOLE THREAD BEFORE POSTING QUESTIONS.
 
Last edited:

crypted

Senior Member
Nov 20, 2007
2,493
4,224
Miami, FL
derekgordon.com
Official support has is now available for more devices:

Samssung Galaxy S III (AT&T, Rogers, Bell, Telus)
Samsung Galaxy S III I9300, I9305
Asus Transformer TF300T
Motorola Droid X2
Samsung Galaxy S 4G

If you appreciate this growing work, always consider clicking the Thanks.

Remember that I pay monthly hosting fees for the space and bandwidth necessary to keep this patch working on the backend. So, please consider donating a few bucks if you're a user. All donations go directly to the patch provisioning and there is absolutely no overhead to benefit me.
 

getochkn

Senior Member
Dec 25, 2010
838
500
I couldn't get a lock for nothing after installing this, went back to stock with my LB6 modem and get a lock again within 1min. This was on a unreleased latest CM9 build.
 

crypted

Senior Member
Nov 20, 2007
2,493
4,224
Miami, FL
derekgordon.com
Here are the quotes from users already taking advantage of this patch. The quotes were on a temporary thread prior to me bringing support.

Seems to work alright. I cleared gps data with angry gps and ran a tracking test. It locked in about 10 seconds to 8 satellites.

Sent from my SGH-T959V using xda app-developers app

Flashed with twrp (that comes with aokp). I checked the file it was supposed to replace to the confirm it worked. I used gps fix build 3.1 no ssl.

Sent from my SGH-T959V using xda app-developers app

Build 3.1 no ssl is working good for me . Running Beam rom with Hefe kernal and UVLB6 modem.

3.1 no ssl worked for me on Unofficial CM9. I looked at the update script and the only thing affecting my device was copying gps.conf to system/etc (it wasn't in there at all) so, I did that manually. Rebooted and had a quick gps fix.

Sent from my SGH-T959V using Tapatalk 2

Went from taking over 1 minute to ten seconds great improvement using cm9 on ics rom Oc to 1400 mhz

Sent from my SGH-T959V using xda app-developers app
 
G

GuestK0045

Guest
i do not see anthing about akop going to try it :D lb6 akop b6 m5
 
Last edited:

crypted

Senior Member
Nov 20, 2007
2,493
4,224
Miami, FL
derekgordon.com
I would like to explain, it just that there isnt much too explain. Simply nothing happened when I flashed it.

Sent from my SGH-T959V using xda premium

You are being very lazy. Read the section on how to post. Then, read the Notes, and give us information so we can know what doesn't work.

Sent from my Galaxy Nexus using xda app-developers app
 
I would like to explain, it just that there isnt much too explain. Simply nothing happened when I flashed it.

Sent from my SGH-T959V using xda premium

So, you're on stock Froyo, flashed the 3.x branch Sony Ericsson patch onto your Samsung Galaxy S 4G (the only solid information you gave us, and only accidentally since it's in your signature) and your GPS still worked exactly the same, right? Since you didn't clarify, that's my assumption on your process.

On my part, I've flashed it onto a Galaxy S 4G phone that was on AOKP m6r5 using the 3.x TWRP No-SSL patch. Seems about the same, still won't lock onto any of the satellites with 3 floors above my head, though it does see 10 as existing (0/10 locked using GPS Status). Maybe better, definitely not worse.
 

crypted

Senior Member
Nov 20, 2007
2,493
4,224
Miami, FL
derekgordon.com
So, you're on stock Froyo, flashed the 3.x branch Sony Ericsson patch onto your Samsung Galaxy S 4G (the only solid information you gave us, and only accidentally since it's in your signature) and your GPS still worked exactly the same, right? Since you didn't clarify, that's my assumption on your process.

On my part, I've flashed it onto a Galaxy S 4G phone that was on AOKP m6r5 using the 3.x TWRP No-SSL patch. Seems about the same, still won't lock onto any of the satellites with 3 floors above my head, though it does see 10 as existing (0/10 locked using GPS Status). Maybe better, definitely not worse.

The Notes explain the differences. The numerous variants that are not Google derived use SUPL servers of those companies listed in the filename. This is discussed in the thread.

If you have three floors above you, I would not expect any lock whatsoever. GPS signal is very reflective. So, your device could see 10 unique identifiers bouncing within your building. But, those will be too far above the minimal error threshold I use. Ergo no lock.
 

fabricatedhero

Senior Member
Jun 6, 2008
398
58
Works wonderfully! On cm9.1 and got locks in 8-12seconds and my accuracy went as low as 4ft without wifi assistance. Used 3.1v no-ssl

Sent from my SGH-T959V using xda premium
 

heniki

Senior Member
Jun 6, 2012
162
21
Thanks a lot

Hi

i have galaxy S 4G AOKP ICS

i have tried it without believing it

because i am suffering from gps issues since the first day i bought this phone

i have tried all the crappy solution (angry gps, Gps status, .... ,faster fix ...)

i have just flashed this one: Google Specific NO-SSL TWRP

it works perfectly

thanks a lot!!!!!!!!!!
 

hutson23

Senior Member
Sep 2, 2012
267
90
I have sgs4g and use barebones 1.1.3 Rom (for its battery life)
Blastoff v2.5 kernal
Cwm recovery 5x
I have always had gps issuse with this phone
I flashed the non-SSL google build
First link in post
Flashed perfect...first use no lock
I let it run maybe 5 or 10 minutes rebooted phone...
Second attempted it locked 6 of 11 sats in 3 seconds
Now gps locks every time in 3 to 5 seconds
Thanks so much for this mod now I can use my
gps on my phone.Thanks again

Sent from my Kindle Fire using xda app-developers
 

Cooptx

Senior Member
Jul 28, 2012
1,347
467
Houston, Texas
Root

SGS4G
Slim ICS

Flashed the 3.x Google specific CWM flashable
Nothing happens in 20 secs, but after 40 I get 7 locked. This is a major improvement over it never locking in the first place.
Does this patch require root access? I know methods 2 & 3 do, but does the first method? This might sound like a stupid question, but I have never done an ADB install.

After testing my GPS again, I can't get a lock. I am trying to run Runtastic Pro with it. I switched to the recommended Google Specific NO-SSL and there was no improvement. It says that there are 13 satellites around, but can't lock.
 
Last edited:

crypted

Senior Member
Nov 20, 2007
2,493
4,224
Miami, FL
derekgordon.com
SGS4G
Slim ICS

Flashed the 3.x Google specific CWM flashable
Nothing happens in 20 secs, but after 40 I get 7 locked. This is a major improvement over it never locking in the first place.
Does this patch require root access? I know methods 2 & 3 do, but does the first method? This might sound like a stupid question, but I have never done an ADB install.

After testing my GPS again, I can't get a lock. I am trying to run Runtastic Pro with it. I switched to the recommended Google Specific NO-SSL and there was no improvement. It says that there are 13 satellites around, but can't lock.

Your phone has to be rooted first. Read the Notes.

Sent from my Galaxy Nexus using xda app-developers app
 

hechoen

Senior Member
May 7, 2011
2,686
1,391
Reports show that certain ROM's including some CM builds require a modification in the build.prop. You need to change "ro.ril.def.agps.mode = 2" or "ro.ril.def.agps.mode = 0" to be "ro.ril.def.agps.mode = 1" in order for aGPS to properly function. Only do this IF YOU ARE HAVING PROBLEMS after attempting the standard patch.

We'll call this one hidden in plain site.

I've been testing a new kernel for Beastmode lately and was trying to get GPS to work. I flashed 3.1 google specific build and still no lockie. So I did what cryptic mentions in the OP and READ the notes. Well that note that I quoted up above is the thing that needs to be done for this phone to make GPS work. After I added that line to the build.prop and rebooted I got a lock in about 10 seconds indoors to an accuracy of 6 meters. Not bad for this phone at all.

Most of are ICS ROMs use CM as a base. So after going through and looking at most of their props NONE of them have that line. I don't know how it's escaped notice as long as it has. I've only tested it on CM9 8-29 build with Beastmodes yet to be released kernel. I doubt that it matters though. Flash the zip, add that line, reboot and you should be good to go.

So thanks to cryptic for this fix and one of the most detailed OP's I've ever had the pleasure of reading. And too erikmm(aka Beastmode) for the incentive to actually look into this.
 

Top Liked Posts

  • There are no posts matching your filters.
  • 38
    AGPS PATCH

    REVIEW THE WHOLE THREAD BEFORE POSTING QUESTIONS.

    List of officially supported devices is at the bottom of this post.

    Use this if you're having GPS issues (unreliability, no functionality, etc.)

    This patch provides a worldwide solution to GPS issue for multiple devices. Using a general ROM without this has resulted in 10+ minutes of GPS delay. Also, GPS lock kept being lost. By using this patch, most people experience a GPS lock within 10 seconds (2 - 20 seconds range can be expected). Typically, a device using this patch will lock onto 7 - 9 satellites. Users have reported up to 11 satellites being locked at once. Without this patch, the average satellite count is 4.

    HOWTO INSTALL: (Remember to make a backup. See Notes section for what this patch does.)

    Method 1:
    1. Download the "ADB Push Installer". This contains all versions for the latest build and old v1.3 versions.
    2. Extract the files into a specific folder.
    3. Plug your device into the computer and get it ready for adb pushing. Nothing out of the ordinary required.
    4. Open the batch file called "ADB Installation Script - RUN THIS" if you use Windows. Otherwise, run the Linux SH script if you use Linux.
    5. Select the version you want from the list.
    6. Follow the prompts to reboot. You're done.
    4. Review the NOTES section.

    Method 2:
    1. Download the patch
    2. Copy all file(s)* into /etc/ of the system (not sd-card) using ES File Explorer, Root Explorer, or some other form. You must have SYSTEM set to Mounted and Root enabled. Check your explorer app's SETTINGS to do this.
    **Files will be: gps.conf & SUPLROOTCERT -OR- only gps.conf for NO-SSL builds.**
    3. Reboot the device
    4. Review the NOTES section.
    *Files are located in the /system/ folder of the ZIP. Do not copy the other directories or folders.

    Method 3 (easiest if you use a compatible version of CWR or CWM)*:
    1. Download the patch
    2. Boot into CWR (Clockwork Recovery)
    3. Mount /system/ partition (on the main menu, select the "Mounts and storage" option, then "mount /system")
    4. Flash the patch (on the main menu, select "Install zip from sdcard," then "choose zip from sdcard," and find the zip and select it)
    If you receive "(Status 0) Installation aborted" this Method will not work for you. Use one of the other methods.
    5. Reboot the device
    6. Review the NOTES section.
    *This was built for and works on Inspire 4G and DesireHD versions of Clockwork Recovery. The Google CWM Flashable Build has binaries known to work with CWM on the X8. It may work on other devices. Please message me your success if you try and flash with recovery version and phone model as part of the message.


    Downloads:
    SEE THE NOTES SECTION (PARTICULARLY NOTES 1,2, & 3) FOR ALL SORTS OF INFORMATION AND FACTS ABOUT THIS PATCH, WHAT EACH BUILD IS FOR, VERSION DIFFERENCES, AND KNOWN ISSUES WITH SOLUTIONS.

    Recommended Builds (pick either):
    Download the Google Specific No-SSL v3.1 build here. (Like it? Don't forget to click on "Thanks" and to rate the thread)
    Download the Google Specific v3.1 build here. (Like it? Don't forget to click on "Thanks" and to rate the thread)

    Confused with all the options below? As the Notes section dictates: I recommend the GOOGLE BUILD of all devices. Other builds have changes in their SUPL server information and/or other variables pertinent to that manufacturer. These builds do not appear to operate as fast as Google build's but are available for your enjoyment.

    3.x trunk Alternative Options (currently v3.1)
    Download the ADB Push Installer here. (contains all current builds and v1.3 builds) (Like it? Don't forget to click on "Thanks" and to rate the thread)
    Download the Google Specific NO-SSL TWRP build here. (Like it? Don't forget to click on "Thanks" and to rate the thread)
    Download the Google Specific build here. (Like it? Don't forget to click on "Thanks" and to rate the thread)
    Download the Google Specific NO-SSL build here. (Like it? Don't forget to click on "Thanks" and to rate the thread)
    Download the Google Specific Alternate* build here. (Like it? Don't forget to click on "Thanks" and to rate the thread)
    Download the Google Specific CWM Flashable build here. (Like it? Don't forget to click on "Thanks" and to rate the thread)
    Download the AT&T Specific build here. (Like it? Don't forget to click on "Thanks" and to rate the thread)
    Download the T-Mobile Specific build here. (Like it? Don't forget to click on "Thanks" and to rate the thread)
    Download the LG Phone Specific build here. (Like it? Don't forget to click on "Thanks" and to rate the thread)
    Download the LG Phone Specific Alternate* build here. (Like it? Don't forget to click on "Thanks" and to rate the thread)
    Download the Sony Ericsson Specific build here. (Like it? Don't forget to click on "Thanks" and to rate the thread)
    Download the GPS.CONF only build here. (Like it? Don't forget to click on "Thanks" and to rate the thread)
    Download the GPS.CONF only Alternate* build here. (Like it? Don't forget to click on "Thanks" and to rate the thread)
    *The alternate patch removes a variable that some GPS hardware on older models cannot handle. Try this if you have problems with the standard patch.

    2.x trunk Alternative Options (currently v2.2)
    Download the ADB Push Installer here. (contains all current builds and v1.3 builds) (Like it? Don't forget to click on "Thanks" and to rate the thread)
    Download the Google Specific build here. (Like it? Don't forget to click on "Thanks" and to rate the thread)
    Download the Google Specific NO-SSL build here. (Like it? Don't forget to click on "Thanks" and to rate the thread)
    Download the Google Specific Alternate* build here. (Like it? Don't forget to click on "Thanks" and to rate the thread)
    Download the Google Specific CWM Flashable build here. (Like it? Don't forget to click on "Thanks" and to rate the thread)
    Download the AT&T Specific build here. (Like it? Don't forget to click on "Thanks" and to rate the thread)
    Download the T-Mobile Specific build here. (Like it? Don't forget to click on "Thanks" and to rate the thread)
    Download the LG Phone Specific build here. (Like it? Don't forget to click on "Thanks" and to rate the thread)
    Download the LG Phone Specific Alternate* build here. (Like it? Don't forget to click on "Thanks" and to rate the thread)
    Download the Sony Ericsson Specific build here. (Like it? Don't forget to click on "Thanks" and to rate the thread)
    Download the GPS.CONF only build here. (Like it? Don't forget to click on "Thanks" and to rate the thread)
    Download the GPS.CONF only Alternate* build here. (Like it? Don't forget to click on "Thanks" and to rate the thread)
    *The alternate patch removes a variable that some GPS hardware on older models cannot handle. Try this if you have problems with the standard patch.


    Changelog: (I'll try to keep this correct and current)
    Code:
    v3.1 update - New Version
    introduced the NO SSL version for Google build.  Shows faster performance times.
    
    v3.1(HELP WITH THE MAINTANENCE COSTS - DONATE A FEW BUCKS)
    introduced my own NTP pools
    repaired the LG Alternate build (was same as standard build, compilation error)
    
    v3.0 (HELP WITH THE MAINTANENCE COSTS - DONATE A FEW BUCKS)
    based on v2.2 configuration
    has my own XTRA/AGPS server instead of Qualcomm
    re-added two AGPS variables from v1.3   (two beta-testers saw instant results with these re-added)
    re-added on USE SUPL variable from v1.3   (two beta-testers saw instant results with these re-added)
    variables are now divided into sections and sections have descriptions

    Code:
    v2.2 update - New Version
    introduced the NO SSL version for Google build.  Shows faster performance times.
    
    v2.2 (additional builds added)
    added a new SUPL version using data from Sony Ericsson
    added an alternate release using LG SUPL servers
    added an alternate release using Google SUPL servers
    updated the ADB PUSH to include new versions
    fixed broken download links for the patch
    
    v2.2
    removed local AGPS variable
    removed local XTRA_SERVER variable
    created LG Build with LG SUPL servers (some LG ROMs fail to work with non-LG SUPL servers)
    reduced redundancy in NTP and XTRA (unnecessary entries)
    added newly located SUPL server to T-Mobile build
    
    v2.1 (encompassing changes between 1.3 to 2.1)
    removed two NTP server pools
    removed xtra1 server
    removed multiple SUPL_HOST entries
    aligned SUPL_HOST with SUPLROOTCERT in each package
    increased QOS timeout from 89 to 100
    removed QOS standalone timeout variable
    removed extra AGPS variables


    Old Versions:
    3.x Trunk:
    v3.0 ADB Push Installer
    v3.0 Google Build
    v3.0 Google Alternate Build
    v3.0 Google CWM Build
    v3.0 AT&T Build
    v3.0 T-Mobile Build
    v3.0 LG Build
    v3.0 LG Alternate Build
    v3.0 Sony Ericsson Build
    v3.0 GPS Only Build
    v3.0 GPS Only Alternate Build

    2.x Trunk:
    v2.1 Google Generic Build
    v2.1 AT&T Specific Build
    v2.1 T-Mobile Specific Build
    v2.1 GPS.Conf Only Build
    v2.1 GPS.Conf Only Build (alternate)
    v2.0 Google Generic Build
    v2.0 AT&T Specific Build
    v2.0 T-Mobile Specific Build
    v2.0 GPS.Conf Only Build
    v2.0 GPS.Conf Only Build (alternate)

    1.x Trunk:
    Worldwide 1.3
    Worldwide 1.3n (alternate)
    North America 1.2
    Worldwide 1.2
    Worldwide 1.2n (alternate)
    North America 1.1
    Worldwide 1.1
    Worldwide 1.0 (not recommended)
    North America 1.0 (not recommended)


    Rules For Posting Questions:
    1. Read the Notes Section first. I will refuse to answer questions that can be answered by some reading. If it is based upon something in the Notes Section, REFER TO THE NOTE when asking.
    2. Answer the following questions: What ROM you are using?, What kernel are you using?, What GPS apps you have installed?, Where is your general location?, Are you using a case?, Has your GPS worked fine before?, Does it work fine with some apps and not others?, What else happened around the time your GPS stopped working? -AND- Have you reviewed the Notes Section?
    3. DO NOT criticize the user of custom third-party NTP pools and xtra.bin data as dangerous. You obviously HAVE NOT read the Notes section OR reviewed the concurrent branch 2.x to discover it offers the standard NTP pool and Qualcomm-based xtra.bin server.
    4. Don't indulge yourself in ignornat posts. Provide information that may be relevant to helping. Simply stating "this stopped working" or "I can't get it to work" helps nothing and only annoys other readers AND those who may be willing to help you just will not do it.


    NOTES Section:
    1. This patch will work with virtually all Qualcomm, Android phones and has been reported to work with other chipsets as well. That means hundreds of devices could see a benefit to GPS performance from this patch.
    2. This patch has various objectives to ensure stability and efficacy with GPS. Locally, the patch will replace your /system/etc/gps.conf and your /system/etc/suplrootcert if you have this file. You can compare the difference in what you have to this one to get an idea of all the changes. V3.1, onward, contains section descriptions for variables in use. Most notably, starting with v3.1 the aGPS Patch uses my own central NTP DNS pool and my own central xtra.bin server by default. The xtra.bin does have fallback servers should mine fail. But, that is very, VERY much an unlikely scenario. These two imperatives allow for better stability and speed by providing top-rated NTP servers and prime-routed network access to transmit the xtra.bin to your phone.
    3. I recommend the GOOGLE BUILD of all trunks. However, you can use any build with any phone. You may have good luck with specific builds that do not fit your phone or carrier criteria. If you're curious, test it and see.
    4. This works with ANY ROM unless the ROM has aGPS and/or GPS disabled in the code. This happens with CMx nightlies and some betas! I cannot fix this, neither can you.
    5. Remember, this has to be reflashed when you update or change ROMs.
    6. Short patch history: The 1.x trunk only flashed a modified gps.conf file which relied solely on Qualcomm and NTP.ORG. Starting with 2.x, a gps.conf and a matching SUPLROOTCERT file for SUPL server authentication is included. The 3.x trunk offers the same as v2.x but adds better sourcing for NTP data and for the xtra.bin file; it utilizes my own server to do so.
    7. Why toss out SSL?Whether or not you have a current SUPL certificate is questionable. Some have expired. Some will expire soon. Either way, the servers may provide SSL access without proper certificates depending upon configuration. That aside, I have found that SSL and secure communications over data networks slows the response times. I see no reason to use SSL for location information. If someone has a logger to obtain your location, SSL will not assist in stopping it. The bad app will continue to obtain your information by "stealing" it and you have more problems than a simple SSL-SUPL communications leak.
    8. NO-SSL Builds will not have a SUPLROOTCERT because these builds do not use SSL. The SUPLROOTCERT is a certificate used for authentication of SSL connections. There is no need for this file for the GPS at this point.
    9. IF you have issues with v2.x or v3.x, your ROM might require more variables. Try the old worldwide v1.3 version in this instance.
    10. IF you still are facing issues, it might be that your GPS hardware is very much outdated. Try any "Alternate" build to see if this helps.
    11. CMx ROM users may not experience benefits from this patch. However, we have had good reports from CM users with one negative one. Remember to do all of the steps when flashing and the following notes are important too!
    12. Reports indicate that this patch DOES WORK with the next iteration of Android, Jelly Bean. This patch has worked from Android 2.2 (Froyo) up through Android 4.1 (Jelly Bean). Therefore, it works with all iterations on the market. I will remove support as soon as it is confirmed to NOT work with a new version of Android.
    13. Reports show that certain ROM's including some CM builds require a modification in the build.prop. You need to change "ro.ril.def.agps.mode = 2" or "ro.ril.def.agps.mode = 0" to be "ro.ril.def.agps.mode = 1" in order for aGPS to properly function. Only do this IF YOU ARE HAVING PROBLEMS after attempting the standard patch.
    14. Your phone "learns" about the individual GPS satellites. This is part of the aGPS design. Don't be surprised if the first time you use GPS Status that it takes 20+ seconds to "lock".
    15. I have read a lot that indicates that it is best to let your GPS run using any application for a while to "learn" aGPS information. I let GPS Status run for about 10 minutes (it has an option to disable the screen timeout, which I do) each "first time" to learn. I say each because I test a lot of tweaks and fully reset/delete GPS cached information to start retesting.
    16. Remember, this has to be reflashed when you update or change ROMs. Each ROM will have its own gps.conf, normally not suited to all devices.
    17. I use GPS Status to test my signal strength. It isn't 100% accurate, but it gives a very good sense of how the GPS is performing.
    18. If you're wondering why GPS is slow on certain apps? Or, you show up as on a street when you're 6 meters away from it? Well, those apps process GPS data differently which is out of anyone's control except the app developer. Certain apps will force your location to a street until you pass the app error threshold. Food for thought.
    19. DO NOT USE ANY OTHER GPS FIXING APPS with this patch. If you do, and you still have problems, I cannot help you. A number of these Apps will overwrite what my patch does dynamically.
    20. Variables are described starting in v3.0. Open up gps.conf in a text editor to read about what variable sections are for. It isn't in-depth, but should be enough to help you get a general understanding.
    21. Still having weak GPS reception? Take your case off. Cases have been known to affect signal, though some argue against it. Personally, I get 3 more sat's when I remove my case.
    22. There is a reported variable that can cause some GPS units not to work as well as it should with this patch. This is very odd as it's hit-and-miss and only seems to cause problems on less than 10% of handsets. This doesn't mean it screws up anything! It's possibly an older piece of GPS hardware incompatible with this variable. Have no fear, v1.2 will remove this variable for the worldwide version. This issue is more prone to occur in DHD.
    23. Tried taking the battery out for 30 seconds? Some have reported that their phone required the battery to be removed. First, power off the device. Second, remove the battery for 30 seconds. Third, put it back in and give it a try. I cannot explain this except for possible cache clearing.
    24. Some Inspire 4G and DHD devices have hardware problems. There is a known problem that the spring connectors to the GPS antenna sometimes are out of place or quit touching. http://forum.xda-developers.com/showthread.php?t=1101066 provides a video on self-repair.
    25. An error in flashing this patch means that this method will not work for you. Use one of the other methods for flashing this patch. Don't ask why or for a fix. There are hundreds of variations of recovery systems and update binaries. I do not have the time or desire to support them all. This is why I describe other install methods. Reference error: E:Error in /sdcard/android apps/agps.patch.google.build.nossl.v3.1.zip (Status 0) Installation aborted.
    26. Location is way off? Like, not near you at all? This means your GPS is not actually being used. Try the following to resolve it: Goto Settings -> Locations and disable ALL options. Reboot into recovery. Clear Cache and Dalvik Cache. Reboot normally. Go back to Settings -> Locations and only enable GPS. Reboot once more and try your GPS again. If this didn't work, did you read all of the Notes such as the one about the battery or RIL?
    27. Donations: If you wonder why I asked for donations, it's simple. Users of v3.x are gaining extra, noticeable benefit over v2.x. This comes at a cost to someone. I pay the bills to provide a reliable data setup to transmit the xtra.bin data file and to provide the top NTP SERVERS in one DNS pool. To help keep this going, I just ask for the user to consider a donation. Nothing more, nothing less. Thank you for your consideration.

    AGPS Patch Officially Supported Devices:
    Acer Iconia
    Asus Transformer Prime
    Asus Transformer (TF101)
    Asus Transformer TF300T
    HTC Inspire 4G
    HTC Desire HD
    HTC Sensation
    HTC Incredible S
    HTC Salsa
    HTC Flyer
    HTC Evo 3D
    HTC Desire S
    HTC Wildfire
    HTC Wildfire S
    HTC Droid Incredible 2
    HTC Thunderbolt
    HTC Desire
    HTC Desire Z
    HTC One X
    LG GT-540 OPTIMUS
    LG Optimus One
    Motorola Triumph
    Motorola Droid X2
    Samsung Galaxy S II Skyrocket (SGH-I727)
    Samsung Galaxy S II (I9100)
    Samsung Galaxy S II (SGH-T989)
    Samsung Galaxy S Plus I9000
    Samsung Galaxy Nexus
    Samssung Galaxy S III (AT&T, Rogers, Bell, Telus)
    Samsung Galaxy S III I9300, I9305
    Samsung Galaxy S 4G
    Sony Ericcson XPERIA X8

    * I do not officially support all devices that this patch is known to work on at this time. You may private message me your success story for official support considerations.

    Thanks Section
    While this has gone a long distance since its inception, I want to still send thanks to Angeldeath for permitting me to take his early work and start tweaking it for HTC Inspire 4G users. This inevitably led to what we have here today.
    Thank you to all those who joined and participate in the testing community. Without their help, I couldn't get enough data to know how well this works on different devices and in various regions of this planet we call Earth.
    Thank you eagleeyetom, husky69, and tamagotono for their work in building an ADB pushing environment for Windows and for Linux respectively.


    If you are happy with the patch and find this thread useful, please consider pressing the "Thanks" button on any of my posts on this thread. You may also consider rating this thread with five stars if you're satisfied. You may do so just below "Search This Thread" on the right-side at the top of this post. Donations are appreciated (See last NOTE)


    REVIEW THE WHOLE THREAD BEFORE POSTING QUESTIONS.
    11
    Support is here, as promised...
    9
    Official support has is now available for more devices:

    Samssung Galaxy S III (AT&T, Rogers, Bell, Telus)
    Samsung Galaxy S III I9300, I9305
    Asus Transformer TF300T
    Motorola Droid X2
    Samsung Galaxy S 4G

    If you appreciate this growing work, always consider clicking the Thanks.

    Remember that I pay monthly hosting fees for the space and bandwidth necessary to keep this patch working on the backend. So, please consider donating a few bucks if you're a user. All donations go directly to the patch provisioning and there is absolutely no overhead to benefit me.
    5
    Reports show that certain ROM's including some CM builds require a modification in the build.prop. You need to change "ro.ril.def.agps.mode = 2" or "ro.ril.def.agps.mode = 0" to be "ro.ril.def.agps.mode = 1" in order for aGPS to properly function. Only do this IF YOU ARE HAVING PROBLEMS after attempting the standard patch.

    We'll call this one hidden in plain site.

    I've been testing a new kernel for Beastmode lately and was trying to get GPS to work. I flashed 3.1 google specific build and still no lockie. So I did what cryptic mentions in the OP and READ the notes. Well that note that I quoted up above is the thing that needs to be done for this phone to make GPS work. After I added that line to the build.prop and rebooted I got a lock in about 10 seconds indoors to an accuracy of 6 meters. Not bad for this phone at all.

    Most of are ICS ROMs use CM as a base. So after going through and looking at most of their props NONE of them have that line. I don't know how it's escaped notice as long as it has. I've only tested it on CM9 8-29 build with Beastmodes yet to be released kernel. I doubt that it matters though. Flash the zip, add that line, reboot and you should be good to go.

    So thanks to cryptic for this fix and one of the most detailed OP's I've ever had the pleasure of reading. And too erikmm(aka Beastmode) for the incentive to actually look into this.
    4
    So, you're on stock Froyo, flashed the 3.x branch Sony Ericsson patch onto your Samsung Galaxy S 4G (the only solid information you gave us, and only accidentally since it's in your signature) and your GPS still worked exactly the same, right? Since you didn't clarify, that's my assumption on your process.

    On my part, I've flashed it onto a Galaxy S 4G phone that was on AOKP m6r5 using the 3.x TWRP No-SSL patch. Seems about the same, still won't lock onto any of the satellites with 3 floors above my head, though it does see 10 as existing (0/10 locked using GPS Status). Maybe better, definitely not worse.

    The Notes explain the differences. The numerous variants that are not Google derived use SUPL servers of those companies listed in the filename. This is discussed in the thread.

    If you have three floors above you, I would not expect any lock whatsoever. GPS signal is very reflective. So, your device could see 10 unique identifiers bouncing within your building. But, those will be too far above the minimal error threshold I use. Ergo no lock.