Assisted GPS - AGPS - with Q2501. Please help


Hello Open AT community !

I have made lots of GPS applications on the Wismo Q2501, but I must say that the GPS receiver included isn’t as sensible as the new modern ones that are appearing on the market under the names of Supersense, Hi-sense and so on.
I would like to implement A-GPS in Q2501 being helped by a GSM CELL-ID database which I already have.
Can anyone tell me please how can I realize Assisted-GPS by making injection of ephemerides and almanach ?

Please help me, this is a very important question, I would save lots of money and time in development.

I am counting on you,



Hi Pelimon,
To be able to implement the AGPS in your Wismo, you need to have an AGPS server which would keep in contact with your module and will keep track of the signal strength received from various neighbouring cells where the module is present along with the GPS data received by the module. Based on the data received from the module, the AGPS can assist you in finding out the location of your module even in situations when not the module is in a place where not less than 4 satellites are visible.

If you prefer to use GPRS and TCP/IP socket to communicate the modules position, you can proceed as follows:

  1. Create a TCP socket with your AGPS server using eDlib APIs.
  2. Create AT+CCED command using adl_atCmdCreate () API and send the response received from this command over the created TCP socket. This command would give you the signal strength received by the module over six adjacent cells.
  3. Send the received almanac and GPS data to the AGPS server. The AGPS server would also keep track of this data.
  4. The AGPS server should have the functionality so that it can calculate the position of your module using the data (i.e. the amount of signal strength recevied and some GPS data), so that you can get an idea of the location of your module.
  5. It is better if your AGPS functionality is provided by the network service provider. In this case, the network service provider can provide even better fix for your module using the data received from the MSC.
  6. The AGPS server sends back the data to your module (or sends it to some other central location) where it can be processed.

In addition to this information, you can visit,
for more information on AGPS.
Please let me know if this solves some of the queries in your mind.

Best Regards,
Open AT Fan.


Hi OpenAt_FAN

thank you so much for your kind answer. About the first 4 points, I am able to do it without major difficulties.

On the last points, e.g. point 6. the AGPS server sends back data to the module where it can be processed, could you please illustrate me which commands (maybe AT or APIs) I should use for inserting GPS data, i.e. ephemerides injection ?



Hi Pelimon,
Your Wismo module can subscribe to GPS and can send the data received in the GPS handler function over the established TCP socket. This is how your module can send the received data to the AGPS server.

The AGPS server will process this data along with the cell information received from the module (which the module sent using AT+CCED command) and will hence be able to keep track of the module’s position in a particular cell and also using the GPS information received.

In case, you want the AGPS server to send back the information that it has generated using the data received from the module, it (the AGPS server) can send this information back to the Wismo module over the established TCP socket so that the module can also get to know its position. However, performing this action would depend upon the logic of your application (whether you want it to be done or not).

I hope this answers to your queries.

Best Regards,
Open AT Fan.


Hi OpenAT_fan

thanks for your reply.

My question was about how aiding the GPS once the server knows where is his approximate position.
But I think I found the answer, it will be the command AT+WGPSRAWDATA and I will have to study the u-blox bynary protocol and more precisely the AID messages.

I am working on it.