Welcome to the Pycom forum Forum
    • \[\[global:header.categories\]\]
    • \[\[global:header.recent\]\]
    • \[\[global:header.tags\]\]
    • \[\[global:header.popular\]\]
    • Login

    Explore Pybytes | Official Documentation | Report a Firmware Bug/Issue | GitHub

    Potential device lockdown - Network providers

    Scheduled Pinned Locked Moved GPy
    gpycat-m1fipytelstra
    42 Posts 12 Posters 10.6k Views 15 Watching
    Loading More Posts
    • Oldest to Newest
    • Newest to Oldest
    • Most Votes
    Reply
    • Reply as topic
    Log in to reply
    This topic has been deleted. Only users with topic management privileges can see it.
    • T Offline
      timh @Xykon
      last edited by

      @xykon Awesome. Thanks

      M 1 Reply Last reply Reply Quote 0
      • M Offline
        micksta @timh
        last edited by micksta

        @timh

        Telstra still no go (for me anyway'z), seems to find tower but then issues out - tried several location around town.. Some notes below.

        Modem f/w --> FIPY_GPY_CATM1_36417.dup

        (sysname='GPy', nodename='GPy', release='1.17.5.b6', version='v1.8.6-849-56d00234 on 2018-05-18', machine='GPy with ESP32')

        I'm not calling lte.attach(), use 'AT+CFUN=1' for that --> snippet of below below was definitely working before changes to telstra network

        'AT!="addscanfreq band=28 dl-earfcn=9410"' # lte frequency band - from forum

        AT+CGDCONT=1,"IP","mdata.net.au"' # Aldi sim / Aldi APN (aka Telstra network)


        FSM (loops through the below)
        SCANNING
        SYNCING
        STOPPED

        -------- e.g. --------------------------------

        SYSTEM FSM

        +--------------------------+--------------------+
        |            FSM           |        STATE       |
        +--------------------------+--------------------+
        | RRC TOP FSM              |SYNCING             |
        | RRC SEARCH FSM           |WAIT_SYNC           |
        | RRC ACTIVE FSM           |NULL                |
        | PMM PLMN FSM             |NORM_WAITCELL       |
        | EMM MAIN FSM             |NULL                |
        | EMM AUTH FSM             |KASME_DEFINED       |
        | EMM CONN FSM             |NULL                |
        | EMM TAU FSM              |NULL                |
        | EMM TEST FSM             |NULL                |
        | ESM BEARER FSM           |BEARER_NULL         |
        | SMS MT FSM               |IDLE                |
        | SMS MO FSM               |IDLE                |
        | HP MAIN FSM              |IDLE                |
        | HP USIM FSM              |READY               |
        | HP SMS MO FSM            |IDLE                |
        | HP SMS MT FSM            |IDLE                |
        | HP CAT FSM               |IDLE                |
        +--------------------------+--------------------+
        

        DL SYNCHRO STATISTICS (loops through some of the below but random)
        CELL_SEARCH
        FAST SCAN
        FRAME_UPDATE
        MIB_DETECT
        IDLE
        RSRP

        -------- e.g. --------------------------------

        DL SYNCHRO STATISTICS

        Synchro state                         : CELL_SEARCH
        PPU SIB1 ACQ watchdog                 : 0
        Frequency Hypothesis RF  (Hz)         : 0
        RSRP (dBm)                            : -21474836.00
        RSRQ  (dB)                            : 0.00
        Channel estimation state (Cell-spec.) : LOW CINR
        Channel estimation state (UE-spec.)   : LOW CINR
        Channel estimation state (MBSFN)      : LOW CINR
        Channel estimation CINR               : 5.62
        Channel length                        : SHORT
        AGC
        AGC RX gain (dB)                      : 60.22
        RX PSD BO (dBFs)                      : -23.42
        RX PSD (dBm)                          : -111.79
        Noise level RS (dBm)                  : -128.24
        Digital gain (dB)                     : 4.78
        CINR RS (dB)                          : 0.00
        NARROWBANDS
        Last DL NB                            : Central
        Last UL NB                            : 0
        AFC
        Frequency offset RF  (Hz)             : -379
        Frequency offset BB  (Hz)             : 0
        PBCH
        MIB received quantity                 : 21
        MIB timeout quantity                  : 0
        

        WITH CREG SHOWING

        +CREG: 2,0

        T 1 Reply Last reply Reply Quote 0
        • T Offline
          timh @micksta
          last edited by

          @micksta bugger ;-( I haven't had a chance to test myself yet. Up to my eyeballs. Hoping later this afternoon.

          Some my guidance on specifics from @daniel or @xykon would help a lot.

          1 Reply Last reply Reply Quote 0
          • T Offline
            tealbrains
            last edited by tealbrains

            Not only it is not working for me but it is even worse now (I did not think it could get any worse but it did.)

            I am not able to get a CCID from the (M2Mone) SIM card when issuing:

            send_at_cmd_pretty('AT+SQNCCID')
            

            I thought it would maybe be an issue with the SIM card itself so used a GPY that still had the previous modem firmware (FIPY_GPY_CATM1_33988.dup) with the same SIM card and it worked.

            So, summarising:

            • GPy on stable 1.18.0 with FIPY_GPY_CATM1_33988 -> Lost Telstra connectivity a few weeks ago but it can talk to the SIM card.
            • GPy on stable 1.18.0 with FIPY_GPY_CATM1_36417 -> Can't talk to SIM card, which I believe is what is producing an ERROR response when issuing
            send_at_cmd_pretty('AT!="RRC::addScanBand band=28"')
            

            It would seem we are taking one step forward and two steps backward...

            If @micksta, @timh and @Prawnhead can confirm this behaviour the problem is still there.

            P T 2 Replies Last reply Reply Quote 0
            • T Offline
              tealbrains
              last edited by tealbrains

              @tealbrains said in Potential device lockdown - Network providers:

              Not only it is not working for me but it is even worse now (I did not think it could get any worse but it did.)

              I am not able to get a CCID from the (M2Mone) SIM card when issuing:

              send_at_cmd_pretty('AT+SQNCCID')
              

              I thought it would maybe be an issue with the SIM card itself so used a GPY that still had the previous modem firmware (FIPY_GPY_CATM1_33988.dup) with the same SIM card and it worked.

              So, summarising:

              • GPy on stable 1.18.0 with FIPY_GPY_CATM1_33988 -> Lost Telstra connectivity a few weeks ago but it can talk to the SIM card.
              • GPy on stable 1.18.0 with FIPY_GPY_CATM1_36417 -> Can't talk to SIM card, which I believe is what is producing an ERROR response when issuing
              send_at_cmd_pretty('AT!="RRC::addScanBand band=28"')
              

              It would seem we are taking one step forward and two steps backward...

              If @micksta and @Prawnhead can confirm this behaviour the problem is still there.

              EDIT:
              The SIM command does work, eventually. I think the new pycom firmware blocks some commands sometimes if the modem is busy.

              @daniel
              A bit of extra info would be nice. The way the first command you mentioned needs to be sent is slightly different.

               send_at_cmd_pretty("AT!=\"RRC::addScanBand band=28\"")
              

              It must include the escape characters, otherwise it seems to produce an ERROR. The modem won't attach though.

              M 1 Reply Last reply Reply Quote 0
              • M Offline
                micksta @tealbrains
                last edited by micksta

                @tealbrains

                Here works no probs, have 2 GPY's - different revs of modem f/w.
                
                Using (Aldi Sim aka Telstra & below GPy f/w)
                (sysname='GPy', nodename='GPy', release='1.17.5.b6', version='v1.8.6-849-56d00234 on 2018-05-18', machine='GPy with ESP32')
                
                send_at_cmd_pretty('AT+SQNCCID?') # reads the ICCID ID on the SIM card.
                
                I'm also using (as @Daniel suggested below AT!)
                
                send_at_cmd_pretty("AT!=\"RRC::addScanBand band=28\"")
                 - System FSM & Synchro Stats still loops with no connection (although it does seem to see the tower) . CREG still stuck  --> +CREG: 2,0
                
                T 1 Reply Last reply Reply Quote 0
                • T Offline
                  tealbrains @micksta
                  last edited by

                  @micksta I am guessing the AT+SQNCCID is what works without problems, right? It's a different story for the Cat-M1 connection. If you can't connect either I guess the issue is not resolved then...

                  M 1 Reply Last reply Reply Quote 0
                  • M Offline
                    micksta @tealbrains
                    last edited by robert-hh

                    @tealbrains
                    Sure CCID no prob's --> same no Connection. Had a look at some alt. LTE M1 products (googled "Certified Modules and Devices - Telstra") & ordered several SIM7000E. Will be interesting to compare.. Hopefully the Pyboards make the list soon.

                    1 Reply Last reply Reply Quote 0
                    • P Offline
                      Prawnhead @tealbrains
                      last edited by

                      @tealbrains said in Potential device lockdown - Network providers:

                      Not only it is not working for me but it is even worse now (I did not think it could get any worse but it did.)

                      I am not able to get a CCID from the (M2Mone) SIM card when issuing:

                      send_at_cmd_pretty('AT+SQNCCID')
                      

                      I thought it would maybe be an issue with the SIM card itself so used a GPY that still had the previous modem firmware (FIPY_GPY_CATM1_33988.dup) with the same SIM card and it worked.

                      So, summarising:

                      • GPy on stable 1.18.0 with FIPY_GPY_CATM1_33988 -> Lost Telstra connectivity a few weeks ago but it can talk to the SIM card.
                      • GPy on stable 1.18.0 with FIPY_GPY_CATM1_36417 -> Can't talk to SIM card, which I believe is what is producing an ERROR response when issuing
                      send_at_cmd_pretty('AT!="RRC::addScanBand band=28"')
                      

                      It would seem we are taking one step forward and two steps backward...

                      If @micksta, @timh and @Prawnhead can confirm this behaviour the problem is still there.

                      I'm using this as minimum viable code:

                      import os
                      import time
                      import machine
                      from network import LTE
                      
                      def at_cmd(command):
                          print("Command:  {}".format(command))
                          result = lte.send_at_cmd(command)
                          print("Response: {}".format(result))
                      
                      print(os.uname())
                      
                      lte = LTE()
                      
                      at_cmd('AT+CGDCONT=1,"IP","telstra.internet"')
                      at_cmd('AT!="addscanfreq band=28 dl-earfcn=9410"')
                      at_cmd('AT+CFUN=1')
                      
                      for x in range(20):
                          print("Attached? {}".format(lte.isattached()))
                          time.sleep(1)
                      
                      machine.reset()
                      

                      Result is always:

                      >>> Running Z:\Content\Content2\Chris\Pycom\Pycom GPy\Pycom Forum 2878\connect0.py
                      
                      >>>
                      >>>
                      (sysname='GPy', nodename='GPy', release='1.18.0', version='v1.8.6-849-046b350 on 2018-06-01', machine='GPy with ESP32')
                      Command:  AT+CGDCONT=1,"IP","telstra.internet"
                      Response:
                      OK
                      
                      Command:  AT!="RRC::addScanBand band=28"
                      Response:
                      
                      OK
                      
                      Command:  AT+CFUN=1
                      Response:
                      OK
                      
                      Attached? False
                      Attached? False
                      Attached? False
                      Attached? False
                      Attached? False
                      Attached? False
                      Attached? False
                      Attached? False
                      Attached? False
                      Attached? False
                      Attached? False
                      Attached? False
                      Attached? False
                      Attached? False
                      Attached? False
                      Attached? False
                      Attached? False
                      Attached? False
                      Attached? False
                      Attached? False
                      ets Jun  8 2016 00:22:57
                      
                      rst:0x7 (TG0WDT_SYS_RESET),boot:0x17 (SPI_FAST_FLASH_BOOT)
                      configsip: 0, SPIWP:0xee
                      clk_drv:0x00,q_drv:0x00,d_drv:0x00,cs0_drv:0x00,hd_drv:0x00,wp_drv:0x00
                      mode:DIO, clock div:1
                      load:0x3fff8028,len:8
                      load:0x3fff8030,len:1728
                      load:0x4009fa00,len:0
                      load:0x4009fa00,len:14584
                      entry 0x400a059c
                      Pycom MicroPython 1.18.0 [v1.8.6-849-046b350] on 2018-06-01; GPy with ESP32
                      Type "help()" for more information.
                      >>>
                      

                      I have tried 1 x FiPy and 1 x GPy on firmware FIPY_GPY_CATM1_33988.dup and FIPY_GPY_CATM1_36417.dup and have not had a successful lte.isattached() in 20+ attempts. However, I'm not completely confident I've got the minimum viable code right. If someone using Optus or Vodafone could post their minimum code or confirm mine (with whatever settings changes are required) I'd appreciate it!

                      • Chris
                      T 1 Reply Last reply Reply Quote 0
                      • D Offline
                        Dylan
                        last edited by Dylan

                        Hey everybody,

                        I have been using a FiPy and having the same trouble that appears to be happening to most people (maybe everybody) in Australia.

                        I was in the middle of writing something up for a new topic on FiPy but since this is basically it I'll put it here.

                        Currently the following occurs:

                        • LTE connects successfully many times in a row, but can then go for hours without a connection (With 60 second sleep cycles). Just like discussed here:
                          https://forum.pycom.io/topic/2878/fipy-lte-connection-working-with-telstra/18
                          and
                          https://forum.pycom.io/topic/2769/telstra-lte-cat-m-working-on-fipy-just/24

                        • When doing longer sleeps between messages (15minutes) I very rarely get a connection

                        • Today I have simply not been able to get a connection at all.

                        • Sometimes when I do connect, it will say message sent however it is never received by adafruit

                        • Last successful connection was last night around 9pm.

                        I just installed the new sequans firmware and having the same result.

                        I am using SIM cards that are given out by telstra for m2m.

                        My code:

                        import machine
                        from network import LTE
                        from pytrack import Pytrack
                        import os
                        import time
                        import socket
                        import pycom
                        from MQTT import MQTTClient
                        from L76GNSS import L76GNSS
                        
                        
                        def sub_cb(topic, msg):
                            print(msg)
                        
                        lte = LTE()
                        # lte.reset()
                        print("Line 15") #lots of prints for debugging
                        time.sleep(1)
                        lte.send_at_cmd('AT^RESET') #trying this to see if it helps on restart
                        print(lte.send_at_cmd('AT^RESET'))
                        print("Line 16")
                        time.sleep(1)
                        
                        lte.send_at_cmd('AT+CFUN=0')
                        print("Line 17")
                        time.sleep(1)
                        lte.send_at_cmd('AT!="clearscanconfig"')
                        print(lte.send_at_cmd('AT!="clearscanconfig"'))
                        print("Line 18")
                        time.sleep(1)
                        
                        lte.send_at_cmd('AT+CGDCONT=1,"IP","telstra.m2m"')
                        print(lte.send_at_cmd('AT+CGDCONT=1,"IP","telstra.m2m"'))
                        print("Line 19")
                        time.sleep(1)
                        
                        lte.send_at_cmd("AT!=\"RRC::addscanfreq band=28 dl-earfcn=9410\"")
                        print(lte.send_at_cmd("AT!=\"RRC::addscanfreq band=28 dl-earfcn=9410\""))
                        print("Line 20")
                        time.sleep(1)
                        
                        lte.send_at_cmd('AT+CFUN=1')
                        print(lte.send_at_cmd('AT+CFUN=1'))
                        print("Line 21")
                        time.sleep(1)
                        
                        print("Line 22")
                        time.sleep(1)
                        
                        while not lte.isattached():
                            print("Attaching...")
                            time.sleep(0.1)
                        print("Attached")
                        
                        lte.connect()
                        
                        while not lte.isconnected():
                            print("Connecting...")
                            time.sleep(0.1)
                        print("Connected!")
                        time.sleep(2)
                        def settimeout(duration): 
                           pass
                        print("line41")
                        def sub_cb(topic, msg): 
                           print(msg)
                        print("line44")
                        
                        client = MQTTClient("Demo","io.adafruit.com",user="Dylan", password="xxxx", port=1883)
                        print("Line 38")
                        client.set_callback(sub_cb)
                        print("Line 41")
                        client.connect()
                        print("Line 43")
                        time.sleep(1)
                        client.subscribe(topic="Dylan/feeds/test")
                        print("Line 46")
                        py = Pytrack()
                        battery = py.read_battery_voltage()
                        l77 = L76GNSS(py, timeout=30)
                        coord = l77.coordinates()
                        coord = str(coord) + str(',') + str(battery)
                        
                        print("Sending ON")
                        client.publish(topic="Dylan/feeds/test", msg=coord)
                        print("Line 51")
                        time.sleep(1)
                        print("Line 55")
                        client.check_msg()
                        
                        py.setup_sleep(60)
                        py.go_to_sleep()
                        
                        1 Reply Last reply Reply Quote 0
                        • P Offline
                          Prawnhead
                          last edited by

                          Anyone who's got working LTE with Optus or Vodafone wanna share your setup? Just looking for APN/channel configuration that would make testing other carriers quicker. Thanks, Chris.

                          1 Reply Last reply Reply Quote 0
                          • T Offline
                            timh @Prawnhead
                            last edited by

                            @prawnhead I haven't been able to spend time on this (heavy workload on non rpycom related projects).

                            It does seem worrisome that no one seems to have it working.

                            1 Reply Last reply Reply Quote 0
                            • T Offline
                              timh @tealbrains
                              last edited by

                              @tealbrains So I finally found time to test the SEQUANS firmware.

                              I performed the firmware upgrade as per the instructions.

                              The upgrade performed as per instructions on a FiPy

                              And the result, working fine. - Success for me at least.

                              (sysname='FiPy', nodename='FiPy', release='1.17.3.b1', version='v1.8.6-849-83e2f7f on 2018-03-19', machine='FiPy with ESP32', lorawan='1.0.2', sigfox='1.0.1')

                                  lte.send_at_cmd('AT+CGDCONT=2,"IP","telstra.internet"')
                                  lte.send_at_cmd("AT!=\"RRC::addscanfreq band=28 dl-earfcn=9410\"")
                                  lte.send_at_cmd('AT!="RRC::addScanBand band=28"')
                                  lte.send_at_cmd('AT+CFUN=1')
                              
                                  for i in range(retries):
                                      if wdt:
                                          wdt.feed()
                              
                                      if (lte.isattached()):
                                            print("attached")
                                            lte.connect()
                                            break
                                      time.sleep(1)
                              

                              I will keep this running over the weekend, but looks good for me on at least one device.

                              The other devices are on the other side of the country in mechanical pumps so need to organise people to get me access to perform the upgrade ;-(

                              M T 2 Replies Last reply Reply Quote 0
                              • M Offline
                                micksta @timh
                                last edited by micksta

                                @timh

                                Hey lads, changed nothing here. Just thought I'd try and connect - Success here as well.

                                (sysname='GPy', nodename='GPy', release='1.17.5.b6', version='v1.8.6-849-56d00234 on 2018-05-18', machine='GPy with ESP32')
                                
                                send_at_cmd_pretty('AT+CGDCONT=1,"IP","mdata.net.au"') # Aldi sim / "mdata.net.au" Aldi APN (aka Telstra network)
                                time.sleep(1)
                                send_at_cmd_pretty("AT!=\"RRC::addscanfreq band=28 dl-earfcn=9410\"")
                                time.sleep(1)
                                send_at_cmd_pretty('AT+CFUN=1') # enable modem & set to full functionality mode
                                time.sleep(1)
                                
                                B T 2 Replies Last reply Reply Quote 0
                                • B Offline
                                  blindman2k @micksta
                                  last edited by

                                  Same here. Everything was working one day, nothing working the next day, everything working again today.

                                  1 Reply Last reply Reply Quote 0
                                  • T Offline
                                    timh @micksta
                                    last edited by

                                    @micksta really. Thats interesting. Have Telstra rolled back some changes.
                                    I will ask the support engineer on Monday of they know of any changes

                                    1 Reply Last reply Reply Quote 0
                                    • T Offline
                                      tealbrains @timh
                                      last edited by tealbrains

                                      @timh @micksta @Prawnhead @reclusio Yep, so I just tested it and it's working now.

                                      1. The firmware update was not the solution.
                                      2. Telstra has been tinkering with the network as we all know. This last change, which has fixed the problem, seems to have happened at the same time of the week, exactly one month later. It is worth noting that they have just done the following : https://www.telstra.com.au/aboutus/media/media-releases/Telstra-deploys-Australias-first-LTE-Broadcast-technology-to-support-sports-streaming . I wouldn't be surprised if it is connected to the issue.
                                      3. As for me, I will not be developing any products around the Gpy/Fipy until their modem is certified. I am supporting a couple of projects that are already using them. I am developing a comms board with a certified modem. Such a shame...wasted so much time and effort. I might still use these boards for quick tests but nothing more.

                                      I guess we can consider the case closed (fingers crossed) for now.

                                      T 2 Replies Last reply Reply Quote 1
                                      • T Offline
                                        timh @tealbrains
                                        last edited by

                                        @tealbrains Hmm not so sure.
                                        I am finding that if I don't have a terminal connected when using LTE, after a while I am getting socket errors.
                                        I don't get this when terminal is connected.

                                        Disconnecting for a short time, means mqtt packets don't get sent, reconnecting the terminal in time means they are sent back to back quickly (seems they are queued). Reconnecting after a longer period (minutes) I see socket errors.

                                        Where as the same code with a WIFI connection doesn't have the problem.

                                        I am struggling to understand why having a terminal connection makes any difference, but it is repeatable, across a GPY and FiPY.

                                        T 1 Reply Last reply Reply Quote 0
                                        • T Offline
                                          timh @timh
                                          last edited by

                                          @timh To fix this I found I had to dupterm to a null device. This is odd and make development hard. This appears to have been introduced with the latest firmware. I don't know how my code could introduce such behaviour.

                                          1 Reply Last reply Reply Quote 0
                                          • T Offline
                                            timh @tealbrains
                                            last edited by

                                            @tealbrains Just received this from Telstra

                                            Thanks for your email and sorry for the delay. I was basically consulting number of different teams to have clear answer for you.

                                            I just had confirmation from our engineering team that they are working with “Sequans” on certifying the Cat M1 module. (same chipset as your devices). This will be mostly completed by end of August and we will have Telstra module FW to support these devices.

                                            I will keep following it up and let you know once this activity has been completed.

                                            Given various other people found their pycoms started working late last week, it looks like we have a few moving targets with SEQUANS firmware and Telstra network.

                                            M 1 Reply Last reply Reply Quote 1

                                            Hello! It looks like you're interested in this conversation, but you don't have an account yet.

                                            Getting fed up of having to scroll through the same posts each visit? When you register for an account, you'll always come back to exactly where you were before, and choose to be notified of new replies (either via email, or push notification). You'll also be able to save bookmarks and upvote posts to show your appreciation to other community members.

                                            With your input, this post could be even better 💗

                                            Register Login
                                            • 1
                                            • 2
                                            • 3
                                            • 2 / 3
                                            • First post
                                              Last post

                                            Pycom on Twitter

                                            Pycom