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.
    • 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
                            • M Offline
                              micksta @timh
                              last edited by micksta

                              @timh

                              Thanks t for the follow up/post, appreciated.

                              1 Reply Last reply Reply Quote 0
                              • I Offline
                                IOAg @daniel
                                last edited by

                                @daniel I understand Telstra connectivity issue should be resolved. I don't see how to test it myself, Sequans firmware being unavailable at the moment.

                                Did you get positive feedback in this forum?

                                1 Reply Last reply Reply Quote 0

                                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
                                • 1 / 3
                                • First post
                                  Last post

                                Pycom on Twitter

                                Pycom