Unable to update firmware on ExpansionBoard 3.1 - Cannot open DFU device



  • I recently purchased several LoPy4 packs, and I'm really struggling to

    Firstly - is there a way to check what the current firmware on the ExpansionBoard 3.1 is?

    Secondly, I'm trying to follow the installation instructions at https://docs.pycom.io/updatefirmware/expansionboard/.

    My laptop is running Ubuntu 21.04.
    I have installed dfu-util. (Version 0.9).
    I have removed the LoPy4 board, so it's just the ExpansionBoard 3.1.

    I then press the "S1" button on the board, and plug in the USB cable to my computer.

    It does appear to be quite sensitive to timing - however, when I use "lsusb', I do see two different IDs:

    Normal mode (ef98):

    lsusb
    Bus 002 Device 002: ID 0bda:0328 Realtek Semiconductor Corp. USB3.0-CRW
    Bus 002 Device 001: ID 1d6b:0003 Linux Foundation 3.0 root hub
    Bus 001 Device 005: ID 06cb:009a Synaptics, Inc. Metallica MIS Touch Fingerprint Reader
    Bus 001 Device 004: ID 13d3:56b2 IMC Networks Integrated Camera
    Bus 001 Device 003: ID 8087:0a2b Intel Corp. Bluetooth wireless interface
    Bus 001 Device 020: ID 04d8:ef98 Microchip Technology, Inc. Expansion3
    Bus 001 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub
    

    And then the DFU mode (ef99) - where I press the "S1" button before plugging it in:

     lsusb
    Bus 002 Device 002: ID 0bda:0328 Realtek Semiconductor Corp. USB3.0-CRW
    Bus 002 Device 001: ID 1d6b:0003 Linux Foundation 3.0 root hub
    Bus 001 Device 005: ID 06cb:009a Synaptics, Inc. Metallica MIS Touch Fingerprint Reader
    Bus 001 Device 004: ID 13d3:56b2 IMC Networks Integrated Camera
    Bus 001 Device 003: ID 8087:0a2b Intel Corp. Bluetooth wireless interface
    Bus 001 Device 019: ID 04d8:ef99 Microchip Technology, Inc. 
    Bus 001 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub
    

    However, even if I run dfu-util after it's in the "ef99" mode, I get this error:

    $ dfu-util -D expansion31_0.0.11.dfu 
    dfu-util 0.9
    
    Copyright 2005-2009 Weston Schmidt, Harald Welte and OpenMoko Inc.
    Copyright 2010-2016 Tormod Volden and Stefan Schmidt
    This program is Free Software and has ABSOLUTELY NO WARRANTY
    Please report bugs to http://sourceforge.net/p/dfu-util/tickets/
    
    Match vendor ID from file: 04d8
    Match product ID from file: ef99
    dfu-util: Cannot open DFU device 04d8:ef99
    dfu-util: No DFU capable USB device available
    

    Does anybody know how to update the ExpansionBoard 3.1 reliably?



  • Hmm I don't remember ever having to use elevated privileges to run dfu-util, but I'll add it to the documentation, it could be a solution for some people! Thanks

    Gijs





  • @jcaron Thank you - that was the trick.

    I needed to run sudo dfu-util for it to work correctly.

    Do you think that gotcha is worth mentioning on the firmware updating guide? How do we go about suggesting updates there?



  • @Victor-Hooi have you tried using sudo or equivalent?


Log in to reply
 

Pycom on Twitter