Update fail in L01 OEM Invalid head of packet



  • Hi,

    I'm new here and facing problems uploading the new firmware to the L01 OEM module. I soldered it in my application board and verified I have communication using a FTDI USB to serial converter. I tried to upgrade the firmware as suggested but encountered the following error message using the latest stable release of the update tool (1.15.1):
    ErrProg.PNG
    I’m sure I’m accessing the firmware update mode by driving low the BTL input before releasing reset as I see the following print in Terminal when doing the procedure:
    fwupdatecap.PNG
    I have the following information from the module used:

    os.uname()

    (sysname='LoPy', nodename='LoPy', release='1.7.0.b1', version='v1.8.6-620-g3812d902 on 2017-05-24', machine='LoPy with ESP32', lorawan='1.0.0')

    binascii.hexlify(machine.unique_id())

    b'240ac40aad28

    I appreciate any advice on how to fix this issue.

    Note: I have a Pytrack with a LoPy4 on it and the updating process works perfectly.



  • Using the CLI I was able to program the L01. Thanks @robert-hh ! Just to recap:

    • I use a L01 mounted in a custom board, which uses a FTDI as USB-Serial bridge
    • Implement the two transistors that drive reset and IOO lines through DTR and RTS lines (https://dl.espressif.com/dl/schematics/ESP32-Core-Board-V2_sch.pdf).
    • Using Pycom FW update tool does not work.
    • Using CLI commands for the flasher tool worked (pycom-fwtool-cli -v -p COM12
      -r --ftdi flash -t LoPy-1.17.0.b1.tar.gz)

    Special note: There is a catch as noted in https://forum.pycom.io/topic/4518/firmware-update-elf-vs-tar , that the latest relases are in *.elf format and must be converted to tar.gz.



  • @robert-hh sorry for the late reply. I will place the two transistors driven by DTR and RTS to check your suggestion. Many thanks.



  • @jdsantana No, the update tool does not need the PIC. I use a FTDI module for connection. But then you hav either to create the bootloader and reset stare manually (just pull the bootloader Pin GPIO0 low and isseu reset), or you have a "espressif" circuitry and use the command line updater pycom-fwtool-cli with the option -r --ftdi.



  • Hi @robert-hh . Thanks for the reply. I tested at different baud rates and the result is the same. Finally the workaround I did was to byass the FTDI module in my application board and connect the TX, RX, Reset and Bootloader signals to the correspondent pins in the Pytrack's headers.

    Doing the above procedure the module L01 was able to program. I couldn't find why using a regular USB to serial converter doesn't work. Maybe the Update Toll needs the PIC18 used as USB bridge to work correctly? If later I have time I would like to check the differences between frames and hopefully find out why this happens.



  • @jdsantana Use a lower baud rate for the update, like 115200.


Log in to reply
 

Pycom on Twitter