I’ve recently purchased ThL W200, an Android 4.2 smartphone powered by Mediatek MT6589T quad core processor, and I’m trying to test a few things including GPS. I’ve enabled access to my location, GPS, and Google’s location service using Wi-Fi and mobile network.
In Google Maps, I could get a somewhat accurate position thanks to mobile network location, but it was clear it could not lock GPS. I’ve also tried Nike+ Running, an application that keeps track of your running sessions with GPS, gives you some audio feedback as you run (distance, time and speed), and compares your performance to the average, and your social network friends. When I wanted to start running, the app complained about weak GPS signal, and tried to lock GPS for about 10 minutes, until I decided to give up.
So I tried to find a solution, and Google pointed me to an article on Gizchina explaining how to fix poor GPS in Mediatek phones. I followed the instructions, and amazingly Nike+ Running can now find my position with GPS within 5 to 10 seconds. Here’s what you have to do.
- Install Mobileuncle MTK Tools from the Google Play Store
- Launch the app, go to “Engineer Mode“, then “Engineer Mode (MTK)”, horizontally scroll to Location, and tap Location Based Service.
- Select “EPO” as shown in the left screenshot below, make sure “Enable EPO” is ticked, and click on “EPO (IDLE)” to download the data via Wi-Fi or mobile networks. It’s probably a good idea to enable “Auto Download” to make sure the data is always up-to-date and your phone locks the GPS satellites quickly. The download frequency can be set in “Update Period Setting” in the same window.
- Now go back to the previous menu, tap on “YGPS”, and you should see GPS satellites’ locations in red as shown in the right screenshot above, followed by the overlay message “SI Request Received for UP session” (this will happen to all apps using GPS), and after a few seconds, you will see most or all satellites turn green as the smartphone locks on them.
When I tried in Nike+ Running, first the GPS slider in the application was red, the system GPS icon blinked at top left corner, and within a few seconds, GPS was properly locked, and I could start my run. At the end of the run, it showed a map with my run, and I could see it followed the roads and paths where I ran accurately.
I always thought A-GPS would do what EPO just did here, so let’s have a closer look at what both are supposed to do.
What is A-GPS?
Assisted GPS (A-GPS) is a system that can, under certain conditions, improve the startup performance or time-to-first-fix (TTFF) of a GPS satellite-based positioning system by downloading positioning data from the network. There are two modes of operation:
- Mobile Station Based (MSB) – The A-GPS device receives acquisition assistance, reference time and other optional assistance data from a mobile service provider. The mobile service provider continuously logs GPS information (mainly the almanac) from the GPS satellites using a A-GPS server in its system. With the help of the above data (the data received from the mobile device and the data already present in A-GPS server) the A-GPS server calculates the position and sends it back to the A-GPS device.
- Mobile Station Assisted (MSA) – The A-GPS device receives ephemeris, reference location, reference time and other optional assistance data from the A-GPS server. With the help of the above data, the A-GPS device receives signals from the visible satellites and calculates the position.
Mobileuncle MTK Tools reports A-GPS is enabled in my phone and uses MSB. There are also quite a few others options for A-GPS such as Control Plane and User Plane switching, SLP (SUPL Location Platform) settings, and more things that currently do not make much sense to me.
What is EPO?
EPO (Extended Prediction Orbit) provides file downloaded by the GPS device to help it locate GPS satellites more quickly and reduce the Time To First Fix. I can find very little information about EPO, but it seems it’s a solution developed by Mediatek, and just another A-GPS type of solution. It appears some phones have access to EPO directly within the Android Settings, which was not the case for my phone.
So A-GPS and EPO appear to be very similar, and EPO may just be another A-GPS technique, but for some reasons A-GPS provides poor results in Mediatek phones, whereas if EPO is enabled, GPS will lock within a few seconds.
If GPS specialists among my readers could give some more extra information, it would be very nice. Thanks!