Firmware upgrade troubleshooting - checklist/procedure



  • I've noticed that problems with xPy's firmware upgrade is quite regular issue on the forum, so maybe this kind of checklist/procedure would be helpful:

    Checklist:

    1. Check whether your PC has access to the Internet, because the firmware image is retrieved on-the-fly during update procedure.
    2. Make sure you are using full communication USB cable (4-wire) not just charging USB cable (2-wire).
    3. Check if xPy board is fitting Expansion Board in right position. For example: LoPy RGB LED should be above Expansion Board microUSB port.
    4. What kind of G23-GND connection is used? Male-male breadboard connector or just ordinary wire? The first one is preffered, I've experienced problems with UTP wire connection (was unstable causing connection errors).
    5. It's a good habit that G23-GND cross-wire connection should be the only one on the Expansion Board. Without Expansion Board make sure you have nothing connected to the xPy board other than the serial, power and GND-G23 connection.
    6. Uncheck "fast connection" option in f/w updater tool is helpful.
    7. Have a look at the jumpers on the Expansion Board (especially RX/TX). Generally they should be all in place (EB+WiPy picture below - borrowed from @bucknall).
      0_1487862576597_eb_jumpers.jpg

    Upgrade procedure:

    1. Unconnect (USB) xPy board from PC.
    2. Connect wire G23+GND.
    3. Connect the xPy board (USB) to PC by data USB cable.
    4. Use the RESET button on the xPy board. (issue confirmed for LoPy, not necessary for the WiPy2)
    5. Run the Update.
    6. After sucessfull update unconnect the xPy board (USB) from PC.
    7. Remove G23+GND wire.
    8. Connect the xPy board (USB) to PC.
    9. Check f/w release with os.uname() command.

    Linux Tips:

    1. From @Frida - Remember to update/place a file in: /etc/udev/rules.d
      I have these in my: 45-espruino.rules, then you don't have to use sudo su
    # To go in /etc/udev/rules.d/
    # Makes Espruino's serial port accessible to non-SU users, and stops the Modem Manager trying to enumerate it
    ATTRS{idProduct}=="5740", ATTRS{idVendor}=="0483", ENV{ID_MM_DEVICE_IGNORE}="1", MODE="0666", GROUP="plugdev"
    # Nordic kits
    ATTRS{idProduct}=="1015", ATTRS{idVendor}=="1366", ENV{ID_MM_DEVICE_IGNORE}="1", MODE="0666", GROUP="plugdev"
    # Microbit
    ATTRS{idProduct}=="0204", ATTRS{idVendor}=="0d28", ENV{ID_MM_DEVICE_IGNORE}="1", MODE="0666", GROUP="plugdev"
    # Propeller
    ATTRS{idProduct}=="6001", ATTRS{idVendor}=="0403", ENV{ID_MM_DEVICE_IGNORE}="1", MODE="0666", GROUP="plugdev"
    # Pycom
    ATTRS{idProduct}=="6015", ATTRS{idVendor}=="0403", ENV{ID_MM_DEVICE_IGNORE}="1", MODE="0666", GROUP="plugdev"
    

    Maybe I've missed something, so feel free to join in expanding this checklist and/or procedure. :o)



  • Thank a lot.
    Reply just for feedback.

    Make sure your jumper at "TX"



  • @mmarkvoort @maamar You welcome. :o)



  • @rskoniec thank you
    I did my updated



  • @rskoniec

    Aah thanks for the update. Really fast!!

    Now that u mention that windows installs the update automatic, I remember that I disabled windows update on my windows 10... that explans a lot! How stupid...

    Sorry for wasting your time, but thanks for the fast answer and for trying it out.



  • @mmarkvoort said in Firmware upgrade troubleshooting - checklist/procedure:

    I don't know if it is relevant but when i wanted to update/connect through USB I had to install the USB driver manually. Mine called FTDI driver where VCP or D2XX are types of drivers. With one of the two it said it was installed but still i coudn't update/connect.

    OK, I took my notebook with Windows 10 Pro x64 with internet access and plug LoPy on Expansion Board to it for the very first time.
    Here is Device Manager just after connection:
    0_1487970349956_1st_plug.jpg
    After about 30 seconds Windows Auto Update mechanism has done all the job:
    0_1487970560498_1st_plug_wu.jpg
    As you can see it is pretty straightforward - at least on Windows 10.
    What OS are you using?



  • @Frida Thanx for sharing! Updated!



  • On linux remember to update/place a file in: /etc/udev/rules.d

    I have these in my: 45-espruino.rules, then you don't have to use sudo su

    # To go in /etc/udev/rules.d/
    # Makes Espruino's serial port accessible to non-SU users, and stops the Modem Manager trying to enumerate it
    ATTRS{idProduct}=="5740", ATTRS{idVendor}=="0483", ENV{ID_MM_DEVICE_IGNORE}="1", MODE="0666", GROUP="plugdev"
    # Nordic kits
    ATTRS{idProduct}=="1015", ATTRS{idVendor}=="1366", ENV{ID_MM_DEVICE_IGNORE}="1", MODE="0666", GROUP="plugdev"
    # Microbit
    ATTRS{idProduct}=="0204", ATTRS{idVendor}=="0d28", ENV{ID_MM_DEVICE_IGNORE}="1", MODE="0666", GROUP="plugdev"
    # Propeller
    ATTRS{idProduct}=="6001", ATTRS{idVendor}=="0403", ENV{ID_MM_DEVICE_IGNORE}="1", MODE="0666", GROUP="plugdev"
    # Pycom
    ATTRS{idProduct}=="6015", ATTRS{idVendor}=="0403", ENV{ID_MM_DEVICE_IGNORE}="1", MODE="0666", GROUP="plugdev"
    


  • @mmarkvoort said in Firmware upgrade troubleshooting - checklist:

    @rskoniec
    Update using Expansion Board USB.

    OK. In a free time (I hope this weekend) I'll grab a fresh install Windows machine and try to investigate FTDI driver issue.



  • @bucknall said in Firmware upgrade troubleshooting - checklist:

    @jmarcelino This is going into Docs with the next update :)

    Nice! :)


  • administrators

    @jmarcelino This is going into Docs with the next update :)



  • @rskoniec
    Update using Expansion Board USB.



  • @dClaus One more time - thanx! It's already updated. :)



  • For Lopy "Connecting ......... Failure !"
    see post https://forum.pycom.io/post/4518

    between 3 and 4 : use the RESET buttom on the Lopy

    ;-)



  • @mmarkvoort said in Firmware upgrade troubleshooting - checklist:

    I don't know if it is relevant but when i wanted to update/connect through USB I had to install the USB driver manually. Mine called FTDI driver where VCP or D2XX are types of drivers. With one of the two it said it was installed but still i coudn't update/connect.

    But you were trying to update using Expansion Board USB or xPy board + USB2TTL serial converter?



  • @livius said in Firmware upgrade troubleshooting - checklist:

    @rskoniec
    you can somehow merge this post:
    https://forum.pycom.io/post/2655

    Good tip! Done! :)



  • @rskoniec
    you can somehow merge this post:
    https://forum.pycom.io/post/2655



  • @rskoniec

    Very good list, certainly useful for beginners like me!

    I don't know if it is relevant but when i wanted to update/connect through USB I had to install the USB driver manually. Mine called FTDI driver where VCP or D2XX are types of drivers. With one of the two it said it was installed but still i coudn't update/connect.



  • @jmarcelino said in Firmware upgrade troubleshooting - checklist:

    I'd add making sure you have nothing connected to the board other than the serial, power and GND-G23 connection.

    Point 4 added. :)



  • Great list! Thanks for making it, definitely should go into the documention.

    I'd add making sure you have nothing connected to the board other than the serial, power and GND-G23 connection.

    In particular disconnect anything on the strapping pins:

    G16 / P9 • MTDI/GPIO12: internal pull-down
    G15 / P8 • GPIO2: internal pull-down
    G24 / P3 • GPIO4: internal pull-down
    G11 / P4 • MTDO/GPIO15: internal pull-up
    G12 / P5 • GPIO5: internal pull-up

    Source: https://espressif.com/sites/default/files/documentation/esp32_datasheet_en.pdf#page16


Log in to reply
 

Looks like your connection to Pycom Forum was lost, please wait while we try to reconnect.