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
-
@Victor-Hooi ping @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?