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

    How to solve the firmware update failures

    Scheduled Pinned Locked Moved Announcements & News
    63 Posts 15 Posters 47.1k Views 16 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.
    • R Offline
      Ralph
      last edited by

      Very nice to hear you got it working @livius

      If anyone still has problems with firmware update failures: 0.9.2.b1 has just been released. This release fixes the bug where the flash memory gets write protected in some cases.

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

        If anyone still has problems with firmware update failures: 0.9.2.b1 has just been released. This release fixes the bug where the flash memory gets write protected in some cases.

        I just tried the new firmware updater for Windows, it goes through the questions about LoPy/country/COM port but then fails immediately. Trying to figure out why.

        I manually flashed the firmware, partition table and bootloader so it's not a big problem but I'm curious why the updater doesn't work.

        Christian Ehlers

        1 Reply Last reply Reply Quote 0
        • A Offline
          AgriKinetics
          last edited by

          @Xykon Hi, we are having the same problem, although after multiple attempts, it did get past that immediate fail, but, then had a fail with an unknown error in pythonW. Not sure what is going at the moment.

          1 Reply Last reply Reply Quote 0
          • L Offline
            livius
            last edited by

            Maybe because it is still wipy_0.9.1.b1.bin not wipy_0.9.2.b1.bin
            i look into the folder and there is 1 not 2.

            think about people first, then computers

            1 Reply Last reply Reply Quote 0
            • A Offline
              AgriKinetics
              last edited by

              The correct 0.9.2.b1 is in the 'firmware' folder. I tried copying into the main 'upgrader' folder, but, the Upgrader still fails. Thought it might be the version of python (I was running 3.5) but, 2.7.12 fails also.

              1 Reply Last reply Reply Quote 0
              • R Offline
                Ralph
                last edited by

                Thanks for pointing this out. It must be an issue with the windows build of the updater, since the mac version works. We'll try to figure it out and get back to you guys as soon as we can.

                1 Reply Last reply Reply Quote 0
                • L Offline
                  livius
                  last edited by

                  i do manual update by:
                  esptool.py --chip esp32 --port COM8 --baud 115200 write_flash 0x210000 wipy_0.9.2.b1.bin -fs 4MB -z
                  esptool.py --chip esp32 --port COM8 --baud 115200 write_flash 0x204000 partitions.bin -fs 4MB -z
                  esptool.py --chip esp32 --port COM8 --baud 115200 write_flash 0x201000 bootloader.bin -fs 4MB -z

                  i can connect by ftp and by telnet

                  by tenet i got:

                  import os
                  os.uname()
                  (sysname='WiPy', nodename='WiPy', release='0.9.2.b1', version='333b92c on 2016-10-26', machine='WiPy with ESP32')

                  but when i start wipy2.0 with board2.0
                  i can not connect by pymark - i do not know why it not "listen" on UART
                  but i can do above operations again - and as i understand corectly it is done by UART?

                  think about people first, then computers

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

                    @livius There are some extra steps in the updater to preserve your flash memory (MAC address, files on /flash). Since you skipped these steps it's likely your boot.py was overwritten.

                    Upload a new boot.py file with the following code:

                    import os
                    from machine import UART
                    uart = UART(0, 115200)
                    os.dupterm(uart)

                    P.S. Does anyone know where to find the formatting guide for this forum? I've seen people post source codes with a nice black background and syntax highlighting. How do you do that? Is there a help button somewhere for this?

                    Christian Ehlers

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

                      import os
                      from machine import UART
                      uart = UART(0, 115200)
                      os.dupterm(uart)

                      Christian Ehlers

                      1 Reply Last reply Reply Quote 1
                      • L Offline
                        livius
                        last edited by

                        Thank you for the help but it does not change anything
                        still pymakr can not connect :(
                        I see that update script does erase only some block(3.5MB)
                        i ommit that and i clear block

                        If someone have mre concept :)

                        think about people first, then computers

                        1 Reply Last reply Reply Quote 0
                        • L Offline
                          livius
                          last edited by

                          interested that UART work ok
                          with com port monitor i retrive data without any problem only PYMAKR can not connect

                          think about people first, then computers

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

                            So far I did manage to get the Linux updater to work.

                            In ./bin/updater I set BAUD_RATE = 115200 and commented #self.esp.change_baud(baudrate)

                            I tried the same thing in the Windows version but it still doesn't work.

                            Christian Ehlers

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

                              OK I got the Windows updater to work as well (though not the GUI).

                              First make the same modifications to "C:\Program Files (x86)\Pycom\Pycom Firmware Update\Upgrader\bin\updater.py"

                              Line12: BAUD_RATE = 115200
                              Line23:#self.esp.change_baud(baudrate)

                              Now open a command prompt and run:

                              cd "C:\Program Files (x86)\Pycom\Pycom Firmware Update\Upgrader"
                              ..\Python27\python.exe bin\updater.py --port COM4 --file firmware\lopy_0.9.2.b1_868.bin

                              Make sure that you choose the correct COM port and firmware file for your module/region.

                              Christian Ehlers

                              D A 2 Replies Last reply Reply Quote 5
                              • L Offline
                                livius
                                last edited by

                                @LarryTru
                                you are the best :)

                                This work for me - but Pymark still can not connect to WiPy2.0 :(
                                Before upgrade it work ok.
                                I can only conect by: wifi, ftp, telnet
                                boot.py looks ok
                                I also can see data sended by UART programmatically on com port monitor but Pymark can not :(

                                think about people first, then computers

                                1 Reply Last reply Reply Quote 1
                                • L Offline
                                  livius
                                  last edited by

                                  Xykon not LarryTru

                                  think about people first, then computers

                                  1 Reply Last reply Reply Quote 1
                                  • A Offline
                                    AgriKinetics
                                    last edited by

                                    @Xykon Thank you for the assistance - it worked like a dream :)

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

                                      It turns out the problem with using 921600bps for firmware upload not working for me was my own test setup... if you use the official expansion board using just the command line on Windows without making changes to updater.py should work as well.

                                      If you happen to use RS232 for UART0 then reducing the firmware upload speed to 115200bps seems to be necessary.

                                      Christian Ehlers

                                      1 Reply Last reply Reply Quote 1
                                      • L Offline
                                        livius
                                        last edited by

                                        I have used official expansion board and without your changes - it not work
                                        Your fix work for me

                                        think about people first, then computers

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

                                          @livius said in How to solve the firmware update failures:

                                          I have used official expansion board and without your changes - it not work
                                          Your fix work for me

                                          OK thanks for testing that.

                                          I usually have the module plugged into my PSoC5LP development board's breadboard so I can (among other things like testing I2C and SPI) do remote controlled resets in normal, safeboot and bootloader mode without having to connect any wires. Since that dev board has an RS232 converter on it I connected it to P0/P1 and used an FTDI RS232 cable to get access to the LoPy's UART0. I had a chat with abilio about it and tried again using the expansion board and this time it worked at the higher speed.

                                          Either way I guess the firmware updater should have an optional "high speed upload" switch to choose between 115200 and 921600 bps.

                                          Christian Ehlers

                                          1 Reply Last reply Reply Quote 0
                                          • D Offline
                                            digsatman @Xykon
                                            last edited by

                                            @Xykon Many thanks - I tried to use the standard pycom windows updater/patcher for 0.9.2.b1 which failed using the offical expansion board. It immediately returned with a "fail" every time I tried although REPL via Putty and PyMakr still worked fine. Having read this thread, I wondered if the high baud rate specified in Line 12 of updater.py might be the problem. Tried again using Windows GUI but still no joy. Finally, tried again using a command window and managed to update both my LoPy's first time. I'd spent a couple of weeks unable to update them over wifi and had write protect problems - hopefully all will me smoother now!

                                            Many thanks to all - especially Xykon - Great work - (another upvote for you!)

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

                                            Pycom on Twitter

                                            Pycom