[GUIDE] Why Samsung Galaxy S i9000 GPS is inaccurate and how to fix it. Update Jan 11

Search This thread

dangrayorg

Senior Member
Oct 8, 2010
75
38
UPDATE JAN 11:

XDA member Da_G has done some excellent work on GPS performance. To summarise the situation as of Jan 11:

1. There is clearly an antenna issue for some users as highlighted by Samsungs Oct 10 redesign and the reports of good results from some users modifying the GPS antenna connection

2. The GPS implementation is indeed buggy out of the box. In particular my guess at some form of interpolation (see below) appears to be accurate. However I commend this post http://xdaforums.com/showthread.php?t=881941 in the Captivate forums to you. Da_G has done excellent work and has made the gps daemon binary from the Nexus S available to SGS users in addition to modified jupiter.xml and gpssec.conf files which disable interpolation as well as refining several other parameters. He deserves thanks for his work and I can report that with hardcore's Speedmod kernel and the gpssec.conf, jupiter.xml and glgps_samsungJupiter from Da_G's downloads I have GPS performance I am completely happy with on my i9000. Root and some basic shell knowledge required for his fix.

The original post begins below.

Regards

dangrayorg



I’ve tried very hard to write a definitive post on SGS GPS performance. Below I try to give a balanced view of GPS performance in the SGS and provide definitive explanations of the various functions offered by the Broadcom BCM4751 chipset and their effects on the quality of the GPS fix. There is a lot of noise and conjecture on this subject in the XDA-developers forum; some right, some wrong, some missing the point entirely. Below is some educated guess work and some hard facts about exactly what will and will not help with GPS performance on the Samsung Galaxy S i9000.

I have tried to remain non-technical while telling you ‘why’ things happen they way they do. At the very least I hope you come away from reading this post with a good understanding of the various settings available to you and which will actually affect the accuracy of your position fix. There are several excellent technical articles on GPS in the references below.

Mobile Device Design:

I’d like to start by making three points:

1. Obviously The Samsung Galaxy S is not a single-purpose GPS device. There will be inevitable design compromises when trying to fit all the hardware into the phone and in particular the GPS antenna will inevitably be inferior to the one in a standalone GPS or GPS Dongle. Having seen the GPS antenna it is indeed tiny, and halfway down the side, and at the back. But it needs to fit with the constraints of the hardware and has what appears to be a very sensitive chipset attached to it. I cannot find a full technical spec for the chipset but include a link to a technical overview in the footnotes. The GPS antennna on the i9000 is at the back of the main body, 1/4 of the way down the body on the left-hand-side as you view the phone in portrait mode. Image Here

2. If my conjecture is correct then I believe that Samsung/Google have made some design compromises in their software setup of the GPS on the Galaxy S that compromise positional accuracy, these can be overcome.

3. I do not believe that the GPS on any Samsung Galaxy S is fundamentally broken in any models. I do believe that the factory configuration choices are poor and I do believe it is hampered by hardware designs and their interactions with everyday use environments. Obviously any phone may have a one-off manufacturing defect but I cannot account for those.

Available Navigation Modes:

Verizon has this to say about the MS- modes, two of the three fundamental ways (MS-Based, MS-Assisted and Standalone) that you can gain location information:

What is MS-Assisted mode of operation?

In MS-Assisted mode, the network elements calculate the location of the device. This mode is suitable for one-shot fixes, wherein the location does not need to be updated frequently.

What is MS-Based mode of operation?

In MS-Based mode, the network provides the satellite information to the device, based on a rough estimate of where the device is located, and the device acquires the GPS signals from the satellites and calculates its location. After the initial fix, the device operates like an autonomous GPS receiver, until the satellite information must be refreshed, at which time the device goes back to the network to update the satellite information. MS-Based mode is appropriate for applications that require the device location to be updated rapidly, such as a navigation application.

The current advice seems to be to enable MS-Assisted as it appears to improve navigation performance. I believe that this is incorrect. When using MS Assisted positioning I see considerable wander occurring as the position is not GPS derived. The MS-Based settings send the GPS Almanac and ephemeris date to the device and save on initial lock times, particularly if the GPS has been unused for many weeks, however in terms of positioning once up-and-running MS-Based and Standalone should deliver identical results.

Environmental factors limiting GPS performance:

Many users are primarily using the GPS in their cars. Here the hardware design compromises come in, but there are also some properties of GPS signals which users should be aware of. Firstly, RF Interference (RFI) is unlikely to be a primary culprit. The problem with a Car is that it’s made of metal which rapidly attenuates the already very low power GPS signal. When dealing with GPS the Signal-to-noise (SNR) ratio is important. Satellites giving the best SNR are always overhead, rather the near the horizon where the signal is competing with any number of other nearby frequencies causing RFI/ general background noise. So in a car, particularly given the design compromises with the GPS antenna, you will be attenuating the overhead signal because of the roof and relying more then you should on the GPS satellites near the horizon with their lower SNR, multipath propagation etc. When driving in a town where there is no horizon you can see where the problems arise. When the SNR becomes too great the GPS can no longer compute the pseudo range from the signal and you loose the ability to use a satellite. You can see a maximum of 12 GPS satellites at any one time if you have a full sky view - if you take away the overhead ones you can see why the number of useful signals drops below the minimum (4) very quickly.

This is a problem not just for Samsung but also for Google, who tout the Google Maps nav as a killer feature in a whole group of phones which have designs compromised by requirements to squeeze a lot of functionality into a small form factor. Samsung may have done a worse job of GPS antenna positioning in the SGS then maybe HTC in the Desire but they were faced with a different set of design constraints.

Before I tell you how to fix the GPS settings for best performance, here are some hints for in-car reception:

1. Place the phone as far forward in the windscreen as you can. Note that Satnav systems usually come with a short-arm windscreen mount for this very reason as it ensures a great view of the overhead sky, yet we insist on comparable performance from our design-compromised phones when we attach them to the air vents or mount them in cup holders.

