GPS without GPS ("GSM-GPS") Proposal - Windows Mobile Development and Hacking General

I am going to propose some kind of challenge. Its a collaborative project. I am just dropping the seed of it and see if you want to join in.
There have been some tests on using GSM cells triangulation / fingerprinting that allow the phone calculating its current position.
A GSM tower database is needed for the different places it should work and then, with adequate software, a virtual COM port can give NMEA sentences (GPS-like position informatio) to any program in the phone (i.e. navigator, PocketMaps, position uploaders...) with a precision of 100m in town and up to 1 km in open country.
Please if interested read further on:
http://forum.xda-developers.com/showthread.php?p=1458156#post1458156

Related

CellID and RxLev

Hi,
I need to read CellID and RxLev by my program. I have no idea how to do this. Could anyone to help me? Thanks
Unfortunately it's not been implemented by HTC, so the simple answer is no. You could try and use the SMS system directly through RIL, although because Cell based positioning is quite a hot topic and nobody has yet done it, I'd guess it't not possible.
Anybody know if XDAII has a working API for this?
Just use tracelogger, pwd is htc, choose MMI + Event then run the tracelogviewer provided by the XDA developers site you'll get your CID and rx Level
andyclap said:
Unfortunately it's not been implemented by HTC, so the simple answer is no.
Click to expand...
Click to collapse
This is I would guess why RIL_GetCellTowerInfo always returns 0x80004001, which I belive means not implemented. (XDA I) But I might be using the wrong call... ??
If this information is available on the XDA II, then there must be programmatically a way through RIL, so either I am using the wrong call, or RIL has been fixed, or something else I haven't thought of... Any ideas?
Ben.
Yeah, it would be great if the XDAII supported this (Cell based min-GPS!), so does anybody know for definite the scope of the new RIL on the XDAII?
andyclap said:
Cell based min-GPS
Click to expand...
Click to collapse
You read my mind!
I think this might be why this information is so hard to find. This data, once calibrated (which using, say, TomTom, would not be hard) is a considerable asset, to which the various phone companies are trying to protect. Which sounds like a challange to me...
Ben
Yeah - O2 at least are marketing this info as a developer program, with a lookup charge "from 5p per lookup". What a bargain, considering the device already has the information (though it really applies to mobile phones that don't have SDK access).
Don't they realise that if they helped us create an app for them to do this and, say, link to multimap.com, it'd be a killer app and they'd sell hundreds more XDAs.
Good idea. They would get the GPRS service charge for the multimap lookup as well. Although I think the cell id is too course. But some part of the phone knows far more accuratelly where it is, so that it knows when to change cell. Although this is not yet an area I know much about.
I belive, if you jump through enough hoops, O2 gives grants for programms which enhance the XDA, there's a project for somebody.... If anybody can work out how to get the s***ding cell id out of the XDA
ben
Yeah - O2 at least are marketing this info as a developer program, with a lookup charge "from 5p per lookup". What a bargain, considering the device already has the information (though it really applies to mobile phones that don't have SDK access).
Don't they realise that if they helped us create an app for them to do this and, say, link to multimap.com, it'd be a killer app and they'd sell hundreds more XDAs.
Click to expand...
Click to collapse
The idea of the Location APi is not as good as what we want. The idea is that an office queries O2 servers for the cell location of the target unit, for which they charge the office (end-user). O2 are looking for software solutions that draw on this to provide added content so that some poor sap carries on paying 5p a hit to get back the rough cell based location of a unit. Bloody expensive as a tracker or SatNav. Might as well just stick a GPS unit on the back & send that data back via GPRS - cheaper!
O2 actually have a website with the info on their cell sites on it BUT they have 8500 of them at least, so getting all that info out is a hard task.
Site is Here
We need to crack getting Cell ID, Signal Strength, Nearest Other Towers, Nearest OT Signal Strength + I daresay a few more before applying that to a database, after which we could probably have a device that told us our position to within 100m, which we could then send back via GPRS, thus not allowing the network to charge 5p a hit.
That's why the Cell Location database is not available - they stand to make/lose too much revenue.
Wonder how much the database is worth?
It wouldn't be too difficult to scrape the site - while it gives no true positional information, it can return a list of cell towers within a radius (upto 5km ish) of a known tower, with their distance: we could triangulate three sets of this information to get the real locations of towers. Once these locations are known, we can recursively triangulate from them to eventually get all the data for the UK at least.
But, the main thing to do, as you say, is to find a programmatic way of getting the current cellId, signal strength, and preferably as much information about other local towers too to further refine the result.
Hmmm, just thought - as the XDA developers here are "jolly nice and clever people", they have supplied the source to tracelogview. It wouldn't be too difficult to modify this to scan for tower information messages and do the appropriate things. It just means that the users have to enable tracelog manually, though perhaps we could send some keyboard messages to start it up and enter the password. It's hacky, but it just might work!
Might have a go at this tomorrow!
Overview of Location APi as offered by O2 - taken from Source02 website
The first of our APIs to be delivered is the Location API which has been developed by our partner Redknee.
The service enables you to create and sell innovative new applications and services based on a mobile phone user's location.
The O2 service is charged from 5p a lookup and provides the longitude and latitude co-ordinates of the centre of the cell site sector the phone is located within. Cell sites are typically split into three sectors and range in size from several hundred metres in urban areas up to 15 kilometres in more remote regions.
Third parties are able to develop location-enabled applications utilising real time location data from the O2 UK network. Application owners will have the opportunity to validate their applications in a test environment prior to connecting to the live O2 UK network. Location information will only be passed to third parties who have a contract with O2 and have the consent of the end user to determine his/her location.
Click to expand...
Click to collapse
I may be wrong, but...
I belive the telco and the phone have a different idea of where the device is, as they plot the position of the device using different mechanisms and for different uses. They use this when they have to contact a phone to send an incomming call. This application is making use of the telco's permanent database of the location of all their devices. This is easy money for the telco.
We do not have access to this data, and the positional information we can get will be in a different format, accept for the Cell ID. We will have to infer the position of the XDA from RIL, TAPI, AT, using the data listed in previous postings. As was suggested, getting an idea of the strength of local transmitters, and calculating a position. Which in it's self may be a real challange, as there is not likelly to be a linear relationship between the strength of the transmitter and the distance to it.
It may be likelly that the cell size (~200m, -> ~15km) is the nearest we'll ever get. I note that people in Dover very often get routed through transmitters in France due to the cliffs on the coast of England. In this case, any meaningful positional data is getting more unlikelly.
PS, can any kind person with an XDAII tell me whether the RILL call:
HRESULT RIL_GetCellTowerInfo(HRIL hRil);
Returns something other than 80004001?
Ben
PS, can any kind person with an XDAII tell me whether the RILL call:
HRESULT RIL_GetCellTowerInfo(HRIL hRil);
Returns something other than 80004001?
Click to expand...
Click to collapse
Unfortunatelly this still returns '80004001 Unsupported' on XDA II.
But the RIL_GetSignalQuality does return valid data when connected to GPRS, unlike XDA I, so some things are getting better...
Ben
Hi all,
i just saw a programm that uses the cell ID and convert this one °, but it just works with received data from any handy via Irda or cable.
So if u want to take a look visit (german site):
http://www.wolfgang-back.com/navigauss.php
That works but it would be the first way, to use the XDA cellID instead of external data...perhaps any idea on this?
With greetings from germany
Harry
Cell ID
Guys u can get the cell id using java.
The cell ID is memorized in the sim card and the mobile phone compares always whether the CID he is receiving from the signal, is the same one memorized in the sim card.
If yes the mobile does nothing. If not the mobile phone updates the CID in the sim card. this is done almost every 5 seconds.
Now we need the API !!! and maybe the AID of the sim applet. :roll:
Once more,
could the following be a walkable way?:
1. cell-Id could be shown (tracelog and traceview says how)
2. If that is fact, then it is with calculating gauss-to- longitude/latidude (visit www.nobbi.com) makable to view the actually position.
3. The last step it would be, to bring Information like longitude/latidude in ° to the standard gps-format (it is known or free i think) and send it via comm1 to all navigation-software.
4. So if this all is nonsens tell me because i am not really a programmer ( my code would be as fine as my english is :-((
bye Harry
Hiwi said:
1. cell-Id could be shown (tracelog and traceview says how)
Click to expand...
Click to collapse
That's right, but cell id says nothing about position.
2. If that is fact, then it is with calculating gauss-to- longitude/latidude (visit www.nobbi.com) makable to view the actually position.
Click to expand...
Click to collapse
see comment 1. Only O2 Germany transmits GK/coordinates over Cell Broadcast....
3. The last step it would be, to bring Information like longitude/latidude in ° to the standard gps-format (it is known or free i think) and send it via comm1 to all navigation-software.
Click to expand...
Click to collapse
If 1. and 2. would be possible this is still a problem since most (all) GPS-Software only accept input from COM-Port (you have to emulate a COM-Port ... not trivial)
4. So if this all is nonsens tell me because i am not really a programmer ( my code would be as fine as my english is :-((
Click to expand...
Click to collapse
:wink:
John
Having written a DLL to get the CellID from the XDA, and then comparing the result with the O2 cell tower map info as described by 'Puff the Magic Wagon' on Nov 4, I find there is a discrepancy of 10000
e.g. in a clients office in Blackburn
Cell ID returned = 3AAF( Hex) = 15023 (Dec)
From www.webmap.o2.co.uk Higher Audley Cell = 5023
This seems to be the case for all cells I have tried.
There also seems to be some Cell ID's which I cannot reconcile with the o2 map results.
mjgermain
The problem you've encountered arrises from the fact that there are more than 9999 CSR (Cell Site References) that are registered with the RA.
O2 identify cells in the following way.
AXXXX
Where A = the direction the transmitter is facing (directional transmitters)
(roughly)
1=North
2=South East
3=West
then 4, 5, 6 & sometimes 7, 8, 9 depending on how many transmitters on the aerial - always in 3s
So in your example 1XXXX, the transmitter is facing north (so should be to the south of you) but depending on that aerial (yours only has 3)
We then get to the XXXX
I believe that CSRs are allocated by the government and are a 5 figure number. Therefore CSRs upto 9999 are able to be placed quite simply.
15023 is correct.
However, what happens when transmitter number 10001 comes along? According to O2 numbering system, that 0001 number is already allocated. So they have to use another method of identifying cells.
Somewhere else in the country there might be transmitter that IDs as 15023 :shock: :?
So having a database of CellIDs and transmitter numbers is not all that is needed, the additional "identifier" is required and together that gives the CSR which has a lat/long applied to it.
The identifier is the LAC or Local Area Code
So AXXXX + LAC = CSR
There are still a few anomolies in this as well it would seem. Fill-in transmitters and "private" or "mini" transmitters the likely cause.
I had access to the O2 CellID db when I was last working & we were able to create a basic Cell tracking system, but the company went titsup.com before we were able to factor in LAC and signal strength etc.
Does your program work on XDA2?

Does Universal Have build in GPS Chip?

Well, was talking to a friend earlier, and she told me government started to ask phone companies to put in GPS chips into cell phones and 99% phones after 2005 have GPS chip build in, so when we call 911, the government can know where we are... at first I though it's not possible, because if is it so, then there won't be phones that actually said "Build in GPS" ? so she said the phone companies just want to earn more$... and yeah I knew how cheap a GPS chips are nowadays... anyway even I though it was a joke or something, I look into it more, and GPS chips build into a cell phone by factory, required by law, seems to be true...
Read it on few other web page saying "Cell phone companies didn't originally want to put GPS receivers into cell phones. But several years ago, the Federal Communications Commission required them to come up with a way to locate their customers for rescue workers and 911 calls."
and "There is a small GPS unit built into the phone, This unit uses the GPS system to determine you location. When you call the cellular 911 operator this information is sent to the 911 system. Below is an Excerpt from the Nov 19th 2005 Milwaukee Journal that dedscribes the system and it's limitations.
Even in counties that will be able to locate cell phone callers to 911, a variety of factors, including the location of wireless towers, tall buildings, bad weather and even sunspots, can affect the system's accuracy, said Richard Tuma, director of emergency preparedness for Waukesha County, the first county in the state to implement the technology.
Two technologies, which work together in most areas, are used to notify 911 call centers of the location of cell phone callers.
One uses global positioning system technology, in which GPS-equipped phones receive satellite signals and relay the location coordinates to the 911 center receiving the call.
The other technology uses three cell towers to "triangulate" the coordinates of the 911 caller.
The GPS system is more accurate, Tuma said, and is capable of locating a caller within 50 meters (about 165 feet) 67% of the time. The triangulation technology can locate a caller within 150 meters 67% of the time, he said. Those standards have been mandated by the Federal Communications Commission.
But each system has its flaws, Tuma said.
To get an accurate GPS location, a caller needs to have a properly equipped cell phone and be standing outside. Being inside any structure, to some degree even a car, can skew the coordinates being picked up from the satellites, he said.
"The GPS system needs a line of sight to the satellites," he said.
Cloudy, rainy and snowy weather also can interfere with both technologies, and nearby tall buildings can throw off the triangulation system, Tuma said."
And I also see this software mologogo can unlock some of the GPS in phones in order to use it as a tracking device...
But since the Universal is made in the middle of 2005, it doesn't have the hidden GPS build in Chip, right?
Thanks
I think the triangulation method is more common for locating callers. The Uni doesn't have built in GPS, if it did they'd certainly advertise it as an additional feature!
Bad news for you - your parents fooled you when they told you Santa is bringing the gifts on xmas.
Don't believe in anything what's written in the web.
there is a slot but no radio rom
Hi SOG,
the Universal hardware has a slot free were you could solder in a GPS chip. The missing chip is a RFR6250. This builds up the GPS backend for MSM6250 chipset.
But there will be no chance to use it, even with the chip soldered.
What is missing, is an ugly hacked radio rom to access the hardware in a proper way.
Regards
Highc
I see! thanks for all the input guys~ I am gonna try to install trackme and see how it goes with my Universal and BT GPS
I use Google Maps
on a few devices. Universal is the only one that does not provide the current location, reads 'feature is unavailable for your device' or something along those lines. So current location has to be entered manually if one wants to get directions to and fro.
enigma1nz said:
on a few devices. Universal is the only one that does not provide the current location, reads 'feature is unavailable for your device' or something along those lines. So current location has to be entered manually if one wants to get directions to and fro.
Click to expand...
Click to collapse
I have no problem with google maps and my GPS (although I have sto set manually)
I have no complaints with my gps. I have tomtom. I only need to start my tomtom software and take out my gps device out of my glovebox and press on. They connect automaticly with each other (eg turning on bt and connecting). Im only using gps in my car. So really i maybe only waste 10 seconds out of my life with my jasjar not having gps...

Egnos / WAAS

Does anybody know if the Touch 3g supports WAAS / Egnos?
As Egnos launched in Europe in the last couple of days I am keen to find out if our Jade is supported.
See here for info on Egnos - http://www.engadget.com/2009/10/04/eus-new-egnos-gps-system-goes-active/
If it is supported does anybody know how to activate it?
Louis
It should. If you read your linked page, EGNOS will combine to take signals from US GPS satellites and enhance them to provide position information. Basically as per this Wikipedia article (http://en.wikipedia.org/wiki/European_Geostationary_Navigation_Overlay_Service), the European system will overlay the US system to provide supposedly more accurate positional data.
You would suppose that all this would be cosmetic or invisible to the average bear.
Well, It will apparently improve accuracy greatly - I read lots of other forums about enabling Egnos (or WAAS the american version) but have seen nothing about our Jade, this was why I was asiing here hoping that a USA user had enabled this on their device seen-as they have had WAAS for a while now.
Lou
lrmulli said:
Well, It will apparently improve accuracy greatly - I read lots of other forums about enabling Egnos (or WAAS the american version) but have seen nothing about our Jade, this was why I was asiing here hoping that a USA user had enabled this on their device seen-as they have had WAAS for a while now.
Lou
Click to expand...
Click to collapse
I flew for over 20 years and have had so much GPS theory taught to me that I could and did teach it myself. While EGNOS and WAAS are nice, basic GPS theory 101 says that while the machine gets better in defining or resolving your satnav position, inherent or complicating errors will always be present.
What are these type errors? Signal scatter is the prime in terms of your GPS receiving multiple GPS satnav positions which have to be resolved. This can be as small as three feet and usually as large as a football field if not larger.
Maps have physical errors as well. A map or chart is a representation of the earth's surface. In terms of spheres, we tend to think of a circle as an approximation of the earth. While the earth is a sphere, it is an odd shaped one. A map, whether rectangular or square, is like taking a perfect shaped orange and trying to stretch flat and then cut out a perfect square or rectangle - cannot be done!
Next, how good is the road, city, or other geophysical object depicted? What geodesic set of coordinates was used to define its location? In some major cities, I would almost trust a measured set of coordinates but again no one is as accurate as satnav positions which are based on time, distance, and altitude.
There are many other errors but that conversation is reserved for GPS Theory 201. . .

[GUIDE] Why Samsung Galaxy S i9000 GPS is inaccurate and how to fix it. Update Jan 11

UPDATE JAN 11:
XDA member Da_G has done some excellent work on GPS performance. To summarise the situation as of Jan 11:
1. There is clearly an antenna issue for some users as highlighted by Samsungs Oct 10 redesign and the reports of good results from some users modifying the GPS antenna connection
2. The GPS implementation is indeed buggy out of the box. In particular my guess at some form of interpolation (see below) appears to be accurate. However I commend this post http://forum.xda-developers.com/showthread.php?t=881941 in the Captivate forums to you. Da_G has done excellent work and has made the gps daemon binary from the Nexus S available to SGS users in addition to modified jupiter.xml and gpssec.conf files which disable interpolation as well as refining several other parameters. He deserves thanks for his work and I can report that with hardcore's Speedmod kernel and the gpssec.conf, jupiter.xml and glgps_samsungJupiter from Da_G's downloads I have GPS performance I am completely happy with on my i9000. Root and some basic shell knowledge required for his fix.
The original post begins below.
Regards
dangrayorg
I’ve tried very hard to write a definitive post on SGS GPS performance. Below I try to give a balanced view of GPS performance in the SGS and provide definitive explanations of the various functions offered by the Broadcom BCM4751 chipset and their effects on the quality of the GPS fix. There is a lot of noise and conjecture on this subject in the XDA-developers forum; some right, some wrong, some missing the point entirely. Below is some educated guess work and some hard facts about exactly what will and will not help with GPS performance on the Samsung Galaxy S i9000.
I have tried to remain non-technical while telling you ‘why’ things happen they way they do. At the very least I hope you come away from reading this post with a good understanding of the various settings available to you and which will actually affect the accuracy of your position fix. There are several excellent technical articles on GPS in the references below.
Mobile Device Design:
I’d like to start by making three points:
1. Obviously The Samsung Galaxy S is not a single-purpose GPS device. There will be inevitable design compromises when trying to fit all the hardware into the phone and in particular the GPS antenna will inevitably be inferior to the one in a standalone GPS or GPS Dongle. Having seen the GPS antenna it is indeed tiny, and halfway down the side, and at the back. But it needs to fit with the constraints of the hardware and has what appears to be a very sensitive chipset attached to it. I cannot find a full technical spec for the chipset but include a link to a technical overview in the footnotes. The GPS antennna on the i9000 is at the back of the main body, 1/4 of the way down the body on the left-hand-side as you view the phone in portrait mode. Image Here
2. If my conjecture is correct then I believe that Samsung/Google have made some design compromises in their software setup of the GPS on the Galaxy S that compromise positional accuracy, these can be overcome.
3. I do not believe that the GPS on any Samsung Galaxy S is fundamentally broken in any models. I do believe that the factory configuration choices are poor and I do believe it is hampered by hardware designs and their interactions with everyday use environments. Obviously any phone may have a one-off manufacturing defect but I cannot account for those.
Available Navigation Modes:
Verizon has this to say about the MS- modes, two of the three fundamental ways (MS-Based, MS-Assisted and Standalone) that you can gain location information:
What is MS-Assisted mode of operation?
In MS-Assisted mode, the network elements calculate the location of the device. This mode is suitable for one-shot fixes, wherein the location does not need to be updated frequently.
What is MS-Based mode of operation?
In MS-Based mode, the network provides the satellite information to the device, based on a rough estimate of where the device is located, and the device acquires the GPS signals from the satellites and calculates its location. After the initial fix, the device operates like an autonomous GPS receiver, until the satellite information must be refreshed, at which time the device goes back to the network to update the satellite information. MS-Based mode is appropriate for applications that require the device location to be updated rapidly, such as a navigation application.
Click to expand...
Click to collapse
The current advice seems to be to enable MS-Assisted as it appears to improve navigation performance. I believe that this is incorrect. When using MS Assisted positioning I see considerable wander occurring as the position is not GPS derived. The MS-Based settings send the GPS Almanac and ephemeris date to the device and save on initial lock times, particularly if the GPS has been unused for many weeks, however in terms of positioning once up-and-running MS-Based and Standalone should deliver identical results.
Environmental factors limiting GPS performance:
Many users are primarily using the GPS in their cars. Here the hardware design compromises come in, but there are also some properties of GPS signals which users should be aware of. Firstly, RF Interference (RFI) is unlikely to be a primary culprit. The problem with a Car is that it’s made of metal which rapidly attenuates the already very low power GPS signal. When dealing with GPS the Signal-to-noise (SNR) ratio is important. Satellites giving the best SNR are always overhead, rather the near the horizon where the signal is competing with any number of other nearby frequencies causing RFI/ general background noise. So in a car, particularly given the design compromises with the GPS antenna, you will be attenuating the overhead signal because of the roof and relying more then you should on the GPS satellites near the horizon with their lower SNR, multipath propagation etc. When driving in a town where there is no horizon you can see where the problems arise. When the SNR becomes too great the GPS can no longer compute the pseudo range from the signal and you loose the ability to use a satellite. You can see a maximum of 12 GPS satellites at any one time if you have a full sky view - if you take away the overhead ones you can see why the number of useful signals drops below the minimum (4) very quickly.
This is a problem not just for Samsung but also for Google, who tout the Google Maps nav as a killer feature in a whole group of phones which have designs compromised by requirements to squeeze a lot of functionality into a small form factor. Samsung may have done a worse job of GPS antenna positioning in the SGS then maybe HTC in the Desire but they were faced with a different set of design constraints.
Before I tell you how to fix the GPS settings for best performance, here are some hints for in-car reception:
1. Place the phone as far forward in the windscreen as you can. Note that Satnav systems usually come with a short-arm windscreen mount for this very reason as it ensures a great view of the overhead sky, yet we insist on comparable performance from our design-compromised phones when we attach them to the air vents or mount them in cup holders.
2. If you really want flawless in-car nav invest in a cheap bluetooth dongle. You will benefit from more flexible positioning options giving a better sky view, a larger antenna giving a better signal gain (and more directionality if it is pointing up) and if you get a SirfIII unit an extremely capable GPS chipset utilised without design constraints . Note that SirfIII does not always include WAAS while the Galaxy BCM4751 does, however for the requirements of in car navigation WAAS is really overkill and the quality of the signal/number of satellites in view is the real issue. It is no surprise that users find a bluetooth GPS unit gives better accuracy then the built in GPS – the antenna is massive and has a completely clear view of the sky!
Phone Settings:
Right, back the the phone.
One recommendation that I keep seeing is to activate "MS Assisted". This is what is responsible for all the drift. Standalone and MS-Based will give a pure GPS signal. MS Assisted tracks based on cell tower signals and gives worse results.
One issue that comes up in particular is the problem of 'position offset', where users see themselves consistently offset from a road by a few meters, often Google navigation will then erroneously re-route you, particularly in built up areas with high street density. There is one thing which I can say with absolute certainty... There is no GPS error I can think of which would generate a consistent offset. The only cause of this would be if you physically positioned your antenna meters away from your phone and this is clearly not the case. The inaccuracies in GPS position (and there are some, caused by timing errors and a low number of satellites available for positioning) are RANDOM. The only phenomena that I can think of that WOULD generate a consistent offset would be doppler-shift, and the mode this would be most likely to influence would be cell-tower based positioning. If you are experiencing consistent offset along straight tracks please double check that you are not using MS-Assisted mode.
About my SGS:
FROYO JPO
Hardcore's 'Speedmod' Kernel
ext4 lagfix
Battery dated: 2010.08.30
So not a ‘post October’ phone (but I think that’s a false lead anyway). The installation of a custom ROM made no significant difference to GPS performance for me. In addition I can assure all readers that I have previously experienced absolutely abysmal navigational accuracy both in-car, walking and running giving tracks so bad that I looked like the worlds only blind, drunk, crack-addicted runner. (as an aside I thoroughly recommend the installation of a custom Kernel and lagfix as it transforms the performance of the Galaxy S).
I have written my own custom GPX logging program to test all this and so have a high level of confidence. I will amend this post with some proof tracks when able.
LbsTestMode:
Here is a complete run-down of the GPS settings (explanations of the functionality they govern and the effects they will or will not have on the GPS signal) that take away the issues described above as set in LbsTestMode and result in the best observed GPS performance:
LbsTestMode can be enabled with the following key combinations in the dialler:
Android 2.1 - *#*#1472365#*#*
Android 2.2 - *#*#3214789650#*#*
Application Settings:
1. Session Type: Tracking
A chipset feature which helps to boost SNR in poor RF environments)
2. Test Mode: S/W Test
3. Operation Mode: Standalone
The most important setting as this is the setting. Standalone or MS-Based. Not MS Assisted. I have had the best results with Standalone, cutting the whole Assisted-GPS segment out of the equation. That way I don't have to worry about who's databases are up to date, which base stations might inaccurate etc. The standalone mode is able to do everything you need at the cost of slightly increased start times if not used for some time.
4: Start Mode: Hot Start
This has nothing to do with re-downloading almanacs. It simply resets precise satellite timing data that must be extracted from the GPS signal to compute an accurate pseudo range. It’s good for about 4-6 hours. If you leave your GPS off for longer then the ‘ephemeris’ data will be re-downloaded anyway regardless of the Hot/Cold start settings. The GPS can’t be ‘more or less accurate’ with or without it, its simply a case that the ephemeris must be updated before you can get any position. You can sync the clock every time if you want, personally I’d choose ‘Hot Start’ and save a few minutes every time a GPS app is destroyed!
5: GPS Plus: On
The GPS Plus is the Wide Area Augmentation Service, extra satellites that transmit a deviation correction to correct minor positional inaccuracies within the space segment of GPSl. Not available globally (North America and Japan, maybe Europe and India by the time the phone is obsolete). Having it on will not cause problems if WAAS is unavailable in your region.
6: Dynamic Accuracy: On
This setting is used to filter data that is judged statistically to be in error based on deviation from the Circular Error Probability (CEP) calculated by the GPS system.
7: Accuracy: 30m
I believe that this is a cut-off for the overall GPS positional accuracy. If over this threshold the GPS will not report the position. I have yet to see a figure of more then 20 meters, so leave at 30. GPS precision is far more complicated then a simple inaccuracy based on distance)
8: GPS Logging: Off
SUPL/CP Settings:
This is a network layer operated by cellular operators. It delivers the AGPS data like timing corrections and the almanac to your phone as well as allowing a network operator to provide you with various location based services (and make more money from you). If you wanted to download the almanac from satellites it would take a minimum of 12.5 minutes and would need to be done every time you turned your GPS on if it had been off for weeks/months. The almanac has a long lifespan, so won’t age out in days, and the GPS receiver is still capable of downloading it from satellites if it can’t get it from the network, It also provides information to your mobile provider about where you are, regardless of your Google privacy settings so that they can provide you with location based services (so Google isn’t the only geolocation bogeyman!)
Again, I think there are lots of false leads here. The one thing that may be true is that the original SUPL provider on
handsets was providing inaccurate data. Recommended settings:
Server FQDN Type: Custom Config
Server: supl.google.com
Server Port: 7276
SUPL Secure Socket: OFF
AGPS Mode: SUPL
Use wireless networks option
Google do map WiFi hotspots in large cities, which is enabled by the "Use Wireless Networks" option in the android Menu. This may allow you to locate yourself accurately in an urban area where GPS is unusable. However, it is unlikely to provide tracking information for runners, probably providing street-corner location to pedestrians.
Use sensor aiding option
Google's own documentation states that this is for use in areas where GPS performance is degraded. I am unsure if the selection of "use sensor aiding" will have an effect if a good GPS signal is available. For those trying to troubleshoot their GPS setup I would advise that the low cost MEM sensors contained in mobile phones (solid state gyroscopes), while good for games are poor over more then a few meters in terms of accurately measuring velocities to determine distance travelled.
It is possible to use solid-state accelerometers when coupled with a GPS to refine positions and attitude information but it is unlikely that android employs the filters needed to do this well. If you navigate frequently in cities or environments with tunnels etc. you may wish to enable this feature but for most navigational needs I would advise leaving it off as the integration of sensor data with GPS positions may well be a source for positional bias and drift seen in the Galaxy S.
And that’s all you need.
I hope that that will be definitive. Using the above settings I get entirely accurate tracks from my phone using my GPS logging program. I may post that soon with my example logs. The reason I wrote from scratch was because I wanted to be sure that I was getting the pure output from Android dumpLocation with no adulteration to allow for a fair analysis.
HOWEVER (and here is where what I know comes to a end…):
When your app selects a location provider it won’t necessarily be ‘GPS’. A developer can select getBestProvider() and use something other then gps to save power. I assume that most developers use ‘gps’ but it would take a knowledgeable android programmer to tell us if we can guarantee to always get unadulterated GPS positions into the application layer with no mixing sneaking in!
References:
http://www.broadcom.com/press/release.php?id=s443754
http://www.broadcom.com/collateral/wp/SUPL-WP100-R.pdf
http://www.broadcom.com/products/GPS/Location-Based-Services/SUPL-SLP
http://www.topcon-positioning.eu/img/pdf/pdf_GPS/HIPer+_English_web.pdf
http://webone.novatel.ca/assets/Documents/Manuals/GPS+Reference.pdf
http://www.telemobilityforum.com/it/images/stories//madwar_telemobility.pdf
These are the settings I found as default ... I never had a problem with gps. Accuracy between 5 and 10 meters indoors. That's really nice in my opinion. But thank you for your time you spend to this “issue“ and I hope it helps other people.
Sent from my GT-I9000 using XDA App
I can tell you that I have those exact settings and my GPS signal is still **** when going into the city with tall buildings and such. In suburbs it's fine, tall city is bad. Had a touch HD previously and it worked FINE in the city.
SGS just got **** gps IMO
How can I enter to the gps settings?
When I enter the code *#*#1472365#*#* the number disappears and nothing happens!
2.2 JPO DocRom v7
I've been running settings similar to these recently and getting 'better' performance than my stock settings, so I'm inclined to agree with the OP here.
It's no where near what I'd call good performance though, my old HTC HD & Nokia 95 running TomTom had no issues keeping track on the road (mounted on the same windscreen position), whereas still GoogMaps Navigation will occationally position me on nearby roads by mistake. I think it's just going to be one of those things I'll have to live with.
That said, at least now I'm occasionally getting proper lock on the little navigation triangle when driving, not a 100m circle around it. So things are improving.
Which side is the GPS antenna on?
If the antenna is small, on one side, and at the back, then running the phone in landscape with the aerial side facing up is bound to have the best chance of "seeing" the sky. Without knowing which side is "up" for the aerial, we have a 50/50 chance of getting it right or wrong.
So do you know which side it is on, and therefore whether we are better having landscape with the buttons to the right, or landscape with the buttons to the left?
Also does firmware version make a difference (other than the default config of these settings)? Or in other words, would all firmware versions have similar performance if set to these recommended settings, or do some firmware versions have better drivers or sensitivity too as well as different settings?
Thanks for the excellent info!
Mike
dangrayorg said:
1. Obviously The Samsung Galaxy S is not a single-purpose GPS device. There will be inevitable design compromises when trying to fit all the hardware into the phone and in particular the GPS antenna will inevitably be inferior to the one in a standalone GPS or GPS Dongle. Having seen the GPS antenna it is indeed tiny, and halfway down the side, and at the back. But it needs to fit with the constraints of the hardware and has what appears to be a very sensitive chipset attached to it. I cannot find a full technical spec for the chipset but include a link to a technical overview in the footnotes.
Click to expand...
Click to collapse
I appreciate the effort here but this is a tad bogus. I have a 3+ year old dedicated GPS device, it's an extra-sensitive Garmin handheld and my puny little 3 year old HTC Touch rivals it's performance track for track. They both blow away the Galaxy S with their 3 year old technology. ...so no it is not expected to be inferior, maybe to the latest and greatest dedicated gps, however I can assure you their is no exscuse not to rival 3 year old technology.
sorry for yet more gps ranting.
Neil
NeoXTC said:
I can tell you that I have those exact settings and my GPS signal is still **** when going into the city with tall buildings and such. In suburbs it's fine, tall city is bad. Had a touch HD previously and it worked FINE in the city.
SGS just got **** gps IMO
Click to expand...
Click to collapse
Well you are talking about the urban canyon effect. There are very few high end GPSes that can deal with that. So you can not judge the GPS in urban canyon environments because then nearly all GPSes has problems.
I thank the OP for a well written "guide". I think that it will enlighten lots of people how a GPS really works and we hopefully can skip the strangest advices on the forum. I still think you could optimize the code better because it seems to slow and imprecise in some aspects. However I have used it daily and are satisfied with it even if I wished for the military grade GPS that many seems to have in there old phones and GPS's.
You are wrong on the "Use Wireless Networks" setting not using WiFi. It *does* also use your WiFi to help triangulate. It says so right in the android UI for pete's sake. It really only works in large cities where Google has mapped APs and APs are dense.
The way the triangulation works is Google has mapped all the ESSIDs in a city and for all the road GPS positions recorded their strengths. Therefore in a city whenever you see 2 or more ESSIDs you can use that info along with your cell tower triangulation to compute a pretty OK estimate of your GPS coordinates - at the very least a much more accurate picture than you can get by the cell towers alone, because the range of a WiFi network is so much smaller.
Basically - if you are in a city and you have this checked and your wifi is enabled you may get more acccurate readings without GPS than you would otherwise.
Great post, I changed the spirent-lcs to supl.google.com and a few other niceties. This is totally unscientific, but before changing (using gps test) I could only see 1 satellite and stayed like that forever. After applying the changes, I had a 30 m fix in about 3-5min. Have to say that my SGS has always been totally unpredictable, some days, it couldn't get a fix in under an hour, others it took 10min, all that while walking outside. I hope these setting will allow me to use the GPS a bit more reliably now. thanx!
Thank you for your guide, however the fact is that other phones that I had or currently have have perfectly functioning GPS. It is only the Galaxy that has problems.
Second "use wireless networks" does use Wi-Fi networks for positioning - an easy way to see that is to turn on "Flight Mode" and then turn on Wi-Fi only, Google Maps will still be able to find your position.
Superb post Dan, one of the best I've read on here in a long time.
Cheers,
BS...
Thanks for all the comments, positive and negative.
I'm not arguing by by any stretch that the Galaxy S GPS is fine (if it were there would be no need for the original post). I am as ****** as the rest about its troublesome performance, that said there is more that can be done then just 'playing with settings'
If Google has mapped WiFi hotspots then I will correct the post. However, using a WiFi signal strength together with a triangulated hotspot location is a HORRIBLE way to locate yourself in a city - what if someone moves the router? Stands in front of the aerial? Moves shop fittings around? That said I guess it could locate you "You are near a starbucks",
However, I will alter the post because I want it to factually accurate. If anyone really does have better results in a city using the wireless locations please let everyone know.
I'll also add the codes to allow access to LbtTestMode in 2.1 and 2.2
neil85ae86 said:
I appreciate the effort here but this is a tad bogus. I have a 3+ year old dedicated GPS device, it's an extra-sensitive Garmin handheld and my puny little 3 year old HTC Touch rivals it's performance track for track. They both blow away the Galaxy S with their 3 year old technology. ...so no it is not expected to be inferior, maybe to the latest and greatest dedicated gps, however I can assure you their is no exscuse not to rival 3 year old technology.
sorry for yet more gps ranting.
Neil
Click to expand...
Click to collapse
You don't say if you've tried any/all of these settings or not. We need to all work together to find the solution. I think the OP might be on to something here, although as he says, some of it is guess work, so there is probably room for improvement!
I would disagree with the OP about the hardware faults, as I'm sure there are bound to be at least some units that have a fault that needs returning to be fixed too. But everyone should at least try these settings to see if it helps at all, as there are bound to be multiple factors at work here.
Also which way up do you have your phone when in the car? That is something very tangible we can sort out to optimise the signal reception in these phones. I currently don't know which side has the GPS antenna, so which way up we should out our phone for optimal signal strength. Once we've found that, we might well find that many have their phones with the antenna pointing down which won't be helping either!
Apologies if you've tried these settings too, and they didn't work, but we need to ask, so that we build a fuller picture! Just disagreeing with the OP without saying what you've tried doesn't help anyone move this forwards.
We all want the GPS fixed, and I for one will try anything in that quest.
Here's hoping the next discovery by Samsung or the community fixes it for good for everyone!
Mike
xpcomputers said:
I currently don't know which side has the GPS antenna, so which way up we should out our phone for optimal signal strength.
Click to expand...
Click to collapse
OP now contains info on GPS antenna position. Answer is straight upright on rotates clockwise (antenna on Left Hand Side 1/3 of way down).
xpcomputers said:
I think the OP might be on to something here, although as he says, some of it is guess work, so there is probably room for improvement!
Click to expand...
Click to collapse
I am on to something - unfortunately that 'thing' is that I think the settings given deliver the best performance the SGS is capable of because its teeny tiny antenna. It simply doesn't have the gain for those awesome feats of satellite lock that we see from other GPS units (either that or the internal wiring generates some huge losses along the signal path to the chip).
This also plays out the earlier comments about "three year old technology". Chipsets move on and Broadcom have clearly had to pour a load of research into optimizing signal strength for mobile devices. Unfortunately the laws of physics don't change. If there is not sufficient signal at an antenna with insufficient gain you will only keep a lock on the strongest satellites.
Once I get the tracks on the OP you'll see what I mean. Where I am with a good clear sky view there is no problem at all, excellent correlation with ground trace and no complaints with the SGS strapped onto my arm while running. Once you increase signal attenuation by adding trees and buildings things start to 'go south' rapidly.
Is this the price for that huge bright screen....?
t1mman said:
Any way to force disable the AGps overall?
Click to expand...
Click to collapse
Isn't that what the OP does with the "Standalone" setting (instead of one of the MS A-GPS options)?
Mike
Op: thanks for the info. To bad all settings accept for accuracy is default on froyo.
I also working on this issue.
Wifi is a bad thing to use.
This is often the main thing people do have on and they get very poor accuracy and blame the gps for it.
When i flash the phone i always put the accuracy to 150.
This is a strange setting and normal i would like it to be less the 5.
So i should use 5 on accuracy, but that don't work good. I have found that putting accuracy over 150 will make the phone use the satellites better. Strange...
I also use standalone made. That's works great for me.
A also think all people should try different settings and se if some works better for them.
There is other things you can tweak to help the navigation.
Also don't use Google map. Use a standalone navigation program.
They works alot better.
Sent from GT-I9000 jpo. My own kernel for z4mod and with 342MB Ram
t1mman said:
I know AGps is only used for the first fix, and shouldn't affect the accuracy once fixed, but what if (this is speculation, it should need further investigation) the GPS status accuracy issue was more likely caused by a lost and retreival of a fix? In this case, the fact that the fix was lost/regain would mean that the aGPS would affect the accuracy as it is constatly regained.
Any way to force disable the AGps overall?
Click to expand...
Click to collapse
AGPS provides you with timing corrections and satellite position data to allow the GPS reciever to 'sync' with the signal transmitted by the satellites. The satellites still provide the location, the AGPS data helps it get there quicker.
MS Based would save 15 minutes month-to-month downloading almanac data, a minute or two day-to-day updating timing data but 'hotstart' will work just fine if you are turning on and off many times in a day.
dangrayorg said:
OP now contains info on GPS antenna position. Answer is straight upright on rotates clockwise (antenna on Left Hand Side 1/3 of way down).
Click to expand...
Click to collapse
So I am hearing you correct? That theoretically the GPS will work best with the phone in landscape, with the home button (and the bottom of the phone) on the left hand side.
If that is the case, then at a guess, I suspect that most right hand users are instinctively using the phone with the buttons on the right hand side, and therefore the GPS antenna at the bottom, which might not be optimal positioning. (this purely is based on an observation of only my own usage of using it the other way up as a right hander, so hardly a large observed sample! I could just be weird!!)
Now of course this is totally hypothetical anyway, and needs to be something that gets tested in the real world, but this alone could account for some of the difference noted by users in the real world, but before we jump to conclusions, we need to test if the theory bears out in the real world.
I am assuming that the phone will work best that left edge facing upwards, as close to the windscreen (and as close to the bonnet as possible). Ideally the phone will be vertical in that landscape orientation, (or even slightly tilted down at the front, so the back is pointing upwards ever so slightly?). But this is pure guess work. unfortunately, I haven't the time, skills or equipment to able to test this theory out. But hopefully someone here can run some meaningful real world tests to see if this position really does give the optimal signal to the antenna compared with other orientations of the phone.
Every little helps...
Mike

Is there any alternative to the pricey Google Roads API?

In my project, I need to extract this speed limit data from the gps signal that comes to my receiver. Does Raw gps data that goes into the gps chip contain ONLY Lat long? If not, then what else the gps satellite send to the gps receiver?
I don't know coding in Android but I know basic C and Java so I could understand how the roads API sends request to server for obtaining road speed limit from the Google example. I am willing to learn android coding.
I guess the roads API works this way? It obtains Lat long from gps hardware and sends that latlong to server via mobile data or WiFi and it gets the speed limit of the road.
All I need to know is there a free resource available apart from OSM? because there are almost no entries for roads in India in osm. I believe Google has, but it's costly and I'm not developing a paid app, I'm developing certain prototype hardware which needs this.
Take a look at my reddit post if you're interested :
https://www.reddit.com/r/engineering/comments/57w4n9/i_am_working_on_designing_a_system_that_forces/

Categories

Resources