[26.Aug.2011][Dev] GPS Libraries v2.1 with AGPS support for HD2 Gingerbread

Status
Not open for further replies.
Search This thread

tytung

Senior Member
Jun 21, 2010
3,574
15,005
sites.google.com
hi when i run gscript and run this script
4. Run 1_install_Magic_AGPS.sh, and the phone will hot reboot itself.
After reboot, make sure you have network connection, and wait at lease 1 min to inject AGPS data.

I get stderr fail and there is no reboot
can anyone help me install this?

Please use adb to run the following commands.
Code:
cd /sdcard/gscript
sh 1_install_Magic_AGPS.sh
Tell me your result after running it.

And did you see this folder /sdcard/libgps_with_AGPS_update?
 

windroidHD

Senior Member
Dec 20, 2010
247
87
simplemobdev.blogspot.com
The GPS UTC time in my phone is correct for me.

If you had problems, did you change the time zone?
Did you check "Automatic" in Date & time settings?
Or you selected time zone yourself.

Please flash GPS_Libraries_v1.4_debug_for_HD2_Gingerbread_update.zip, and then check your logcat using aLogcat or android-sdk-platform-tools_r4-lite_for_windows.zip.

You will see the following lines.
D/gps_leo ( 118): fix_time=1309020725
D/gps_leo ( 118): fix lat=xx.xx lon=xx.xx altitude=21.8 accuracy=14 time=Sun Jun 26 00:52:05 2011

You can use this website to verify your time.
any chance that time might be off for some people by an hour because of daylight saving not being included in calculations?.
 

tytung

Senior Member
Jun 21, 2010
3,574
15,005
sites.google.com
I think Cotulla know everything about needing Programms for dissambling !

charnsingh_online says on his thread about Kernel-Dev

GPS Depends on AMSS Version. I dont know yet what amss version does HD2 have for .37 kernel ( have to debug the radio for that) and AMSS is done in the config, rest the GPS is all in the OS. There is proper working GPS for different AMSS. Right now the AMSS HD2 is using ( the one i know from the .32 kernel) doesnt have working GPS Libs in the qcom open source so lets see if .37 kernel can help change the AMSS as AMSS numbers have changed from .32 to .35 to .37 kernel in the devices i Know without Radio updates. I am not yet so familiar with AMSS stuff so i have to learn on that too, all this comes in the last part the base config. Thats the reason i dont want to rush out some parts. Config is the main one as everything at end depends on config as that is what directs the compiler what to take. That includes everything from 720p to wifi calling and i mean everything. Also the hurdles i have to face there are the DSP. I dont know what DSP does HD2 have in Radio, if the DSP has been updated to the latest one by qualcomm so also add dsp there

AMSS is just a high level number to distinguish different devices.

GPS mainly depends on the server RPC calls. (a low level thing)
AFAIK, server RPC calls are determined by radio. Correct me if I'm wrong.

GPS is using HAL library, and is 100% not related to the kernel.
My source code (libgps) is a HAL library.
Qcom source code (libloc_api) for Gingerbread is also a HAL library.
I have better GPS development experiences than him.
If you don't modify libloc_api, I believe only changing the kernel is helpless for GPS.
 
  • Like
Reactions: Vilen77 and clio94

arne182

Inactive Recognized Developer
Feb 5, 2010
289
270
any chance that time might be off for some people by an hour because of daylight saving not being included in calculations?.

Tytung,

HTML:
tm.tm_isdst = 0;

https://github.com/arne182/android_hardware_leo_libgps/blob/master/leo-gps.c#L288

Fixes the time offset for me. Could you test if this effects your displayed time.

Or anyone can just grab my version and test it and check if this repairs your time or wrongly displays the time now if you had the correct time displayed.
 

Attachments

  • Arne182_libgps_1.4.1-signed.zip
    177.6 KB · Views: 32
  • Like
Reactions: clio94

clio94

