mirror of git://git.sysmocom.de/ofono
You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
48 lines
1.1 KiB
48 lines
1.1 KiB
#!/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()
|
|
path = "";
|
|
|
|
for i, properties in contexts:
|
|
if properties["Type"] == "internet":
|
|
path = i
|
|
break
|
|
|
|
if path == "":
|
|
path = connman.AddContext("internet")
|
|
print("Created new context %s" % (path))
|
|
else:
|
|
print("Found context %s" % (path))
|
|
|
|
context = dbus.Interface(bus.get_object('org.ofono', path),
|
|
'org.ofono.ConnectionContext')
|
|
|
|
if len(sys.argv) > 1:
|
|
context.SetProperty("AccessPointName", sys.argv[1])
|
|
print("Setting APN to %s" % (sys.argv[1]))
|
|
|
|
if len(sys.argv) > 2:
|
|
context.SetProperty("Username", sys.argv[2])
|
|
print("Setting username to %s" % (sys.argv[2]))
|
|
|
|
if len(sys.argv) > 3:
|
|
context.SetProperty("Password", sys.argv[3])
|
|
print("Setting password to %s" % (sys.argv[3]))
|