Saturday, November 14, 2009

Demystifying data and GPS on Nokia phones

Introduction


The modern cellular phone is very powerful computer with fantastic capabilities. The technology, from the user point of view, is not that complex. However, the lack of information on implementation specifics prevents lots of wonderful things from being done. For example, Nokia documentation such as (on page 57 of my E-71 manual) "To use a specific positioning method, select Positioning methods" is not helpful. The bewildering number of terms used for the same thing, and the same term to mean totally different things add to the confusion.

The Nokia phone has lots of powerful features for data. For example, your laptop computer can have full Internet access by "dialing" out through the phone in your pocket. This is something I have been doing for the past ten years, since CSD days, and that iPhone users still cannot enjoy.

Data on the move


There are two distinctively different types of data networks the modern Nokia phone such as the E-71 supports (I will not talk about Bluetooth and infrared here). Even if you are a network expert, please read on to see the different nomenclature used by Nokia:

  • Wifi - on the Nokia phone this is called Wireless LAN .  Wifi is a very local area wireless network with a coverage of a few tens of meters. Most likely you already have one at home as part of your Internet connection. The little box with one or two short antennas sticking out to provide Wirless LAN is called by everybody as an "access point". Whether this service is free depends on whose access point you are using. When you move too far away from the access point, your Wireless LAN connection is broken.




  • Cellular data - on the Nokia phone this is called Packet data . This uses the same radio and spectrum that you use to make voice calls. Depending on what your telco has deployed, Packet data can be alphabet soup: GPRS, EDGE, 3G, 3.5G (HSDPA) or LTE. Packet data thus goes through your telco's towers and you need a subscription, and probably have to pay extra, to use this. Where you can make voice calls you should also be able to access Packet data. Thus Packet data has more universal coverage than Wireless LAN. Every operator gives a different name to this service, and some hide it so well that you will have to do some research before you realize which product they offer is Packet data.




  • Access Points, again


    In the Nokia phone, to connect to a network you first have to define an Access Point. This is not to be confused with a wifi access point! This Nokia Access Point is nothing physical but a configuration that you set up in the phone, so that other applications can refer to it to connect to the Internet. Example applications that let you choose one of these Access Points are: web browser, Windows Live Messenger, email and so on. To see your Access Points, go to Tools, Settings, Connection:


    Figure 1

    As part of defining an Access Point one of the properties you have to specify is Data bearer. The Data bearer is where you state whether it is using Wireless LAN or Packet Data.

    If your Data bearer is Wireless LAN, you have to provide the WLAN netw. name which everybody else in the world calls the SSID. Connection name is just a description string for your own reference. Depending on the wifi (not Nokia) access point settings, you may need a password.


    Figure 2

    If the Data bearer is Packet data, you will have to specify the Access point name. (See, this is the third re-use of the phrase "access point" to mean a different thing!) More commonly abbreviated as the APN, this is a value that you must obtain from your telco. Telcos can have different APNs for Internet access, walled-garden applications, MMS, et cetera. In all likelihood some default ones are already created in your SIM. There is usually no need to enter the User name or password as most telcos authenticate you by the SIM you are using.


    Figure 3

    In Figure 1 above you will notice there is another item called Packet data! I salute the extraordinary effort the documentation experts at Nokia have put in to confuse the whole world. If you press that item, you get:


    Figure 4

    What can this "Packet data" thing be? I could not find any meaningful documentation for this. You enter a telco APN in the "Access point" field. From my experimentation, this configuration is just a special (Nokia) Access point configuration that is used when I use my laptop to dial out through the phone. That means, if I set my laptop to dial out via Bluetooth to my Nokia, the configuration that is used will be this "Packet data" thing.

    GPS


    It is surprising many people are still confused over what GPS is. If you are not sure, it is important you first Google and understand it clearly. Try here, or here.

    In short, GPS has nothing whatsoever to do with the mobile cellular network. GPS takes readings from a constellation of 24 low-flying US satellites, and from the different times it takes to receive a coded message from each satellite, it is a straightfoward triangluation calculation to determine where you are on planet earth. GPS requires a clear view of the open sky to work. You cannot be in a building, in a tunnel, or under a thick forest canopy.

    GPS simply gives you four items: x, y, altitude and a very very accurate time. There are no maps, no compass, no speed, no driving instructions, no when the fish will bite, no et cetera. All the other navigation goodies are applications built on top of those four pieces of data you get from GPS. For example, speed is the displacement from the last two position readings divided by the time between the two readings!

    The problem with GPS is that it takes a long time to synchronize with the satellites. There are two reasons for this. Firstly, the low power used and to make GPS robust and reliable, the data rate of the messages from the satellites is very low - 50bps. Secondly the earth is very big and the integer arithmetic rolls over about every 300km. So without some hints, it can take a cold GPS receiver ten minutes to lock in to the satellites.

    On the Nokia mobile phone, you see the following confusing GPS options and I will describe from the least relevant first:


    Figure 5

    Integrated GPS This means use the GPS receiver in the phone. I don't understand why this is necessary. If you have purchased a GPS receiver, why would you be switching if off to find your position?

    Bluetooth GPS means to use an external GPS receiver connected via Bluetooth. This may be applicable if your phone does not have a GPS receiver. If your phone (eg E-65, E-51, E-71) already has a built-in GPS receiver, I don't see any reason to use this. I know some weirdos complain that the built-in receiver is not accurate enough!

    Assisted GPS As explained earlier, it takes a long time to lock onto the satellites. Assisted GPS allows you to specify an external source which can provide some quick estimate of your current position so that the satellite fix can be achieved almost immediately. This feature requires a Packet data connection (see previous section) to a server somewhere on the Internet. The set-up is under Tools, Settings, General, Positioning, Positioning server:


    Figure 6

    As you can see, my phone has supl.nokia.com as the provider of the Assisted GPS service. Only Packet data access points can be selected, as I think it is assumed that you won't have wifi coverage when on the road. Once you have Assisted GPS enabled, the data connection will be made without asking you whenever GPS positioning is switched on in your phone.  So, if you are not a data user, don't be surprised with data charges in your bill when you use GPS.  GPS positioning can be switched on directly under menu GPS, GPS data, or it can be switched on by an application, example Nokia or Ovi or Google Maps. I don't know what data or protocol is used for this service. If someone knows please do share.

    Note that Assisted GPS by itself does not give you your location. Assisted GPS is just to speed up satellite synchronization. I am speculating that the server uses the IP address of the mobile unit to tell the GPS receiver the rough 300km zone it is in.

    Network based Cell phone towers (BTS'es) are usually fixed. If you can record the time taken for a signal to travel from two or more towers to a mobile phone, it is, theoretically, a simple task, just like GPS, to plot out your own position. In practice it is tough to measure accurately a signal traveling at the speed of light and also it is tough to identify reflections from buildings and so on. Hence, position location by cell phone towers at best is an estimate. But the estimate would be more than sufficient to allow the GPS receiver to lock in to the satellites in a jiffy.

    However, Network based option can be used for positioning if you are ok with the rough accuracy. Nowadays cells can be very small, eg a pico cell, that the position of the BTS can be taken as the position of the mobile phone. The Network based option comes in handy during those periods when the satellites are not visible, example when you are in a building.

    The Network based option requires that your telco deploy the locating services feature on the network. The triangulation is not done at the phone. It is done in the network, and the result transmitted to the phone via the signaling channel.

    If you have Network based GPS turned on when you launch Nokia Maps, you will notice that the red dot indicating your position would first be some distance from where you really are. Then after a few seconds it will jump to the spot where you really are.

    Important: from my experiments, Network based GPS requires a data connection. So if you are roaming, be aware of the possible high data charges. Without Network based or Assisted GPS, my Nokia E-71 will take about 20 minutes to lock in on the satellites. With Network based GPS, it is consistently under eight seconds.

    Conclusion


    I hope you find the above information useful. Parts of the above are from pure speculation and some are from non-exhaustive reverse engineering. If you have more accurate information do let me know.

    Where Nokia menu commands are referred to, it is assumed to be the menu sequence from an unadulterated Nokia E-71.