[GPS/AGPS] REAL solution analysis thread (Jupiter Tweaks) - v006! - Froyo JI6

zer0chance

New member
Jul 29, 2010
3
0
0
(sorry - apparently I am still, after some time, waiting for my account to be verified by a moderator so I can post outside links...)

The driver source does not do anything more than push raw chunks of data to/from the chipset. Apparently, the data is in "MEIF" format - a proprietary Nokia protocol. It doesn't seem the driver is particularly interesting or helpful in doing something useful with the BCM4751.

www spinics net lists linux-i2c msg03690.html

No details of the format are provided, only a document relating to licensing information from Nokia.

www forum nokia com info sw.nokia.com id b265d3aa-8198-4eb0-a0e3-077748ccea40 MEIF_Specification_License.pdf.html

The following talks a bit about MEIF, or the ME interface, describing it is "a de facto standard for GPS/GNSS chip manufacturers." Several related names seem to be "MEIF", "ME interface", and "ME-PE".

books google com books?id=stTSHdFhrFUC&pg=PA280&lpg=PA280&dq=meif+agps&source=bl&ots=z6QfZFkbPl&sig=pAsP8i1RWIhtF1Yebn3t1JApc4U&hl=en&ei=q8GcTK-BKcGB8gb67ZWVDw&sa=X&oi=book_result&ct=result&resnum=2&ved=0CBMQ6AEwAQ#v=onepage&q&f=false

It seems a common enough format in the industry, but no specifications were immediately forthcoming. Perhaps the Nexus has a more complete open source tree and includes something relating to MEIF?
 

iceman4357

Senior Member
Jun 17, 2006
1,258
120
83
St.Louis
Network assist is not a problem. There is no need to disable it.

Just take a test drive using Google Navigation. Ignore the fact that it always seems to be dead on your position (because all navigation software snap you to the nearst road). Instead, pay close attention to:

1. Whether or not you see a blue circle surrounding your position. If you do see that, your GPS has failed at that time and the size of the circle is the estimated inaccuracy of the GPS. You need to be patient because blue circle comes and goes randomly.

2. Pay attetion to certain landmarks like bridges, overpasses and intersections. And compare that to your position on the map to see if you experience lags.

3. The navigation software snaps you to the wrong road nearby even though you didn't see the blue circle.

In my personally experience, all three showed up randomly. I have no problem getting a quick lock at all.
Mine has actually been MUCH better since the update. I tested the GPS on the way home from work. Its about a 35mile drive all highway with lots of side streets. Before the update the GPS position would bounce all over thinking I was on side streets when I was not. After the update the GPS position is much more accurate. I did pass undera bridge and the GPS was spot on, and didt really lag for me at all. It never once had a blue circle around my arrow.

Like a few others have stated, We will have to see if this fix stays accurate after a few weeks, as some of the "fixes" seem to work only for a few days.
 

Justinph5

Senior Member
Aug 6, 2010
73
0
0
When I used my original stock rom & root, it would take a few minutes to get a lock, but after I got the lock, I could travel anywhere and the GPS would be spot on the whole way.

Yesterday I put on Cognition 2.1 with the OTA update. The GPS locks faster and in places it wouldn't lock before, but now I can't move anywhere without it sitting in the same spot then have to lock onto me again.
 

tehXKnight

Member
Mar 10, 2009
7
0
1
I had the same experience. Before it always seemed to do a cold start no matter what I set for AGPS, but once it locked on, GPS was solid and would hot start again until I had the GPS off for a few hours or reset the phone.

Now with Cognition 2.1 I get locks in under 30 seconds no matter what, but it acts like it just makes the lock, then drops it immedately, then it starts all over again and moves me on the map when it gets the next lock in 15-30 seconds. I watched it during the 20 minute drive home (the wife was driving) and the longest it went before dropping and reacquiring was 5-10 seconds.

But I agree. There's nothing wrong with AGPS. The problem is with the GPS itself maintaining a lock. *sigh* Kind of makes me want to go back to stock pre JH7. At least it eventually locked and stayed good then. It only seemed to get confused if I was stopped for a few minutes, like at a red light from hell.
 

