diff options
Diffstat (limited to 'test/mm-test.py')
-rwxr-xr-x | test/mm-test.py | 98 |
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) |