[Defy Android Development] popcorn1122:
found the answer of lto.dat not getting downloaded. The file is actually downloaded... but its stored in 3 different files.

\data\location\ have three file.

gpsdata.nvs , learn_store.bin , location.cfg

These three files are generated by downloading lto.dat from this code of xml:

<glgps xmlns="http://www.glpals.com/" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="glconfig.xsd" >

The details are stored in gpsdata.nvs , learn_store.bin , location.cfg for around 4 hours max...

What I can conclude is that we do not need any gps.conf file... we just need to be patient with our defy to get those there files via gprs or wifi... Once this is done the GPS will work fine in fixing in around 10 seconds...

---------- Post added at 07:09 PM ---------- Previous post was at 06:27 PM ----------

I have found a file of other mobile manufacturer who uses LTO... any one can use the below file for a better config of GPS for motorola defy? the ttyHS1 is different... some paths are different like /data/location of motorola defy is /data/gps of this other manufacturer...

We can have Repetetive warm starts if GPS receiver starts after it was left off for more that 4 hours. Only we need to edit this file and not gps.conf in case of Broadcom chipsets..

<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
acPortName="/dev/ttyHS1"
lBaudRate="115200"
cLogEnabled="false"
acLogDirectory="/data/gps"
ltoFileName="lto.dat"
ctrlPipe="/data/gps/glgpsctrl"
lcsApiSockName="/dev/socket/gps"
gpioNStdbyPath="/sys/class/gpio/gpio203/value"
gpioDelayMs="120"
arp-supl-enable="false"
/>

<!-- GPS configuration with standalone 16.8 MHz TCXO -->
<gll
LogPriMask="LOG_DEBUG"
LogFacMask="LOG_GLLAPI | LOG_NMEA | LOG_RAWDATA"
FrqPlan="FRQ_PLAN_26MHZ_2PPM"
RfType="GL_RF_4751_DANUBE"
PeriodicTimeOutSec="30"
/>

<!-- GPS configuration for with 16.8 MHz TCXO
and CNTIN connected to the clock with 100 ppb uncertainty
-->
<!--gll
LogPriMask="LOG_DEBUG"
LogFacMask="LOG_GLLAPI | LOG_NMEA | LOG_RAWDATA"
FrqPlan="FRQ_PLAN_16_8MHZ_2PPM_10MHZ_100PPB"
RfType="GL_RF_BARRACUDA_EXT_LNA"
/-->

<!-- GPS configuration for with 16.8 MHz TCXO
and CNTIN connected to the clock with 300 ppb uncertainty
-->
<!--gll
LogPriMask="LOG_DEBUG"
LogFacMask="LOG_GLLAPI | LOG_NMEA | LOG_RAWDATA"
FrqPlan="FRQ_PLAN_16_8MHZ_2PPM_10MHZ_300PPB"
RfType="GL_RF_BARRACUDA_EXT_LNA"
/-->

<!-- Periodic Position Fix using default settings -->
<job id="Periodic">
<task>
<req_pos/>
</task>
</job>

<!-- Periodic Position with the ROM almanac ignored for simulator testing -->
<job id="Simulator_Periodic">
<task id="cont" repeat="1">
<startup ignore_rom_alm="true" />
<req_pos validfix="2000" duration_sec="4500"/>
</task>
</job>

<!-- Repetetive cold starts -->
<job id="Cold_Starts">
<task repeat="1000000">
<startup
ignore_osc="false"
ignore_rom_alm="false"
ignore_ram_alm="false"
ignore_pos="true"
ignore_nav="true"
ignore_time="true"
/>
<req_pos validfix="1"/>
</task>
</job>

<!-- Repetetive cold starts with the ROM almanac ignored for simulator testing -->
<job id="Simulator_Cold_Starts">
<task repeat="1000000">
<startup
ignore_osc="false"
ignore_rom_alm="true"
ignore_ram_alm="false"
ignore_pos="true"
ignore_nav="true"
ignore_time="true"
/>
<req_pos validfix="1"/>
</task>
</job>

<!-- Repetetive warm starts
Stored ephemeris data is discarded before the start begins
This simulates GPS receiver start after it was left off for more that 4 hours
-->
<job id="Warm_Starts">
<task repeat="1000000">
<startup ignore_nav="true"/>
<req_pos validfix="1"/>
</task>
</job>

<!-- Repetetive warm starts performed on GPS simulator -->
<job id="Simulator_Warm_Starts">
<task repeat="1000000">
<startup
ignore_rom_alm="true"
ignore_nav="true"
/>
<req_pos validfix="1"/>
</task>
</job>

<!-- Repetetive hot starts -->
<job id="Hot_Starts">
<task repeat="1000000">
<req_pos validfix="1"/>
</task>
</job>

<!-- This job must be performed every time the GPS simulator scenarion is reset -->
<job id="CollectEphemeris">
<task repeat="1">
<startup
ignore_osc="true"
ignore_rom_alm="true"
ignore_ram_alm="true"
ignore_pos="true"
ignore_nav="true"
ignore_time="true"
/>
<req_pos validfix="200"/>
</task>
</job>

<!-- This job performes series of single shot requests using the data stored
in NVRAM to simulate assistance data received from the network
The QoS parameters are set to maxmize the GPS sensitivity
-->
<job id="Assisted_Cold_Starts">
<task repeat="1000000">
<startup
ignore_rom_alm="true"
ignore_ram_alm="true"
/>
<asst>
<!--pos Lat="-30.0" Lon="-50.0" Alt="50" /-->
<pos Lat="33.7691" Lon="-84.4062" 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="30" />
</task>
</job>

<!-- This job performes series of single shot requests using the data stored
in NVRAM to simulate assistance data received from the network
The QoS parameters are set as it woudld be set by Spirent ULTS executing
3GPP TS performance tests.
-->
<job id="3GPP_Assisted_Cold_Starts">
<task repeat="1000000">
<startup
ignore_rom_alm="true"
ignore_ram_alm="true"
/>
<asst>
<!--pos Lat="-30.0" Lon="-50.0" Alt="50" /-->
<pos Lat="33.7691" Lon="-84.4062" 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="25" timeout="20" />
</task>
</job>

<!-- This job starts signle chanel factory test mode
The signal is expected to be in the range from -125 dBm to -145 dBm
with the frequency offset range from -2 ppm to +2 ppm
for this mode to provide reliable results
-->
<job id="Factory_High_SNR">
<task id="test" repeat="1">
<startup
ignore_osc="true"
ignore_rom_alm="true"
ignore_ram_alm="true"
ignore_pos="true"
ignore_nav="true"
ignore_time="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>

<!-- This job is intended to be ran after the Factory_High_SNR job
It uses the TCXO offset stored in NVRAM during the Factory_High_SNR job
-->
<job id="Factory_Low_SNR">
<task id="test" repeat="1">
<startup
ignore_osc="false"
ignore_rom_alm="true"
ignore_ram_alm="true"
ignore_pos="true"
ignore_nav="true"
ignore_time="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="200"
/>
</task>
</job>

</glgps>