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.
    • 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
                                          • A Offline
                                            aureleq @Xykon
                                            last edited by

                                            @Xykon Thank you! Finally I was able to update... your post should get pin on top of this post. I connected my Lopy for the first time today and as written in the starting guide I started by the upgrade process. Thought it would be more straight-forward :P Anyway I understand bugs can happen at this early stage.

                                            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