summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorHolger Hans Peter Freyther <zecke@selfish.org>2012-11-09 15:13:17 +0100
committerHolger Hans Peter Freyther <zecke@selfish.org>2012-11-09 19:49:32 +0100
commita44c76a73a02df3c2898f5195302ad56712351ca (patch)
treebc4c1c824fba88ae533ca6affa4b714eee900068
parent8810241b0424b3b28f0bfbfad08cf2f610bdf34c (diff)
modem: Only modems without a SIM will be switched off, wait longer
Switch of modems without a SIM card as they might have a SIM card now but thee is no simcard detection. Increase the sleep time to wait for modems to become available.
-rw-r--r--ofono-end-to-end/osmocom/modem.py20
1 files changed, 13 insertions, 7 deletions
diff --git a/ofono-end-to-end/osmocom/modem.py b/ofono-end-to-end/osmocom/modem.py
index 6fe9d6c..d083fbd 100644
--- a/ofono-end-to-end/osmocom/modem.py
+++ b/ofono-end-to-end/osmocom/modem.py
@@ -68,6 +68,9 @@ class Modem(object):
"""
return self.modem.GetProperties()[name]
+ def sim(self):
+ return sim.Sim(self.bus, self.name)
+
def __repr__(self):
return "<Modem('%s')>" % self.name
@@ -94,11 +97,8 @@ def detect_modems(bus):
# Filter out the phonesim
modems = filter(lambda x: x.name != '/phonesim', modems)
- # Force reloading..
wait = []
on = []
- for mod in modems:
- mod.disable()
# Enable each modem...
for mod in modems:
@@ -112,7 +112,8 @@ def detect_modems(bus):
# Now... wait a bit for the modem to do some init
if len(wait) > 0:
import time
- time.sleep(3)
+ print("I need to sleep some time for the modem to wake up")
+ time.sleep(20)
for mod in wait:
if mod.is_enabled():
@@ -124,12 +125,17 @@ def detect_modems(bus):
return modem.manufacturer() != None
def sim_present(modem):
- s = sim.Sim(bus, modem.name)
- print s
- return s.imsi() != None
+ return modem.sim().imsi() != None
on = filter(modem_vendor, on)
on = filter(sim_present, on)
+ # TODO: We could now disable all modems without a SIMcard
+ for mod in modems:
+ if mod in on:
+ continue
+ print("Modem %s is wihtout SIM card. Powering it down." % mod.name)
+ mod.disable()
+
return on