Joe1981AL

Senior Member
Apr 12, 2008
96
1
0
CRAP....typed up a long thing and crashed it by hitting backspace while not in the inputbox...

Ok I wanted to look at all this before even found source for drivers for the 4751 chipset for linux. I wanted to pass AT commands to the chipset. It may be possible using test functions that I've found. I'm just not good at programing, I just do some debugging, compiling, and testing.

Check out /etc/jupiter.xml and you see all the settings at the top, they are settings that apply to all jobs listed in the file. The jobs are specified with "job id". For those not familiar with the XML the <!-- sections are all commented out and DO NOT APPLY, they seem to be for an older chipset.

Check out /system/bin/gpsd also /data/gps and you will want to check out /data/gpspipe when this is running.

If you run "/system/bin/gpsd/glgps_samsungJupiter /etc/jupiter.xml normal" in one adb shell then in another run "cat /data/gpspipe" you will get raw NMEA pipe from the GPS.

You can create your own jobs in the jupiter.xml file, or make your own xml file and just specify it in the command line, while glgps is running you can send commands to the chip via a pipe that is opened to the chip at /data/gpsd/glgpsctrl

AFAIK on lbstestmode, dynamic accuracy off you get a lock only at the specified accuracy and loose lock if its worse. with dynamic on it tries for the best possible accuracy but if it goes over the specified setting for too long it looses lock. Thats why the higher the faster the lock.

I've got like 50 things going on here at work and playing with this, so if typo'd or missing something my bad, but just trying to give some help.
 

Attachments

Last edited:

Joe1981AL

Senior Member
Apr 12, 2008
96
1
0
I noticed a huge improvement using gps if it is on the dash and not in my lap.

as long as it can see the sky its happy.
from disassembly pics I've seen the WIFI antenna is on the bottom of the phone or maybe thats the cell antenna, there are two nubs that stick up and touch the battery cover

I'm assumming those have some type of antenna function, since I've seen no other antenna wiring in the phone pics from disassembly.

Used Bluetooth GPS to get data from my bluetooth "i-blue" that I have mounted in my trucks dash with external antenna on top. Used to use that for navigation for work with my laptop. The CNR is always about 20 more than the captivate is, which the "i-blue" used to do the same crap, run me through the woods before i gave it a boost with the external antenna. No matter the number of sats, low CNR will cause slow updates and bad tracking.
 

foxbat121

Senior Member
Apr 27, 2006
2,849
256
0
I noticed a huge improvement using gps if it is on the dash and not in my lap.

as long as it can see the sky its happy.
I noticed the same thing. Not only that I found that when I stand the phone vertically (portrait mode) gives me better results than landscape mode.

Use GPS Test app, I noticed that I need 2 or 3 satellites in upper 30 SNR range in order to get mostly error free navigation. In rare occations, I got 40+ SNR on one or two birds. Sometimes, all I got are low 20s and low 30s. That will be a really bad day for GPS navigation.

BCM 4751 is suppose to be designed to work well in weak signals. But it didn't.
 

Joe1981AL

Senior Member
Apr 12, 2008
96
1
0
I noticed the same thing. Not only that I found that when I stand the phone vertically (portrait mode) gives me better results than landscape mode.

Use GPS Test app, I noticed that I need 2 or 3 satellites in upper 30 SNR range in order to get mostly error free navigation. In rare occations, I got 40+ SNR on one or two birds. Sometimes, all I got are low 20s and low 30s. That will be a really bad day for GPS navigation.

BCM 4751 is suppose to be designed to work well in weak signals. But it didn't.
Wonder if the extra satellite support SBAS/WAAS is turned on when the driver fires up or if its off, i believe this can be determined from the nmea if logged and looked over.
 

Joe1981AL

Senior Member
Apr 12, 2008
96
1
0
oh yea, the commands in the "hal" section of the juptier.xml are parsed every time the gps is fired up by the system. The reason I'm 100% sure is back when JH3 came out you'd fill up your data partition with GPS logs if you didn't edit jupiter.xml and turn the logging off.
 

