[Galaxy Ace S5830 Android Development] happily1986:
Before you continue further, here are the prerequisites

1.) Root permissions

2.) Root explorer or similar file manager with root access

Please google on how the GPS transceiver in your Ace works. Basically

what i am doing is to change the ntp time servers that your Ace contacts

. You will be tasked to change the time servers to those which are physically closer to your current location.

Why? Because before the GPS transceiver is able to establish the rough position(s) of the satellite, it needs to contact time servers.

Also,

Skyhook (again please google) and A-GPS will enabled

in your gps.conf that will help your Ace acquire GPS locks more quickly.

There are two files that you need to acquire from here.

gps.conf and secgps.conf

gps.conf

NTP_SERVER=0.sg.pool.ntp.org
NTP_SERVER=0.asia.pool.ntp.org
NTP_SERVER=3.asia.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
XTRA_SERVER_4=http://xtra4.gpsonextra.net/xtra.bin
INTERMEDIATE_POS=0
ACCURACY_THRES=0
DEBUG_LEVEL=3
ENABLE_WIPER=0
ENABLE_XTRA=TRUE
SUPL_HOST=supl.google.com
SUPL_PORT=7276
SUPL_SECURE_PORT=7275
SUPL_NO_SECURE_PORT=3425
SUPL_HOST=supl.skyhook.com
SUPL_PORT=7278
CURRENT_CARRIER=common
#REPORT_POSITION_USE_SUPL_REFLOC=1
DEFAULT_AGPS_ENABLE=TRUE
DEFAULT_SSL_ENABLE=FALSE
DEFAULT_USER_PLANE=TRUE
#START_MODE=WARM
#OPERATION_MODE=STANDALONE
PHONE_TYPE=UMTS

Instructions:

Observe that in the top most section of the code there is the line "NTP_SERVER=". I want you to go to this website http://www.pool.ntp.org/en/, click on your country and find the list of NTP servers that can be used. For e.g. for my case in Singapore it will be

0.sg.pool.ntp.org

0.asia.pool.ntp.org

3.asia.pool.ntp.org

Next, insert the servers which you have just copied onto the line "NTP_SERVER=" immediately after the = without the quotations. Please verify by using cmd in Windows to ensure that the time servers you have chosen are active and online. Just simply do a ping and a tracert.

Note: if you find the ping times are ridiculous, you can opt to use the continental time servers e.g. i can use Asia NTP servers instead. Good ping times are about 20ms or less.

Ok, now copy and paste the whole code (which you have inserted your new NTP servers earlier on) onto Notepad and saved as gps.conf (all files instead of .txt)

Copy and paste this gps.conf to overwrite the original gps.conf at /system/etc.

Original gps.conf

NTP_SERVER=north-america.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
SUPL_HOST=supl.google.com
SUPL_PORT=7276
PHONE_TYPE=UMTS

secgps.conf

#Generated by GpsLocationProvider.
#Thu Dec 02 13:09:21 EST 2010
SSL=1
SSL_TYPE=0
POSITION_MODE=7
OPERATION_TEST_MODE=0
ACCURACY=50
SESSION_TYPE=1
SERVER_MODE=0
ENABLE_NMEA=false
START_MODE=HOT
GPS_LOGGING=0
AGPS_MODE=0
DYNAMIC_ACCURACY=1
ADDRESS_MODE=1
TIME_BTW_FIX=2000
OPERATION_MODE=MSBASED
USE_DEFAULT=true
DYNAMIC_ACCURACY_VALUE=50
SUPL_PORT=7276
ENABLE_XTRA=true
SUPL_HOST=supl.google.com
NUM_OF_FIX=999999999
TIMEOUT=3600

Instructions:

Copy and paste the code above for secgps.conf onto Notepad and save as secgps.conf (all files type instead of .txt) Use Root explorer to copy and paste this file in /data/gps.

=========================================================================================================================================

I was inspired by the thread over here

http://xdaforums.com/showthread.php?t=1034631

My motivation to do up my gps.conf and secgps.conf is partly of the fact that PFGPS fix didn't work for me and configuring the GPS using the secret code ie *#*#1472365#*#* didn't work as well.

