New Firmware Release 1.20.2.rc6


  • Global Moderator

    A new firmware release 1.20.2.rc6 is now available. Even though this is marked as a release candidate, we think it's more stable than the previous release which is why it's available in the standard pybytes category.

    Changes:

    • IDF recompiled with v98 compiler
    • Ctrl-D works if pybytes is disabled (pycom.pybytes_on_boot(False))
    • updater.py supports additional pybytes options
    • Sigfox: finalizing certification RCZ1, 2, 4

    The firmware packages (.tar.gz) can be downloaded from the docs.

    The elf files can be found on github.



  • @peterp Should I create an issue at GitHub?



  • @peterp Thanks. On Mac OS with Pycom Firmware Update.app include develop versions I choose
    GPy-1.20.2.rc2 ++SUCCESS++
    GPy-1.20.2.rc3 --FAILS only transmits SSID once---
    GPy-1.20.2.rc2 --FAILS !-!
    GPy-1.20.2.rc2 with erase file system ++SUCCESS++

    Did not see rc4 or rc5.


  • Global Moderator

    @dgerman said in New Firmware Release 1.20.2.rc6:

    @peterp After erase_all and flash my boot.py and main.py are no longer there

    Ugh, yeah, of course. Sorry, wasn't thinking along properly here. Mhm ... it's weird ... I'm thinking ...

    I cannot connect to Access Point to put them there.

    just for completeness, you know you can work with pymakr?

    If I download and flash a previous version of the firmware for GPy where should I get it? I am using a Mac so how do I get Pycom Firmware Update.app to flash a specific version?

    you should be able to select previous version also in the application ... if you want to download them manually, see here https://software.pycom.io/downloads/GPy.html



  • @peterp After erase_all and flash my boot.py and main.py are no longer there as I can tell by the heartbeat.
    I cannot connect to Access Point to put them there.
    Using

    sudo iwlist wlan0 scan 
    

    on a Raspberry PI Zero W reports

              Cell 06 - Address: 80:7D:3A:94:7B:7D
                        Channel:6
                        Frequency:2.437 GHz (Channel 6)
                        Quality=70/70  Signal level=-40 dBm
                        Encryption key:on
                        ESSID:"gpy-wlan-7b7c"
                        Bit Rates:5.5 Mb/s; 11 Mb/s; 1 Mb/s; 2 Mb/s; 6 Mb/s
                                  12 Mb/s; 24 Mb/s; 48 Mb/s
                        Bit Rates:54 Mb/s; 9 Mb/s; 18 Mb/s; 36 Mb/s
                        Mode:Master
                        Extra:tsf=0000000000000000
                        Extra: Last beacon: 30ms ago
                        IE: Unknown: 000D6770792D776C616E2D37623763
                        IE: Unknown: 01088B9682840C183060
                        IE: Unknown: 32046C122448
                        IE: Unknown: 030106
                        IE: Unknown: 0706434E00010D14
                        IE: IEEE 802.11i/WPA2 Version 1
                            Group Cipher : TKIP
                            Pairwise Ciphers (2) : CCMP TKIP
                            Authentication Suites (1) : PSK
                        IE: Unknown: 2D1A6E1100FF00000000000000000000000100000000000000000000
                        IE: Unknown: 3D1606050000000000000000000000000000000000000000
                        IE: Unknown: DD180050F2020101040003A4000027A4000042435E0062322F00
    

    I notice the only difference between multiple reports is

    • Extra: Last beacon: 30ms ago
    • Extra: Last beacon: 2070ms ago
    • Extra: Last beacon: 4260ms ago

    Which seems to confirm my suspicion that GPy is only broadcasting SSID once.
    I don't know how to interpret anything else in the report.

    If I download and flash a previous version of the firmware for GPy where should I get it? I am using a Mac so how do I get Pycom Firmware Update.app to flash a specific version?


  • Global Moderator

    @dgerman Understood. And are you able to test that AP behaviour after temporarily removing your boot.py and main.py?



  • @peterp Thank you for your response.
    After erase_all and flash I expect GPy to be blinking heartbeat and to be in Acces Point mode broadcasting SSID of gpy-wlan-xxxx (where xxxx are low order digits from MAC) with a password of www.pycom.io with a telnet server and ftp server running at 192.168.4.1 .
    This is what I expect now but it seems to broadcast SSID only once (or a few times) ( I am using Mac Boot Pro , Catalina 10.15.4 which prior to flash 1.20.2.rc6 offered to connect and the airport utility continuously reported it's RSSI.)


  • Global Moderator

    @dgerman said in New Firmware Release 1.20.2.rc6:

    wlan = WLAN(mode=WLAN.STA)

    For my understanding, do you want to put the GPy into STA mode or in AP mode? If you want AP mode, can you then try without your boot.py and main.py?



  • @rcolistete from my notes (as I cannot access system) Is this what you are looking for?

    os.uname():
    1/07/20 (sysname='GPy', nodename='GPy', release='1.18.1.r2', version='v1.8.6-849-f652205 on 2018-10-18', machine='GPy with ESP32')
    
    

    I did NOT know I was supposed to erase flash first.
    Thanks for including the command.

    I extracted pycom-fwtool-cli from the Pycom Firmware Update.app and ran

    pycom-fwtool-cli list 
    pycom-fwtool-cli -p /dev/cu.usbmodemPy0d3d0c1 erase_all 
     Running in PIC mode
     Erasing the board can take up to 40 seconds.
      Board erased successfully in 12.51 seconds
    

    Then ran Pycom Firmware Update.app which ran as previously.

    The GPy now blinks heartbeat and broadcasts SSID gpy-wlan-7b7c as expected at least a few times. But the Mac book pro that previously connected to it as an access point does not offer to connect to it. After 60 seconds it no longer appears in the list of networks shown by apple's airport utility (I expect that the first(few?) broadcast, retained in cache expired)

    Just to be redundant(?) I did the erase_all again and ran the update again but still no joy.

    I await addition assistance, Thank you



  • What was the previous MicroPython version ?

    Have you erased the flash memory before installing the firmware 1.20.2.rc6 ?:

    $ pycom-fwtool-cli -p /dev/ttyACM0 erase_all
    


  • @peterp After updating GPy WLAN no longer connects.
    I used max os Pycom Firmware Update.app 1.16.2 to update a GPy to 1.20.2.rc6. Ran nicely:

    writing gpy.bin
    Changed baud rate to 230400
    ...
    Wrote 4 KiB to config in 0.07 seconds
    Device ID: 807D3A947B7C 
    

    EXISTING (previous working) boot.py includes:

    ...
    pycom.heartbeat(False)
    pycom.rgbled(0x005000)      # green
    ...
    from network import WLAN
    wlan = WLAN(mode=WLAN.STA)
    pycom.rgbled(0x201010)
    wlan.ifconfig(config=('192.168.1.3', '255.255.255.0', '192.168.1.1', '192.168.1.1'))
    wlan.scan()  
    wlan.connect(ssid='Mynet', auth=(WLAN.WPA2, '5Cav')
    pycom.rgbled(0x003000)   
    ...
    

    (previous working) main.py includes:

    pycom.rgbled(0x000060)      # blue in main
    ...
    from machine import RTC
    rtc=RTC()
    
    for i in range (1,8):
        pycom.rgbled(0x302020)      #   pink going to network
        rtc.ntp_sync("pool.ntp.org")
        pycom.rgbled(0x301010)      #   pink back from  network but did it work?
    ...
        if time.localtime()[0] > 2019:
            break
        time.sleep(1)
    pycom.rgbled(0x000060)      #   blue back to main
    ...
    import usyslog
    s = usyslog.UDPClient(ip='dalom', facility=usyslog.F_LOCAL5)
    s.alert('++ main.py: reset:' + str(machine.reset_cause()))
    ...
    

    LED indicates that boot is progressing and main gets time from NTP (since it does not loop for 8 seconds) although if it is not connected to the WLAN that does not make any sense. No syslog entries are recorded at the syslog server.

    I can no longer connect via ftp or telnet or ping (since it is not connected to the WLAN).

    I am able to run the update which installs the firmware. (edited since I had some difficulty creating the post)

    But although GPy seems to broadcast its SSID briefly, the Mac book pro which connected to it as an access point previously no longer offers to connect to it. After 60 seconds it no longer appears in the list of networks shown by apple's airport utility (I expect that the first broadcast, retained in cache expired)

    How do I proceed?



  • This post is deleted!


  • This post is deleted!


  • @peterp After updating GPy WLAN no longer connects.
    I used max os Pycom Firmware Update.app 1.16.2 to update a GPy to 1.20.2.rc6. Ran nicely:

    writing gpy.bin
    Changed baud rate to 230400
    ...
    Wrote 4 KiB to config in 0.07 seconds
    Device ID: 807D3A947B7C 
    

    See additional info (separate since combined identified as spam!)



  • @Xykon Many thanks.


  • administrators


  • administrators

    @robert-hh Thanks Robert, I'll update this on GitHub.



  • @peterp The fix about Ctrl-D working if Pybytes is disabled works only halfway. It does not work if Pybytes is not implemented in the firmware at all, as it is in the BASE variant. Then, the call config_get_pybytes_autostart() returns True and the flag cannot be cleared, since the method pycom.pybytes_on_boot() is not present in that variant. That cannot be solved by erasing the flash, since that sets this flag to 0xff, which is the True value. Of the many possible solutions, I changed pyexec.c such that the VARIANT flag is used as part if the decision making. See below:

    #if (VARIANT == PYBYTES)            
                if (config_get_pybytes_autostart()) {
                    continue;
                }
                else {
                    vstr_clear(&line);
                    return PYEXEC_FORCED_EXIT;
                }
    #else            
                vstr_clear(&line);
                return PYEXEC_FORCED_EXIT;
    #endif  
    

Log in to reply
 

Pycom on Twitter