2. If you really want flawless in-car nav invest in a cheap bluetooth dongle. You will benefit from more flexible positioning options giving a better sky view, a larger antenna giving a better signal gain (and more directionality if it is pointing up) and if you get a SirfIII unit an extremely capable GPS chipset utilised without design constraints . Note that SirfIII does not always include WAAS while the Galaxy BCM4751 does, however for the requirements of in car navigation WAAS is really overkill and the quality of the signal/number of satellites in view is the real issue. It is no surprise that users find a bluetooth GPS unit gives better accuracy then the built in GPS – the antenna is massive and has a completely clear view of the sky!

Phone Settings:

Right, back the the phone.

One recommendation that I keep seeing is to activate "MS Assisted". This is what is responsible for all the drift. Standalone and MS-Based will give a pure GPS signal. MS Assisted tracks based on cell tower signals and gives worse results.

One issue that comes up in particular is the problem of 'position offset', where users see themselves consistently offset from a road by a few meters, often Google navigation will then erroneously re-route you, particularly in built up areas with high street density. There is one thing which I can say with absolute certainty... There is no GPS error I can think of which would generate a consistent offset. The only cause of this would be if you physically positioned your antenna meters away from your phone and this is clearly not the case. The inaccuracies in GPS position (and there are some, caused by timing errors and a low number of satellites available for positioning) are RANDOM. The only phenomena that I can think of that WOULD generate a consistent offset would be doppler-shift, and the mode this would be most likely to influence would be cell-tower based positioning. If you are experiencing consistent offset along straight tracks please double check that you are not using MS-Assisted mode.

About my SGS:

FROYO JPO
Hardcore's 'Speedmod' Kernel
ext4 lagfix
Battery dated: 2010.08.30

So not a ‘post October’ phone (but I think that’s a false lead anyway). The installation of a custom ROM made no significant difference to GPS performance for me. In addition I can assure all readers that I have previously experienced absolutely abysmal navigational accuracy both in-car, walking and running giving tracks so bad that I looked like the worlds only blind, drunk, crack-addicted runner. (as an aside I thoroughly recommend the installation of a custom Kernel and lagfix as it transforms the performance of the Galaxy S).

I have written my own custom GPX logging program to test all this and so have a high level of confidence. I will amend this post with some proof tracks when able.

LbsTestMode:

Here is a complete run-down of the GPS settings (explanations of the functionality they govern and the effects they will or will not have on the GPS signal) that take away the issues described above as set in LbsTestMode and result in the best observed GPS performance:

LbsTestMode can be enabled with the following key combinations in the dialler:

Android 2.1 - *#*#1472365#*#*
Android 2.2 - *#*#3214789650#*#*

Application Settings:

1. Session Type: Tracking

A chipset feature which helps to boost SNR in poor RF environments)

2. Test Mode: S/W Test

3. Operation Mode: Standalone

The most important setting as this is the setting. Standalone or MS-Based. Not MS Assisted. I have had the best results with Standalone, cutting the whole Assisted-GPS segment out of the equation. That way I don't have to worry about who's databases are up to date, which base stations might inaccurate etc. The standalone mode is able to do everything you need at the cost of slightly increased start times if not used for some time.

4: Start Mode: Hot Start

This has nothing to do with re-downloading almanacs. It simply resets precise satellite timing data that must be extracted from the GPS signal to compute an accurate pseudo range. It’s good for about 4-6 hours. If you leave your GPS off for longer then the ‘ephemeris’ data will be re-downloaded anyway regardless of the Hot/Cold start settings. The GPS can’t be ‘more or less accurate’ with or without it, its simply a case that the ephemeris must be updated before you can get any position. You can sync the clock every time if you want, personally I’d choose ‘Hot Start’ and save a few minutes every time a GPS app is destroyed!

5: GPS Plus: On

The GPS Plus is the Wide Area Augmentation Service, extra satellites that transmit a deviation correction to correct minor positional inaccuracies within the space segment of GPSl. Not available globally (North America and Japan, maybe Europe and India by the time the phone is obsolete). Having it on will not cause problems if WAAS is unavailable in your region.

6: Dynamic Accuracy: On

This setting is used to filter data that is judged statistically to be in error based on deviation from the Circular Error Probability (CEP) calculated by the GPS system.

7: Accuracy: 30m

I believe that this is a cut-off for the overall GPS positional accuracy. If over this threshold the GPS will not report the position. I have yet to see a figure of more then 20 meters, so leave at 30. GPS precision is far more complicated then a simple inaccuracy based on distance)

8: GPS Logging: Off

SUPL/CP Settings:

This is a network layer operated by cellular operators. It delivers the AGPS data like timing corrections and the almanac to your phone as well as allowing a network operator to provide you with various location based services (and make more money from you). If you wanted to download the almanac from satellites it would take a minimum of 12.5 minutes and would need to be done every time you turned your GPS on if it had been off for weeks/months. The almanac has a long lifespan, so won’t age out in days, and the GPS receiver is still capable of downloading it from satellites if it can’t get it from the network, It also provides information to your mobile provider about where you are, regardless of your Google privacy settings so that they can provide you with location based services (so Google isn’t the only geolocation bogeyman!)

Again, I think there are lots of false leads here. The one thing that may be true is that the original SUPL provider on
handsets was providing inaccurate data. Recommended settings:

Server FQDN Type: Custom Config
Server: supl.google.com
Server Port: 7276
SUPL Secure Socket: OFF
AGPS Mode: SUPL

Use wireless networks option

Google do map WiFi hotspots in large cities, which is enabled by the "Use Wireless Networks" option in the android Menu. This may allow you to locate yourself accurately in an urban area where GPS is unusable. However, it is unlikely to provide tracking information for runners, probably providing street-corner location to pedestrians.

Use sensor aiding option

Google's own documentation states that this is for use in areas where GPS performance is degraded. I am unsure if the selection of "use sensor aiding" will have an effect if a good GPS signal is available. For those trying to troubleshoot their GPS setup I would advise that the low cost MEM sensors contained in mobile phones (solid state gyroscopes), while good for games are poor over more then a few meters in terms of accurately measuring velocities to determine distance travelled.

