yashsingh1/xdaforums huggingface dataset:
[Captivate Android Development] Rred:
Da_G -

Kudos on the fine work, and having both the hardware AND software skills to tear into it!

"That drop in GPS signal due to interference is the kicker."

If I may suggest, divide and conquer. Instead of trying to fix everything, or all possible problems, why not try to fix or confirm the hardware problems first, and then attack software second? The software is valuable, I'm just not sure that any software tweaks will ever be "enough" if the hardware is fatally flawed.

Personally, I'm interested in seeing stark unassisted GPS performance, so I've checked mine out with all assistance disabled. If it won't work off the networks out in the boonies--I'm not interested in how well it will work surrounded by street signs. I'll find another phone that has a real GPS, that does work without assistance.

Even with all other radios except cellular disabled (IIRC) the GPS in mine simply could not hear satellites, it read about 30-35db of signal when an obsolete Earthmate USB puck sitting next to it consistently saw signals 20db stronger from the same birds, nothing moving. Even after 10 minutes, which would give both units plenty of time to "do the math" with the ephemeris, etc.

Given that Samsung, AT&T and Broadcom all stonewall on this (yes, I contacted Broadcom as well, no comment) and that Broadcom's chipsets have a top reputation, I suspect the integration in the phone is the problem. EMI/RFI from something else, bearing in mind that AT&T's GSM phones are notorious for "squawking" on any nearby radio, television, etc. every few minutes when they poll with the towers, we already have good reason to suspect RFI issues. GPS and high-band GSM are almost the same frequencies making this all the more likely.

