How is this installed? I am not a programmer and am only aware of gitHub in the most basic sense. I’ve downloaded the zip file, which contains some folders and an executable. Running the executable does not install anything, but instead gives some errors. I have the feeling I that I should have some sort of environment or system software on my machine in order to install this, but I have no idea.
the zip file does not contain an installer - it contains the actual executable, which you need to run from the command line.
so what you need to do is unzip it to some folder, then copy the firmware file to that folder. then if you have windows 7/8 go to Start (or whatever it’s called now), and start typing cmd and it should come up with Command Prompt or Command Line - right click on it and choose Run As Administrator.
it will open a new window where you have to type in the following:
c: [or whatever drive you unzipped dfu programmer to]
cd [folder where you unzipped dfu programmer]
dfu-programmer at32uc3b0256 erase
dfu-programmer at32uc3b0256 flash whitewhale.hex --suppress-bootloader-mem
dfu-programmer at32uc3b0256 start
so if you have dfu programmer unzipped to d:\dfu then you will need to execute the following:
d:
cd d:\dfu
dfu-programmer at32uc3b0256 erase
dfu-programmer at32uc3b0256 flash whitewhale.hex --suppress-bootloader-mem
dfu-programmer at32uc3b0256 start
that’s it. make sure you power up the module with the front panel button pressed first.
if that works for future updates just create a new file in the dfu folder and name it something like update.bat (extension is important) and edit it to contain the following commands, then next time you can just run update.bat or create a shortcut for it.
Everything worked and I was able to update WW and ES.
Two things threw me off that might be worth modifying in the doc:
The doc mentions installing dfuProgrammer which is incorrect terminology and confusing.
When first tying to run the dfuProgrammer utility without a) a module hooked up via USB and b) the USB driver updated, the utility will pop up an error that lead me to believe it was not able to run on my machine.
Things to note:
dfuProgrammer is just a downloadable executable that comes with with some subdirectories full of files.
dfuProgrammer comes with its own drivers.
to install dfuProgrammer drivers, connect a module to your PC via USB and power it up with its button held. If it doesn’t find the drivers itself right away, go to the device manager, double click the errored device and manually load the drivers by browsing to the dfuProgrammer folder.
Thanks to @scanner_darkly for your help!!
Thanks to @tehn for graciously offering to update all my modules for me!
glad it worked, and thank you for posting detailed info!
i should take the blame for the terminology confusion - it was taken from this thread Updating modular firmware - should’ve been more clear, apologies!
tons of problems trying to install dfu programmer…
very fussy if you mind my opinion…no clear instructions anywhere…
installed mingw, tried to install libusb but failing.
dfu-programmer wont find the libusb0.dll file which i cannot find in any libusb distribution.
if anybody wants to help with a few step by step instructions i’d be immensely grateful.
on mac it was very easy, on windows i’m going crazy.
The zip file being discussed in this topic (on this page under “Downloads”), as of v0.7.2, contains libusb0.dll in the dfu-prog-usb-1.2.2/amd64, dfu-prog-usb-1.2.2/ia64, and dfu-prog-usb-1.2.2/x86 directories. Is dfu-programmer.exe unable to find these library files when you extract the zip file and run it as in this post? You should not need mingw or to install libusb0, but maybe an existing installation of some library is being found first on Windows’ DLL search path and loaded instead. A tool like Dependency Walker might help figure out what all a program is trying to load and from where.
This may help others: I had trouble with the libusb error - so I just copy/pasted the .dll and the .sys files from each of the sub folders into the same folder as the dfu programmer (just like you would with the .hex file) and attempted to run the commands - it’s clear when it doesn’t work, so I would remove them and try the next sub folder (ia64, x86, etc) Mine eventually worked when I renamed the _x86 .dll file to libusb0.dll.
i just went through the process with win10 for the first time.
i also got the missing dll error.
the problem was, i didn’t do the “update driver” via device manager process as described in the docs, because it seemed to “just find the driver” so i figured it was fine.
I just did this a few days ago and I had the same issue. The solution above by @shoggoth worked for me.
I had to copy the libusb_x86.dll file to the main DFU Programmer folder and then rename it libusb.dll. The other versions kept giving me the same error.
Also, if you haven’t used the windows command prompt before, check this out to make sure you’re in the right directory when you use the update commands that are on the Monome website.