It is possible to use solid-state accelerometers when coupled with a GPS to refine positions and attitude information but it is unlikely that android employs the filters needed to do this well. If you navigate frequently in cities or environments with tunnels etc. you may wish to enable this feature but for most navigational needs I would advise leaving it off as the integration of sensor data with GPS positions may well be a source for positional bias and drift seen in the Galaxy S.

And that’s all you need.

I hope that that will be definitive. Using the above settings I get entirely accurate tracks from my phone using my GPS logging program. I may post that soon with my example logs. The reason I wrote from scratch was because I wanted to be sure that I was getting the pure output from Android dumpLocation with no adulteration to allow for a fair analysis.

HOWEVER (and here is where what I know comes to a end…):

When your app selects a location provider it won’t necessarily be ‘GPS’. A developer can select getBestProvider() and use something other then gps to save power. I assume that most developers use ‘gps’ but it would take a knowledgeable android programmer to tell us if we can guarantee to always get unadulterated GPS positions into the application layer with no mixing sneaking in!

References:

http://www.broadcom.com/press/release.php?id=s443754

http://www.broadcom.com/collateral/wp/SUPL-WP100-R.pdf

http://www.broadcom.com/products/GPS/Location-Based-Services/SUPL-SLP

http://www.topcon-positioning.eu/img/pdf/pdf_GPS/HIPer+_English_web.pdf

http://webone.novatel.ca/assets/Documents/Manuals/GPS+Reference.pdf

http://www.telemobilityforum.com/it/images/stories//madwar_telemobility.pdf
 
Last edited:

mr_at_sgs

Senior Member
Sep 27, 2010
552
25
These are the settings I found as default ... I never had a problem with gps. Accuracy between 5 and 10 meters indoors. That's really nice in my opinion. But thank you for your time you spend to this “issue“ and I hope it helps other people.

Sent from my GT-I9000 using XDA App
 
Last edited:

NeoXTC

Senior Member
Dec 13, 2007
682
40
Brisbane
I can tell you that I have those exact settings and my GPS signal is still **** when going into the city with tall buildings and such. In suburbs it's fine, tall city is bad. Had a touch HD previously and it worked FINE in the city.

SGS just got **** gps IMO
 

leoon

Senior Member
Mar 20, 2010
490
10
How can I enter to the gps settings?
When I enter the code *#*#1472365#*#* the number disappears and nothing happens!
2.2 JPO DocRom v7
 

djmc321

Member
Feb 24, 2009
31
0
London
I've been running settings similar to these recently and getting 'better' performance than my stock settings, so I'm inclined to agree with the OP here.

It's no where near what I'd call good performance though, my old HTC HD & Nokia 95 running TomTom had no issues keeping track on the road (mounted on the same windscreen position), whereas still GoogMaps Navigation will occationally position me on nearby roads by mistake. I think it's just going to be one of those things I'll have to live with.

That said, at least now I'm occasionally getting proper lock on the little navigation triangle when driving, not a 100m circle around it. So things are improving.
 

xpcomputers

Senior Member
Nov 11, 2006
135
15
Which side is the GPS antenna on?

If the antenna is small, on one side, and at the back, then running the phone in landscape with the aerial side facing up is bound to have the best chance of "seeing" the sky. Without knowing which side is "up" for the aerial, we have a 50/50 chance of getting it right or wrong.

So do you know which side it is on, and therefore whether we are better having landscape with the buttons to the right, or landscape with the buttons to the left?

Also does firmware version make a difference (other than the default config of these settings)? Or in other words, would all firmware versions have similar performance if set to these recommended settings, or do some firmware versions have better drivers or sensitivity too as well as different settings?

Thanks for the excellent info!

Mike
 

neil85ae86

Senior Member
Mar 8, 2008
75
1
1. Obviously The Samsung Galaxy S is not a single-purpose GPS device. There will be inevitable design compromises when trying to fit all the hardware into the phone and in particular the GPS antenna will inevitably be inferior to the one in a standalone GPS or GPS Dongle. Having seen the GPS antenna it is indeed tiny, and halfway down the side, and at the back. But it needs to fit with the constraints of the hardware and has what appears to be a very sensitive chipset attached to it. I cannot find a full technical spec for the chipset but include a link to a technical overview in the footnotes.

I appreciate the effort here but this is a tad bogus. I have a 3+ year old dedicated GPS device, it's an extra-sensitive Garmin handheld and my puny little 3 year old HTC Touch rivals it's performance track for track. They both blow away the Galaxy S with their 3 year old technology. ...so no it is not expected to be inferior, maybe to the latest and greatest dedicated gps, however I can assure you their is no exscuse not to rival 3 year old technology.

sorry for yet more gps ranting.

Neil
 

milsjg

Senior Member
Dec 28, 2003
80
0
I can tell you that I have those exact settings and my GPS signal is still **** when going into the city with tall buildings and such. In suburbs it's fine, tall city is bad. Had a touch HD previously and it worked FINE in the city.

SGS just got **** gps IMO

Well you are talking about the urban canyon effect. There are very few high end GPSes that can deal with that. So you can not judge the GPS in urban canyon environments because then nearly all GPSes has problems.

I thank the OP for a well written "guide". I think that it will enlighten lots of people how a GPS really works and we hopefully can skip the strangest advices on the forum. I still think you could optimize the code better because it seems to slow and imprecise in some aspects. However I have used it daily and are satisfied with it even if I wished for the military grade GPS that many seems to have in there old phones and GPS's.
 

brunes

Senior Member
Dec 9, 2006
668
54
You are wrong on the "Use Wireless Networks" setting not using WiFi. It *does* also use your WiFi to help triangulate. It says so right in the android UI for pete's sake. It really only works in large cities where Google has mapped APs and APs are dense.

