#!/usr/bin/python3 import dbus import sys bus = dbus.SystemBus() if len(sys.argv) == 4: path = sys.argv[1] mcc = sys.argv[2] mnc = sys.argv[3] elif len(sys.argv) == 3: manager = dbus.Interface(bus.get_object('org.ofono', '/'), 'org.ofono.Manager') modems = manager.GetModems() path = modems[0][0] mcc = sys.argv[1] mnc = sys.argv[2] else: print("%s [path] " % (sys.argv[0])) sys.exit(0) netreg = dbus.Interface(bus.get_object('org.ofono', path), 'org.ofono.NetworkRegistration') operators = netreg.GetOperators() for path, properties in operators: if properties['MobileCountryCode'] != mcc: continue if properties['MobileNetworkCode'] != mnc: continue operator = dbus.Interface(bus.get_object('org.ofono', path), 'org.ofono.NetworkOperator') operator.Register() sys.exit(0) print("No operator matching mcc: %s, mnc: %s found" % (mcc, mnc))