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

    New firmware release 1.10.1.b1

    Scheduled Pinned Locked Moved Announcements & News
    firmware
    41 Posts 13 Posters 13.7k Views 13 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.
    • D Offline
      daniel
      last edited by

      NEW UPDATER TOOL PATCH: Some users are experiencing Guru meditation errors on the 4MByte of RAM devices with this update. An intermediate solution for this while we release a new version of the updater is to patch the current one.

      Please follow these instructions:

      1. Find the location where the Pycom Firmware Update application is installed. Then enter the directory (on Mac OS you need to right click and select "Show Package Contents").

      2. Within the files of the app, locate the one named updater.py.

      3. Inside that file find the following 3 lines which appear twice:

         args.flash_size = '4MB'
         args.flash_mode = 'dio'
         args.flash_freq = '40m'
        
      4. Change the lines to read:

         args.flash_size = 'detect'
         args.flash_mode = 'dio'
         args.flash_freq = '80m'
        

      A new firmware release is out. The version is v1.10.1.b1. This release brings full external RAM support for the newer modules. With this the MicroPython heap is increased to 3 MBytes (1 Mbyte is reserved for internal use).

      The Github sources have been updated as well with the changes from this release.

      Here's the full change log:

      • esp32/frozen: Solve bug of calling non-existing .connect method in AWS libs.
      • esp32: Improve WiFi connect policy. Increase stack of some IDF tasks.
      • esp32: Store the entire LoRa MAC params structure dring NVRAM save.
      • esp32: Allocate the MicroPython stack size dinamically. Use a larger stack for the devices with pSRAM.
      • esp32/mods/modwlan.c: Fix DNS bug and WLAN disconnect instability.
      • esp32: Improve HW I2C deinit routine.
      • esp32: Solve issue with Sigfox modulation due to the new compiler options.
      • esp32: Enable pull-ups for output pins. Improve sendbreak timing.
      • esp32: Set the value of output pins before de-assigning them.
      • esp32: Correct pin deinit conditions and sequence.
      • esp32: Deassign pins when peripherals are disabled. Disabled pull-ups as well.
      • esp32: Allow the WiPy to use the 2 SPI devices. Add byte order support.
      • esp32: Make the file system 4MBytes for devices with 8Mbytes of flash.
      • esp32: Increase flash frequency to 80MHz. Keep pSRAM at 40MHz.
      • esp32 : Fix UART initialisation routine.
      • esp32: Fix machine.reset()
      • esp32: Update bootloader. Include code to init GPIOs and VDDSDIO voltage.

      As usual this new firmware can be applied using our firmware update tool: https://pycom.io/downloads/

      Cheers,
      Daniel

      robert-hhR 1 Reply Last reply Reply Quote 2
      • J Offline
        jp00
        last edited by

        Hi,

        My lopy is rebooting itself when running this firmware and the Lorawan Nanogateway.

        Guru Meditation Error of type LoadProhibited occurred on core  0. Exception was unhandled.
        Register dump:
        PC      : 0x400fb5d0  PS      : 0x00060e30  A0      : 0x800dd2c8  A1      : 0x3ffda860  
        A2      : 0x00000001  A3      : 0x00000001  A4      : 0x00000000  A5      : 0x00000001  
        A6      : 0x00000000  A7      : 0x00060023  A8      : 0x800fa3e6  A9      : 0x3fff0580  
        A10     : 0x00000001  A11     : 0x00000001  A12     : 0x3ffe7080  A13     : 0x3ffe7080  
        A14     : 0x3fff06f0  A15     : 0x3fff0650  SAR     : 0x00000020  EXCCAUSE: 0x0000001c  
        EXCVADDR: 0x00000001  LBEG    : 0x40098624  LEND    : 0x4009862f  LCOUNT  : 0x00000000  
        
        Backtrace: 0x400fb5d0:0x3ffda860 0x400dd2c5:0x3ffda880 0x400dd32f:0x3ffda8a0 0x400dd7bd:0x3ffda8d0 0x400dd9d7:0x3ffda8f0 0x400dcb69:0x3ffda930
        

        Regards,
        Javier

        X 1 Reply Last reply Reply Quote 0
        • shridattdudhatS Offline
          shridattdudhat
          last edited by

          @jp00 Put lopy in safe mode and do as per document

          make sure to remove jumper before 3 seconds.

          Shridatt Dudhat
          Power Electronics Imagineer, INDIA

          J 1 Reply Last reply Reply Quote 1
          • J Offline
            jp00 @shridattdudhat
            last edited by

            @shridattdudhat Hi, thanks for the info about safe boot! But the problem is not that I can't use the Lopy, the problem is that from time to time, the Lopy reboots itselft (and keeps working fine after that). Sorry about the little information in the other post.

            shridattdudhatS 1 Reply Last reply Reply Quote 0
            • P Offline
              pjoerke
              last edited by

              Hi,

              I have trouble with my LoPy's. Since I made the firmware update I can't receive any LoRa packets. I also tried the LoRa Raw Nano Gateway from your tutorials (just copy&paste) but even this won't work. It seems that something went wrong on LoRa :(

              Regards,
              Pascal

              X 1 Reply Last reply Reply Quote 0
              • X Offline
                Xykon administrators @pjoerke
                last edited by

                @pjoerke said in New firmware release 1.10.1.b1:

                I have trouble with my LoPy's. Since I made the firmware update I can't receive any LoRa packets. I also tried the LoRa Raw Nano Gateway from your tutorials (just copy&paste) but even this won't work. It seems that something went wrong on LoRa :(

                Hello Pascal, can you please be more specific. I've tested LoPy 2 LoPy RAW connectivity and using one LoPy as a NanoGateway and another as a Node. Both tests have been successful with the latest firmware.

                Christian Ehlers

                1 Reply Last reply Reply Quote 0
                • sebS Offline
                  seb
                  last edited by

                  I just tested the LoPy to LoPy raw lora ping pong example and its working properly on the latest firmware

                  1 Reply Last reply Reply Quote 0
                  • X Offline
                    Xykon administrators @jp00
                    last edited by Xykon

                    @jp00 I've been running the lorawan-nano-gateway for 30 minutes now without seeing any crash. Can you please erase the fs with import os; os.mkfs('/flash') to make sure this isn't a flashing problem and then check that you have the latest nano-gateway code?

                    Also can you please confirm which frequency band you are using?

                    Christian Ehlers

                    J 1 Reply Last reply Reply Quote 0
                    • shridattdudhatS Offline
                      shridattdudhat @jp00
                      last edited by shridattdudhat

                      @jp00 Hi, I was also getting a similar error....

                      Guru Meditation Error of type LoadProhibited occurred on core 0. Exception was unhandled.
                      Register dump:
                      PC : 0x400fb5d0 PS : 0x00060e30 A0 : 0x800dd2c8 A1 : 0x3ffda860
                      A2 : 0x00000001 A3 : 0x00000001 A4 : 0x00000000 A5 : 0x00000001
                      A6 : 0x00000000 A7 : 0x00060023 A8 : 0x800fa3e6 A9 : 0x3fff0580
                      A10 : 0x00000001 A11 : 0x00000001 A12 : 0x3ffe7080 A13 : 0x3ffe7080
                      A14 : 0x3fff06f0 A15 : 0x3fff0650 SAR : 0x00000020 EXCCAUSE: 0x0000001c
                      EXCVADDR: 0x00000001 LBEG : 0x40098624 LEND : 0x4009862f LCOUNT : 0x00000000

                      Backtrace: 0x400fb5d0:0x3ffda860 0x400dd2c5:0x3ffda880 0x400dd32f:0x3ffda8a0 0x400dd7bd:0x3ffda8d0 0x400dd9d7:0x3ffda8f0 0x400dcb69:0x3ffda930

                      I placed lopy in safe mode then I connected it via IP. I saw some unwanted files in flash folder of lopy. i deleted all unnecessary files and folder. and all set, my lopy again starts working as a charm :)

                      Shridatt Dudhat
                      Power Electronics Imagineer, INDIA

                      1 Reply Last reply Reply Quote 0
                      • J Offline
                        jp00 @Xykon
                        last edited by jp00

                        @xykon I'm also trying to reproduce the problem and I can't do it anymore. Maybe it was related to using the REPL while running the Gateway, I don't know. Thanks, I will let you know If i can reproduce it.

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

                          Hello,

                          After i upgraded the firmware my lopy seems bricked. The led is red and i can't do anything with it. I tried to erase the flash with the esptool like here https://forum.pycom.io/topic/1343/solved-lopy-bricked-red-led, but i get "A fatal error occurred: Failed to connect to ESP32: Timed out waiting for packet header" I run it with: python esptool.py --port COM3 --chip esp32 erase_flash

                          In the console i get:
                          rst:0x1 (POWERON_RESET),boot:0x13 (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:0x3fff9028,len:8
                          load:0x3fff9030,len:1076
                          load:0x4009fa00,len:0
                          ho 12 tail 0 room 4
                          load:0x4009fa00,len:15344
                          entry 0x400a070c

                          I've also tried to connect G28 to 3v3 to do load the previous/factory firmware, but it doesn't do anything. I always get the red led, never the orange one. I've done this firmware 'reset' many times and it worked fine.

                          I've had the lopy for about 8 months. I've upgraded it constantly and played with it a lot. Never had any problems until now.

                          Any advice?

                          Thank you

                          X 1 Reply Last reply Reply Quote 0
                          • X Offline
                            Xykon administrators @tudro
                            last edited by

                            @tudro Please make sure you have a wire connected between G23 and GND and reset the board before trying the erase. You should see a message "Waiting for download" on the serial terminal. Also make sure that all serial terminal programs & Pymakr plugins are disconnected when running esptool or the firmware update tool.

                            Christian Ehlers

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

                              building from fresh pulled git raises errors. There is a param that shall be specified?

                              $ make BOARD=LOPY TARGET=boot
                              Use make V=1 or set BUILD_VERBOSE in your environment to increase build verbosity.
                              mkdir -p build/LOPY_868/release/bootloader/
                              CC bootloader/bootloader.c
                              xtensa-esp32-elf-gcc.exe: error: unrecognized command line option '-mfix-esp32-psram-cache-issue'
                              make: *** [../py/mkrules.mk:47: build/LOPY_868/release/bootloader/bootloader.o] Error 1
                              
                              X 1 Reply Last reply Reply Quote 0
                              • X Offline
                                Xykon administrators @Colateral
                                last edited by

                                @colateral Please download the new xtensa compiler for your OS.

                                The "esp32" port requires an xtensa gcc compiler, which can be downloaded from the Espressif website:

                                for 64-bit Linux::

                                https://dl.espressif.com/dl/xtensa-esp32-elf-linux64-1.22.0-73-ge28a011-5.2.0.tar.gz

                                for 32-bit Linux::

                                https://dl.espressif.com/dl/xtensa-esp32-elf-linux32-1.22.0-73-ge28a011-5.2.0.tar.gz

                                for Mac OS:

                                https://dl.espressif.com/dl/xtensa-esp32-elf-osx-1.22.0-73-ge28a011-5.2.0.tar.gz

                                Christian Ehlers

                                C E 3 Replies Last reply Reply Quote 0
                                • C Offline
                                  Colateral @Xykon
                                  last edited by

                                  @xykon thanks. we are using msys2. This has to be installed in msys to work?

                                  X 1 Reply Last reply Reply Quote 0
                                  • X Offline
                                    Xykon administrators @Colateral
                                    last edited by

                                    @colateral Please use the following within msys2 to update the toolchain:

                                    # Automatically download precompiled toolchain, unpack at /opt/xtensa-esp32-elf/
                                    TOOLCHAIN_ZIP=xtensa-esp32-elf-win32-1.22.0-73-ge28a011-5.2.0.zip
                                    echo "Downloading precompiled toolchain ${TOOLCHAIN_ZIP}..."
                                    cd ~
                                    curl -LO --retry 10 http://dl.espressif.com/dl/${TOOLCHAIN_ZIP}
                                    cd /opt
                                    rm -rf /opt/xtensa-esp32-elf  # for upgrades
                                    unzip ~/${TOOLCHAIN_ZIP}
                                    rm ~/${TOOLCHAIN_ZIP}
                                    

                                    Christian Ehlers

                                    C 1 Reply Last reply Reply Quote 1
                                    • C Offline
                                      Colateral @Xykon
                                      last edited by

                                      @xykon said in New firmware release 1.10.1.b1:
                                      For windows:
                                      https://dl.espressif.com/dl/xtensa-esp32-elf-win32-1.22.0-73-ge28a011-5.2.0.zip

                                      1 Reply Last reply Reply Quote 0
                                      • C Offline
                                        Colateral @Xykon
                                        last edited by Colateral

                                        @xykon Thanks. It was working. The mpy-cross was built and also the binary .. but there are issues on serial writing.
                                        COM7 is ON and 'waiting for download'

                                        but

                                                    $ make V=1 BOARD=LOPY LORA_BAND=USE_BAND_868 flash ESPPORT=COM7
                                                    python ../py/makeversionhdr.py build/LOPY_868/release/genhdr/mpversion.h
                                                    Entering flash mode
                                                    python tools/pypic.py --port COM7 --enter
                                                    Traceback (most recent call last):
                                                      File "tools/pypic.py", line 185, in <module>
                                                        sys.exit(main(sys.argv[1:]))
                                                      File "tools/pypic.py", line 173, in main
                                                        pic = Pypic(args.port)
                                                      File "tools/pypic.py", line 77, in __init__
                                                        self.serial = serial.Serial(port, baudrate=115200, bytesize=serial.FIVEBITS, timeout=0.25)
                                                      File "D:/ProgramFiles/msys32/mingw32/lib/python2.7/site-packages/serial/serialwin32.py", line 31, in __init__
                                                        super(Serial, self).__init__(*args, **kwargs)
                                                      File "D:/ProgramFiles/msys32/mingw32/lib/python2.7/site-packages/serial/serialutil.py", line 240, in __init__
                                                        self.open()
                                                      File "D:/ProgramFiles/msys32/mingw32/lib/python2.7/site-packages/serial/serialwin32.py", line 78, in open
                                                        self._reconfigure_port()
                                                      File "D:/ProgramFiles/msys32/mingw32/lib/python2.7/site-packages/serial/serialwin32.py", line 222, in _reconfigure_port
                                                        'Original message: {!r}'.format(ctypes.WinError()))
                                                    serial.serialutil.SerialException: Cannot configure port, something went wrong. Original message: WindowsError(87, 'The parameter is incorrect.')
                                                    make: *** [application.mk:398: flash] Error 1
                                        

                                        With pycom firmware update and updater.py (changed according with Daniel above guidelines) ... it is working.

                                                    >>> import gc
                                                    >>> uos.uname()
                                                    (sysname='LoPy', nodename='LoPy', release='1.10.1.b1', version='v1.8.6-839-g536c958c on 2017-11-15', machine='LoPy with ESP32', lorawan='1.0.0')
                                                    >>> 
                                                    >>> 
                                                    >>> 
                                                    >>> import gc
                                                    >>> gc.mem_free()
                                                    3070064
                                        
                                        X 1 Reply Last reply Reply Quote 0
                                        • T Offline
                                          tudro @Xykon
                                          last edited by

                                          @xykon Thank you for the quick answer and sorry for the late reply (2 small kids :) ). You were right, i didn't have G23 and GND connected. I was able to reset the flash and make the lopy work again. Thank you very much

                                          1 Reply Last reply Reply Quote 1
                                          • X Offline
                                            Xykon administrators @Colateral
                                            last edited by Xykon

                                            @colateral This seems to be due to a new tool we added that puts the ESP32 into firmware update mode if a Pytrack or Pysense is being used. It seems this tool doesn't work on Windows...

                                            Please edit application.mk in the esp32 directory, search for flash: and comment the 4 lines as shown below:

                                            flash: $(APP_BIN) $(BOOT_BIN)
                                            #       $(ECHO) "Entering flash mode"
                                            #       $(Q) $(ENTER_FLASHING_MODE)
                                                    $(ECHO) "Flashing project"
                                                    $(Q) $(ESPTOOLPY_WRITE_FLASH) $(ESPTOOL_ALL_FLASH_ARGS)
                                            #       $(ECHO) "Exiting flash mode"
                                            #       $(Q) $(EXIT_FLASHING_MODE)
                                            

                                            This will prevent the tool from running until we can fix it.

                                            Christian Ehlers

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

                                            Pycom on Twitter

                                            Pycom