The way the triangulation works is Google has mapped all the ESSIDs in a city and for all the road GPS positions recorded their strengths. Therefore in a city whenever you see 2 or more ESSIDs you can use that info along with your cell tower triangulation to compute a pretty OK estimate of your GPS coordinates - at the very least a much more accurate picture than you can get by the cell towers alone, because the range of a WiFi network is so much smaller.

Basically - if you are in a city and you have this checked and your wifi is enabled you may get more acccurate readings without GPS than you would otherwise.
 

Chaku01

Member
Oct 4, 2008
6
1
Great post, I changed the spirent-lcs to supl.google.com and a few other niceties. This is totally unscientific, but before changing (using gps test) I could only see 1 satellite and stayed like that forever. After applying the changes, I had a 30 m fix in about 3-5min. Have to say that my SGS has always been totally unpredictable, some days, it couldn't get a fix in under an hour, others it took 10min, all that while walking outside. I hope these setting will allow me to use the GPS a bit more reliably now. thanx!
 
  • Like
Reactions: diamond guy

darkoroje

Senior Member
May 5, 2008
248
27
Google Pixel 6
Thank you for your guide, however the fact is that other phones that I had or currently have have perfectly functioning GPS. It is only the Galaxy that has problems.

Second "use wireless networks" does use Wi-Fi networks for positioning - an easy way to see that is to turn on "Flight Mode" and then turn on Wi-Fi only, Google Maps will still be able to find your position.
 

dangrayorg

Senior Member
Oct 8, 2010
75
38
Thanks for all the comments, positive and negative.

I'm not arguing by by any stretch that the Galaxy S GPS is fine (if it were there would be no need for the original post). I am as ****** as the rest about its troublesome performance, that said there is more that can be done then just 'playing with settings'

If Google has mapped WiFi hotspots then I will correct the post. However, using a WiFi signal strength together with a triangulated hotspot location is a HORRIBLE way to locate yourself in a city - what if someone moves the router? Stands in front of the aerial? Moves shop fittings around? That said I guess it could locate you "You are near a starbucks",

However, I will alter the post because I want it to factually accurate. If anyone really does have better results in a city using the wireless locations please let everyone know.

I'll also add the codes to allow access to LbtTestMode in 2.1 and 2.2
 

xpcomputers

Senior Member
Nov 11, 2006
135
15
I appreciate the effort here but this is a tad bogus. I have a 3+ year old dedicated GPS device, it's an extra-sensitive Garmin handheld and my puny little 3 year old HTC Touch rivals it's performance track for track. They both blow away the Galaxy S with their 3 year old technology. ...so no it is not expected to be inferior, maybe to the latest and greatest dedicated gps, however I can assure you their is no exscuse not to rival 3 year old technology.

sorry for yet more gps ranting.

Neil

You don't say if you've tried any/all of these settings or not. We need to all work together to find the solution. I think the OP might be on to something here, although as he says, some of it is guess work, so there is probably room for improvement!

I would disagree with the OP about the hardware faults, as I'm sure there are bound to be at least some units that have a fault that needs returning to be fixed too. But everyone should at least try these settings to see if it helps at all, as there are bound to be multiple factors at work here.

Also which way up do you have your phone when in the car? That is something very tangible we can sort out to optimise the signal reception in these phones. I currently don't know which side has the GPS antenna, so which way up we should out our phone for optimal signal strength. Once we've found that, we might well find that many have their phones with the antenna pointing down which won't be helping either!

Apologies if you've tried these settings too, and they didn't work, but we need to ask, so that we build a fuller picture! Just disagreeing with the OP without saying what you've tried doesn't help anyone move this forwards.

We all want the GPS fixed, and I for one will try anything in that quest.

Here's hoping the next discovery by Samsung or the community fixes it for good for everyone!

Mike
 

dangrayorg

Senior Member
Oct 8, 2010
75
38
I think the OP might be on to something here, although as he says, some of it is guess work, so there is probably room for improvement!

I am on to something - unfortunately that 'thing' is that I think the settings given deliver the best performance the SGS is capable of because its teeny tiny antenna. It simply doesn't have the gain for those awesome feats of satellite lock that we see from other GPS units (either that or the internal wiring generates some huge losses along the signal path to the chip).

This also plays out the earlier comments about "three year old technology". Chipsets move on and Broadcom have clearly had to pour a load of research into optimizing signal strength for mobile devices. Unfortunately the laws of physics don't change. If there is not sufficient signal at an antenna with insufficient gain you will only keep a lock on the strongest satellites.

Once I get the tracks on the OP you'll see what I mean. Where I am with a good clear sky view there is no problem at all, excellent correlation with ground trace and no complaints with the SGS strapped onto my arm while running. Once you increase signal attenuation by adding trees and buildings things start to 'go south' rapidly.

Is this the price for that huge bright screen....?
 

DamianGto

Senior Member
Sep 17, 2010
2,022
420
Op: thanks for the info. To bad all settings accept for accuracy is default on froyo.
I also working on this issue.
Wifi is a bad thing to use.
This is often the main thing people do have on and they get very poor accuracy and blame the gps for it.
When i flash the phone i always put the accuracy to 150.
This is a strange setting and normal i would like it to be less the 5.
So i should use 5 on accuracy, but that don't work good. I have found that putting accuracy over 150 will make the phone use the satellites better. Strange...
I also use standalone made. That's works great for me.
A also think all people should try different settings and se if some works better for them.
There is other things you can tweak to help the navigation.
Also don't use Google map. Use a standalone navigation program.
They works alot better.



Sent from GT-I9000 jpo. My own kernel for z4mod and with 342MB Ram
 

dangrayorg

Senior Member
Oct 8, 2010
75
38
I know AGps is only used for the first fix, and shouldn't affect the accuracy once fixed, but what if (this is speculation, it should need further investigation) the GPS status accuracy issue was more likely caused by a lost and retreival of a fix? In this case, the fact that the fix was lost/regain would mean that the aGPS would affect the accuracy as it is constatly regained.

Any way to force disable the AGps overall?

AGPS provides you with timing corrections and satellite position data to allow the GPS reciever to 'sync' with the signal transmitted by the satellites. The satellites still provide the location, the AGPS data helps it get there quicker.