DemonWav

Senior Member
Sep 11, 2010
455
770
0
Lawton, OK
I wanted to give you guys a heads up...

I just spoke with Samsung's tier-2 support, and they say it was just a misunderstanding that the JH7 OTA contained the GPS fix -- because it really doesn't:

http://forum.xda-developers.com/showthread.php?t=791597

The "real" fix is still scheduled to show before the end of this month.
Well if this is true, not sure I believe it, than we won't have to wait long.
 

jgaviota

Senior Member
Jan 4, 2008
383
63
48
GPS Plus

Hi all, I live in Guatemala Central America

My GPS used to fail to get lock.

With the latest Cognition, it also didn't work.
Changed the settings in LBSTestMode to

MS Based
Supl Server: supl.nokia.com
Port: 7275
(The one configured in Cognition appears to work only from ATT)

With these settings I managed to get a lock, but while driving accuracy was waaay of, specially the bearing.

I then disabled GPS Plus, thinking that it is this setting that tries to guess where you are going and is responsible for overshooting and all of that.

After that bearing and position are spot on :D

So I think GPS Plus is responsible for figuring out where you will be, based on current speed and bearing. What do you think?
 

Joe1981AL

Senior Member
Apr 12, 2008
96
1
0
hell, dunno what i did, but after latest update i can't get into lbstestmode

i haven't changed anything, went to stock, rooted, and put on cog 2.1
 

jgaviota

Senior Member
Jan 4, 2008
383
63
48
Have you made an Activities Shortcut to LBSTestMode in Launcher Pro?

I'm told that you can also use Beutifull Widgets for that.

Key sequence doesn't work with JH7
 

Joe1981AL

Senior Member
Apr 12, 2008
96
1
0
Have you made an Activities Shortcut to LBSTestMode in Launcher Pro?

I'm told that you can also use Beutifull Widgets for that.

Key sequence doesn't work with JH7
yea searched after i posted, someone mentioned lbstestmode in market so that was enough for me... its just a link to launch it :)
 

jgaviota

Senior Member
Jan 4, 2008
383
63
48
Operation Mode (S/W)
Tells the device (or is it just LBSTestMode and not system-wide?) how to use AGPS data
If the settings aren't system-wide, how do we figure out where to change them so that they affect the whole system? Is there a driver to decompile or hex edit to change settings?
 

Joe1981AL

Senior Member
Apr 12, 2008
96
1
0
from what I'm seeing we are using glgps daemon to fire off the GPS and control it, only some settings from lbstestmode are passed along to glgps, and other settings are controlled in jupiter.xml

the vibrant that is supposedly fixed or has a fix, i believe has moved passed the glgps and is using a better driver based system. something of that fashion may be what samsung plans on pushing to the captivate, hopefully they will...
 

CLShortFuse

Retired Recognized Developer
Feb 28, 2007
684
942
0
If the settings aren't system-wide, how do we figure out where to change them so that they affect the whole system? Is there a driver to decompile or hex edit to change settings?
Well, I have written an application that uses GPS for Android and I have seen the SDK. To me, the LBSTestMode application doesn't change system wide settings (other than SUPL settings). The application settings are just that. APPLICATION settings (not system settings).

This is on my Samsung (/data/gps/secgps.conf)

Code:
#Generated by GpsLocationProvider.
#Fri Sep 24 20:33:03 America/New_York 2010
SSL=0
SSL_TYPE=0
POSITION_MODE=7
OPERATION_TEST_MODE=0
ACCURACY=50
SESSION_TYPE=1
SERVER_MODE=1
ENABLE_NMEA=false
START_MODE=WARM
AGPS_MODE=0
DYNAMIC_ACCURACY=1
ADDRESS_MODE=1
OPERATION_MODE=MS BASED
TIME_BTW_FIX=0
USE_DEFAULT=true
DYNAMIC_ACCURACY_VALUE=50
SUPL_PORT=7275
ENABLE_XTRA=true
SUPL_HOST=www.spirent-lcs.com
USE_PCTOOL=0
NUM_OF_FIX=0
TIMEOUT=1000