Antennas are easy (despite Apple's experience<G>) compared to interference issues. I'd be curious to see if shutting the cellular radio or locking it down to low band only cleared anything up. (My Captivate has gone back to Korea for re-education.<G>)

Sitting on the edge of my seat, waiting to see where you find the villain, because we all know there's something very wrong in there.

--Red
[Captivate Android Development] know8677:
I think it's both hardware and software and not consistent across all units.

I know before I rooted the phone, my GPS worked very, very well....after the update that came from AT&T in September or so.

Following rooting and flashing with Cognition, it went back to working worse than before the AT&T update.

Now that I'm using the fix in this thread, it's back to working "OK" - not as good as following the AT&T update, but better than before the update and what it was like with Cognition.
[Captivate Android Development] s44:
Honestly, given that modems affect GPS performance, this is interesting but not really applicable to the Froyo users here. You should try upgrading yourself.
[Captivate Android Development] slider2828:
Also, for North America users, I would venture to try UGJL2 modem. So far its been pretty good for me. The lock is not that fast, but its very stable. Its not publicized as much in the forums, but I would say give it a try.
[Captivate Android Development] jmmagyar:
Dark screen vs White screen

Let me first say that I have not installed the "fix' yet. Doing it now.

But I too have noticed that using GPS status the GPS works circles around using Google Nav etc. But I blamed it on the software differences. However I recently bought Copilot and I can confirm at least in my case there seems to be some relation between the brightness of the screen and the GPS signal. The difference in the Day/night mode is quite noticeable. Going to work in the morning, its getting me on side roads, etc. On the way home...at night...I don't have the same issues. Hmmm...Wonder if there is a way on the Copilot to export to see what the actual differences are.

But anyway. I have noticed the difference. Also, putting phone on leg basically cuts signal in half on GPS, but seems to have little to no affect on Wifi or Cell signal. So are they only using the cover for the GPS antenna?

On aside note... Taking the cover off actually increased my Cell signal from -105 to -90. Cell was in same place, hands off, nothing changed except the back cover. Just thought I would mention that....

James

(edit) DA_G....do you possibly have a list of what ROMS are using this fix if any are? I am using Ceasers.....It has decent GPS...much better than stock. Just wonder if he used it and tweaked the settings....Will send him a message as well. But maybe if you have knowledge of a ROM using your fix...possibly put it on the first page??
[Captivate Android Development] Rred:
Ask me to root a phone and I'll get a glazed look in my eyes, I'm still new to phones. (Yes, I've done it once or twice, slowly and cautiously.) I'm an old hand at computers and nav systems, just coming up the learning curve slowly on Android.

So there's something about GPS and accuracy that probably should be mentioned:

Even with the world's finest GPS unit and most expensive mapping software, you will sometimes show up 300 feet (100 yards, one city block) away from your real position, and in extreme cases, even 1/2 MILE OFF.

This is not a GPS problem. It is a "geocoding" issue. Your GPS is probably spot on with the lat/lon numbers, but all mapping software has to

translate

street addresses into lat/lon positions, and vice versa. The GPS doesn't know anything about 'streets', it only knows lat/lon positions. And the ubiquous NavTeq maps, the Garmin maps, the Delorme and Street Trips and Google Maps, all are well known to contain errors in certain areas.

Those errors almost always go back to "well, our local maps are all referenced to the master survey of...1770...1826...1932..." or an even older date, when master surveys simply didn't have absolute accuracy. So the lat/lon location used as the basis for an entire city, town, county, etc. is OFF and that still carries through to GPS mapping today.

And then, GPS software may also be playing tricks on you, it may "snap to" a road, and a particular side of a road, based on being close to it and traveling in the right direction--not necessarily the GPS lat/lon position.

Just to say, GPS navigation is way more complex than just how the phone/GPS is working. Be aware there are other issues, and there's always a man behind the curtain.
[Captivate Android Development] cmd512:
This is an excellent post, and to your point, I personally believe much of the gripes of the SGS's GPS is due to users trying to use the packaged/free Google Navigation, which has the horrible tendency of snapping you onto side roads or showing you continuing down a path even though you're stopped to take a right turn.

Just as a point of reference, I've used CoPilot the last few weeks and it's never overshot or shown inaccuracies even once. So, I highly suspect there are things going on at the software level specifically with Google Nav/Maps.
[Captivate Android Development] foxbat121:
It is well known that the free Google Nav can't handle crappy GPS outputs from phones like Galaxy S compared to other commercial mapping software. But that's not to say the blame is purely on Google's side. I have a standalone Bluetooth GPS box that I use for my Captivate. Using this external GPS box, I got 100% error free results from the same Google Nav software running on the same phone on the same route (my commute) while using the Captivate's built-in GPS, I can only get about 50 to 60% correct positioning before it snaps to side roads or display large blue circles.

The bottom line is that while there are occasional mapping errors, the problem with Captivate's GPS is mostly not related to that.
[Captivate Android Development] haojan:
I accepted that it wasn't great out of the box but I am having a great experience with the fixes incorporated into Darky's ROM using Da_G's fixes and I just wanted to let others know.

http://xdaforums.com/showpost.php?p=10361671&postcount=39
[Captivate Android Development] Rred:
Bear in mind that Google got free national press last month. In case you don't listen to The Nooze...The town of Sunrise, Florida, which is near Fort Luaderdale on the Atlantic Coast, has been complaining to Google for several years now because Google Maps sends people to Sarasota, on the Gulf Coast of Florida, whenever people try to find a location in Sunrise. google has been ignoring the issue for several years.

And that one is strictly a Google Maps problem, the two towns are each located in very different areas, mapped and surveyed long ago. But if someone whipped out a GPS and asked for directions from FLL to Sunrise (a couple of miles) they'd be routed hundreds of miles in the wrong direction.
[Captivate Android Development] ewingr:
I find teh same as you, but with one additional condition: Phone needs to be mounted where it is covered by windshield, not car top. I've done same type of test based on holding phone where it will have view up through windshield, vs. held more inside the car. Did it with 2 phones. No matter which of the two phones I held under windshield, that one performed relatively flawlessly, whereas the one more inside the car would drift. In that particular test, I did not have the cover off or plugged in.

My normal mode of operation now is cover off; plugged in; mounted where it has view through windshield. Works very good. Occasional small blue circles on Google NAV; flawless on CoPilot.
[Captivate Android Development] Kyuta Syuko:
I was poking around in my jupiter.xml comparing it with the Google jupiter.xml and found the following three settings in mine that aren't in it and I was wondering if someone could shed some light as to what they are/affect. Thanks.

gll BrcmRFwildBase="0x1E2D6409"

gll BrcmRFclkDiv="21"

gll BrcmRFclkRefHz="26000000"
[Captivate Android Development] Ikonomi:
Well, I took this advice to heart, and flashed Cognition 2.3b8, and then flashed the same jupiter.xml I used before, minus the Eclair modifications.

The GPS is patently worse than with 2.1.

Here is a link to a track I just recorded: http://maps.google.com/maps/ms?ie=U...941917270797599357.0004995cb9b5e06cdb977&z=15

I'm going to try some different settings. I can't believe how useless the GPS is now under Cognition. It was better before I flashed the new jupiter. I'm sure with Da_G's info I can find a solution that works.
[Captivate Android Development] Dani897:
just for s's and g's can you try to backup your apps and contacts and then do a factory reset?

i have seen it help in some situations but i dont know why, clearing gps data doesn't seem to clear everything that the gps uses.

also i am having great luck with the control plane version and supl settings set to control plane in lbs test mode. also i always turn gps plus and dynamic accuracy off. but i am also using a rom for a vibrant (eugenes ginger clone,i dont know the build it is based off of) and a modem for a telus t959d (tljl3)

as always individual result may differ.
[Captivate Android Development] Ikonomi:
I will likely try a factory reset in the future, as I plan to exchange my Captivate at some point. My Captivate was fairly close to stock before the Cognition flash, but I had done a ton of messing with GPS settings, including running GPSRestoreSamsung.

Da_G left a comment about this in jupiter.xml:

The settings would seem to control the clock speed of the GPS chip.
[Captivate Android Development] Rred:
James-

"On aside note... Taking the cover off actually increased my Cell signal from -105 to -90. "

The main difference wrt how your phone worked, is that GPS is an extremely weak signal. Chipmakers compare GPSes at signal strengths like -155db, which is way the hell weaker than a useable cellular or WiFi signal. So gaining or losing 10db may not make a difference in cell phone performance, where there's plenty of signal strength. But for the GPS? 10db can kill it, sure.
[Captivate Android Development] Dani897:
No posts from da_g since christmas. I hope he hasn't abandonded us. And if he did I hope it was for the sake of finding work.
[Captivate Android Development] tkienzle:
Thanks...

Send from interspace on my hacked telly...
[Captivate Android Development] sblees:
He might have given up on the captivate and traded to a different phone. Hopefully not though.
[Captivate Android Development] Dani897:
i thought about that but there are no posts from his account on any forum here and he is a moderator as well. it would be strange for him to abbandon xda all together. im sure he is just busy, hopefully busy testing.
[Captivate Android Development] sschrupp:
Yep, Co-Pilot does this. If you go away from the route it suggests, or better yet go in the opposite direction it suggests, it will yo-yo your position on the map between where you SHOULD be according to it's suggestion and where you actually ARE on the map.

So it definitely snaps you to the road, the correct side of the road, and even the direction you're facing, that it suggests as your route.

It's actually kind of neat though when you think about the logic involved to do that.
[Captivate Android Development] Rred:
"Yep, Co-Pilot does this. If you go away from the route it suggests, or better yet go in the opposite direction it suggests, it will yo-yo your position on the map between where you SHOULD be according to it's suggestion and where you actually ARE on the map."

That sounds like a "street" implementation of what's usually called "cross track error" in marine GPSes. Cross track error displays normally display a sort of "fan" shape along with data indicating your correct course toward the next waypoint, i.e. telling you that you're 1/2 mile east of where you want to be and veering ## degrees from the right course to get there.

Works fine if you can just steer anywhere, kinda pointless if you need to use roads or rails to make the course change though.<G>

So snapping back and forth on a street map, saying "Yo, dummy, you should be two blocks over!" would be MUCH more useful than, say, Garmin's perpetual "Rerouting..." prompts.<G>

Just when you thought there was nothing new under the sun, someone comes up with the better mousetrap!

I've been told that if I wait about 60 more days my Samsung GPS problems will all be solved. The answer is called "Motorola Atrix". <G>

Karma, nyeh?
[Captivate Android Development] drancid:
Anyone tried H/W test mode?

I'm having the BEST gps performance ever with H/W test mode. locks within 5 secs and tracks my location pretty well in any software i have. (my tracks, google map, gps test app, aura navigation)

give it a shot people!!

I flashed Da_g's fix (control plane one).

Enabled control plane mode with SGStools.

Changed test mode to H/W sensitivity test in lbstestmode -> application settings.

Changed AGPS mode to Control plane in lbstestmode -> SUPL/CP Settings.

Supl server : supl.google.com

Secure socket : off

Sent via ATT Captivate.

Perception Build 10.1!!
[Captivate Android Development] azranger:
My conclusion on the GPS

I believe their are 3 main issues to the GPS issue.

1) Getting the first lock. Da_G and others have greatly fixed this issue.

2) Atenna, there is enough SNR to make these babies work but a stonger signal would increase accuracy and locking.

