New Firmware Release Candidate v1.20.0



  • @danielm The UART runs at 921600 Baud, 8N1 for the other parameters..



  • @iwahdan
    This code in main.py runs for 10 minutes without any hang:

    import machine
    import network
    import time
    time.sleep(2)
    lte = network.LTE()
    print("LTE initialized")
    lte.deinit()
    print("LTE deinitialized")
    machine.reset()
    

  • administrators

    @danielm can you try with putting a sleep time of 1-2 sec before LTE init



  • @iwahdan
    This code in main.py will hang eventually:

    import machine
    import network
    lte = network.LTE()
    print("LTE initialized")
    machine.reset()
    

    This code in main.py will hang in few rounds:

    import machine
    import network
    lte = network.LTE()
    print("LTE initialized")
    lte.deinit()
    print("LTE deinitialized")
    machine.reset()
    

    I believe we are facing some timing issues. Firmware is always able to trigger safe-boot reset using Ctrl-F. Tested with NB1-40343.



  • @robert-hh
    In our application we are resetting the modem with 'AT+CFUN=1,1' command after each boot. Anyway for that the LTE object must be already initialized.

    A workaround might be to initialize UART object on LTE_RX and LTE_TX pins but I did not try that yet and I am not sure if it will be allowed by Pycom MicroPython.

    EDIT: It seems that it is possible to init UART object using P20 and P18, but I am not sure what UART parameters to set. Probably can be found in modlte.c and included files.

    In normal situation I would prefer to avoid resetting the modem as it can be already attached operating in eDRX or PSM mode. However the LTE.init() must work reliably first.



  • @danielm SOft reset does not reset the LTE modem. A subsequent LTE() fails for me.
    The changed cttrl-f behaviour allows to disable safe boot via ctrl-f in case you need it.



  • @robert-hh
    It seems that you don't have issues with LTE object initialization (network.LTE())?
    Could you please try to run the code from my previous post and perform several soft-resets? There are some LTE stats included as well.

    Btw longest attach I experienced ever was about 5mins long. Usually it takes only several seconds and I am testing in an area with not optimal conditions. It seems the duration really depends on conditions in specific network.

    What is the proposed change of CTRL-F behavior?



  • @iwahdan Thanks. It works with LTE on band 8. One observation, which others made before too, IIRC. The first attach after power on takes almost forever, like 15 minutes. the subsequent attaches are fast, as long as power is maintained. Another LTE modem I have behaves different. Their first attach also takes long, but on subsequent power cycles attaching stays fast, within a second.

    Unrelated note: The py/modmicropython.c change for ctrl-f handling is not yet included.



  • @iwahdan
    Thanks a lot for new release candidate.

    I am testing with code provided earlier this week:
    https://drive.google.com/open?id=1JwP1Pc3V78X2dhKK3qF_Hh-XGWKdzZqP

    LTE object fails to init (application hangs) after soft-reset. It does not happen every time but very often.


 

Pycom on Twitter