GPy with AT&T SIM

  • We've received a test SIM from AT&T. They have indicated that CAT-M1 is supported. I've modified my previous program that worked with the Hologram SIM, but I'm unable to connect. The only two lines of code changed were:

    lte = LTE(carrier="at&t")


    Any ideas???

    Any updates that I should be installing?

  • you have to have the correct APN. if your sim is not specific for IOT then try these APNs: broadband, phone, nxtgenphone. if your sim is specific to IOT then try the apn

    you must also designate the correct earfcn for each band.

    for band 2, try earfcn 1000
    band 5 2549 or 2450
    band 4 2100 or 2300 or 2000 or 2175
    band 12 5110

  • @notf0und Hi, did you manage to run att? beacause im not, im in att Mexico.

  • @notf0und It might be worth looking at getting the one free SIM card Hologram offer. The APN is simply
    'hologram' and I think they roam to AT&T. It might be a way of eliminating one potential area of issue.

    (I'm not associated with Hologram in any way, other than being a customer)

  • @John-Baird Thanks for that info John, the last test I've tried the response is like this: 00002333333333333

    Here is my code with APN = 'at&t':

    lte = LTE()
    lte.attach(band=4, apn='at&t')

    AT&T told me that the correct APN for my SIM card is '' but if I try with APN mentioned I always get a response: 0000003333333 without number '2'.

    I don't know what really happens, a couple of weeks before, GPy was connected succesful (1 of 10 attach that I've done). AT&T provided me a platform where I can check the status of my SIM card and is active it shows me some data consumed with some previous sessions.

    Still working, any founds I'll post

  • @notf0und Possible values are:

    Value Meaning
    0 not registered, MT is not currently searching an operator to register to
    1 registered, home network
    2 not registered, but MT is currently trying to attach or searching an operator to register to
    3 registration denied
    4 unknown (e.g. out of E-UTRAN coverage)
    5 registered, roaming
    6 registered for "SMS only", home network (not applicable)
    7 registered for "SMS only", roaming (not applicable)
    8 attached for emergency bearer services only (See NOTE 2)
    9 registered for "CSFB not preferred", home network (not applicable)
    10 registered for "CSFB not preferred", roaming (not applicable)

    So for example:

    • For my Telstra SIM I see a response like "02221" meaning it started (0); it listened till it found a candidate network which it then sent a request to attach to (2); the attachment was allowed and turned out to be the home network (1).
    • For my Hologram SIM I see a response like "02222225" meaning again it started (0), it listened till it found a candidate network which it then sent a request to attach to (2); the attachment was allowed but the network is not the home network (5). This means the device is roaming. With Hologram I expect to always get this. (If I get "5" with Telstra it means the device is overseas, which I tested on my last trip overseas and confirmed.)

    If you are getting "3" I would suspect the full sequence to be "02{repeated}23" meaning it found a candidate network who then denied the registration request. This could be:

    • The wrong APN (Seems the most likely)
    • A account error. The SIM might be blocked (always worth checking)

    Hint: Watch out for any occurrence "4" in the sequence. While not bad, it may be an indication of poor signal strength. My lab is RF shielded so I was testing LTE connections on the kitchen table. This had a low SAF and I got bumped to the living room, then spent two days trying to figure out why the connections always failed. Turns out that room had very poor signal strength - almost solid "4"s - which was the only problem. Live and learn.

  • @John-Baird Hi John, ok my SIM card is kind of IoT version... I tried the code that you provided me and it returns always number 3. I don't know what does it mean so, can you please share some info about this and thanks for all the support.

  • @John-Baird After the lte.attach() call try the following and tell me what it returns:

        while not lte.isattached():
            print(lte.send_at_cmd('AT+CEREG?')[12], end='')

    You should get back a string of single digit numbers, with a new digit being added each 0.5 second.

  • @notf0und Have you tried changing the APN from to phone?

  • @John-Baird Hello, John. I'm using Gpy version 1.0 and I found below info:

    Fipy/GPy v1.0 ==> supports 6 bands only (3, 4, 12, 13, 20, 28)

    I have tried with an AT&T sim card, and I already confirm that AT&T has Band 4 in my location.

    After executing lte.attach() nothing happens, if I try running lte.isattached() it returns "False", so I don't know exactly what is the issue in my connection. Wait for comments, thank you.

  • @notf0und have ypi checked/tried this:

    I've heard other have had success.

  • @tlanier Any idea?

  • @tlanier Interested to see where this lands. Am in the same boat as well.

Log in to reply

Pycom on Twitter