This is Motorola's

Code:
[LCS FDB]
DL_DB_FEATURE_ID_LOCATION_AVAILABLE = 1
DL_DB_FEATURE_ID_LOCATION_ON_OFF_AVAILABLE = 1
DL_DB_FEATURE_ID_LOCATION_STATE = 1

[LCS SEEM]
DL_LCS_CAPABILITY_MSBASED_AGPS =     1
DL_LCS_CAPABILITY_MSASSIST_AGPS =     1
DL_LCS_CAPABILITY_CONV_AGPS =     1
DL_LCS_CAPABILITY_MSBASED_OTDOA =     0
DL_LCS_CAPABILITY_MSASSIST_OTDOA =     0
DL_LCS_CAPABILITY_CELLID =     0
DL_LCS_NETWORK_3GPP =     1
DL_LCS_NETWORK_X1 =     0
DL_LCS_NOTIFY_VERIFY_CAPABILITY =     1
DL_LCS_SS_MOLR_CAPABILITY =     0
DL_LCS_X1_ERROR_RETRY_PROVISIONING =     0
DL_LCS_NETWORK_SUPL =     1
DL_LCS_SUPL_SECURITY_ON =     1
DL_LCS_WHITELIST_ENABLED =     0
DL_LCS_SUPL_TRACK_ENH =     1
DL_LCS_PREF_POSMETHOD =     0
DL_LCS_SUPL_FALLBACK_TO_3GPP =     0
DL_LCS_SUPL_DEBUG_INDICATIONS =     0
DL_LCS_SUPL_MT_OFF =     1
DL_LCS_SUPL_CARRIER_INDEPENDENT =     1
DL_LCS_3GPP_USER_STATUS_OVERRIDE =     1    
hslp_address = supl1s.motorola.com:7275 
default_hslp_address = supl1s.motorola.com:7275
DL_LCS_DEFAULT_DATA_PROFILE = CingularWap
DL_LCS_SUPL_SESSION_PREP_TIMER_LEN = 1 
3GPP_LOG_FLEX_ENABLED = 1
SHIM_LOG_FLEX_ENABLED = 1
SUPL_LOG_FLEX_ENABLED = 1 
DL_LCS_CAPABILITY_NOTVER_UPGRADE = 0
DL_LCS_SUPL_VERSION = 1
DL_LCS_CAPABILITY_MO_MSB_SUPL = 1
DL_LCS_CAPABILITY_MO_MSA_SUPL = 1
DL_LCS_SUPL2_DATA_INACTIVITY_CLOSE_TIMER = 300

[GPS DRV]
leap_seconds =     15
ref_pos_unc_valid =     1
ref_pos_semi_major_unc =     83
ref_pos_semi_minor_unc =     83
ref_pos_altitude_unc =     47
ref_time_unc_valid =     1
ref_time_unc =     145

[CAIDL]
ACTIVE_TRANS_OFFSET = 1000
MIN_WAKEUP_OFFSET = 3000
MAX_WAKEUP_OFFSET = 10000
WAKEUP_OFFSET_PCT = 10
DRV_RSP_INTERVAL = 1000
STOP_TIMEOUT = 2000
APP_REQ_GUARD_OFFSET = 1000
DRV_RSP_GUARD_OFFSET = 4000
SUPL_TRACK_ENH_TIMEOUT = 60000
ASSIST_GATE_TIMEOUT = 20000
IDLING_TIMEOUT = 5000
MIN_EARLY_RANGES = 5
LOC_LOG_LEVEL = 4
DRV_LOG_TO_SP = 0
DRV_LOG_LEVEL = 0
DISABLE_START_DRV_FROM_SP_BOOT = 1
IS_VALID_LAST_DRV_TCXO = 0
LAST_DRV_TCXO = 0
HW_AFC = 1
TTF_3GPP_LATENCY_OFFSET = 1000
INJECT_TCXO = 0
MIN_RANGES_USEFUL_COARSE = 5
LOC_LEARNING = 1
LOC_LEARNING_MAX_SIZE = 50
VCTXO_UNC_VALUE = 299 
SHARED_TCXO_ENABLED = 0
NO_FIX_EARLY_WAKEUP = 60000
MIN_NAV_REQ_INTERVAL = 3600000
Jupiter.XML has interesting information. Seems like they're testing the GPS in Atlanta, GA

