Reply
Thread Tools
Posts: 139 | Thanked: 24 times | Joined on Sep 2005
#91
Originally Posted by cycroft View Post
So now I have a serious question:
1. Why did Nokia use a cell phone GPS chip and not provide us with the possibility to use A-GPS?
Because it's not a perfect world. They probably didn't have that choice: There was no time to add A-GPS support in the release timeframe (don't forget that this may weel be software upgradeable).
2. Why did they not use a different GPS chip when they know that cold start would take that long?
Which chip exactly? Hardware in devices like this is always a compromise: this TI chip is really small and efficient (and it's already used in Nokia like ag2 said).

The chip may well be a good choice, but I really wish TI/Nokia weren't so paranoid. I mean, not only the driver but also the libraries that interact with the driver have been closed...
 
Posts: 164 | Thanked: 132 times | Joined on Dec 2007
#92
Originally Posted by jussik View Post
True. I have not saved earlier nvd_datas, but did save one now: http://folks.o-hand.com/jku/nvd_data/20080207-jku

You can send your nvd_data to me (jhkukkon@cc.hut.fi), I'll put them up. The last NMEA cycle might be useful too but I didn't save that. Maybe we can see something useful if we have a few of those.
Interesting. My B 1 is very different, but B 2 is mostly the same. Looks like B 1 may be the ephemeris and B 2 the almanac. Only problem is that 1153 bytes is not enough to hold the 15k bit message. Perhaps this is due to error correction overhead in GPS messages? Another possibility is that only the non-empty part of the almanac is stored.

I bet with some effort we could decipher the format and come up with a homebrewed A-GPS solution. It would work something like this:

- When N810 is connected to the network, fetch the latest ephemeris data once an hour and store it in nvd_data. There are lots of free sources of ephemeris data on the internet.

- Approximate position would default to last known position. Time doesn't need to be very accurate for warm fixes I think.

- If you use the GPS in your N810 within a couple of hours of being connected to the network, time to first fix should be ~10 seconds.

Am I missing something? Is there more to A-GPS than I imagine?

This would be a cool project to work on.
__________________
See my collection of maemo apps: http://nitapps.com

Last edited by ag2; 2008-02-07 at 10:48.
 
Posts: 139 | Thanked: 24 times | Joined on Sep 2005
#93
Originally Posted by ag2 View Post
Interesting. My B 1 is very different, but B 2 is mostly the same. Looks like B 1 may be the ephemeris and B 2 the almanac. Only problem is that 1153 bytes is not enough to hold the 15k bit message. Perhaps this is due to error correction overhead in GPS messages? Another possibility is that only the non-empty part of the almanac is stored.
I assume the data sets could have varying lengths (otherwise writing the length in the header would be weird). That's why I thought having a few examples would be interesting.

Am I missing something? Is there more to A-GPS than I imagine?
We'd still have to RE the data format and probably also the commands that are used to feed the data to the chip (unless gpsdriver does that somehow automatically, which I doubt).
 
Posts: 1,418 | Thanked: 1,541 times | Joined on Feb 2008
#94
Originally Posted by jussik View Post
We'd still have to RE the data format and probably also the commands that are used to feed the data to the chip (unless gpsdriver does that somehow automatically, which I doubt).
GPS5300 promotional documents indicate that the chip may use either I2C or serial protocol to talk to the host and that it does most of the processing internally. As I understand, in N810 it is connected via serial.

Based on that, is it possible to patch into communications between GPS5300 and gpsdriver and reverse engineer the command protocol?
 
anidel's Avatar
Posts: 1,743 | Thanked: 1,231 times | Joined on Jul 2006 @ Twickenham, UK
#95
Originally Posted by cycroft View Post
So now I have a serious question:
1. Why did Nokia use a cell phone GPS chip and not provide us with the possibility to use A-GPS?
2. Why did they not use a different GPS chip when they know that cold start would take that long?
A-GPS, AFAIK, only works, now, over GSM networks that support it.
Again AFAIK, those networks have GPSes on their repeaters (or know exactly where those repeaters are) and provide the repeater's position along with the list of visible satellites in that area, to the cellphone's GPS chip over GSM/UMTS/whatever.
More or less that should be the data sent.
This helps in calculating the fix (as you narrowed a lot already your position).

That doesn't work on the tablet. As no-one else knows where you are and what satellites are in view in that area.
ONE possible solution would be to use the same company's software that Apple's using to implemente its own "GPS" in the iPhone.
SkyHookWireless is building up a database of AP's positions and using that to tell you where you are.
They already mapped a lot of US and starting mapping the rest of the world (they simply go around taking note of MAC addresses and position or ask people to provide them with that info).
Apple merges that information with the google location information (based on the repeater position that Google knows) to come down to an approximate position of circa 20mt (Apple says).
That pretty impressive for a device without a GPS chip, isn't it ?

So. If there could be a way to use SkyHookWireless SDK with the GPS SDK and feed the GPS chip with "Assisted" data from the SkyHookWireless' database.. we could improve the fix time in those areas.
You could add, to that, also the repeater's position provided you've got bluetooth access to the cellphone and there's a small utility that reads the repeater's ID and report it or directly it's location to the tablet.
Moreover you could save the positions you have been already AND the "Assisted" data of that location and feed it manually to the tablet (by stating, thru some interface, that you are at a know position)

I think this could be done in the GeoClue project.
And would be an awesome piece of work.

Last edited by anidel; 2008-02-19 at 15:53.
 

The Following 2 Users Say Thank You to anidel For This Useful Post:
Posts: 139 | Thanked: 24 times | Joined on Sep 2005
#96
Originally Posted by anidel View Post
A-GPS, AFAIK, only works, now, over GSM networks that support it.
Not true, AFAIK. A-GPS can contain several methods of assistance. IIRC at least these:
* rough location (e.g. from GSM network)
* ephemeris & almanac data
* computational help

SkyHookWireless is building up a database of AP's positions and using that to tell you where you are.
They already mapped a lot of US and starting mapping the rest of the world (they simply go around taking note of MAC addresses and position or ask people to provide them with that info).
Apple merges that information with the google location information (based on the repeater position that Google knows) to come down to an approximate position of circa 20mt (Apple says).
That pretty impressive for a device without a GPS chip, isn't it ?

So. If there could be a why to use SkyHookWireless SDK with the GPS SDK and feed the GPS chip with "Assisted" data from the SkyHookWireless' database.. we could improve the fix time in those areas.
You could add, to that, also the repeater's position provided you've got bluetooth access to the cellphone and there's a small utility that reads the repeater's ID and report it or directly it's location to the tablet.
Moreover you could save the positions you have been already AND the "Assisted" data of that location and feed it manually to the tablet (by stating, thru some interface, that you are at a know position)

I think this could be done in the GeoClue project.
And would be an awesome piece of work.
I'm not interested in Skyhook (proprietary, expensive, closed), but I've done some tests on my own. Based on those test I can believe the 20m figure (as a best case scenario). It would open quite a lot of possibilities...

A personal MAC address database could very well be a geoclue data provider, and would work pretty well for the common locations (home, office, ...).
 
Posts: 2,102 | Thanked: 1,309 times | Joined on Sep 2006
#97
A-GPS, AFAIK, only works, now, over GSM networks that support it.
Again AFAIK, those networks have GPSes on their repeaters (or know exactly where those repeaters are) and provide the repeater's position along with the list of visible satellites in that area, to the cellphone's GPS chip over GSM/UMTS/whatever.
More or less that should be the data sent.
This helps in calculating the fix (as you narrowed a lot already your position).
Sort of; the AGPS server (there are a few different types of AGPS service that can be implemented) can take fragmentary data received from the satellites by the GPS in the device and try to use its processing power to determine where the GPS would need to be to receive such data, then after it's worked this out, it can supply almanac/ephemeris data for that location.

Another method, called AGPS LTO (Long time orbit) supplies high quality ephemeris data to the phone (it must presumably also provide almanac data - or perhaps it does away with these terminologies and just supplies a single set of high quality data).

That doesn't work on the tablet. As no-one else knows where you are and what satellites are in view in that area.
Well yes, we need some other technique to establish a rough location, for gsm phones this is the cell ID (which we could forge and try passing to supl.nokia.com) but otherwise we could use some other geoclue type service for this. How we generate, or obtain the accurate almanac/ephemeris data is then the next step
 
Posts: 2,102 | Thanked: 1,309 times | Joined on Sep 2006
#98
Also, one good test to see if B 1 is indeed the almanac is to see whether the data changes significantly over time. Almanac data should be fairly static (it is valid for 180 days).
Indeed, but it is presumably updated during this period to make it more accurate; therefore the almanac data may well change (slightly) from day to day. Does this sound reasonable? Any way of establishing whether this is true?
 
Posts: 91 | Thanked: 4 times | Joined on Dec 2007
#99
why so complicated? just use a nokia phone --> get cell id from the phone --> forward to supl.nokia.com --> and receive a-gps data through phone ... nokia could implement such a simple service in almost no time.
 
Posts: 2,102 | Thanked: 1,309 times | Joined on Sep 2006
#100
Of course we could do it the simple way, but it would also be good to use that service without paying for the data to be sent.

In reality the first step it to establish if we can get the AGPS functionality working, then see where to get the data from.
 
Reply


 
Forum Jump


All times are GMT. The time now is 00:48.