Verizon LTE-CATM1 FiPy + Pytrack

  • Has anbody got this to work at all? I'm a little frustrated....ok ill be honest a lot. Was so excited to get this thinking that it would just work, but Its not tried, updating the firmware to the modem, tried updating FiPy firmware to no avail.

    I posted my code and my output on this post here

    Please I need to get this working. Time is ticking and I need to finish my proof of concept.

    Thank you all for all your help!

  • @wghirakawa Related to a different question (, could I please ask you to check the result of 'AT+SQNHPLMN?'. I am trying to find out if Sequans supports 6-digit PLMNs in the US.

  • Here's the AT Commands I use to verify if the settings are correct.

    >>> at('AT+CEREG?')
    +CEREG: 2,1,"0701","001B6201",7
    >>> at('AT+CGCONTRDP')
    +CGCONTRDP: 3,5,"vzwadmin.mnc480.mcc311.gprs","","","","","",""
    +CGCONTRDP: 3,5,"vzwadmin.mnc480.mcc311.gprs","","","","","",""
    >>> at('AT+CGDCONT?')
    +CGDCONT: 2,"IPV4V6","VZWADMIN",,,,0,0,0,0,0,0
    +CGDCONT: 3,"IPV4V6","VZWINTERNET",,,,0,0,0,0,0,0
    +CGDCONT: 4,"IPV4V6","VZWAPP",,,,0,0,0,0,0,0
    +CGDCONT: 6,"IPV4V6","VZWCLASS6",,,,0,0,0,0,0,0
    +CGDCONT: 7,"IPV4V6","VZWIOTTS",,,,0,0,0,0,0,0
    >>> at('AT+CGPADDR')
    +CGPADDR: 2
    +CGPADDR: 3,"",""
    +CGPADDR: 4
    +CGPADDR: 6
    +CGPADDR: 7
    >>> at('AT+CGACT?')
    +CGACT: 2,0
    +CGACT: 3,1
    +CGACT: 4,0
    +CGACT: 6,0
    +CGACT: 7,0

  • So I finally got it to work. I used the following docs, and commands to gain some insight into my issues, that I was having and now I am properly connected using the following code.

    This document for making sure APN information is being received and proper PDP context is established.

    This document for making sure the proper internet context is activated starting on page 7.

    import socket
    import ssl
    import time
    from network import LTE
    import pycom
    debug = True
    def at(cmd):
        ("modem command: {}".format(cmd))
        response = lte.send_at_cmd(cmd).split('\r\n')
        for line in response:
    if (debug) : print('creating LTE object - carrier verizon')
    # lte = LTE()
    lte = LTE(carrier="verizon")
    pycom.rgbled(0x7f0000) #red to show LTE established
    # lte = LTE(carrier="at&t")         # instantiate the LTE object
    if (debug) : print('resetting modem, may take up to 5 secs...')
    if (debug) : print('attaching...')
    lte.attach()        # attach the cellular modem to a base station
    # lte.attach(band=13)        # attach the cellular modem to a base station
    while not lte.isattached():
        if (debug) : print('waiting for isattached...')
    pycom.rgbled(0x7f7f00) #yellow to show LTE attached
    if (debug) : print('connecting...')
    # lte.connect()       # start a data session and obtain an IP address
    lte.connect(cid=1)    # cid=3 for verizon - start a data session and obtain an IP address
    while not lte.isconnected():
        if (debug) : print('waiting for isconnected...')
    pycom.rgbled(0x00007f) #blue to show LTE attached
    if (debug) : print('create socket')
    s = socket.socket()
    if (debug) : print("Connect to:")
    sockaddr = socket.getaddrinfo('', 80)[0][-1]
    #print("Connect to:")
    #s = ssl.wrap_socket(s)
    #sockaddr = socket.getaddrinfo('', 443)[0][-1]
    if (debug) : print("socket address: {}".format(sockaddr))
    s.connect(socket.getaddrinfo('', 80)[0][-1])
    pycom.rgbled(0x007f00) #green to show LTE attached
    if (debug) : print("send GET request")
    s.send(b"GET / HTTP/1.0\r\n\r\n")
    if (debug) : print("receive response")
    if (debug) : print(s.recv(16))
    if (debug) : print("socket closed")

Log in to reply

Pycom on Twitter