From c20e8cdb2f80f6d796cafe2e19aa5cc77ceb11db Mon Sep 17 00:00:00 2001 From: NeilBrown Date: Fri, 5 Dec 2014 11:02:25 +1100 Subject: [PATCH] gsmd: fix power on/off for modem. I had the sequence all wrong. Signed-off-by: NeilBrown --- gsm/gsmd2.py | 12 ++++++++---- 1 file changed, 8 insertions(+), 4 deletions(-) diff --git a/gsm/gsmd2.py b/gsm/gsmd2.py index 4dd16a8..ef93af7 100644 --- a/gsm/gsmd2.py +++ b/gsm/gsmd2.py @@ -360,9 +360,12 @@ class modem(Engine,AtChannel): self.queue = [] self.async_pending = None self.pending_command = None - gpio_set(186, 0) - self.atcmd("$QCPWRDN") self.close() + gpio_set(186, 0) + time.sleep(0.1) + gpio_set(186,1) + time.sleep(0.5) + gpio_set(186,0) time.sleep(2); Popen("rmmod ehci_hcd", shell=True).wait(); @@ -391,7 +394,7 @@ class modem(Engine,AtChannel): def open(self): sleep_time=0.4 self.block() - gpio_set(186, 1) + gpio_set(186, 0) self.close() self.timedout() while not self.connected: @@ -405,10 +408,11 @@ class modem(Engine,AtChannel): print "will now reboot" sys.stdout.flush() Popen("/sbin/reboot -f", shell=True).wait() - gpio_set(186, 0) Popen('rmmod ehci_omap; rmmod ehci-hcd; modprobe ehci-hcd; modprobe ehci_omap', shell=True).wait() time.sleep(1) gpio_set(186, 1) + time.sleep(0.5) + gpio_set(186, 0) time.sleep(1) l = self.wait_line(100) while l != None: -- 2.39.5