New firmware release 1.10.1.b1


  • administrators

    @robert-hh Any chance you can try without assigning a fixed IP?



  • @daniel I have a serious problem with the new release. Setup:
    Plain vanilla pycom image on a LoPy, flash was erased. I have a little script that connects as a STA:

    import network
    import time
    from uos import uname
    # setup as a station
    wlan = network.WLAN(mode=network.WLAN.STA)
    wlan.connect(ssid="my_ap", auth=(network.WLAN.WPA2, "my_passwd"))
    for _ in range (200):
        if wlan.isconnected():
            wlan.ifconfig(config=("10.0.0.141", "255.255.255.0", "10.0.0.240",  "10.0.0.240"))
            print(wlan.ifconfig())
            break
        else:
            time.sleep_ms(50)
    else:
        print("Could not connect")
    

    and add the line
    import connect
    to main.py. If I boot, then it may connect, after a few reboots, it somehow locks, in that it does not connect to the AP any more. In that state, if I press Ctrl-D a few times, if get a core dump & Reset. The core dump starts with:

    PYB: soft reboot
    Guru Meditation Error of type LoadProhibited occurred on core  0. Exception was unhandled.
    Register dump:
    PC      : 0x40113db8  PS      : 0x00060a30  A0      : 0x8011fd1a  A1      : 0x3ffbd590  
    A2      : 0x3ffc9a00  A3      : 0x3ffd609d  A4      : 0x3ffd60c7  A5      : 0x00000000  
    A6      : 0x00000000  A7      : 0x00000000  A8      : 0x80113db8  A9      : 0x3ffbd580  
    A10     : 0x3ffc9a4f  A11     : 0x00000000  A12     : 0x0000000f  A13     : 0x3ffc9a5e  
    A14     : 0x02ac0f00  A15     : 0x00000000  SAR     : 0x00000010  EXCCAUSE: 0x0000001c  
    EXCVADDR: 0x000000f1  LBEG    : 0x4009860c  LEND    : 0x40098617  LCOUNT  : 0xffffffff  
    
    Backtrace: 0x40113db8:0x3ffbd590 0x4011fd17:0x3ffbd5c0 0x4011c891:0x3ffbd610 0x4011d436:0x3ffbd690 0x4011dce1:0x3ffbd760 0x40127265:0x3ffbd780 0x40128e1b:0x3ffbd7d0
    
    ================= CORE DUMP START =================
    QCsAAAsAAABsAQAA
    gNj7P9DU+z942Ps/
    0Nb7PxDY+z8ZaybO6EH8P+hB/D+A2Ps/4EH8PwIAAAAQwvs/EML7P4DY+z8AAAAA
    FwAAAHzI+z93aWZpAJRVPYhIESdYiUIAAAAAAHjY+z8AAAAAIA4GABcAAAABAAAA
    AAAAAAAAAAAAAAAAAAAAAAAAAACAB/0/6Af9P1AI/T8AAAAAAAAAAAEAAAAAAAAA
    qFFAPwAAAAAIjAlAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
    AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
    AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
    AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
    AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHXmuw==
    MCf7P7g9EUAwCgYAGv0RgJDV+z8Amvw/nWD9P8dg/T8AAAAAAAAAAAAAAAC4PRGA
    gNX7P0+a/D8AAAAADwAAAF6a/D8AD6wCAAAAABAAAAAcAAAA8QAAAAyGCUAXhglA
    /////w8AAABemvw/6CsIQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
    AAAAAAAAAAAAAAAAAAAAAMxi+z+w1fs/AQAAAAAAAACUyBGAwNX7PwCa/D+g1vs/
    nWD9PwAAAABAAAAAGAAAAADsEYDQ1fs/AJr8P/ij/D851BGAENb7PwCc/D8DAAAA
    UBdCPxDW+z8Amvw/g5r8PzIAAABMAAAAANb7PwIAAACO5BGAAgAAANps/D+QqPw/
    NF3HAAAAAABApPw/AJz8P+TcEYCQ1vs/VPn9P5Cq/T8zMzMDUBdCPwEAAAAAAAAA
    QjgyAAoAAABgEv0/kGISgFAXQj9U+f0/4Kj8PwAAAAAi5RGAkNb7P/hs/D9kGfw/
    LAAAAKBt/D+EYP0/AQAAAAEAAAAK+ghAAwAAACwAAAAAmvw/kKj8P3Rg/T8IAAAA
    aHISgGDX+z+Qqv0/LAAAAAAAAAD8bPw//f///wAAAAB+YP0/CAgxBAABZAAAAAAA
    mGD9P4wBAAAAAAAAjGD9PwAAAACYYP0/nWD9P8dg/T8AAAAASGH9P61g/T9kYf0/
    zWD9PwVh/T8AAAAAiWH9PwAAAAAAAAAAJArEAAr6CIAkYv0/gBQAAP////8IQvw/
    EQAAACwAAACQqv0/AAAAAFE8EoBw1/s/KIQJQBAAAAAc+/0/AAAAAAEAAAAAAAAA
    AQAAAAUAAABQAAAAAQAAAB6OEoCA1/s/BQAAAAyv/D8AAAAAdGD9P3Rg/T8AAWAB
    AAAAANDX+z8Ir/w/YHD8PwAAAACwfPw/CK/8P2Bw/D8AAAAAAAAAAAiv/D+vW8cA
    /////9DX+z8Ir/w/YHD8P1hg/T/Q3BFA9QAAAAQAAAAAAAAAENj7PwAAAAAAAAAA
    AAAAAAAAAAAAAAAAAAAAABEAAAAAAAAAAAAAAAAAAAAaAAAAG44SQIiHQT8AAAAA
    AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHNj7PwAAAAAAAAAAAAAAAAAAAAAAAAAA
    AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
    AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
    0HX9P2B0/T/Idf0/
    

    and finally and in a cold boot. Once in this state, the only way to recover and get WiFi again is erase flash and reload the firmware.


  • administrators

    @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.



  • @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



  • @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



  • administrators

    @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}
    


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


  • administrators

    @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



  • 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

  • administrators

    @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.



  • 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



  • @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.



  • @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 :)


  • administrators

    @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?



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


  • administrators

    @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.



  • 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



  • @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.



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

    make sure to remove jumper before 3 seconds.


Log in to reply
 

Pycom on Twitter