Please don't blame me if this breaks anything. I have tested this on my system and i got a GPS lock by the windowside (indoors) under a minute. Accuracy is 6~8m which i thought was impressive. it should work on all ROMs because i have tested this on a stock ROM, XXKPO.

Note: if you have applied PFGPS fix, this WILL overwrite whatever settings PFGPS fix has made. Be warned.

======================================================

If you are wondering about permissions, it should be

rw-r-r for both files

=======================================================

Update! New set of gps.conf and secgps.conf files provided.

After reviewing the literature and discovering that there is a good chance the GPs module in the S5830 might be Qualcomm's GpsOne, i did some sleuthing and research. I realised that while the gps.conf and secgps.conf did gave vast improvements over the stock settings, it still wasn't optimised as far as it should be.

For one, most values in the secgps.conf (Secondary GPS Configuration file) was left stock. So the lowdown is this. I basically enabled full A-GPS mode and moved away from standalone mode. GPS operation modes come in the following

1.) Standalone (Slowest using positioning information in cache and smart polling)

2.) MS-Based (Sends data to nearby cell tower(s) and makes use of GPS transceivers in the cell tower(s)

3.) MS-Assisted (Similar to MS-Based BUT data connectivity is broken when GPS transceiver is online. I don't quite like that!)

4.) MS-Based/Hybrid (You need to have superb data connectivity probably cell tower signal strength should be in the -50dBm region. Not very useful in real life usage)

As such, i have tweaked the gps.conf and the secgps.conf files to use MS-based operation. HOWEVER, this means that your GPS transceiver now DEPENDS on your carrier signal to establish super fast GPS lock. So, if you

1.) Go overseas with no roaming

2.) Are in a vicinity with no cell towers

This would means that the latest tweaks wouldn't help in that case so do exercise some discretion on your end. Kapish?

Also, i have changed the values in secgps.conf to be more aggressive all in the name of performance. I have found in my experience that GPS locks are now more stable.

TTFF ~25 seconds

Subsequent GPS Locks ~ 5 seconds

gps.conf

NTP_SERVER=0.sg.pool.ntp.org
NTP_SERVER=0.asia.pool.ntp.org
NTP_SERVER=3.asia.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
XTRA_SERVER_4=http://xtra4.gpsonextra.net/xtra.bin
INTERMEDIATE_POS=0
ACCURACY_THRES=0
DEBUG_LEVEL=3
ENABLE_WIPER=0
ENABLE_XTRA=TRUE
SUPL_HOST=supl.google.com
SUPL_PORT=7276
SUPL_SECURE_PORT=7275
SUPL_NO_SECURE_PORT=3425
SUPL_HOST=supl.skyhook.com
SUPL_PORT=7278
CURRENT_CARRIER=common
#REPORT_POSITION_USE_SUPL_REFLOC=1
DEFAULT_AGPS_ENABLE=TRUE
DEFAULT_SSL_ENABLE=FALSE
DEFAULT_USER_PLANE=TRUE
#START_MODE=WARM
#OPERATION_MODE=MS-ASSISTED
PHONE_TYPE=UMTS

secgps.conf

#Generated by GpsLocationProvider.
#Thu Dec 02 13:09:21 EST 2010
SSL=1
SSL_TYPE=0
POSITION_MODE=121
OPERATION_TEST_MODE=0
ACCURACY=50
SESSION_TYPE=1
SERVER_MODE=0
ENABLE_NMEA=false
START_MODE=HOT
GPS_LOGGING=0
AGPS_MODE=0
DYNAMIC_ACCURACY=1
ADDRESS_MODE=1
TIME_BTW_FIX=1000
OPERATION_MODE=MS-ASSISTED
USE_DEFAULT=false
DYNAMIC_ACCURACY_VALUE=50
SUPL_PORT=7276
ENABLE_XTRA=true
SUPL_HOST=supl.google.com
NUM_OF_FIX=999999999
TIMEOUT=1000

As always backup your original files before modifying and your mileage may vary.

[YOUTUBE]zmOMZFJvUB8&feature=feedu[/YOUTUBE]

Youtube Link