MS Based would save 15 minutes month-to-month downloading almanac data, a minute or two day-to-day updating timing data but 'hotstart' will work just fine if you are turning on and off many times in a day.
 

xpcomputers

Senior Member
Nov 11, 2006
135
15
OP now contains info on GPS antenna position. Answer is straight upright on rotates clockwise (antenna on Left Hand Side 1/3 of way down).

So I am hearing you correct? That theoretically the GPS will work best with the phone in landscape, with the home button (and the bottom of the phone) on the left hand side.

If that is the case, then at a guess, I suspect that most right hand users are instinctively using the phone with the buttons on the right hand side, and therefore the GPS antenna at the bottom, which might not be optimal positioning. (this purely is based on an observation of only my own usage of using it the other way up as a right hander, so hardly a large observed sample! I could just be weird!!)

Now of course this is totally hypothetical anyway, and needs to be something that gets tested in the real world, but this alone could account for some of the difference noted by users in the real world, but before we jump to conclusions, we need to test if the theory bears out in the real world.

I am assuming that the phone will work best that left edge facing upwards, as close to the windscreen (and as close to the bonnet as possible). Ideally the phone will be vertical in that landscape orientation, (or even slightly tilted down at the front, so the back is pointing upwards ever so slightly?). But this is pure guess work. unfortunately, I haven't the time, skills or equipment to able to test this theory out. But hopefully someone here can run some meaningful real world tests to see if this position really does give the optimal signal to the antenna compared with other orientations of the phone.

Every little helps...

Mike
 