Senior Member
Jan 17, 2007
1,195
321
Kozani
i can confirm that arne182 libs show for me the correct time.i test it with gps status.with v1.4 tytung it shows the last fix was 20.57 but the time here now is 21.57.with arne182 v1.4.1 libs gps status shows correct 21.59 for last time fix
 
Last edited:

tytung

Senior Member
Jun 21, 2010
3,574
15,005
sites.google.com
Tytung,

HTML:
tm.tm_isdst = 0;

https://github.com/arne182/android_hardware_leo_libgps/blob/master/leo-gps.c#L288

Fixes the time offset for me. Could you test if this effects your displayed time.

Or anyone can just grab my version and test it and check if this repairs your time or wrongly displays the time now if you had the correct time displayed.

It's correct to set it to 0 in order to support Daylight Saving Time according to the definition of mktime().

I changed my code and the time was still correct for me.
 

tytung

Senior Member
Jun 21, 2010
3,574
15,005
sites.google.com
v1.5

Version 1.5 - (Jun. 26)
  • Support daylight saving time (DST).

Thanks arne182 and clio94.


Installation for GScript:
Please download libgps_Switcher_v1.5.zip, decompress it to your SD card, and follow the steps below if you want AGPS support.
You need to repeat steps 4 and 5 every time when you need AGPS.
  1. Put the following files in the SD card.
    /sdcard/ClockworkMod/GPS_Libraries_v1.5_for_HD2_Gingerbread_update.zip
    /sdcard/ClockworkMod/libgps_with_AGPS_update.zip
    /sdcard/GScript/1_install_Magic_AGPS.sh
    /sdcard/GScript/2_install_libgps_v1.5.sh
  2. Install GScript or GScript Lite.
  3. Add 1_install_Magic_AGPS.sh and 2_install_libgps_v1.5.sh to GScript.
  4. Run 1_install_Magic_AGPS.sh, and the phone will hot reboot itself.
    After reboot, make sure you have network connection, and wait at lease 1 min to inject AGPS data.
  5. Run 2_install_libgps_v1.5.sh, and the phone will hot reboot itself.
    After reboot, you can enjoy the quicker GPS cold lock.
 

themadproducer

Senior Member
Aug 28, 2009
2,815
1,340
My time is correct.
I suspect whether it's because Daylight saving time (DST).

I like this one below.


Yes, it is always unpredictable because the satellites are not still, they are moving.
Even you test GPS at the same location every time, the result is different.

Besides, lock time will be affected by a lot of external situations, e.g. weather, open sky, buildings near you, etc.

Yes I totally agree with you Tytung. That's exactly what I meant. I hope the way I said it wasn't offensive sounding? When people like myself are testing, 1 single test is not good enough because of the above external situations you mentioned. Thanks for all your hard work.
 
Last edited:

arne182

Inactive Recognized Developer
Feb 5, 2010
289
270
Read what Tytung said.....AGPS HAS NOT BEEN IMPLEMENTED IN 1.4 YOU HAVE TO USE MAGIC LIBS FOR AGPS DOWNLOAD AND THE AFTER A HOT REBOOT COPY 1.4 LIBS........ i am getting a fix within 14 seconds... Makesure you do a hot reboot after copying cuz full reboot will delete xtra.bin

Sent from my HTC HD2 using XDA App

Could you check if your height in v1.4+ is now correct in GPS Status. With the new nmea method it should be correct height but I have no way of testing this.
 

themadproducer

Senior Member
Aug 28, 2009
2,815
1,340
TYTUNG V1.5 - First test indoor near window overcast day.

- Your V1.5 instructions are excellent! That's what some of us needed. :)
- the Gscripts worked perfect and easy. No issues at all.
- used LibTestMode COLD (16hrs), locked in 18sec with 6 sats and at about 30secs or less, locked 10sats which is turbo fast!!! (checked with Ulysse immediately after with instant locks of course)
- location time is CORRECT! Altitude seems closer to what I see on an altitude map. Has that been fixed too?
- testing 10min later...8secs lock with 6-8 sats
- then 1min later...6secs lock with 6-8 sats
- then 10-20secs later...2-3secs lock with 6-8 sats
- NOTE: I have AngelDeath's Location script for my region loaded in gps.conf
- UPDATE: not sure if this is directly related, but my Google Maps position seems better. We will see if that remains consistent over the next 3 days.
- UPDATE Over 1 hour later, on the train, where i normally struggle to get a fix...i got a fix in under 10secs. WOW!!!
- UPDATE: Hours later in an indoor area of known terrible reception, i got stable fix in under 2min. pretty darn good.
 
