os-issue-tracker
os-issue-tracker copied to clipboard
Auto disable cellular radio when connected to wifi
Feature request to add an option to disable the cellular radio when connected to a wifi network. Currently I do this by remembering to manually go into airplane mode, and then re-enable wifi, whenever the cellular radio is unneeded.
I think this would be an improvement for privacy, reducing the amount of time the cellular radio is providing a location, if we forget to manage it manually.
For convenience, perhaps separate option to auto re-enable the radio when the wifi is out of range.
EDIT: Just to clarify, this is for those of us who heed the advice in the FAQ, and communicate only over data connections on secure apps - our cellular connection is purely for data.
Is Tasker an option for you? Easer (an opensource alternative) only allows to disable mobile data, but not the cellular as a whole.
Tasker and easer need to have geolocation enabled to register wifi list, so you must have one radio allt ime enabled to disable another from time to time. Plus as you said, you cannot disable mobile data with it. Would like to have similar feature - when no wifi connected, data ON, wifi OFF, but not everybody need it, so i think it will not be implementet, at least soon)
It would be important to have as a sub-feature here some sort of check on whether the wifi connection you have is actually allowing you to connect to the internet.
If I understand correctly, the goal is to not leak location data + not have traffic associated with a mobile phone account whenever possible. However, merely being connected to a wifi network doesn't do the trick for most use cases because that wifi network needs to be a usable path to the internet too.
An additional sub-feature that is more just "nice to have" would be geo-fencing areas in which wifi should be on. This allows us to only have the correct radio on for a given situation.
I would guess that the information leaked from having wifi on all the time is not of great concern (unless you have programmed in hidden SSIDs?). However, there may be situations where you don't want it automatically trying to connect to wifi networks with common SSIDs (e.g., certain ISPs try to blanket an area with wifi (comcast), a work network, a campus-wide network...).
Imagine starting in "travel" mode, where you are using a cellular connection for data but wifi is off.
- You arrive home.
- Based on GPS data the phone deduces you are home (perhaps "home" is a 200m diameter circle around the coordinates when you indicated home is)
- The phone activates the wifi radio
- The wifi radio successfully connects to your home wifi network
- Phone does an internet connection check via wifi
- The check comes back True (you are in fact connected to the internet via wifi)
- The phone disables the cellular modem (equivalent to airplane mode + turning wifi back on?)
- The phone continues to check for internet connectivity at a random interval between 10 and 30 seconds, using a randomly selected IP (selected from a list). Or maybe the better plan is to use the default server every android phone uses, if there is such a thing.
Later you decide to go out for pizza.
- Walk out of your house in the direction of the pizza place
- Phone either detects loss of internet connection from internet connectivity check OR loses wifi connection
- Phone automatically powers up cellular modem and establishes internet connection.
This is much more of a nice-to-have because the situation where you want to have wifi power on and auto-connect to certain networks but not all is probably less useful than the simple case where:
IF internet connection thru wifi THEN kill cell modem
IF no internet connection thru wifi THEN power up cell modem
However, this simpler case entails having the wifi on all the time.