mirror of git://git.sysmocom.de/ofono
59 lines
1.3 KiB
Python
Executable File
59 lines
1.3 KiB
Python
Executable File
#!/usr/bin/python
|
|
|
|
import os
|
|
import dbus
|
|
|
|
bus = dbus.SystemBus()
|
|
|
|
manager = dbus.Interface(bus.get_object('org.ofono', '/'),
|
|
'org.ofono.Manager')
|
|
|
|
properties = manager.GetProperties()
|
|
|
|
for path in properties["Modems"]:
|
|
modem = dbus.Interface(bus.get_object('org.ofono', path),
|
|
'org.ofono.Modem')
|
|
|
|
properties = modem.GetProperties()
|
|
|
|
if "org.ofono.ConnectionManager" not in properties["Interfaces"]:
|
|
continue
|
|
|
|
connman = dbus.Interface(bus.get_object('org.ofono', path),
|
|
'org.ofono.ConnectionManager')
|
|
|
|
contexts = connman.GetContexts()
|
|
|
|
for path, properties in contexts:
|
|
if properties["Active"] == dbus.Boolean(0):
|
|
continue
|
|
|
|
print "Configuring %s" % (path)
|
|
|
|
settings = properties["Settings"]
|
|
|
|
interface = settings["Interface"]
|
|
address = settings["Address"]
|
|
try:
|
|
gateway = settings["Gateway"]
|
|
except:
|
|
gateway = "0.0.0.0";
|
|
|
|
if settings["Method"] == "dhcp":
|
|
print " Run DHCP on interface %s" % (interface)
|
|
else:
|
|
print " IP address is %s" % (address)
|
|
print " Gateway is %s" % (gateway)
|
|
|
|
cmd = "ifconfig " + interface + " " + address
|
|
cmd += " netmask 255.255.255.255"
|
|
os.system(cmd);
|
|
|
|
for i in settings["DomainNameServers"]:
|
|
print " Nameserver is %s" % (i)
|
|
|
|
cmd = "route add -host " + i
|
|
cmd +=" dev " + interface
|
|
os.system(cmd);
|
|
print
|