Last edited:
  • Like
Reactions: tytung

slbenz

Senior Member
Mar 9, 2009
616
70
Silicon Valley
Tytung,

Here is my early summary of using v1.5:

1. Time to first lock indoor near a window approximately 13 seconds. Received clear signal of 9 of 11 satellites.
2. Couple of hours later retested outside, clear skies. Lock was in 5 seconds with clear signal of 7 of 9 satellites.
3. Waited ten minutes, lock in 2 seconds. Relocks are immediate.
4. Altitude is very close to actual. Using GPS Status I see a range from 230-233 feet, actual is 231 feet.
5. Accuracy on Google Maps is 5 meters.
6. Time on GPS Status is now correct for my time zone. No more 1 hour behind.
7. Compass on GPS Status pointing correctly as it did since v1.1.

Seems for me, this newest edition works extremely well. Didn't need to use QBANIN GPS Fix. Looks like I may remove it from my phone real soon.
 
  • Like
Reactions: tytung
Status
Not open for further replies.

Top Liked Posts

  • There are no posts matching your filters.
  • 265
    This implementation is based on GPS Library in HTC-HD2 Android Libraries. (Thanks to dan1j3l.)
    You can find my modified source code and AGPS development info in the second post.

    New Features:
    • Show the number of satellites before getting a location fix.
    • Show or hide the GPS symbol in the status bar instantly when you start or stop a GPS app.
    • Support the leap seconds. (Thanks to arne182.)
    • Modify the Accuracy (i.e. Error in meter) to be more reasonable.
    • Add AGPS interface. (Won't see "no AGPS interface in agps_data_conn_open" in logcat now.)
    • Add the missing functions to receive the NTP, XTRA, and SUPL settings from gps.conf.
    • Add AGPS implementation including injecting AGPS data (xtra.bin) and NTP time into the gpsOne engine.
    • Hide Fix/Sats info and make the GPS symbol in the status bar flashing when you go to basement or tunnel.
    • Show DOP/HDOP/VDOP values in GPS Status.
    • Show Altitude above Geoid (i.e. mean sea level) and Geoid height. (You will see both of them in GPS Status. The value within parentheses is Geoid height.)
    • Show correct SNR (Signal to noise ratio) value.
    • Activate the AGPS data injection. (You can get a cold lock very quickly due to the working AGPS.) (Thanks to qwerty_7564.)

    Known issues:
    • Accuracy value is for reference only.
      • Position Accuracy (meter) = HDOP (unitless) * Measurement Precision (meter). (Please confirm whether this formula is correct.)
      • We only get the correct HDOP value, and we assume the value of Measurement Precision, and then do a post calculation to get Accuracy. So don't trust it completely.
    • Some ROMs are not compatible with NMEA version of libgps.so.
      • Those ROMs don't set the correct permission to /dev/smd27, so libgps.so cannot read NMEA sentences from it.
      • The solution is to flash GPS_NMEA_permission_update.zip for correcting the permission after booting.
    • Some ROMs suffer from the "GPS off-and-on" bug.
      • Those ROMs can shutdown the gpsOne engine properly when turning off GPS setting using gps_cleanup(), but they cannot restart the gpsOne engine again because gps_init() is never called when turning GPS setting on after turning it off.
      • It's a Gingerbread bug which is fixed by applying this commit from the source code.
      • If you cannot modify the source code, the workaround is to set/add GPS1_CLEANUP_ENABLED=0 into gps.conf to avoid doing full cleanup.

    Downloads:

    Mod edit: Links removed

    Installation for CWM:
    • Place your downloaded file (GPS_Libraries_v1.x_for_HD2_Gingerbread_update.zip) in the SD card.
    • Enter CWM (ClockworkMod) Recovery
      • MAGLDR 1.13: Hold "Power" button during boot to enter MAGLDR, and then select "AD Recovery" or "Boot AD SD" (if ever copied CWM's initrd.gz and zImage to SD) to enter CMW.
      • cLK 1.4.0.1: Hold "Home" button during boot to enter CMW.
    • Choose install zip from sdcard and locate your downloaded file to finish the installation.
    • All done.

    You can install GPS Status & Toolbox or GPS TEST to test the new libs.

    How to inject the AGPS data (xtra.bin):
    It will be done in the following situations. (Data connection, WiFi or 3G, is a must in all of them.)
    • When you turn off GPS in setting and turn it on again.
    • When you keep GPS on and reboot. (also inject NTP time)
    • When you keep GPS on and run Leo AGPS Injector. (also inject NTP time)
    • When you keep GPS on and run GPS Status. (or any similar apps to download AGPS)
      • AGPS will be downloaded when you start GPS Status if AGPS is older than X days or Y hours where X and Y are read from the settings.
      • Or you can download it manually from Tools.
    • When you keep GPS on and replace with the modified gps.conf to set AGPS auto-download intervals when using GPS libs v1.8 or above.
      • AGPS auto-download intervals are disabled in default if you don't modify gps.conf.

    How to verify if AGPS works or not:
    • When AGPS works, you will be able to get a full lock (e.g. 7/7, 8/8, or 9/9) in cold start less than 20 seconds if you're outdoor in a sunny day.
      (Full locks mean fix and satellites equals to each other.)
    • If AGPS not works, you may see 5/7, 6/7, 5/8 (fix is less than satellites) right after you get a lock.

    How /system/etc/gps.conf works?
    There're three stock gps.conf in AOSP repository for different regions.
    1. gps.conf_AS_SUPL (Asia)
    2. gps.conf_EU_SUPL (Europe)
    3. gps.conf_US_SUPL (North-America)
    # Explanations are added. Don't copy them below to your gps.conf.
    NTP_SERVER=north-america.pool.ntp.org   (Used for NTP time injection)
    XTRA_SERVER_1=http://xtra1.gpsonextra.net/xtra.bin   (Used for AGPS data xtra.bin injection. Randomly choose from one of these three servers and download xtra.bin from it.)
    XTRA_SERVER_2=http://xtra2.gpsonextra.net/xtra.bin
    XTRA_SERVER_3=http://xtra3.gpsonextra.net/xtra.bin
    SUPL_HOST=supl.google.com   (Be read but never be used)
    SUPL_PORT=7276   (Be read but never be used)
    SUPL_HOST and SUPL_PORT are not used in current GPS libs implementation, so you can delete them.

    Supported extra settings for /system/etc/gps.conf when using v2.0 or above. (Only valid for HD2)
    Beginning with character # means this line is a comment, so you can remove it.
    You don't need to add any of them if you don't know what they are.
    Code:
    ###########################################
    # Enable/disable automatic (periodic)     #
    # download requests of gpsOneXTRA         #
    # assistance data to client               #
    # Range: 0 to 1                           #
    # Default: 0 (Disabled)                   #
    ###########################################
    [COLOR="Red"]GPS1_XTRA_AUTO_DOWNLOAD_ENABLED=0[/COLOR]
    
    ###########################################
    # Time (in hours) between automatic       #
    # download requests of gpsOneXTRA         #
    # assistance data to client               #
    # Range: 1 to 168 (168 = hr in a week)    #
    # Default: 24 hr                          #
    ###########################################
    [COLOR="red"]GPS1_XTRA_DOWNLOAD_INTERVAL=24[/COLOR]
    
    ###########################################
    # Enable/disable to shutdown the gpsOne   #
    # engine properly on GPS off              #
    # Range: 0 to 1                           #
    # Default: 1 (Enabled)                    #
    ###########################################
    [COLOR="red"]GPS1_CLEANUP_ENABLED=1[/COLOR]
    
    ###########################################
    # Time (in seconds) between invoking      #
    # pdsm_get_position()                     #
    # Range: 2 to 120                         #
    # Default: 2 seconds                      #
    ###########################################
    [COLOR="red"]GPS1_SESSION_TIMEOUT=2[/COLOR]

    AGPS works in v1.7. The following workaround is for v1.6 and below versions only.
    Instructions for the AGPS data Injection.
    There're at least three methods (I recommend free apps here.) to be able to inject AGPS data.
    GScript method is the base, so I describe it as follows.
    Please download libgps_Switcher_v1.6.zip, decompress it to your SD card, and follow the steps below if you want AGPS support.
    You need to repeat steps 4 and 5 every time when you need AGPS.
    1. Put the following files in the SD card.
      /sdcard/ClockworkMod/GPS_Libraries_v1.6_for_HD2_Gingerbread_update.zip (Remember to download it.)
      /sdcard/ClockworkMod/libgps_with_AGPS_update.zip (Remember to download it.)
      /sdcard/GScript/1_install_Magic_AGPS.sh
      /sdcard/GScript/2_install_libgps_v1.6.sh
    2. Install GScript or GScript Lite.
    3. Add 1_install_Magic_AGPS.sh and 2_install_libgps_v1.6.sh to GScript.
    4. Run 1_install_Magic_AGPS.sh, and the phone will hot reboot itself.
      After reboot, make sure you have network connection, and wait at lease 1 min to let Android download and inject AGPS data.
    5. Run 2_install_libgps_v1.6.sh, and the phone will hot reboot itself.
      After reboot, you can enjoy the quicker GPS cold lock.

    Changelog:
    • Version 2.1 NMEA|RPC - (Aug. 26)
      • Both: Remove or reduce some debugging info output to logcat. (Cleanup and optimization stage.)
      • Both: Output NMEA or RPC version and parsed settings of gps.conf to logcat.
    • Version 2.0 NMEA|RPC - (Aug. 6)
      • Both: Add GPS1_SESSION_TIMEOUT in gps.conf to set time between invoking pdsm_get_position(). (Default is 2 seconds. Range is 2~120 seconds.)
      • RPC: Hide Fix/Sats info and make the GPS symbol in the status bar flashing when you go to basement or tunnel. (NMEA already has this feature. This is for RPC version.)
    • Version 1.9 NMEA|RPC - (Jul. 29)
      • Both: Include v1.7's latest gps.htcleo.so, gps.leo.so, and gps.bravo.so again.
      • Both: Add a new thread for getting GPS location locks: (Credits to qwerty_7564)
        • gps_get_position() is called in its own thread using callbacks to request the next position.
        • remove unnecessary sleep and the can_send flag in pdsm_get_position().
      • Both: Remove unnecessary mallocs since there is a performance cost for use. (Credits to qwerty_7564)
      • Both: Shutdown the gpsOne engine properly on GPS off. (i.e. turning off GPS from settings) (Credits to qwerty_7564)
      • Both: Support loading the GPS1_CLEANUP_ENABLED flag from gps.conf. (Set it to 0 if you use a ROM that has "GPS off-and-on bug".)
      • Both: Parse gps.conf and invoke pdsm_xtra_set_auto_download_params() only once until reboot.
      • Both: Support the customized fix update frequency, which is set by a GPS tracking app, via gps_get_position(int timeout).
      • NMEA: Add a timer thread for supporting the customized fix update frequency which is set by a GPS tracking app.
        (As a result, we won't see the fast-forwarding effect in time field in GPS Status, and the random hot reboot issue in NMEA version may be fixed too.)
    • Version 1.8 NMEA|RPC - (Jul. 19)
      • Both: Support automatic (periodic) download requests of gpsOneXTRA assistance data to client. (Default is disabled.) (Credits to qwerty_7564.)
      • Both: Support enabling xtra.bin download requests and setting download interval from gps.conf.
      • Both: Include v1.6's old gps.htcleo.so, gps.leo.so, and gps.bravo.so. (It seems that v1.7's new gps.xxx.so causes the battery drain in some ROMs, but not all ROMs.)
      • NMEA: Disable $GPGSV report to make NMEA version more stable. (It seems that random hot reboot issue is reduced.)
      • RPC: Support the negative altitude. (Credits to arne182.)
      • RPC: Fix the incorrect HDOP value.
    • Version 1.7 NMEA|RPC - (Jul. 10)
      • Both: Activate the AGPS data injection. (You can get a cold lock very quickly due to the working AGPS.) (Thanks to qwerty_7564.)
      • Both: Include updated gps.htcleo.so, gps.leo.so, and gps.bravo.so. (Fix suspension issues.) (Thanks to rmcc.)
      • RPC: Disable NMEA sentences output and enable RPC Callback function output.
    • Version 1.6 - (Jul. 05)
      • Set Measurement Precision to 10.0 meters.
    • Version 1.5 - (Jun. 26)
      • Support daylight saving time (DST).
    • Version 1.4 - (Jun. 24)
      • A whole new version using NMEA sentences.
      • Hide Fix/Sats info when you go to basement or tunnel.
      • Show DOP/HDOP/VDOP values in GPS Status.
      • Show Altitude above Geoid (i.e. mean sea level) and Geoid height. (You will see both of them in GPS Status. The value within parentheses is Geoid height.)
      • Show correct SNR (Signal to noise ratio) value.
      • Disable AGPS Ephemeris data (xtra.bin) injection.
      • Assume Measurement Precision to 5.0 meters.
      • Include updated gps.htcleo.so, gps.leo.so, and gps.bravo.so. (Only one file will be used by your ROM. I suggest to delete the other two files in this zip file, and then flash it.)
    • Version 1.3 - (Jun. 15)
      • Fix the reboot issue. (In v1.2, reboot your phone when the GPS setting is off, you will enter the boot loop.)
      • Inject the correct time to the gpsOne engine.
      • Comment out some debugging data.
    • Version 1.2 - (Jun. 12)
      • Support injecting AGPS Ephemeris data (xtra.bin) into the gpsOne engine by implementing pdsm_xtra_set_data().
      • Support injecting time into the gpsOne engine by implementing pdsm_xtra_inject_time_info().
      • Assume Measurement Precision to 2.5 meters.
    • Version 1.1 - (Jun. 02)
      • Assume Measurement Precision to 2.0 meters.
    • Version 1.0 - (May 28)
      • Show the number of satellites before getting a location fix.
      • Show or hide the GPS icon in the status bar instantly when you start or stop a GPS app.
      • Support the leap seconds. (Thanks to arne182 for figuring it out.)
      • Modify the Accuracy to be more reasonable. (Assume Measurement Precision to 10 meters)
      • Add AGPS interface. (Won't see "no AGPS interface in agps_data_conn_open" in logcat now.)
      • Add the missing functions to receive the NTP, XTRA, and SUPL settings from gps.conf.

    Credits: the XDAndroid Project, dan1j3l, rmcc, tytung, arne182, clyder, ozkaya, qwerty_7564, and everyone who participated in the related discussion or helped test the libs.
    73
    Leo AGPS Injector v0.5

    Leo AGPS Injector is an Android app for quickly injecting NTP time and AGPS xtra.bin data, and lets you explicitly know when the AGPS data is injected.

    • Manual execution: Run this app to finish the AGPS injection task manually.
    • Auto execution: Use Script Manager(free app) or Tasker(paid app) to schedule the routine task by using the script below or using any similar method.
      agps_injection.sh
      Code:
      am startservice -n leo.android.agps/leo.android.agps.AGpsService
    Download and install LeoAGpsInjector_v0.5.apk
    chart



    Changelog:
    • v0.5:
      • Add a network check for refreshing widget's injection time only if connecting to a really available network. (i.e. can download xtra.bin and get NTP time)
        In v0.4, it will still refresh the time even if you are roaming and disable data roaming. (Under this situation, you cannot download anything but this app doesn't know.)
    • v0.4:
      • Merge versions 0.3 and 0.3a:
        Add a check box for determining if showing the setting dialog every time when running this app.
        • When you uncheck it and run this app again, it will inject NTP time and AGPS xtra.bin data, and then destroy this app by itself. So you won't see any UI.
        • When you uncheck it and leave this dialog, you must go to [Settings]->[Applications]->[Manage appliciation]->[Leo AGPS Injector], and press "Clear data" to get this dialog popped up again.
    • v0.3:
      • Add a widget for quickly injecting NTP time and AGPS xtra.bin data.
      • Display the last injection time in the widget.
      • Include three types of notifications: Notification/Status Bar, Pop-up message, and None.
    • v0.2:
      • You can choose to see the real injection time in the notification bar or to be notified through a pop-up message.
    • v0.1:
      • If you network is unavailable, this app will run as a background Service and passively wait for the connectivity change notification from the Android.
        • Besides, you can see the "Waiting for an available network." message in the notification bar.
      • When you network is available, this app will download and inject NTP time and xtra.bin, and then the Service will destroy itself to free the memory, so this app won't occupy your memory.
        • Besides, you can see the real injection time in the notification bar, and you can clear it if needed.
    LeoAGPSInjector_v0.5_01.png
    LeoAGPSInjector_v0.5_02.png
    56
    AGPS Development is finished.

    My modified source code of libgps.so has been uploaded to Github. https://github.com/tytung/android_hardware_leo_libgps

    Notice:
    The source code is released under the GNU General Public License version 3 (GPLv3).
    So you must release your modified source code if you would like to release a modified libgps.so.

    Development info:
    Credits: tytung, clyder, ozkaya, qwerty_7564, and everyone who participated in the related discussion or helped test the libs.
    36
    AGPS Devel

    I changed this line in gps_xtra_set_data from leo-gps-rpc.c.
    from:
    Code:
    res = pdsm_xtra_set_data(_clnt, 0, client_IDs[0xb], 0, xtra_data_ptr, part_len, part, total_parts, 0);
    to:
    Code:
    res = pdsm_xtra_set_data(_clnt, 0, client_IDs[0xb], 0, xtra_data_ptr, part_len, part, total_parts, 1);
    and agps appears to be working. I have uploaded the modified libgps.so in tytung's zip package just replaced the libgps.so. I was wondering if people would try it out.
    23
    If you want to enable xtra.bin download requests and set download interval, you need to modify gps.conf.
    Set GPS1_XTRA_AUTO_DOWNLOAD_ENABLED to 1 and set GPS1_XTRA_DOWNLOAD_INTERVAL to 24 hr or whatever. (range is 1~168)

    Code:
    NTP_SERVER=north-america.pool.ntp.org
    XTRA_SERVER_1=http://xtra1.gpsonextra.net/xtra.bin
    XTRA_SERVER_2=http://xtra2.gpsonextra.net/xtra.bin
    XTRA_SERVER_3=http://xtra3.gpsonextra.net/xtra.bin
    SUPL_HOST=supl.google.com
    SUPL_PORT=7276
    
    ###########################################
    # Enable/disable automatic (periodic)     #
    # download requests of gpsOneXTRA         #
    # assistance data to client               #
    # Range: 0 to 1                           #
    # Default value: 0 (Disabled)             #
    ###########################################
    [COLOR="Red"]GPS1_XTRA_AUTO_DOWNLOAD_ENABLED=1[/COLOR]
    
    ###########################################
    # Time (in hours) between automatic       #
    # download requests of gpsOneXTRA         #
    # assistance data to client               #
    # Range: 1 to 168 (168 = hr in a week)    #
    # Default value: 24 hr                    #
    ###########################################
    [COLOR="red"]GPS1_XTRA_DOWNLOAD_INTERVAL=24[/COLOR]