lte.attach() doesn't work, but modem is attached

  • Hi,

    I am trying to work with a GPy (NB-IoT), configured to only listen to Band 28, which is the band I'm using with a mobile EPC (Ericsson) I own.
    After configuring the SIM card, the modem tries to connect/attach to the cellular network and I can spot it on the MME and eNodeB (including a set of initializing messages). The modem is then given an IP address dynamically, an S-GW and a P-GW and it's state changes from "Idle" to "Active".

    I can 'ping' the modem and can 'traceroute' it to see it communicating through the right APN (configured on both SIM and Core).
    When I try the AT command - 'AT+CEREG?' I get the following answer: 2, 2, "0002", "XXXXXXX",9
    As I understand it, it means: configured to register to network, registered to network, location tag (which is the right NB-IoT cell), cell ID in hexa, some cause that I couldn't figure out what it means but seems irrelevant.

    If I try to lte.attach(), the modem won't attach and it will stay with lte.isattached() = False.
    Ideas on how to proceed and an explanation of what is the lte.attach() trying to do would be welcome.



  • @wtrocel As @robert-hh has suggested using the pycom firmware update tool and selecting include development versions + development instead of stable is likely the easiest way to get the new Release candidate.

  • @wtrocel Depends on what you downloaded. If you downloaded the source tree, you have to build your image based on the instrauctuion in
    If you downloaded the zip files form here (, you can use the Pycom updater with the option "upgrade from file". You can also use the updater and select "Include Development Versions".

  • thanks guys..

    I have downloaded this version, "GPy-1.20.0.rc0" is there any link with the instruction on how to upgrade my Pycom with this files?


  • @shedaim In the actual "official" version 1.18.1.r1 there is a bug, in that the response to attach is not correctly decoded. This is known since a while. Try to update to a more recent version.

  • @wtrocel
    Try to test with Pre-release v1.18.1.r6:

    It still has some socket and LTE-related issues but it works better than previous releases.

    LTE-related issues:
    When modem Synchro state goes to OFF lte.isattached() and lte.isconnected() continue to return True. This seems to be happening also in case of strong signal. Probably can be solved by re-attach.

    I also suggest to reset the modem after LTE object initialization using 'AT+CFUN=1,1' command. Otherwise you may have issues with connecting after ESP32 soft-reset (when the modem is not restarted).

  • Hi Guys, this link seems to be broken, [LINK NO LONGER AVAILABLE] Is there any other location where I can find this firmware?

    I am facing similar issue, after the attach command , I can see form the network signalling that the device actually is attached to the NB-IoT network, however the isattach() respond false, which is not right

    I would appreciated if you could please pint me I the right direction

  • Indeed, that was the issue. With the new Firmware it's working.
    Thank you.

  • @shedaim I don't know which f/w you're using, but maybe this would be helpful:

    @robert-hh said in Trying to connect to LTE-M1:

    @chielvdiepen There is a problem in the lte.attach() API. @xykon adresses this in a trial firmware build at [LINK NO LONGER AVAILABLE]
    Please download and install that (install from file). It may fix you problem.
    See also this thread around and

Log in to reply

Pycom on Twitter