Related
Hi all.
To get to the point, my Hero picks up the wrong current location for all applications, including the weather, homescreen clock (when set to current location) and even Hoccer when set to use my mobile network. When it is set to use WiFi, there is no issue, but when it is set to use the Mobile Network, then it seems to believe that it is in Dubai. I am in South Africa at the moment, and more specifically, Cape Town. Obviously using WiFi, I get the location right down to my suburb.
This leads me to believe that obviously the local tower that my phone uses in the area is a reference to another location on the location servers. Now, I have two questions:
1) Does anybody perhaps know a way to solve this?
2) If there is no direct solution, is there a way to either A) manipulating the phone into reassigning the correct location number if it is getting signal from the tower that puts it in Dubai. In other words, IF tower ID is 452(Tower that gives out Dubai), then SET tower ID to 123(Another tower in the area). B) Is there perhaps a way to loge a fault for whoever controls the location servers to perhaps fix this issue?
Thank you for your help!
Padie
What rom are you using?
Just set your location maybe? Instead of using the auto detect
Same problem
Hmmm, it seems I was hit by same problem using MrBang ROM (http://forum.xda-developers.com/showpost.php?p=5767289&postcount=347)
I have discovered that it is actually ROM independent. I have tried Modaco, CKDroid, KaguDroid, and MrBang. All the ROM's have given me the same issue.
I do set my location for weather etc, but I cannot set my location for programs that use the phone's current location, such as Hoccer. If I use my GPS, then it will chew battery, and take too long to acquire the location.
it might be that your network is not programmed to give out a location
Edit: have you actually turned the location enabler thing on in the settings?
I have the "Use wireless networks" feature on to detect my location, but I have kept the "Enable GPS sattelites" option off for now, because it wastes battery and takes too long to aquire locations.
MrPadie said:
but I have kept the "Enable GPS sattelites" option off for now, because it wastes battery and takes too long to aquire locations.
Click to expand...
Click to collapse
Are you sure? I have mine on all the time. It is only actually used when a programme asks for it. Battery usage is OK with me, considering it is a feature full smartphone (so it is never going to be as good as a dumb phone).
And mine locks onto locations very quickly - ussually a few seconds. MUCH quicker than my old WM Touch Diamond
You may have noticed, especially if you've got the new Free Wifi Calling feature from T-Mobile, that WiFi Calling is a BATTERY HOG. Worse, it hogs battery even when disabled. You can verify it's Hogginess even when disabled by noting it will almost always be the top APP in history using SystemPanel. It's incredibly badly coded, and if you've got a Rom with Wifi Calling on it, and you've had bad battery life, now you know WHY.
But, really, with the new Free Wifi Calling feature, we shouldn't have to kill it entirely.
You can freeze it with Titanium Backup, but that's a hassle. Likewise using Bloater to uninstall/reinstall it all the time. Wouldn't it be nice just to have a desktop widget to do it for you? Or be able to hook it into your "Home Wifi" profile, so it's always enabled at home, and then have it turned off as soon as you're no longer near your home wifi?
Thanks to user AntonX in this thread , I came across a method to simply kill the app at the system level until needed. Still not convenient. So, I whipped up some Tasker scripts which will help the situation.
This assumes you have Tasker, as well as a basic knowledge of how to use it. Here are your the TASKS to create (Don't create any profiles unless you want to)
You also need to have the Locale Execute plugin, which is free.
NOTE: For this to work correctly, leave the slider set to ENABLE in the wifi calling app, and disable the feature using the Tasker widget and not inside the app!
Create a Task "Disable Wifi Calling"
1. Variable Set %WIFIWASON to YES If %WIFI ~ on
2. Wifi Set Off
3. Wait 5 Seconds If %WIFIWASON ~ YES
4. Execute @!pm disable com.android.kineto
5. Wifi Set On If %WIFIWASON ~YES
6. Variable Clear %WIFIWASON
7. Variable Clear %WIFICALLING
Create a Task: "Enable Wifi Calling"
1. WiFi Set On
2. Plugin:Execute @!pm enable com.android.kineto
3. Wait 5 Seconds
4. Load App Wifi Calling
5. Variable Set %WIFICALLING to YES
Create a Task "Toggle Wifi Calling"
1. Perform Task Disable WIFI Calling If %WIFICALLING ~ YES
2. Perform Task Enable WIFI Calling If %WIFICALLING |~ YES
TO USE:
Add a Tasker Widget to your homescreen for the "Toggle Wifi Calling" task.
What is going on:
Disable script will check if wifi is on at the time it is executed. It has to turn Wifi OFF so we get a clean disconnect from the network and the taskbar Icon goes away before killing the Wifi Calling app. If Wifi was on beforehand, it turns it back on.
Enable script will make sure wifi is enabled, and give it time to connect, and then load the application since sometimes it won't activate on its own without loading manually.
These tasks are intended to be linked to Tasker widgets on your homescreen, but you can call them from location based profiles or whatever.
Now, when Wifi Calling is OFF, it is REALLY off, and not just sitting around, unused, sucking up your battery. With a little more work, this could probably be turned into a single "Toggle" task, but that's an exercise for someone who has slept and doesn't have work in 5 hours. Comments/Improvements welcome.
Update 1:
Added instructions for creating a Toggle widget at the same time.
Streamlined Tasks.
Planned Features:
1. Automatically disable WIFI calling app once WIFI has been disconnected to save battery. Seems to need a block to prevent the state from triggering during processing of the disable/enable tasks, as it breaks functionality. I'm sure it is trivial but I have a limited attention span.
2. Automatically enable WIFI calling app if currently connected to WIFI *and* cell has no signal for longer than a set time. (%CELLSIG)
3. [not possible?] - Audible warning that WIFI signal is getting low and you are currently on a call. Is there any way to read current WIFI signal strength with Tasker?
Very good guide and a great idea.. if only we could get a better coded wifi calling app... or one for cm7
Sent from a cell tower to the XDA server to you.
I love the idea, but I can't quite seem to get it working. When I run the "disable" task, it eventually turns WiFi back on and WiFi calling gets re-enabled.
Then, a while later I get an "app not responding" warning from the Android system for the execute locale plugin (I can select Force Close or Wait).
Also, what is the best way to grant SU permissions to the plugin in the SU application? I have never been prompted to allow it. To test it out, I just temporarily granted access to everything...
Thanks!
lotherius,
I follow on the G2X forums. And you know how the G2x & MIUI Roms can't seem to get Wifi Calling to work consistently. I noticed that if I can get the Wifi Calling app to stay turned OFF it allowed my Sim card to not get the "Invalid Sim" error and then I was able to get wifi calling to work again even after reboots. Do you think by any chance that this script could help cure our Wifi Calling issue with MIUI Roms??? And is there a way to make a flashable zip of this for us Noobs? Thanks Again.
GFam4 said:
lotherius,
I follow on the G2X forums. And you know how the G2x & MIUI Roms can't seem to get Wifi Calling to work consistently. I noticed that if I can get the Wifi Calling app to stay turned OFF it allowed my Sim card to not get the "Invalid Sim" error and then I was able to get wifi calling to work again even after reboots. Do you think by any chance that this script could help cure our Wifi Calling issue with MIUI Roms??? And is there a way to make a flashable zip of this for us Noobs? Thanks Again.
Click to expand...
Click to collapse
Nope, this script wouldn't help with that. The problem on MIUI roms on the G2X is due to the operator (T-Mobile for most) not sending the phone # directly to the SIM card when it is activated. Some SIM cards have it, typically older ones, so it works. Those without, however, find that it doesn't work.
Supposedly you can manually program the SIM by using a phone that supports doing so, but I haven't checked to see if that would fix the problem.
Also I no longer bother with this on the G2X as it appears that while wifi calling still uses *some* battery when not active, it's not the battery hog it was back on the Vibrant.
Lotherius,
I had an HD2 running MIUI with Wifi Calling working before the G2X. The is the hack/mod that this guy TyTung did to get wifi calling to work for the HD2. http://forum.xda-developers.com/showthread.php?t=1038784 You think something like this can be used for the G2X to get wifi calling working?
GFam4 said:
Lotherius,
I had an HD2 running MIUI with Wifi Calling working before the G2X. The is the hack/mod that this guy TyTung did to get wifi calling to work for the HD2. http://forum.xda-developers.com/showthread.php?t=1038784 You think something like this can be used for the G2X to get wifi calling working?
Click to expand...
Click to collapse
WiFi Calling is really picky about the network information being accurate. I'm surprised that they got it working on the HD2...
The best fix for it on MIUI on the G2X would depend on fixing MIUI itself, since the RIL is correct -- the G2X doesn't allow you to change the RIL so it isn't affected. In the case of MIUI, older SIM cards typically work better than new ones.
The issue comes down to the ability to read the network information from the SIM card. If that data has been programmed to your SIM card, then it might work. If it has not been programmed to your SIM card, then it won't work.
So basically... not saying it's impossible to get it working on G2X/MIUI, but it is more likely to require a fix to MIUI rather than to Wifi Calling.
lotherius said:
WiFi Calling is really picky about the network information being accurate. I'm surprised that they got it working on the HD2...
The best fix for it on MIUI on the G2X would depend on fixing MIUI itself, since the RIL is correct -- the G2X doesn't allow you to change the RIL so it isn't affected. In the case of MIUI, older SIM cards typically work better than new ones.
The issue comes down to the ability to read the network information from the SIM card. If that data has been programmed to your SIM card, then it might work. If it has not been programmed to your SIM card, then it won't work.
So basically... not saying it's impossible to get it working on G2X/MIUI, but it is more likely to require a fix to MIUI rather than to Wifi Calling.
Click to expand...
Click to collapse
I wish i knew what Lib's and RIL's that I can swap from a CM7 Rom (Weapon G2X, Eaglesblood, or TSUGI) and push it via Root Explorer. I did this on my Hd2 and had wifi calling working. Can't this method work to get wifi calling working on G2X. Sorry I know this is off topic. But I even had Wifi Calling on your TSUGI ROM. You wouldn't happen to know what Lib's & Ril's on your TSUGI Rom are responsible for Wifi Calling to be enabled?
Is battery life really bad with wifi calling for you guys? I use it nearly 24/7 on my phone, and get fantastic battery life. Like way better than I did without it.
Of course, I'm on the clearly superior HTC G2, but still
I've been toying with this, but anytime I force Wifi calling to disable (by killing the app or disabling kineto), restarting Wifi calling says I'm not registered with the T-Mobile network (sure) and won't connect (even after clicking Register) until I reboot the phone.
Any tips?
So, while I know the NT does not have a GPS receiver, I figured there might be a location setting like the Wi-Fi iPad 2 has where it uses local wi-fi signals to determine it. However, any time I try to activate this feature either through the NT Settings app or the option that Beautiful Widgets offers, it force closes and I get bubkiss. Without this it's tough to get local weather info if I'm not in my house (because I manually set the location in that case). Just wondering if anyone had any insight as to how to get location service working on a rooted NT without it force closing? If not, I can live without it. Hopefully when CM9 comes out, we'll get that in addition to Bluetooth.
You might try these steps to get network location to work.
Yeah unfortunately that doesn't really do what I was looking for, but in any case I have my answer. Real location determination is not available yet via wifi network, you can only fool a rooted NT into believing you're in a certain location by using an app. Fair enough, but disappointing.
Hey,
so I've got this weird problem where Android apparently ignores the location of my wifi. But let me explain:
Whenever I'm at home google now suggests that my current location is not where I currently am but rather 10 to 15 miles away from my home address.
That is kind of annoying because I get wrong weather updates, location based reminders will not work on my home address and my location history is a complete mess.
Android primarily uses these three methods for checking on your location:
- gps
- cell towers
- wifi
am I right?
So I did some tests:
1. Testing gps
In location settings I checked "Device only" (so that it would only use gps for determining my location) and opened maps
-> works flawlessly
2. Testing wifi
In location settings I checked "Battery saving" (only wifi and mobile networks). And activated airplane mode to ensure that it could not use mobile networks for location.
Reboot (any kind of "location cache" should then be wiped, I guess).
-> works flawlessly
3. Testing cell towers (mobile networks)
In location settings I checked "Battery saving" (only wifi and mobile networks) and then disabled wifi. In advanced wifi settings I unchecked "Scanning always available" (so that it could not scan for wifi networks even though I disabled wifi).
Reboot (any kind of "location cache" should then be wiped, I guess).
-> does not work flawlessly. It determines the wrong location (that google now always uses).
I live in a more rural part of the country so it makes perfect sense that mobile networks cannot determine my exact location, but why would Android ignore the wifi location (as we have seen, it knows where my wifi is located, otherwise it could not have shown me my correct location in test 2), when I'm signed in on the wifi network?
I tested this on two different devices (Moto X stock / HTC One S with CM 11).
Is there anything I could do?
*bumping
No one knows?
Could someone (who preferably lives on countryside, lol) try to reproduce this or tell me if this is how android is supposed to work (this wouldn't make any sense to me, though).
// This is the right board for this kind of question, isn't it? If not, feel free to move this thread :>
*bump
I still have no idea why this is happening.
If this is the wrong board please tell me or move the thread.
Have you ever had a GPS lock while being connected to the WLAN network? I would assume Google learns the MAC addresses and WLAN SSIDs and correlates them to your location ...
145
GarryKG said:
Have you ever had a GPS lock while being connected to the WLAN network? I would assume Google learns the MAC addresses and WLAN SSIDs and correlates them to your location ...
Click to expand...
Click to collapse
Yes. I'm using maps quite frequently (with gps enabled ofc).
But I am pretty sure google already knows the correct location of my wfi, since when I activate airplane mode and check "Battery saving" (only wifi and mobile networks are being used for location) in location settings, my correct location is determined. Since the airplane mode is activated it means that my phone can only use wifi for determining my location.
But as soon as I disable airplane mode my location is wrong again.
So I would conclude that, although google knows the correct location of my wifi, it just prioritizes mobile networks for some reason. Which is driving me insane.
*bümp
*bump
This is still bugging me. I mean I can't be the only one.
*bamp
The problem is still existent and is bugging me.
The forums look different now.
*bomp
I wish someone knew what causes this behavior.
*bemp
Even after all this time the problem still exists.
bömp
No answers
bämp.
So I guess there is no solution?
Anyway, I will keep bumping this thread but less frequent.
*bumping every once in a while.
I haven't found the "one" best mock location fake gps app - but I found a few good ones that have ads.
But if I had to pick just one as the "best", I'd pick Lexa simply because it works without ads.
*Fake GPS Location* by LexaFree, no ads, requires gsf, rated 4.6, 456K reviews, 10M+ Downloads<https://play.google.com/store/apps/details?id=com.lexa.fakegps>
Note that these mock location apps are set inside the operating system, such that EVERY app gets their information from them, and that these mock location apps can randomly move along roadways by a given distance per a given time period, and they can start at the last location, and they can randomize the amount of movement per second, and they can spoof the altitude, and some can set a specific exact location by the keyboard instead of only graphically, etc. They can even send the location to another phone or get the location from another phone if you want that.
Click to expand...
Click to collapse
But others (with ads) do a better job of random location following roadways with random movement time periods.
Others (with ads) can also shift the GPS location from one phone to another (either way) - but what use is that for you?
Also others (with ads) can spoof both the wi-fi provider & the GPS provider - but what use is that for you?
Which fake GPS mock location app do you feel is best and why?
GPS position falsification is currently not very effective when RIL is enabled on the phone. Apps can easily orient the phone in space based on the signal strength to the network operator's mast.
ze7zez said:
GPS position falsification is currently not very effective when RIL is enabled on the phone. Apps can easily orient the phone in space based on the signal strength to the network operator's mast.
Click to expand...
Click to collapse
For privacy reasons... I have every setting for location accuracy turned off, and I also have every unused radio on the phone turned off (e.g., NFC, bluetooth, gps, wi-fi, etc.) and my phone's wi-fi does NOT reconnect (auto-connect is turned off) as my home AP SSID is hidden (for privacy, not for security!) and it has a "_nomap" appended to keep out of the well-behaved databases such as Google/Mozilla, but not Wigle/Netstumbler/Kismet,etc, which aren't well behaved, and I randomize the phone's Wi-Fi MAC upon every connection - which is a new feature of Android 12 in Developer options, etc., ....
... But I had to look up what RIL stands for, so I thank you for bringing up that unknown-to-me Radio Interface Layer detail...
RIL references:
https://wladimir-tm4pda.github.io/porting/telephony.html
https://source.android.com/devices/tech/connect/ril
Specifically
Radio Interface Layer: It is the bridge between Android phone framework services and the hardware. In other words, it is the protocol stack for Telephone. The RIL consist of two primary components.
RIL Daemon
Vendor RIL
RIL DaemonRILD will be initialized during the Android system start up. It will read the system property to find which library has to be used for Vendor RIL, provide the appropriate input for vendor RIL and finally calls RIL_Init function of Vendor RIL to map all the Vendor RIL functions to the upper layer. Each vendor RIL has RIL_Init function.Vendor RILIt is a library specific to each modem. In other words, we can call it as a driver to function the modem. The RIL daemon will call the RIL_Init function with the device location (eg: /dev/ttyS0). It will initiate the modem and returns theRIL_RadioFunctions structure contains the handles of radio functions
After skimming that RIL information, I'm not sure exactly what you're trying to tell me, but I guess you're saying that we can be geolocated when we make phone calls and even when we don't, in that the cell towers can be triangulated if the phone is in calling mode... which I understand full well.
But, in terms of privacy, how many apps that need to be fooled by their GPS location have access to that cell tower radio location information?
You understood correctly. A phone in call mode, as you wrote, can be easily located while moving.
The google map tricked out by "Fake GPS Location", does quite well while driving a car, as I recently verified in the field.
I don't analyze the app for route tracking.
ze7zez said:
You understood correctly. A phone in call mode, as you wrote, can be easily located while moving.
Click to expand...
Click to collapse
I agree with you that any phone, if it's going to be used for two (or three) things, will be easily tracked by those with the resources to do so
Make/receive phone calls
Send/receive sms/mms texts (mms requiring data)
Wi-Fi connections (aka "the Internet")
However, in all cases above, the geolocation isn't as accurate as with GPS (if you are judicious about your location settings), and, more to the point, the applications themselves don't have access to the cell tower information (although they do have access to your IP address, which can be roughly geolocated).
We have to assess our threat level where I'm not using fake location apps to hide from a well-funded TLA adversary; I'm using the fake location to simply hide from the likes of Google and other nefarious outfits that put the tracking APIs inside the code (which is why almost none of my apps require GSF).
ze7zez said:
The google map tricked out by "Fake GPS Location", does quite well while driving a car, as I recently verified in the field.
Click to expand...
Click to collapse
If what you're saying is that the mock location apps "fool" the likes of Google Maps, I fully agree with you. If... If... if...
If you don't allow Google Maps to run a more detailed analysis that is.
As an example, I recently ran a test inside of a local town where I had the fake location set to miles away, and Google Maps was telling me I was where the fake location said I was... but...
But... then Google Maps asked me to snap a photo so that it could better figure out where I was, and BINGO! It figured out where I was based on the video that I allowed (for test purposes) to show the storefronts.
When I tested it again without allowing the video to see anything of value (e.g., I panned to the mountains above), Google Maps could NOT geolocate me.
Likewise when you don't let Google Maps geolocate by WI-Fi address (although for all I know the camera mechanism sneakily allowed that as I'm well aware there are TWO APIs for turning on your GPS radio, one of which (from Google) is downright nefarious)...
ACTION: "android.lintent.action.MAIN"
PACKAGE: "com.google.android.gms"
CLASS: "com.google.android.gms.location.settings.LocationAccuracyActivity"
Click to expand...
Click to collapse
vs
Notice it's similar but different from the Android setting for accuracy.
ACTION: "android.intent.action.MAIN"
PACKAGE: "com.android.settings"
CLASS: "com.android.settings.Settings$ScanningSettingsActivity"
Click to expand...
Click to collapse
Notice that, for this very reason, you NEVER want to turn on your GPS radio from ANY Google app prompt!
ze7zez said:
I don't analyze the app for route tracking.
Click to expand...
Click to collapse
If you need to navigate and if you don't want to be tracked by Google, I found a little trick that works kind of nicely with the simple interfaces of the offline mapping programs.
Set your position as your destination in the mock location app
Use any offline map to set your current position as a waypoint
Then use the offline map app to route to your destination
Another "trick" that keeps you out of Google maps' databases is that you can easily get traffic using a web shortcut of the area you are currently traveling in - where you don't need to know your exact location in order to check out the traffic in front of you.
Yet another trick for traffic is that PLENTY of web sites provide Google traffic updates without logging into Google web servers (afaik), such as sigalert apps, 511 apps, and many local DOT apps such as caltrans (for California).
Overall, in summary, the mock location apps work to prevent apps that use your GPS location from tracking you - but as @ze7zez warned, it will only work for GPS and not for cell tower tracking.
GalaxyA325G said:
(...) the applications themselves don't have access to the cell tower information (...)
Click to expand...
Click to collapse
This is not true.
Go into your phone's service mode and see for yourself what the phone knows about the mast connection.
Here's a cheesy Cell Diagnostic app that I wrote myself:
Note that the only permissions that it uses is android.permission.READ_PHONE_STATE and android.permission.ACCESS_COARSE_LOCATION
It refuses to give you this information if you have "Location" turned off.
ze7zez said:
This is not true.
Go into your phone's service mode and see for yourself what the phone knows about the mast connection.
Click to expand...
Click to collapse
As always, you're correct... but.... you're being too narrow I think... in that debugging apps which we use when we need to are different from the run-of-the-mill apps we use all day every day...
There are only "some" apps, which I'm well aware of, that have your telephony information, such as this one which requires you to provide that permission first...
Once you manually provide that permission, yes, of course, the app has you dead in its sights... but most apps (that don't need it) don't ask for THAT much permission... (nor would you let them if they did).
Renate said:
Here's a cheesy Cell Diagnostic app that I wrote myself:
Note that the only permissions that it uses is android.permission.READ_PHONE_STATE and android.permission.ACCESS_COARSE_LOCATION
It refuses to give you this information if you have "Location" turned off.
Click to expand...
Click to collapse
You bring up a good point that a few Android releases ago Google cheated like hell by forcing apps to request "Location" being turned on in order for the app to display unrelated things such as "Wi-Fi signal strength"...
Which is ANOTHER good reason for being able to set the mock location... because the Wi-Fi Signal Strength of all nearby access points has nothing (per se) to do with your current GPS location.
EDIT: BTW, as a related aside, I post a billion screenshots to the Internet, where some of them contain GPS location - which - if spoofed - means I don't need to redact it in those screenshots. For other information though, such as the cell tower information, I never know how much to redact (for privacy) where you didn't redact anything on your screenshot.
Can you let me know which are the cellular tower information pointers that we should redact for privacy when posting screenshots?
https://forum.xda-developers.com/attachments/cell1-png.5676683/
The CDMA system has a place for actual Lat/Long. But, these cells are set up by various people and the amount of information in them is variable.
I've rarely seen lat/long on a CDMA signal
The LTE stuff only references cell number. You need a database to reference it to location.
I have a few cell numbers hard-coded to named location.
I can't even find my current tower on https://www.opencellid.org/
Renate said:
The CDMA system has a place for actual Lat/Long. But, these cells are set up by various people and the amount of information in them is variable.
Click to expand...
Click to collapse
I'm aware there are open signal public OSM cell-tower-location databases (which essentially suck - but which are good enough to track your general location) and then there are the "real" databases (which the carriers and the FCC kind of sort of keep to themselves.
Renate said:
I've rarely seen lat/long on a CDMA signal
The LTE stuff only references cell number. You need a database to reference it to location.
Click to expand...
Click to collapse
The reason open signal public OSM databases only "essentially" suck is because they're averages from lots of people, so, for example, a tower might be on the wrong side of the railroad tracks or in the middle of a river on those open signal public OSM maps when it's not really the case - but they're still good enough to geolocate you to a general area were I to publish the unique number in the screenshots.
Renate said:
I have a few cell numbers hard-coded to named location.
I can't even find my current tower on https://www.opencellid.org/
Click to expand...
Click to collapse
My tower is almost always my own femtocell or my cellular repeater (both of which I have but usually the femtocell wins out), which is unique to me (which is why I'm worried about privacy).
Unless you're in my driveway, only I would be using that femtocell (I don't know how far out they go, but it's not more than a few hundred feet at the most, isn't it?).
Hi, I'm a new member of the forum and this is my first post.
I've read this thread and it's an interesting discussion about layers in global positioning. But I have a simpler question out of curiosity;
is there perhaps a way to work around this plugin (https://github.com/wongpiwat/trust-location) without root / only with developer option, since I haven't found any fake gps app that could fool/bypass this part.
Or do I have to use a custom ROM to accomplish it?