Top Liked Posts

  • There are no posts matching your filters.
  • 27
    UPDATE JAN 11:

    XDA member Da_G has done some excellent work on GPS performance. To summarise the situation as of Jan 11:

    1. There is clearly an antenna issue for some users as highlighted by Samsungs Oct 10 redesign and the reports of good results from some users modifying the GPS antenna connection

    2. The GPS implementation is indeed buggy out of the box. In particular my guess at some form of interpolation (see below) appears to be accurate. However I commend this post http://xdaforums.com/showthread.php?t=881941 in the Captivate forums to you. Da_G has done excellent work and has made the gps daemon binary from the Nexus S available to SGS users in addition to modified jupiter.xml and gpssec.conf files which disable interpolation as well as refining several other parameters. He deserves thanks for his work and I can report that with hardcore's Speedmod kernel and the gpssec.conf, jupiter.xml and glgps_samsungJupiter from Da_G's downloads I have GPS performance I am completely happy with on my i9000. Root and some basic shell knowledge required for his fix.

    The original post begins below.

    Regards

    dangrayorg



    I’ve tried very hard to write a definitive post on SGS GPS performance. Below I try to give a balanced view of GPS performance in the SGS and provide definitive explanations of the various functions offered by the Broadcom BCM4751 chipset and their effects on the quality of the GPS fix. There is a lot of noise and conjecture on this subject in the XDA-developers forum; some right, some wrong, some missing the point entirely. Below is some educated guess work and some hard facts about exactly what will and will not help with GPS performance on the Samsung Galaxy S i9000.

    I have tried to remain non-technical while telling you ‘why’ things happen they way they do. At the very least I hope you come away from reading this post with a good understanding of the various settings available to you and which will actually affect the accuracy of your position fix. There are several excellent technical articles on GPS in the references below.

    Mobile Device Design:

    I’d like to start by making three points:

    1. Obviously The Samsung Galaxy S is not a single-purpose GPS device. There will be inevitable design compromises when trying to fit all the hardware into the phone and in particular the GPS antenna will inevitably be inferior to the one in a standalone GPS or GPS Dongle. Having seen the GPS antenna it is indeed tiny, and halfway down the side, and at the back. But it needs to fit with the constraints of the hardware and has what appears to be a very sensitive chipset attached to it. I cannot find a full technical spec for the chipset but include a link to a technical overview in the footnotes. The GPS antennna on the i9000 is at the back of the main body, 1/4 of the way down the body on the left-hand-side as you view the phone in portrait mode. Image Here

    2. If my conjecture is correct then I believe that Samsung/Google have made some design compromises in their software setup of the GPS on the Galaxy S that compromise positional accuracy, these can be overcome.

    3. I do not believe that the GPS on any Samsung Galaxy S is fundamentally broken in any models. I do believe that the factory configuration choices are poor and I do believe it is hampered by hardware designs and their interactions with everyday use environments. Obviously any phone may have a one-off manufacturing defect but I cannot account for those.

    Available Navigation Modes:

    Verizon has this to say about the MS- modes, two of the three fundamental ways (MS-Based, MS-Assisted and Standalone) that you can gain location information:

    What is MS-Assisted mode of operation?

    In MS-Assisted mode, the network elements calculate the location of the device. This mode is suitable for one-shot fixes, wherein the location does not need to be updated frequently.

    What is MS-Based mode of operation?

    In MS-Based mode, the network provides the satellite information to the device, based on a rough estimate of where the device is located, and the device acquires the GPS signals from the satellites and calculates its location. After the initial fix, the device operates like an autonomous GPS receiver, until the satellite information must be refreshed, at which time the device goes back to the network to update the satellite information. MS-Based mode is appropriate for applications that require the device location to be updated rapidly, such as a navigation application.

    The current advice seems to be to enable MS-Assisted as it appears to improve navigation performance. I believe that this is incorrect. When using MS Assisted positioning I see considerable wander occurring as the position is not GPS derived. The MS-Based settings send the GPS Almanac and ephemeris date to the device and save on initial lock times, particularly if the GPS has been unused for many weeks, however in terms of positioning once up-and-running MS-Based and Standalone should deliver identical results.

    Environmental factors limiting GPS performance:

    Many users are primarily using the GPS in their cars. Here the hardware design compromises come in, but there are also some properties of GPS signals which users should be aware of. Firstly, RF Interference (RFI) is unlikely to be a primary culprit. The problem with a Car is that it’s made of metal which rapidly attenuates the already very low power GPS signal. When dealing with GPS the Signal-to-noise (SNR) ratio is important. Satellites giving the best SNR are always overhead, rather the near the horizon where the signal is competing with any number of other nearby frequencies causing RFI/ general background noise. So in a car, particularly given the design compromises with the GPS antenna, you will be attenuating the overhead signal because of the roof and relying more then you should on the GPS satellites near the horizon with their lower SNR, multipath propagation etc. When driving in a town where there is no horizon you can see where the problems arise. When the SNR becomes too great the GPS can no longer compute the pseudo range from the signal and you loose the ability to use a satellite. You can see a maximum of 12 GPS satellites at any one time if you have a full sky view - if you take away the overhead ones you can see why the number of useful signals drops below the minimum (4) very quickly.

    This is a problem not just for Samsung but also for Google, who tout the Google Maps nav as a killer feature in a whole group of phones which have designs compromised by requirements to squeeze a lot of functionality into a small form factor. Samsung may have done a worse job of GPS antenna positioning in the SGS then maybe HTC in the Desire but they were faced with a different set of design constraints.

    Before I tell you how to fix the GPS settings for best performance, here are some hints for in-car reception:

    1. Place the phone as far forward in the windscreen as you can. Note that Satnav systems usually come with a short-arm windscreen mount for this very reason as it ensures a great view of the overhead sky, yet we insist on comparable performance from our design-compromised phones when we attach them to the air vents or mount them in cup holders.

    2. If you really want flawless in-car nav invest in a cheap bluetooth dongle. You will benefit from more flexible positioning options giving a better sky view, a larger antenna giving a better signal gain (and more directionality if it is pointing up) and if you get a SirfIII unit an extremely capable GPS chipset utilised without design constraints . Note that SirfIII does not always include WAAS while the Galaxy BCM4751 does, however for the requirements of in car navigation WAAS is really overkill and the quality of the signal/number of satellites in view is the real issue. It is no surprise that users find a bluetooth GPS unit gives better accuracy then the built in GPS – the antenna is massive and has a completely clear view of the sky!

    Phone Settings:

    Right, back the the phone.

    One recommendation that I keep seeing is to activate "MS Assisted". This is what is responsible for all the drift. Standalone and MS-Based will give a pure GPS signal. MS Assisted tracks based on cell tower signals and gives worse results.

    One issue that comes up in particular is the problem of 'position offset', where users see themselves consistently offset from a road by a few meters, often Google navigation will then erroneously re-route you, particularly in built up areas with high street density. There is one thing which I can say with absolute certainty... There is no GPS error I can think of which would generate a consistent offset. The only cause of this would be if you physically positioned your antenna meters away from your phone and this is clearly not the case. The inaccuracies in GPS position (and there are some, caused by timing errors and a low number of satellites available for positioning) are RANDOM. The only phenomena that I can think of that WOULD generate a consistent offset would be doppler-shift, and the mode this would be most likely to influence would be cell-tower based positioning. If you are experiencing consistent offset along straight tracks please double check that you are not using MS-Assisted mode.

    About my SGS:

    FROYO JPO
    Hardcore's 'Speedmod' Kernel
    ext4 lagfix
    Battery dated: 2010.08.30

    So not a ‘post October’ phone (but I think that’s a false lead anyway). The installation of a custom ROM made no significant difference to GPS performance for me. In addition I can assure all readers that I have previously experienced absolutely abysmal navigational accuracy both in-car, walking and running giving tracks so bad that I looked like the worlds only blind, drunk, crack-addicted runner. (as an aside I thoroughly recommend the installation of a custom Kernel and lagfix as it transforms the performance of the Galaxy S).

    I have written my own custom GPX logging program to test all this and so have a high level of confidence. I will amend this post with some proof tracks when able.

    LbsTestMode:

    Here is a complete run-down of the GPS settings (explanations of the functionality they govern and the effects they will or will not have on the GPS signal) that take away the issues described above as set in LbsTestMode and result in the best observed GPS performance:

    LbsTestMode can be enabled with the following key combinations in the dialler:

    Android 2.1 - *#*#1472365#*#*
    Android 2.2 - *#*#3214789650#*#*

    Application Settings:

    1. Session Type: Tracking

    A chipset feature which helps to boost SNR in poor RF environments)

    2. Test Mode: S/W Test

    3. Operation Mode: Standalone

    The most important setting as this is the setting. Standalone or MS-Based. Not MS Assisted. I have had the best results with Standalone, cutting the whole Assisted-GPS segment out of the equation. That way I don't have to worry about who's databases are up to date, which base stations might inaccurate etc. The standalone mode is able to do everything you need at the cost of slightly increased start times if not used for some time.

    4: Start Mode: Hot Start

    This has nothing to do with re-downloading almanacs. It simply resets precise satellite timing data that must be extracted from the GPS signal to compute an accurate pseudo range. It’s good for about 4-6 hours. If you leave your GPS off for longer then the ‘ephemeris’ data will be re-downloaded anyway regardless of the Hot/Cold start settings. The GPS can’t be ‘more or less accurate’ with or without it, its simply a case that the ephemeris must be updated before you can get any position. You can sync the clock every time if you want, personally I’d choose ‘Hot Start’ and save a few minutes every time a GPS app is destroyed!

    5: GPS Plus: On

    The GPS Plus is the Wide Area Augmentation Service, extra satellites that transmit a deviation correction to correct minor positional inaccuracies within the space segment of GPSl. Not available globally (North America and Japan, maybe Europe and India by the time the phone is obsolete). Having it on will not cause problems if WAAS is unavailable in your region.

    6: Dynamic Accuracy: On

    This setting is used to filter data that is judged statistically to be in error based on deviation from the Circular Error Probability (CEP) calculated by the GPS system.

    7: Accuracy: 30m

    I believe that this is a cut-off for the overall GPS positional accuracy. If over this threshold the GPS will not report the position. I have yet to see a figure of more then 20 meters, so leave at 30. GPS precision is far more complicated then a simple inaccuracy based on distance)

    8: GPS Logging: Off

    SUPL/CP Settings:

    This is a network layer operated by cellular operators. It delivers the AGPS data like timing corrections and the almanac to your phone as well as allowing a network operator to provide you with various location based services (and make more money from you). If you wanted to download the almanac from satellites it would take a minimum of 12.5 minutes and would need to be done every time you turned your GPS on if it had been off for weeks/months. The almanac has a long lifespan, so won’t age out in days, and the GPS receiver is still capable of downloading it from satellites if it can’t get it from the network, It also provides information to your mobile provider about where you are, regardless of your Google privacy settings so that they can provide you with location based services (so Google isn’t the only geolocation bogeyman!)

    Again, I think there are lots of false leads here. The one thing that may be true is that the original SUPL provider on
    handsets was providing inaccurate data. Recommended settings:

    Server FQDN Type: Custom Config
    Server: supl.google.com
    Server Port: 7276
    SUPL Secure Socket: OFF
    AGPS Mode: SUPL

    Use wireless networks option

    Google do map WiFi hotspots in large cities, which is enabled by the "Use Wireless Networks" option in the android Menu. This may allow you to locate yourself accurately in an urban area where GPS is unusable. However, it is unlikely to provide tracking information for runners, probably providing street-corner location to pedestrians.

    Use sensor aiding option

    Google's own documentation states that this is for use in areas where GPS performance is degraded. I am unsure if the selection of "use sensor aiding" will have an effect if a good GPS signal is available. For those trying to troubleshoot their GPS setup I would advise that the low cost MEM sensors contained in mobile phones (solid state gyroscopes), while good for games are poor over more then a few meters in terms of accurately measuring velocities to determine distance travelled.

    It is possible to use solid-state accelerometers when coupled with a GPS to refine positions and attitude information but it is unlikely that android employs the filters needed to do this well. If you navigate frequently in cities or environments with tunnels etc. you may wish to enable this feature but for most navigational needs I would advise leaving it off as the integration of sensor data with GPS positions may well be a source for positional bias and drift seen in the Galaxy S.

    And that’s all you need.

    I hope that that will be definitive. Using the above settings I get entirely accurate tracks from my phone using my GPS logging program. I may post that soon with my example logs. The reason I wrote from scratch was because I wanted to be sure that I was getting the pure output from Android dumpLocation with no adulteration to allow for a fair analysis.

    HOWEVER (and here is where what I know comes to a end…):

    When your app selects a location provider it won’t necessarily be ‘GPS’. A developer can select getBestProvider() and use something other then gps to save power. I assume that most developers use ‘gps’ but it would take a knowledgeable android programmer to tell us if we can guarantee to always get unadulterated GPS positions into the application layer with no mixing sneaking in!

    References:

    http://www.broadcom.com/press/release.php?id=s443754

    http://www.broadcom.com/collateral/wp/SUPL-WP100-R.pdf

    http://www.broadcom.com/products/GPS/Location-Based-Services/SUPL-SLP

    http://www.topcon-positioning.eu/img/pdf/pdf_GPS/HIPer+_English_web.pdf

    http://webone.novatel.ca/assets/Documents/Manuals/GPS+Reference.pdf

    http://www.telemobilityforum.com/it/images/stories//madwar_telemobility.pdf
    5
    i got an early model with a defective antenna (when I press the sticker, the signal improves dramatically)

    has anyone had the same problem and resolved it?

    Edit: I managed to get the GPS working by placing a small quantity of blue-tack on the uppermost part of the gps antenna sticker so that it presses down on the antenna when I close the lid. I used to get 1 satellite in view with strength at around 15 (using gps test) and no lock. Now I get 8-9 with signal strength well above 30 and lock within 10 seconds.

    Oh my god. I tried this. This simple thing is making the change I have been waiting for 7 monthis....tried all kind of softwwaare fixes..... Thank you. Thank you. Thanks a million times! I just can't beleive the difference it makes!!!!


    See for yourself. The pic on the left is before and on the right is after this simple fix!!!! Same conditions, inside my house, near window, sometimes getting Signal to Noise 44-45 now:) Never seen these figures before ever even on the street. Will check during drive and keep posted. Currently on JVB stock with JVK modem.

    How to fix:
    Just open the cover, switch on the GPS Test/Status and press with your finger/nail slightly in the point marked in red to see if it works. If it does, then apply 2-3 layers of insulation tape or blue-tack (as allotrios suggests) to make sure the cover will press slightly on this magic "G-spot" :).

    EDIT: I guess both blue-tack and tape are not the best solutions, at least now we know where the G-spot :) is, so better solutions can come up after more people have tested.

    Don't forget to thank ======>allotrios<====== if this works for you :)

    Swyped from another GALAXY
    4
    Like to share my experience as cellphone chipset designer and my dealing with various parties involved with GPS in phones.

    Many of the issues are caused by business interests involved and there are quite a few parties plying to control location based services revenue stream.

    SUPL, secure user plane protocol AGPS was created by network operators interest in mine, with the objective of putting them in the controlling position when it comes to extracting revenue from location based applications on their network.

    Control plane AGPS is a general system where network operator independent entities can create a assist server along with possible services offering. They can encrypt their access to allow only subcribed (paying) users to access their service. The network operators has little control over this scheme.

    With SUPL, in most cases, network operators outsource the location server function. Network operator hold location of their cell tower, as a total database, in close confidence. The network tower locations are also very dynamic over time. I believe the AGPS contractors don't get reliable and timely updates from the network operators.

    Then there are third party business like 'Skyhook' which is trying to work around the network operator roadblocks by establishing a 'ponzi scheme' server database. If your phone has a good GPS location lock and detects a WiFi network, Skyhook's background app will have your phone send a message to their server reporting the SSID of the WiFi and its location. They then sell their server AGPS service to other companies, like Motorola, for inclusion in their phone software. Motorola may run into conflict with network operators. A network operator might refuse to buy a Motorola phone model with Skyhook installed on it. I noticed from the Captivate forum that the ATT version of Galaxy S has Skyhook capability.

    Google is the 900 pound gorilla and is trying to wrestle control of location based services from network operators.

    Finally there are the GPS chip manufacturers. Almost all of them have an AGPS server scheme of their own and try to promote it. The frontend processing (up to recovery of raw 50 bps satellite data) has unique hardware and firmware that are considered proprietary by the GPS chip manufacturer. In most cases a phone manufacturers like Samsung or Motorola are not allowed to have the software source code for this firmware or information on the actual interface protocol to the GPS chip. They are given a bundled binary file that the phone manufacturer software just dumps to the GPS chip at startup.

    It is now up to the phone manufacturer to implement the GPS chip and antenna systems (along with WiFI, Bluetooth, Near Field Comm, and multi-band cellular) and provide software interfaces and drivers necessary to run the GPS function.

    For size and cost reasons most recent GPS chips rely on the main application processor within the phone to actually do the GPS fix calculations. The software for this is provided by the GPS chip supplier but it must be coordinated with the particular applications processor chip used by the phone. It must share processing time slicing with the apps processor and work with operating system software resources such as RAM and ROM management running on the phone.

    This is the first obsticle as most of the GPS chip suppliers have little expertise in the OS's that may be used (like Android or Symbian). The phone manufacturer usually has to provide help to create and debug the GPS driver software but the drivers are responsible/owned by the GPS chip supplier. There can be unique hardware/software interfaces that must be dealt with, like providing GPS TCXO calibration and cellular corrected frequency timebase to the GPS chip.

    Then there is the OS's GPS interface. There can be translation software layers involved here. One such interface is based on GPS NMEA protocol but with additional hooks for things unique to phone operation like battery saver power strobing, and the complicated Secure User Plane or Control plane interface.

    The AGPS system design landscape is litered with intellectual properties (patents) by many parties. Qualcomm is a dominate player here since their aquistion of SnapTrak company years ago. Royalties are paid to Qualcomm for every WCDMA phone sold, not only in AGPS area, but on basic CDMA patents used in a UMTS (Wideband CDMA) phones.

    Now as to Samsung Galaxy S implementation of Broadcom GPS.

    I think there is a lot of evidence that Samsung had early issues with the GPS antenna contact hardware. This has probably been corrected on recently manufactured phones.

    I think the firmware supplied by Broadcom has the bandwidth of the correlators tighted down to provide greater sensitivity. This is great as long as there is a very good AGPS system to provide initial satellite ephemeris data. Without a good AGPS network providing satellite information the initial search and lock can take a very long time with narrow bandwidth frequency bins.

    I have not seen evidence with my experience that my two Vibrants are receiving any reliable AGPS information from the T-Mobile network. They do seem to get rough Almanac satellite info from Google or other third party apps. These may be based on WiFi detection more then T-Mobile cell tower locations.

    In LBStest I noticed that GPS Operational Mode has been set to 'Standalone'. I interpret this to mean AGPS is deactived. I don't see any difference when I switch to MS based assist, and clear the GPS saved memory to prevent it from prejudicing time to first fix lock test. Switching SUPL server to supl.google.com and port 7276 (with MS based operational setting) just seems to make my phone lockup for short periods of time.

    Once phone does get full lock on satellites its performance is quite good. (my two Vibrant's were purchased in early Feb 2011). It rivals my Garmin SiRFstar III based GPS unit in locked on sensitivity while inside a building.

    I think the AGPS system issues will get worked out over time.

    The Qualcomm based CDMA2000 systems (like Verizon) will likely have better initial coordination on AGPS system operation. CDMA2000 also provides network timebase directly compatible with GPS.
    2
    i have observed the very same behaviour. if i get a lock and wifi is off, and then turn wifi on it will ALWAYS kill the gps lock.

    i also found that deactivating data network mode helps in getting a better fix for the gps. once i have a fix, i switch data network mode on again (unlike wifi, it does not kill the gps).
    That is fascinating... I've heard others say a similar thing. Is your feeling that it is a driver issue, or a hardware issue.... i.e. do you think it is caused by signal interference in the hardware, or by bad software coding?

    Do others have this same repeatable pattern?

    From reading a lot of pages about the problems, I suspect we are dealing with multiple issues at once here:-

    1) limitations of the hardware design,
    2) software & driver flaws,
    3) bad configuration & settings issues,
    4) broken phone needing warranty repair,
    5) user issues (like use of case, bad device positioning in car, false expectations, flawed testing),
    6) other things we haven't thought of...

    Different reports suggest that not everyone is seeing the same thing with their phones, suggesting that whilst some people might have most, or even all of these problems at once, some lucky others might only have one or two (or even none?), and to make matters worse, which one or two might differ from phone to phone!

    Trouble is, with a multi-layered problem like this, even if someone's offered solution fixes a particular issue (say with the settings in this thread?), if that person has other more serious problems with their phone, they might not realise that the fixed settings are making them one step closer to a solution, even if their GPS track is still borked for the time being due to more serious issues.

    We need someone to have the holistic view of the problem, and work at all the issues/levels together. Someone popping up and saying "I tried those settings, they don't work", doesn't mean that tweaked settings aren't part of the solution. In the same way, someone popping up and saying that "there isn't a hardware problem because my unit works flawlessly", doesn't help with units where there appears to be a definite hardware problem.

    There have been too many harsh words on all sides... not enough listening and piecing together the bigger picture! Here's hoping for more progress and more patience with each other!

    Mike

    ps only the first paragraph was directed at andrej... the rest is generic observation!
    2
    i got an early model with a defective antenna (when I press the sticker, the signal improves dramatically)

    has anyone had the same problem and resolved it?

    Edit: I managed to get the GPS working by placing a small quantity of blue-tack on the uppermost part of the gps antenna sticker so that it presses down on the antenna when I close the lid. I used to get 1 satellite in view with strength at around 15 (using gps test) and no lock. Now I get 8-9 with signal strength well above 30 and lock within 10 seconds.