Let’s get rid of aGPS.
This is another way they spy on you, via Assisted GPS… using WiFi, NFC, GPS and cell-tower triangulation to pinpoint your location 24/7.
Assisted GPS (aGPS) uses SUPL (Secure User Plane Location) to assist the GPS device to get a shorter TTFF (Time To First Fix) on the GPS satellites… and in so doing, those proffering the aGPS services get to track your every move and monetize it. That’s not a tradeoff I find particularly beneficial for anyone but the aGPS providers, given that modern GPS units can get a satellite fix plenty fast.
adb root
adb pull /data/vendor/agps_supl/agps_profiles_conf2.xml c:\test
Change:
mcp_enable=“true”
To:
mcp_enable=“false”
This is CDMA Multicell Processing… since you’re disabling all aGPS, there’s no need to use MCP for aGPS.
Change:
pde_addr=“11.11.11.11”
To:
pde_addr=“127.0.0.1”
MediaTek no longer uses the server at 11.11.11.11 IP address… it hosts a bunch of websites, none of them MediaTek.
Change:
agps_enable=“true”
To:
agps_enable=“false”
This should disable aGPS functionality, but as you’ll see below, it can be re-enabled either via the phone’s chip automatically deciding to use an aGPS protocol, or via a NILR (Network-Induced Location Request). So we’ll turn all that off, too.
Change:
lppe_network_location_disable=“false”
To:
lppe_network_location_disable=“true”
This is the LTE Positioning Protocol, Enhanced… the comments in the same file on my old phone say it’s still under development and not ready for use.
Change:
agps_nvram_enable=“true”
To:
agps_nvram_enable=“false”
This tells the aGPS functionality to use nonvolatile RAM to store information, and that information can be sensitive.
Change:
lbs_log_enable=“true”
To:
lbs_log_enable=“false”
Disables logging to logcat.
Change:
sib8_16_enable=“true”
To:
sib8_16_enable=“false”
This allows the phone to communicate with the cell towers via SIB blocks. SIB 8 is CDMA2000 data transfer, and SIB16 is aGPS-related information.
Change:
a_beidou_satellite_enable=“false”
To:
a_beidou_satellite_enable=“true”
This is the Chinese BeiDou satellite system… the more satellites your phone’s GPS can get a fix on, the quicker it’ll get a First Fix.
Change:
a_galileo_satellite_enable=“false”
To:
a_galileo_satellite_enable=“true”
This is the European Galileo satellite system, developed so Europe didn’t have to depend upon the US for GPS.
The setting:
a_glonass_satellite_enable=“true”
Already is set to true, so leave it be. That’s the Russian GPS satellites.
Change:
reject_non911_nilr_enable=“false”
To:
reject_non911_nilr_enable=“true”
This is the non-911 ability for a Network-Induced Location Request… in other words, someone can request that your phone give its location… in other-than-emergency situations… in other words, at any time.
Change:
cp_2g_disable=“false”
cp_3g_disable=“false”
cp_4g_disable=“false”
cp_lppe_enable=“false”
To:
cp_2g_disable=“true”
cp_3g_disable=“true”
cp_4g_disable=“true”
cp_lppe_enable=“false”
This is the 2G, 3G, 4G and LTE communication between the phone and the cellular towers for aGPS purposes, allowing your cellular provider to pinpoint your location exactly.
Change:
ni_request=“true”
To:
ni_request=“false”
This is the Network-Induced Location Request functionality. This turns it off in all circumstances except when the phone is in a roaming state.
Change:
roaming=“true”
To:
roaming=“false”
This turns off NILR (Network-Induced Location Requests) even when the phone is in a roaming state.
Change:
msa_enable=“true”
msb_enable=“true”
ecid_enable=“true”
To:
msa_enable=“false”
msb_enable=“false”
ecid_enable=“false”
glonass_msa_enable=“false”
glonass_msb_enable=“false”
beidou_msa_enable=“false”
beidou_msb_enable=“false”
galileo_msa_enable=“false”
galileo_msb_enable=“false”
This is Mobile Station Assistance and Enhanced Cellular ID, which allows the phone to communicate with the cellular towers for aGPS functionality. This is one method by which Google and the cellular providers can single you out from any other phone user.
Change:
lpp_enable=“true”
To:
lpp_enable=“false”
This is the LTE Positioning Protocol, yet another method by which cellular providers can pinpoint your location via aGPS.
Change:
auto_profile_enable=“true”
To:
auto_profile_enable=“false”
This prevents the phone from automatically enabling aGPS.
Change:
imsi_enable=“true”
To:
imsi_enable=“false”
This disables the International Mobile Subscriber Identity being transmitted for the purposes of aGPS. This is yet another method by which you can be singled out from all other phone owners. Further, if someone’s running an IMSI-Catcher, they can use your IMSI to spoof your identity, impersonate you, receive your phone calls and your text messages.
Change:
no_sensitive_log=“false”
To:
no_sensitive_log=“true”
This prevents the aGPS functionality from saving any logs with sensitive data.
Change:
up_lppe_enable=“true”
To:
up_lppe_enable=“false”
This is LTE Positioning Protocol, Enhanced. The comments in the same file on my old phone say it’s still in development and not ready for use.
Save the file you’ve edited on your computer, then:
adb push c:\test\agps_profiles_conf2.xml /data/vendor/agps_supl/agps_profiles_conf2.xml
You’ll want to do the same for:
/data/vendor/agps_supl/agps_profiles_conf2_prv.xml
… there are two aGPS SUPL files, for some reason (and the second one is still using Google!).