I'm stuck with my planned automatization with tasker and security settings. My idea is to automatically switch to 2G/GSM when I connect to a WLAN. When disconnecting I want to switch back to 3G/4G.

I'm on Sultans CM13 on my OPX (rooted). What i did so far: Installed tasker and security settings (SS) and configured a tasker profile with a task using the SS plugin (based on this XDA tutorial).

Under Actions --> Device Setting I picked global as table and set the value of preferred_network_mode1 to 1 (I also tested 0). I also configured the shell script described in the tutorial. But my phone is not switching to 2G when activating the WLAN although the profile is active. #edit: I just saw that there is also a parameter called preferred_network_mode followed by a 10 digit number, but it is not working either. No switch to 2G or from 2G to 3G.

Now I wanted to check if my phone/provider has another value perhaps, but when I'm executing:

sqlite3 /data/data/com.android.providers.settings/databases/settings.db SELECT name, value FROM global;

as su I get the message that the table global is not existing. Does anyone has an idea how I can access this database or how to configure Tasker/Security Settings on my OnePlus X (with CM13) in Germany (T-Mobile)?

  • This might help: Simple way to toggle between 2G and 3G connection // BTW, that command of yours didn't work because Marshmallow did away with relying on settings.db. You need to use settings command. Related: Where is the database to save android volumes
    – Firelord
    Aug 26, 2016 at 17:02
  • Thank you for the second hint. Concerning the first one: I wanted to solve it with Tasker/SecuritySettings and not with Xposed and Gravity. I already found this...but if there is no other solution I will have to switch.
    – mxlse
    Aug 26, 2016 at 17:06
  • I can't find the preferred_network_mode (or anything similar) in the xml file so I have to look in this folder
    – mxlse
    Aug 26, 2016 at 17:20

1 Answer 1


So here is the way I solved it: After discovering the right place to edit the preferred network mode I tested to change it:

adb shell settings put global preferred_network_mode 1
adb shell settings put global preferred_network_mode1 1
adb shell settings put global preferred_network_mode2456921 1
adb shell stop ril-daemon
adb shell start ril-daemon

The problem was that the changes were not reflected and with the restart of the ril-daemon they were reset (preferred_network_mode 9).

So I used Gravity Box (Xposed module) to change it and with this it's working fine:

Send Intent [
Action: gravitybox.intent.action.CHANGE_NETWORK_TYPE
Extra: networkType:1

Sadly it was not working without it (so I could have saved the money for Security Settings but however.

So if you want to try it with tasker I would recommend to use it with Xposed and Gravity - that's probably the easiest way actually.

You must log in to answer this question.

Not the answer you're looking for? Browse other questions tagged .