Code:
<?xml version="1.0" encoding="utf-8"?>
<glgps xmlns="http://www.glpals.com/" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://www.glpals.com/ glconfig.xsd" >
  <!--HAL Confguration  -->
  <hal 
       acPortName="/dev/s3c2410_serial1" lBaudRate="115200"  cLogEnabled="false" acLogDirectory="/data/gps/log/" ltoFileName="lto.dat" 
       enhanced-assisted="false" cp-enhanced-assisted="true" TISEnabled="false" RILEnabled="true" 
              
       arp-supl-enable="true" arp-supl-cap-msb="true" arp-supl-cap-msa="true" arp-supl-cap-ecid="false"
       acSuplServer="www.spirent-lcs.com" SuplPort="7275" tlsCertPath="/system/bin/gpsd/supl_att_root.cer"
       LbsEnable="false" LbsLocal="true" LbsSyncLto="true" LbsSyncCells="true"

       acNmeaOutName="/data/gpspipe"  
       gpioNStdbyPath="/sys/class/gpio/gpio121/value"
       gpioNResetPath="/sys/class/gpio/gpio120/value"
       ctrlPipe="/data/gps/glgpsctrl"
       lcsApiSockName="/data/gps/lcs.socket" 
       acNvStoDir="/data/gps/"
       />

  <!-- Parameters passed to GlEngine   -->
  <!--gll
         LogPriMask="LOG_DEBUG"
         LogFacMask="LOG_GLLAPI | LOG_DEVIA | LOG_NMEA | LOG_RAWDATA | LOG_DEVMS | LOG_ASIC_IO | LOG_BBTEST | LOG_DEVET | LOG_MESM | LOG_DEVKF | LOG_DEVJG | LOG_DEVMR" 
         FrqPlan="FRQ_PLAN_10MHZ_2PPM_10MHZ_100PPB" FrqPlan="FRQ_PLAN_10MHZ_2PPM" "FRQ_PLAN_16_8MHZ_2PPM"
         RfType="GL_RF_PALS7" "GL_RF_BARRACUDA" "GL_RF_2075_LN22" "GL_RF_2075_BRCM" "GL_RF_PALS7_BRCM" "GL_RF_BARRACUDA_BRCM" "GL_RF_BARRACUDA_EXT_LNA"
         NOTE: "GL_RF_BARRACUDA_EXT_LNA" should be used for BAS
  /-->

  <!-- NOTE: BrcmRFwildBase, BrcmRFclkDiv, anBrcmRFclkRefHz only needed for Broadcom RF front end test chips
            ( i.e. GL_RF_2075_BRCM and GL_RF_PALS7_BRCM ) -->

  <gll 
       LogPriMask="LOG_DEBUG"
       LogFacMask="LOG_GLLAPI | LOG_DEVIA | LOG_NMEA | LOG_RAWDATA | LOG_DEVMS | LOG_ASIC_IO | LOG_BBTEST | LOG_DEVET | LOG_MESM | LOG_DEVKF | LOG_DEVJG | LOG_DEVMR" 
       FrqPlan="FRQ_PLAN_26MHZ_2PPM_26MHZ_300PPB_UNSTABLE"   
       RfType="GL_RF_4751_DANUBE"   
       BrcmRFwildBase="0x1E2D6409"
       BrcmRFclkDiv="21"
       BrcmRFclkRefHz="26000000"
       pps-enable="false" pps-offset-ms="0" pps-width-ns="100" 
  />

  <!-- List of jobs can be performed by the GPS controller    -->

  <!-- The default job  all parameters are set to default values  -->
  <job id="normal">
      <task >
      	<startup ignore_osc="true"  ignore_rom_alm="true"  ignore_nav="true" ignore_pos="true" ignore_ram_alm="true" ignore_time="true"/>
      </task>
    </job>

    <job id="cold-single-supl">
    <task id="sg_a50_t20">
      <!-- Instructs GLL to ignore frequency read from NVSTORAGE -->
      <startup ignore_time="true" ignore_osc="false" ignore_pos="true" ignore_nav="true" ignore_ram_alm="true" ignore_rom_alm="true" />
      <!--req_pos_single acc="50" timeout="20" /-->
      <req_pos_single acc="50" timeout="20" />
    </task>
  </job>

  <!-- Job to test frequency aiding   -->
    <job id="freq-aid-test">
        <task>
            <!-- Instructs GLL to ignore frequency read from NVSTORAGE -->
            <startup ignore_osc="true"  />
            <asst>
                <freq offst_ppb="0" unc_ppb="500" />
            </asst>
            <req_pos />
        </task>
    </job>

    <!-- Job to perform 3GPP moving testing, periodic mode  -->
  <job id="sim-cold-auto">
    <task id="periodic-eph-tm-clk" repeat="10">
      <!-- Instructs GLL to ignore frequency read from NVSTORAGE -->
      <startup ignore_osc="true"  ignore_rom_alm="true"  ignore_nav="true" ignore_pos="false" ignore_ram_alm="true" ignore_time="false"/>
      <req_pos />
    </task>
  </job>

    <!-- Job to perform 3GPP moving testing, periodic mode  -->
  <job id="sim-need-bit">
    <task id="periodic" repeat="20">
      <!-- Instructs GLL to ignore frequency read from NVSTORAGE -->
      <startup ignore_rom_alm="true" ignore_pos="true" ignore_ram_alm="true"/>
      <req_pos period="1000" fixcount="100" validfix="10"/>
    </task>
  </job>

    <!-- Job to perform 3GPP moving testing, periodic mode  -->
    <job id="sim-bit-wipeoff">
        <task id="periodic" repeat="20">
          <startup ignore_rom_alm="true" ignore_ram_alm="true" ignore_time="true"/>
          <asst>
            <pos Lat="33.75" Lon="-84.3833333" Alt="300" />
          </asst>            
          <req_pos />
        </task>
    </job>

  <!-- Job to perform 3GPP moving testing, periodic mode  -->
  <job id="sim-utc-check">
    <task id="periodic" repeat="20">
      <startup ignore_rom_alm="true" ignore_ram_alm="true" ignore_time="true"/>
      <asst>
        <pos Lat="33.75" Lon="-84.3833333" Alt="300" />
      </asst>        
      <req_pos />
    </task>
  </job>  

  <!-- Job to perform 3GPP testing, sigle shot mode  -->
  <job id="sim-cold-single">
    <task id="sg_a50_t20" repeat="10">
      <!-- Instructs GLL to ignore frequency read from NVSTORAGE -->
      <startup ignore_rom_alm="true" ignore_ram_alm="true" />
      <asst>
        <!--pos Lat="-30.0" Lon="-50.0" Alt="50" /-->
        <!--pos Lat="33.75" Lon="-84.3833" Alt="300" /-->
        <!--pos Lat="37.0" Lon="-122.0" Alt="50" /-->
        <!--pos Lat="37.26533652" Lon="-121.94128855" Alt="51.4" /-->
      </asst>
      <!--req_pos_single acc="50" timeout="20" /-->
      <req_pos_single acc="50" timeout="20" />
    </task>
  </job>
   
    <!-- Job to perform 3GPP testing, sigle shot mode  -->
    <job id="sim-single">
        <task id="sg_a50_t20" repeat="10">
            <!-- Instructs GLL to ignore frequency read from NVSTORAGE -->
            <startup ignore_rom_alm="true" ignore_ram_alm="true" ignore_osc="true"/>
            <asst>              
                <!--pos Lat="33.7691" Lon="-84.4062" Alt="0" /-->
                <!--pos Lat="-30.0" Lon="-50.0" Alt="50" /-->
                <pos Lat="33.75" Lon="-84.3833333" Alt="300" />
                <!--pos Lat="37.0" Lon="-122.0" Alt="50" /-->
                <!--pos Lat="37.26533652" Lon="-121.94128855" Alt="51.4" /-->
            </asst>
            <req_asst  />
            <req_pos_single acc="50" timeout="23" />
        </task>
    </job>
    
  <!-- Job to perform 3GPP testing, sigle shot mode  -->
  <job id="sim-cold-single_foff">
    <task id="sg_a50_t20" repeat="10">
      <!-- Instructs GLL to ignore frequency read from NVSTORAGE -->
      <startup ignore_rom_alm="true" ignore_ram_alm="true" ignore_osc="true" />
      <asst>
        <!--pos Lat="-30.0" Lon="-50.0" Alt="50" /-->
        <!--pos Lat="33.75" Lon="-84.3833" Alt="300" /-->
        <!--pos Lat="37.0" Lon="-122.0" Alt="50" /-->
        <!--pos Lat="37.26533652" Lon="-121.94128855" Alt="51.4" /-->
      </asst>
      <!--req_pos_single acc="50" timeout="20" /-->
      <req_pos_single acc="50" timeout="20" />
    </task>
  </job>

  <!-- Job to perform 3GPP moving testing, periodic mode  -->
  <job id="sim-ass-auto">
    <task id="periodic" repeat="10">
      <!-- Instructs GLL to ignore frequency read from NVSTORAGE -->
        <startup ignore_rom_alm="true" ignore_ram_alm="true" ignore_time="true" ignore_osc="true"/>
        <asst>
        <pos Lat="33.75000" Lon="-84.38330" Alt="300" />
        <!--pos Lat="33.76910" Lon="-84.40620" Alt="300" /-->
        <!--pos Lat="37.0" Lon="-122.0" Alt="50" /-->
        <!--pos Lat="37.26533652" Lon="-121.94128855" Alt="51.4" /-->
      </asst>
      <req_pos />
    </task>
  </job>

  <!-- Job to perform 3GPP moving testing, periodic mode  -->
  <job id="sim-low-tow">
    <task id="periodic" repeat="10">
      <!-- Instructs GLL to ignore frequency read from NVSTORAGE -->
      <startup ignore_rom_alm="true" ignore_ram_alm="true" rtc_error_ms="-2000"/>
      <asst>
        <pos Lat="33.75000" Lon="-84.38330" Alt="300" />
        <!--pos Lat="33.76910" Lon="-84.40620" Alt="300" /-->
        <!--pos Lat="37.0" Lon="-122.0" Alt="50" /-->
        <!--pos Lat="37.26533652" Lon="-121.94128855" Alt="51.4" /-->
      </asst>
      <req_pos />
    </task>
  </job>

    <!-- Job to perform 3GPP moving testing, periodic mode  -->
    <job id="sim-syncin-test">
        <task id="periodic" repeat="10">
            <!-- Instructs GLL to ignore frequency read from NVSTORAGE -->
            <startup ignore_rom_alm="true" ignore_ram_alm="true" ignore_time="true"/>
            <asst>
                <!--pos Lat="-30.0" Lon="-50.0" Alt="50" /-->
                <!--pos Lat="33.75" Lon="-84.3833333" Alt="300" /-->
                <!--pos Lat="37.0" Lon="-122.0" Alt="50" /-->
                <pos Lat="37.26533652" Lon="-121.94128855" Alt="51.4" />
            </asst>
            <req_pos />
        </task>
    </job>    

  <!-- Job to perform single shot testing   -->
  <job id="single-shot">
    <task id="shot" repeat="50">
      <startup ignore_rom_alm="true" ignore_ram_alm="true" ignore_time="false" ignore_osc="true"/>
      <asst>
        <pos Lat="33.76910" Lon="-84.40620" Alt="300" />
        <!--pos Lat="33.75000" Lon="-84.38330" Alt="300" /-->
      </asst>
      <!-- Ask GLL what assitance data is required  -->
      <req_asst  />
      <req_pos_single acc="50" timeout="60" />
    </task>
  </job>

  <!-- Job  to perform CNTIN  testing   -->
  <job id="cntin-test">
    <!-- This task requests the CNTIN to be performed   -->
    <task id="cntin" repeat="10">
      <!-- Instructs GLL to ignore frequency read from NVSTORAGE -->
      <startup ignore_osc="true"  />
      <req_cntin />
    </task>
  </job>

  <!-- Job  to perform autonomus mode testing   -->
  <job id="auton-start">
    <task id="factory" repeat="15">
      <!-- Instructs GLL to ignore all elements stored in NVRAM listed below -->
      <startup ignore_time="true" ignore_osc="true" ignore_pos="true" ignore_nav="true" ignore_ram_alm="false" ignore_rom_alm="true" />
      <features sbas_priority="disabled"/>
      <!-- Do this test in periodic mode  -->
      <!-- Stop if we got either 100 any fixes or one valid  -->
      <req_pos period="1000" fixcount="500" validfix="500" />
    </task>
  </job>

    <!-- Job to perform factory testing with the Simulator output set to -130 dBm  -->
    <job id="factory-high-snr">
        <task id="test" repeat="1">
            <!-- Instructs GLL to ignore all elements stored in NVRAM listed below -->
            <startup ignore_osc="true" ignore_time="true" ignore_pos="true" ignore_nav="true" ignore_ram_alm="true" ignore_rom_alm="true" />
            <req_ftest PRN="1" GL_FACT_TEST_MODE="GL_FACT_TEST_CONT"  GL_FACT_TEST_ITEMS="GL_FACT_TEST_WER" avg_int_sec="10" duration_sec="60" />
        </task>
    </job>

    <!-- Job to perform factory testing with the Simulator output set to -150 dBm  -->
    <job id="factory-low-snr">
        <task id="test" repeat="1">
            <startup ignore_osc="false" ignore_time="true" ignore_pos="true" ignore_nav="true" ignore_ram_alm="true" ignore_rom_alm="true"/>
            <req_ftest PRN="9" GL_FACT_TEST_MODE="GL_FACT_TEST_CONT"  GL_FACT_TEST_ITEMS="GL_FACT_TEST_FRQ" avg_int_sec="10" duration_sec="60" />
        </task>
    </job>

    <!-- Job  to perform RF false alarm test  -->
    <job id="false-alarm-test">
        <task >
            <startup ignore_time="true" ignore_osc="true" ignore_pos="true" ignore_nav="true" ignore_ram_alm="true" ignore_rom_alm="true" />
            <features enable_false_alarms="true"/>
            <req_pos />
        </task>
    </job>
    
    <!-- Job  to perform platform testing   -->
    <job id="platform-test">
        <task id="factory" >
            <!-- Instructs GLL to ignore all elements stored in NVRAM listed below -->
            <startup ignore_time="true" ignore_osc="true" ignore_pos="true" ignore_nav="true" ignore_ram_alm="true" ignore_rom_alm="true" />
            <!-- Do this test in periodic mode  -->
            <!-- Stop if we got either 100 any fixes or one valid  -->
            <req_pos period="1000" fixcount="600" validfix="1" />

        </task>
        <task id="warm" repeat="1">
            <!-- Instructs GLL to ignore all elements stored in NVRAM listed below -->
            <startup ignore_nav="true" />
            <!-- Do this test in periodic mode  -->
            <!-- Stop if we got either 100 any fixes or one valid  -->
            <req_pos period="1000" fixcount="600" validfix="600"/>
        </task>
    </job>

  <job id="perso">
    <task repeat="1">
        <startup ignore_rom_alm="true"  />
        <features  enable_low_power="true"/>
        <req_pos />
    </task>
  </job>

</glgps>
OTA JH7 is using FRQ_PLAN_26MHZ_2PPM_26MHZ_300PPB_UNSTABLE

Updated first post with nice info.
 
Last edited: