AT#REBOOT does not reboot from Python?

6 thoughts on “AT#REBOOT does not reboot from Python?

  1. We are trying AT#REBOOT as a workaround to getting stuck in denied state, but it does not seem to have much of an effect when executed in Python:

    AT#REBOOT

    OK

    Then the interpreter happily continues to execute. However, I’m not sure the AT engine responds to commands anymore:

    AT+CFUN?

    // Timeout after 5s, no reply

    AT+CFUN?

    // Timeout after 5s, no reply

    AT+CSQ

    // Timeout after 5s, no reply

    Is this a bug or is it intentional? Is there any other way we can reset the device which doesn’t involve toggling a pin?

      1. I think the prefered reset mode is AT#ENHRST, please try it.

        I was just about to say 🙂 I have changed to ENHRST so we’ll see what happens the next time we get denied.

        1. Hi,

          I’m having a similar problem with my HE910 (python engine 2.7.2)

          After this instruction

           a = MDM.send(‘AT#ENHRST=1,0r’, 0)

          the python engine keeps running but MDM doesn’t answer anymore.

          I also tryed to use AT#REBOOT and to increase the timeout but I got the same result.

          I tryed

          a = MDM.send(‘AT#REBOOTr’, 0)

          with GE910-QUAD V3 (python engine 1.5.2) and it rebooted correctly (both python engine and MDM).

          I guess (but I’m not completely sure) that inside the module there is a microcontroller and a modem. For some reason the HE910 is rebooting the modem but not the microcontroller where the python engine is running. Given that I’m sending the command using the MDM it might appear reasonable but:

          – why does it work for GE910-QUAD V3

          – is there any other command we can use to restart the both python engine and MDM?

          cheers,

          Dario

  2. Adding the following delay after AT#REBOOT the python engine stops but doesn’t reboot. Any idea?      

    start = time.time()
    while (time.time() – start < 20):
           continue

    1. Hi,

      we tried a simple script using AT#REBOOT on different modules, it works on all of them.
      What change from one module to another could be the time spent by the module for making the reboot effective;
      the script as attached use a simply counter to measure this time. Could you try it?

      The output from the debug port should be something like this:

      Initialize
      Python 2.7.2 (default, OCT 13 2011, 17:11:00) [C] on HE910
      import MDM # builtin
      import time # builtin

      — While Start —
      AT

      OK

      MDM.send -> AT#REBOOT
      lap: 1
      lap: 2
      lap: 3
      lap: 4
      Initialize
      Python 2.7.2 (default, OCT 13 2011, 17:11:00) [C] on HE910
      import MDM # builtin
      import time # builtin

      — While Start —
      AT

      OK

      MDM.send -> AT#REBOOT
      lap: 1
      lap: 2
      lap: 3
      lap: 4
      Initialize
      . . .

      Are you sure that the DTR line on USIF0 is always low (2.8V at the module DTR pin – RS232 signals are inverted)?