diff options
Diffstat (limited to 'ofono-end-to-end/osmocom/modem.py')
-rw-r--r-- | ofono-end-to-end/osmocom/modem.py | 20 |
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 |