[Galaxy S I9000 General] miki4242:
<Master Yoda>Anger, fear, aggression; the dark side of the Force are they.

Please everybody calm down. Discussing a complicated, technical matter like this often seems to lead to people shouting at each other, beating their chests, claiming they have ultimate knowledge.

Now I do not claim to know everything, but I do know a little about GPS (started out with the venerable Garmin units, worked on data analysis a bit, etc.), so let's add some important points to the discussion.

Remember the blindfolded monks touching an elephant and discussing amongst themselves what they thought it was? None of them were absolutely right, but none of them were completely wrong, either. They just reasoned from their limited overall 'view' of the complete animal. Well, GPS is like a really huge, complicated elephant.

First off, GPS positioning is quite complicated number crunching, which is why many manufacturers are in a constant struggle to reduce chip cost and...energy consumption! Which is what I believe could be one of the main issues which is hampering GPS performance on the SGS.

As far as I can tell, the SGS uses a solution which transfers quite a bit of the necessary calculations to get a position fix from the GPS receiver chip on to the main CPU, mainly to save on chip cost. Since those calculations revolve around very accurate timekeeping, any discrepancies between what the SGS thinks are correct time intervals and reality are bound to introduce errors in the results from those calculations.

Now the SGS (and many other phones) use lots of dynamic CPU scaling, wakeup events, selective power-down of hardware, etcetera etcetera, all to save that last drop of battery power. All this mucking around could very easily mess with timekeeping, communication to/fro the GPS chip, etc., throwing positioning way off.

Now about A-GPS. A whole lot of things have been said about it, but let me add this. Like the power-saving, cost-cutting stuff, A-GPS has been designed so that it can be applied at varying levels. What level of assistance a manufacturer will decide to use depends on budget, usage scenarios, legal (E911) requirements, etc.

If we are going about throwing the (Wikipedia) book at each other, have a go at this bit on gpsOne functions, which I choose because it's very concise, and because the SGS appears to use these levels.

The important bits are the various levels of assistance: Standalone, MS Based, MS Assisted and MS Assisted/Hybrid. Studying these will hopefully clear up a lot of confusion.

Add to this heavy mixture the complicated web of tariff structures and policies the telco operators have for no-data plans / limited data plans / SUPL-only data plans / E911 requirements / whatever, and you see that it isn't all that clear-cut.

As was posted in other threads, even operators make mistakes in navigating this whole mess: some don't implement necessary (SUPL) services, don't maintain them properly, advertise them incorrectly in APN settings, even charge some customers ridiculous amounts of money (data roaming charges) because a single APN parameter was setup incorrectly.

All of this will add up to whether your "GPS is not working". As an example: just changing SUPL server to supl.google.com isn't going to guarantee your GPS "will work" when the setting is forcibly overridden or proxied away to your operator's b0rken setup. You may even be charged for data use, even when you believe SUPL is covered in your current plan.

Bringing all this back to XDA, I would like to urge people to please stop bickering about GPS issues (unless they have a real, provable fix for them).

Also, please take technical discussions about GPS to sites like GpsPasSion, where you're much more likely to find knowledgeable people to answer all your questions.

If you want to go all the way to the top, check out Sam Wormley's GPS Resources site. He is a respected authority on the matter.