[Captivate Android Development] Rrryan2:
Changelog

Development/Discussion

irc.freenode.net

#plumbBob

Changelog

0.8.2b - Initial public beta release

Replacement GLGPS daemon binary from Nexus S. Thanks to Da_G

Modified jupiter.xml

Enabled position smoothing to help reduce tracking errors

Re-enabled SUPL augmentation

Dynamic Operation Mode set to Automatic

Remove large chunks of unhelpful commented-out debugging code to help speed load time during GPS initialization

Include secgps.conf

Set operation mode MS Based

Include NTP and gpsonextra configuration in gps.conf

0.8.3b

Added regional localization for NTP (Network Time Protocol time synchronization) servers in gps.conf to improve speed and accuracy of time sync, especially for international users. This was reported by many users especially in Europe to improve speed of initial acquisition (TTFF). For best performance download the version for your region, or if your region isn't listed or you frequently move between regions use the GLOBAL version. [This is also the same thing that the "GPS Fix" option in SGS Tools does but provides options besides North America and Europe.]

0.8.4b

added supl.google.com configuration lines to gps.conf. Another fix I found tried this with some apparent success and it really can't hurt. Performance seems roughly the same.

Add the SSL certificate file copied from stock JF6 to /system/bin/gpsd/supl_att_root.cer. This is the certificate used for Secure Socket SUPL connection. This seems to be missing in most to all of the ROMs not based on AT&T code and adapted from Non-AT&T carriers (i.e., pretty much 100% of them). This should allow SUPL secure socket to be used for better security and privacy, but can still be disabled by user with LBSTestMode if performance degrades.

Secure SUPL must be enabled in LbsTestMode to be activated!

0.9

0.9:

- updated libsecgps.so from KB1 leak

- updated jupiter.xml from KB1 leak

- updated secgps.conf from KB1 leak

- glgps daemon in Nexus S is the same as KB1, retained

0.91

0.91

- changed operation mode in secgps.conf to MSBASED

- modified jupiter.xml:

* deleted extraneous, commented-out anyway debugging documentation markup

* corrected path to supl certificate to /system/bin/gps/ vs. /system/bin/gpsd/

0.93

0.93

- Fixed /system/bin/gpsd folder name bug

- changed permissions for shared libraries in install script

- tweaks to help reduce jitter and reduce road snapping errors in mobile tracking incl. dynamic accuracy, stop forcing pedestrian, MS Based operation mode

- added additional driver library copied from I897UCKB1 to (maybe) help backward- and cross-platform compatibility

0.94 (Withdrawn)

Withdrawn.

0.942

0.942

-Bug repairs from 0.94(since withdrawn)

- jupiter.xml

- decided Da_g was right and re-enabled forcing pedestrian mode for most frequent location updates

- configured to use supl.google.com instead of 3GPPnetwork.org

- secgps.conf

- changed to supl and port settings to google

1.0

1.0

- enabled PPS (Pulse Per Second) Mode in Jupiter.xml. This is (or would be) a highly accurate means for providing timing control within the unit, but although the chip seems capable it's not clear if the drivers actually make use of it

- increased the WarmStandbyTimeout times to 3 and 6 seconds to help reduce drops

- used a different method of signing the .zip that should (hopefully) allow it to be installed on systems using stock kernels by renaming to update.zip and choosing "reinstall packages" from recovery

2.0 BETA 1

- port of GPS files and new configurations from JV1 Gingerbread for I9000 leak

- improved everything pretty much

Control Plane:

I have continued to experiment with adding the Control Plane supplement (ie using the cell towers' own organic time and location services for controlling call handoff between towers etc.) but in testing I still can't get consistently improved results. For this reason I have decided to not make any changes to the configuration for now. If anything adding Control Plane often seems to degrade acquisition times and # of birds initially acquired slightly, which could indicate that it's not working at all and simply introducing a timeout delay. Or it might just indicate that it doesn't work very well. It's another one of those things that's hard to sniff out inferentially in the absence of GPS driver source, SDK etc.

I did manage to discover that there's even a whole separate control app for implementing Control Plane augmentation. Yes, in yet another example of Samsung's consistently, laughably, schizophrenically fragmented implementation of the GPS controls, there's yet another undocumented place to change settings. No wonder it doesn't work for so many.

I have left the control plane method allowed as an option in the configuration files supplied with PlumbBob 0.8.4b, so users who are still not getting satisfactory GPS performance might experiment with adding Control Plane augmentation by doing the following:

OPTIONAL/EXPERIMENTAL PROCEDURE FOR ACTIVATING CONTROL PLANE SUPPLEMENT:

Open LbsTestMode by using SGS Tools, select "secret codes" and then choose LbsTestmode OR use the phone dialer to enter *#3214789650#

Select "SUPL/CP Settings"

Under AGPS Mode choose "Control Plane" from the dropdown

Open the phone dialer and enter *#1575#

Choose "CHANGE CP STATUS"

Choose "CONTROL PLANE ENABLE"

Reboot

Control Plane settings from dialing *#1575#:

Again - I can't promise that performance will improve any if at all by using Control Plane and I do not recommend this for all users. However, it could potentially be useful in locations for which supl.google.com doesn't have accurate or up-to-date info, so still it might be worth trying for some users. But if you're already getting reasonably good GPS performance I recommend it be left alone. And indeed, there might be some good reasons *#1575# has Control Plane disabled by default - it may not even work.