summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorReiner Herrmann <reiner@reiner-h.de>2012-03-29 19:44:12 +0200
committerReiner Herrmann <reiner@reiner-h.de>2016-01-31 23:02:15 +0100
commit0d4d89054ae11780c719796d5218a944c76c9f66 (patch)
tree26d2bef7219096a4c7c4635b4a32607b6521ebca
parent506c6850a4d10a1f4f5c4f7b1963d1780cd00297 (diff)
umtsmodem: don't crash if modem is not connected; add start/stop options which do not connect to the internet
-rwxr-xr-xumtsmodem.py17
1 files changed, 13 insertions, 4 deletions
diff --git a/umtsmodem.py b/umtsmodem.py
index d0afaea..59280e4 100755
--- a/umtsmodem.py
+++ b/umtsmodem.py
@@ -54,8 +54,13 @@ def print_state(modem):
modem.readlines()
for line in response:
if line.startswith('+CREG: '):
- lac = int(line.rstrip()[7:].split(',')[2].strip('"'), 16)
- cellid = int(line.rstrip()[7:].split(',')[3].strip('"'), 16)
+ results = line.rstrip()[7:].split(',')
+ if len(results) == 4:
+ lac = int(results[2].strip('"'), 16)
+ cellid = int(results[3].strip('"'), 16)
+ else:
+ lac = -1
+ cellid = -1
break
print "MCC: " + mcc + ", MNC: " + mnc + ", LAC: " + str(lac) + ", CellID: " + str(cellid)
@@ -82,7 +87,7 @@ def stop_modem(modem):
def show_usage():
- print "Usage: " + sys.argv[0] + " [connect|disconnect|state]"
+ print "Usage: " + sys.argv[0] + " [start|stop|connect|disconnect|state]"
if len(sys.argv) != 2:
show_usage()
@@ -91,7 +96,11 @@ if len(sys.argv) != 2:
modem = serial.Serial(modem_device, timeout=0.5)
modem.readlines()
-if sys.argv[1] == "connect":
+if sys.argv[1] == "start":
+ start_modem(modem)
+elif sys.argv[1] == "stop":
+ stop_modem(modem)
+elif sys.argv[1] == "connect":
start_modem(modem)
connect(modem)
elif sys.argv[1] == "disconnect":