Now for the tough one..

3) Based on what I have determined from my tests and reading about others I think the problem is in the timming link between the GPS chip and the CPU and how the kernal is controling that. To determine your GPS location you need at least 3 sats, that intersection of the 3 is your location. The GPS chip determines that location based on the amount of time it takes the sig from the sat to reach the gps chip. If that timing is interrupted by a micro second the location is off, this is why your location bouces with every update when your sitting still.

For a software fix maybe the protocol stack will have the approiate layers. There might be a cellular timing estimation layer which might have the ability to incorperate a firmware patch layer. This maybe why the ATT nav software works better. (I've heard that is works but I have never used it)

Another option may be to write a new hardware driver that controls the timing better, give the gps the higher priority or can compensate for the kernal taking compute cycles so the gps chip doesn't think the actual .9325 second travel time from the sat is 1.05 or .89.

Just my thoughts

Samsung Captivate

Phoenix Rom 3.0
[Captivate Android Development] Rred:
az-

"If that timing is interrupted by a micro second the location is off, this is why your location bouces with every update when your sitting still."

Good point and one that needs investigation. If the phone isn't handling "business" from the GPS promptly that will mess things up. One of the differences in GPS units is how much power the CPUs have, and speed. Some of them take down information from each satellite sequentially, others advertise "12 parallel channels" i.e. resolving multiple signals at the same time, in theory more accurate. And depending on their CPU power and design goals, they also use different algorithms to compute the GPS signal information, which is why 3D elevation is usually poor on "land" units, but much better on high priced aviation GPSes.

Still...any GPS signal will bounce around. If the GPS unit is using averaging, you won't notice the bounce very much. If it is not, you will see more bounce--but the actual bounce is probably the same. The same atmospheric disturbances that make stars blink and twinkle, make GPS signals "move around".

A survey quality GPS can be told "sit down, start averaging position data, our speed really is zero" and it will average out the bounces to display a more likely position. A consumer GPS? Even the best ones may show you constantly moving, slowly and in random directions, once you're stopped. That's something that probably is part of the programming i.e. in Nuvis with a "pedestrian" versus "car" mode. In car mode, 1/2 mph probably means you've stopped. In pedestrian mode, the unit probably thinks you're still walking.<G>

Cell phones? Who knows, every maker is paranoid and few or none will tell us what they are really doing inside.
[Captivate Android Development] azranger:
Rred

Everything you say is correct.

The problem with these devices is far greater than the normal bounce that is inheirant in all consumer level GPS's. Your normal bounce is usually confined to the accurancy devation reported by the device, which on the better ones is 1-3 meters. The bounce on these devices is 50+ meters, but the reported accurancy can be at 3 meters - which far outside any std gps bounce.

I have also noticed that the RF shielding could be better. On my older HTC devices they have individual shielding on IC's and overall shielding and mesh sheilding. The quick glance I took under the hood it seemed like there could be more.

Since these devices have good days and bad ones on tracking. Add in the variable of light or dark screen, app in foreground or back, screen on or off. That you can be tracked down to the center of the lane you are in then suddenly for the next mile or so it loses either lat or long (depends on direction of travel) and now it plots you 10-50 meters off while the other is holding true. When you put that in correlation with elevation data you can predict which axis is going to be off. This leads me to think that the kernel is stealing compute cycles from the gps, the whole random thing. The GPS is correlating the data from the sats but thinks based on the timing that you are somewhere else and when the timing is correct it finds you where you are actually at.

This 15-20 meter devation will work for most NAV apps, it's only when another side road is within that devation range that it gets angry with you and keeps saying "Rerouting", "Turn Around" etc (Boy I hate that!):)
[Captivate Android Development] Rred:
az-

The problem with these devices is far greater than the normal bounce that is inheirant in all consumer level GPS's. Your normal bounce is usually confined to the accurancy devation reported by the device, which on the better ones is 1-3 meters."

Bear in mind, virtually all consumer GPSes on the market today use WAAS augmentation and the average Jo on the street has no idea that WAAS is a "newish" option. A GPS without WAAS is going to be back in the 10-meter position error or worse. (Especially worse when it can't hear satellites.<G>)

"The bounce on these devices is 50+ meters, but the reported accurancy can be at 3 meters - which far outside any std gps bounce." I didn't see that kind of bounce, or reported accuracy, but then again the first thing I did was put mine in standalone mode which pretty much could be called "Homer Simpson Mode" most of the time.

"the RF shielding could be better." EMI/RFI certainly could be a culprit, and a reason for Samsung and AT&T to deny the problem since there's no way to easily remedy a bad design on that.

" and now it plots you 10-50 meters off " I should probably write a long thank-you letter to Samsung for making me rethink a lot of GPS flaws. No, really. Before this I hadn't even considered that "car" GPSes might be playing games, snapping the position to the nearest roadway instead of the calculated position. I wonder what games, ergh, enhancements, Google and all are making? At least my old Garmin and Earthmate are candid enough to just say "I think we're here. Or here-ish. Or maybe..."

"The GPS is correlating the data from the sats but " I've been told that a cell phone GPS chip, in order to save power and gain speed, normally does *not* actually make any calculations from the satellite data, but passes it over the A-GPS networks and gets the results back from the networks. This is supposed to be how (and why) the older cell phones using A-GPS only locked users out of directly using the GPS, and part of why you had to pay Verizon & AT&T for their "Navigators" and couldn't use the phone GPS by itself in standalone mode.

Do the Broadcom chipsets in the GalaxyS phones have enough brains to run on their own? Dunno. How they've been programmed...it's a shame Samsung can't just answer a question like that.

"This 15-20 meter deviation will work for most NAV apps," Then again, the Nuvi in my car has been equally irritating at times. 'Turn in 100 yards...recalculating!' It seems to measure distance with the famous Rubber Ruler from time to time. I know how long a football field is, and a Nuvi doesn't. But then again, it missed a turn (new exit construction) once and told me to "Continue 750 miles then make a u-turn". Ahuh.

"Homey don't think so!" [old tv show, Homey the Clown]
[Captivate Android Development] betoNL:
Wow, great thread!

And I only read half of the first post (op) and the last one (above)

I do think the internal sgs's gps chipset have enough brains to run on its own!

I don'tuse A-GPS ( no APNs configured, not using wireless networks and no data connection- 3G is off).

I am running iGo Motonav, Navigon and Sygic flawlessly....

The first fix during a cold start (outdoors) never takes longer then 3 minutes and even faster since using Froyo 2.2.1 + speedmod kernel .

It isnt a "sirfstar3" performance, but for me it was a big surprize to know I dont need a-gps AND I can retire my external bluetooth gps receiver (with a sirfstar 3 chipset) which is working like charm with the sgs (see video)

The gps on my lost Nokia 5800 would not work without a-gps, not only to speed up that first fix during a cold start, but was being used to re-acquire fixes due to poor gps performance.

(edit) That's why I decided to buy then a external bluetooth gps receiver since garmin mobile for symbian ( with its proper connectivity control) can use it .

Oh yes, I only use onboard gps nav programs.

No offboard progs like Google navigation and stuff.....