#!/usr/bin/python3 import sys import dbus bus = dbus.SystemBus() manager = dbus.Interface(bus.get_object('org.ofono', '/'), 'org.ofono.Manager') modems = manager.GetModems() for path, properties in modems: if "org.ofono.ConnectionManager" not in properties["Interfaces"]: continue connman = dbus.Interface(bus.get_object('org.ofono', path), 'org.ofono.ConnectionManager') contexts = connman.GetContexts() if (len(contexts) == 0): print("No context available") sys.exit(1) connman.SetProperty("Powered", dbus.Boolean(1)) if len(sys.argv) > 1: path = contexts[int(sys.argv[1])][0] else: path = contexts[0][0] context = dbus.Interface(bus.get_object('org.ofono', path), 'org.ofono.ConnectionContext') try: context.SetProperty("Active", dbus.Boolean(1), timeout = 100) except dbus.DBusException as e: print("Error activating %s: %s" % (path, str(e))) exit(2)