aboutsummaryrefslogtreecommitdiff
path: root/test/mm-test.py
diff options
context:
space:
mode:
Diffstat (limited to 'test/mm-test.py')
-rwxr-xr-xtest/mm-test.py98
1 files changed, 66 insertions, 32 deletions
diff --git a/test/mm-test.py b/test/mm-test.py
index f4eacfeb..a5389672 100755
--- a/test/mm-test.py
+++ b/test/mm-test.py
@@ -8,10 +8,32 @@ MM_DBUS_SERVICE='org.freedesktop.ModemManager'
MM_DBUS_PATH='/org/freedesktop/ModemManager'
MM_DBUS_INTERFACE='org.freedesktop.ModemManager'
MM_DBUS_INTERFACE_MODEM='org.freedesktop.ModemManager.Modem'
+MM_DBUS_INTERFACE_MODEM_CDMA='org.freedesktop.ModemManager.Modem.Cdma'
MM_DBUS_INTERFACE_MODEM_GSM_CARD='org.freedesktop.ModemManager.Modem.Gsm.Card'
MM_DBUS_INTERFACE_MODEM_GSM_NETWORK='org.freedesktop.ModemManager.Modem.Gsm.Network'
-def get_network_mode(modem):
+def get_cdma_band_class(band_class):
+ if band_class == 1:
+ return "800MHz"
+ elif band_class == 2:
+ return "1900MHz"
+ else:
+ return "Unknown"
+
+def inspect_cdma(proxy):
+ cdma = dbus.Interface(proxy, dbus_interface=MM_DBUS_INTERFACE_MODEM_CDMA)
+ try:
+ print "ESN: %s" % cdma.GetEsn()
+ except dbus.exceptions.DBusException:
+ pass
+ print "-------------------"
+ info = cdma.GetServingSystem()
+ print "Class: %s" % get_cdma_band_class(info[0])
+ print "Band: %s" % info[1]
+ print "SID: %d" % info[2]
+
+
+def get_gsm_network_mode(modem):
mode = modem.GetNetworkMode()
if mode == 1:
mode = "GPRS"
@@ -26,7 +48,7 @@ def get_network_mode(modem):
print "Mode: %s" % mode
-def get_band(modem):
+def get_gsm_band(modem):
band = modem.GetBand()
if band == 0:
band = "Any"
@@ -58,6 +80,38 @@ def get_band(modem):
print "Band: %s" % band
+def inspect_gsm(proxy):
+ # Gsm.Card interface
+ card = dbus.Interface(proxy, dbus_interface=MM_DBUS_INTERFACE_MODEM_GSM_CARD)
+ try:
+ print "IMEI: %s" % card.GetImei()
+ except dbus.exceptions.DBusException:
+ pass
+ print "IMSI: %s" % card.GetImsi()
+
+ # Gsm.Network interface
+ net = dbus.Interface(proxy, dbus_interface=MM_DBUS_INTERFACE_MODEM_GSM_NETWORK)
+ print "Signal quality: %d" % net.GetSignalQuality()
+
+ print "Scanning..."
+ results = net.Scan()
+ for r in results:
+ status = r['status']
+ if status == "1":
+ status = "available"
+ elif status == "2":
+ status = "current"
+ elif status == "3":
+ status = "forbidden"
+ else:
+ status = "(Unknown)"
+
+ if len(r['operator-long']):
+ print "%s: %s" % (r['operator-long'], status)
+ else:
+ print "%s: %s" % (r['operator-short'], status)
+
+
bus = dbus.SystemBus()
# Get available modems:
@@ -84,42 +138,22 @@ for m in modems:
print "Invalid modem type: %d" % type
print "Driver: '%s'" % (props_iface.Get(MM_DBUS_INTERFACE_MODEM, 'Driver'))
- print "Data device: '%s'" % (props_iface.Get(MM_DBUS_INTERFACE_MODEM, 'DataDevice'))
+ print "Modem device: '%s'" % (props_iface.Get(MM_DBUS_INTERFACE_MODEM, 'MasterDevice'))
+ print "Data device: '%s'" % (props_iface.Get(MM_DBUS_INTERFACE_MODEM, 'Device'))
# Modem interface
modem = dbus.Interface(proxy, dbus_interface=MM_DBUS_INTERFACE_MODEM)
modem.Enable(True)
- if type != 1:
- continue
-
- # Gsm.Card interface
- card = dbus.Interface(proxy, dbus_interface=MM_DBUS_INTERFACE_MODEM_GSM_CARD)
- print "IMEI: %s" % card.GetImei()
- print "IMSI: %s" % card.GetImsi()
-
- info = card.GetInfo()
- print "Vendor: '%s' Model: '%s' Version: '%s'" % info
-
- # Gsm.Network interface
- net = dbus.Interface(proxy, dbus_interface=MM_DBUS_INTERFACE_MODEM_GSM_NETWORK)
- print "Signal quality: %d" % net.GetSignalQuality()
-
- print "Scanning..."
- results = net.Scan()
- for r in results:
- status = r['status']
- if status == "1":
- status = "available"
- elif status == "2":
- status = "current"
- elif status == "3":
- status = "forbidden"
- else:
- status = "(Unknown)"
-
- print "%s: %s" % (r['operator-long'], status)
+ info = modem.GetInfo()
+ print "Vendor: %s" % info[0]
+ print "Model: %s" % info[1]
+ print "Version: %s" % info[2]
+ if type == 1:
+ inspect_gsm(proxy)
+ elif type == 2:
+ inspect_cdma(proxy)
print
modem.Enable(False)