[Captivate Android Development] Da_G:
@born_fisherman:

Should work, i'd have to look more closely at the ROM or try it to see what's up, or look at the output of a debug log.

@tk44uk:

As another poster mentioned, this does sound like the app is using the foreground activity to connect to the GPS. So when the screen is rotated, the GPS connection is dropped and re-established. There's a built in delay with the Nexus S glgps daemon in jupiter.xml (The 2 Warm* configuration lines) - I suspect samsung added it to address that issue.

@korgmotif:

I mentioned earlier that I tried this while maintaining a lock and monitoring -xxxdBm signal strength, and there was essentially no difference I could observe. It might be a YMMV kind of thing!

@TXTRangerXDA:

Your post was the one that got me to look at it after eliminating other sources :)

@Plato56:

Very interesting post! I don't have the time today to read the entire thing (Christmas holiday, lots of family stuff today) But i'll take a good thurough look at it tomorrow. At a glance, the OP's reported signal strength increase from that mod do not seem to coincide with the change he made, however. (C/No 29 avg. to C/No 31 avg. isn't a very large boost at all)

I would be interested in someone trying that with a bit more scientific testing method (connected with adb shell, receiving debug log output, noting SNR of all SVs in view, doing the mod, replicating the debug log output, comparing.) It may be that this improves a marginal connection to the point the software can compensate. I suspect given the reported signal strengths the chip's senstivity is still far below spec (-162dBm spec, -154dBm observed)

The modems definitely have an impact, as I mentioned before. The modem is involved with pushing AGPS data.

Regarding process load, I don't think that's the case, as the only userspace process is glgps, and as I mentioned in post 2, if you type the command found there it will set the process priority to maximum, which has no effect on the issue. So that should eliminate that as a cause.

WiFi radio causing interference certainly jives with my RFI speculation. Rather than reduce signal strength, I suspect samsung would have implemented a "Coexistence" algorithm similar to that used with WiFi and Bluetooth.

Thanks for the very detailed reply, i'll read it again closer tomorrow in case i've missed anything, eggnog etc. :)

I didn't look closely at the SamsungGpsRestore app, but all reports are that it simply changes secgps.conf back to stock settings. 9 sats in under 15 sec isn't shabby at all, the TTFF is mainly a function of AGPS, so that indicates AGPS is working properly :) Without AGPS it takes an average of 20 seconds to get a lock (relevant ephemeris data is transmitted from each satellite at 30 second intervals)

@Dani897:

So far there have been 2 reported crashes:

1.) using modified jupiter.xml from this post with stock glgps daemon

2.) using wrong GPIO settings in jupiter.xml (glgps tries to set the GPIO high to turn on GPS, if the wrong /dev path is present, the ASIC never turns on, and the daemon bombs out with "ASIC_DEAD"

When you say "Network Location" what exactly do you mean? (Which setting, where is it?)

@developer58:

Great!

@aleadam:

Regarding RFI, I don't have my phone set up for testing right now (wish I had another device to dedicate to it!) So i'll provide some debug log output tomorrow after the holiday :) But my phone would not make a good device for this test as I go from 11 sats in view/10 locked indoors with lbstestmode up, to 9 sats in view / 0 locked. The -dBm measured by the GPS chip floats around -152 avg. with lbstestmode to about -157dBm avg in another app. that's a drop of nearly 2x signal. After that point the strength remains steady until I switch back to lbstestmode, where it peaks back up to -152dBm. (The GPS drops satellites from a fix at -155dBm, which is why I lose all fix switching back to another app, -157dBm is too weak. The documentation for the chip shows it should track down to -162dBm which is clearly not occuring.)