First, here is the most common "tweak" file you'll see, copied from XDA where it originated but has disseminated across the web picking up trash along the way:
DO NOT USE THIS, THIS IS AN EXAMPLE OF THE WRONG SETTINGS:
NTP_SERVER=[u]COUNTRY[/u].pool.ntp.org NTP_SERVER=0.[u]COUNTRY[/u].pool.ntp.org NTP_SERVER=1.[u]COUNTRY[/u].pool.ntp.org NTP_SERVER=2.[u]COUNTRY[/u].pool.ntp.org NTP_SERVER=3.[u]COUNTRY[/u].pool.ntp.org NTP_SERVER=0.[u]REGION[/u].pool.ntp.org NTP_SERVER=1.[u]REGION[/u].pool.ntp.org NTP_SERVER=2.[u]REGION[/u].pool.ntp.org NTP_SERVER=3.[u]REGION[/u].pool.ntp.org XTRA_SERVER_1=http://xtra1.gpsonextra.net/xtra.bin XTRA_SERVER_2=http://xtra2.gpsonextra.net/xtra.bin XTRA_SERVER_3=http://xtra3.gpsonextra.net/xtra.bin # DEBUG LEVELS: 0 - none, 1 - Error, 2 - Warning, 3 - Info # 4 - Debug, 5 - Verbose DEBUG_LEVEL =0 # Intermediate position report, 1=enable, 0=disable INTERMEDIATE_POS=0 # Accuracy threshold for intermediate positions # less accurate positions are ignored, 0 for passing all positions ACCURACY_THRES=0 # Report supl ref location as position, 1=enable, 0=disable REPORT_POSITION_USE_SUPL_REFLOC=1 # Wiper (wifi positioning), 1=enable, 0=disable ENABLE_WIPER=1 ################################ ##### AGPS server settings ##### ################################ # FOR SUPL SUPPORT, set the following SUPL_HOST=supl.google.com SUPL_PORT=7276 SUPL_NO_SECURE_PORT=3425 SUPL_SECURE_PORT=7275 SUPL_TLS_HOST=FQDN SUPL_TLS_CERT=/etc/SuplRootCert # FOR C2K PDE SUPPORT, set the following C2K_HOST=c2k.pde.com C2K_PORT=1234 CURRENT_CARRIER=common DEFAULT_AGPS_ENABLE=TRUE DEFAULT_SSL_ENABLE=FALSE # TRUE for "User Plane", FALSE for "Control Plane" DEFAULT_USER_PLANE=TRUE
HERE'S WHY THIS IS WRONG
Starting from the top, there are too many servers. Some Devs even go as far as to copy basically every NTP server in the US/World (literally) and paste it into their config file. The problem is your phone tries to contact all these servers, and while the "*.pool.ntp.org" will (almost) never be down, there are some hosted by .edu or businesses that go defunct. The phone then waits... and waits... and waits... until it receives a notification that it couldn't connect to the server. Multiply that times fifteen or more and it's a bunch of useless connections hanging your phone. Having JUST the "North America" pool is enough, but if you insist then go to the regional level.
This is the code for how Android actually uses the gps.conf file. Look down near line 161. "How long to wait if we have a network error in NTP or XTRA downloading, current setting - 5 minutes" Sounds like the amount of time it takes for a "crappy" GPS to sync, right? Hmmm... And keep in mind, that's PER CONNECTION/PER SERVER you listed in the conf file.
Next, the SUPL_HOST. Now in this example it is actually set correct, though there are different values you may enter. Google seems to be the best. but Nokia also has their own (supl.nokia.com), Sony (supl.sonyericcson.com), T-Mobile's (10.176.29.225) and some others, I know Vodafone has one out there. You should also only have ONE SUPL_HOST server. Here is the garbage part; if you EVER see this:
SUPL_HOST=FQDNThen it is (all together class!) WRONG WRONG WRONG!!! By it saying =FQDN, it's basically saying HOST=YOUR NAME HERE. FQDN stands for Fully Qualified Domain Name, meaning it's looking for a NAME to be actually PUT in that field. Because the code isn't hashed as an explanation line, it runs and tries to connect to "FQDN". So it's flagged to connect, but then fails because it has worse than a blank value in the field. It's like screaming "HEY YOU!" into a crowd of a billion people.
And how about that?? Look at our next field? SUPL_TLS_HOST=HEY YOU! Sigh...
For the SUPL_TLS_HOST, this is where the carrier specifics start coming into play. For T-Mobile, we should see "lbs .geo.t-mobile.com", and the value for the cert location is correct. Again, you should only have ONE server. If you have any problems still connecting, try leaving this line out entirely.
Next is the C2K PDE support. This one is a little tricky because it SEEMS legit (at least it has a name right?), but it's NOT. The first indicator to you that this is bogus is the port number "1234". Hmmm, I have that same number as the lock to my luggage...
Without going into boring detail, this variable is for testing the GPS antenna itself in a laboratory environment, and "c2k .pde.com" is NOT valid, but rather a value for the address for the testing equipment. If you REALLY want to go off on a tangent, go read this whitepaper by the company that makes the equipment in question. It's big, but it has pretty pictures!: https://dl.dropbox.c..._WhitePaper.pdf
Oh, and the owners of the "pde.com" site I'm sure are loving the influx of mobile traffic, but they do nothing with serving up the GenPop with A-GPS data. THIS FIELD SHOULD BE COMPLETELY DELETED OUT OF YOUR CONF FILE. YOU'RE NOT USING IT, YOU'RE NOT GOING TO USE IT. SAVE THE CHARACTERS.
As far as the SUPL_SECURE_PORT and SUPL_NO_SECURE_PORT, these are not in the default conf file, don't know where they came from, and you're better off just omitting them out of the config.
To come: A simple config file (with explanations) that brings quick lock times without all the garbage.