It’s time to bid adieu to Zadig. It’s a great tool, but far too confusing for the average user. It turns out that Zadig isn’t the only way to use libdwi though. There is a simple way to compile libdwi into a command-line tool. Of course, a command-line tool would be even harder for users to use, but command-line tools can be scripted… into an installer!
Say hello to my little friend:
This little tool does the same thing zadig does, and nothing else.
No need to choose a device, and the Proffieboard doesn’t have to be in bootloader mode to use it! In fact, it doesn’t have to be connected at all!
This works just fine on my computer, but I’d like a few people to test it before I change all the instructions everywhere to use the new tool. To test it, you will need to:
- uninstall the zadig-installed driver, or use zadig to change the driver to something other than WinUSB.
- download and run the proffie-dfu-setup.exe (and maybe virus check it just to be safe.)
- use zadig, or device properties to check that the driver for the STM32 BOOTLOADER is now the right one.
- Test an upload from Arduino to make sure it works.
Apparently this is not easy to figure out.
I feel a screenshot would take place of the following many words, but…
The device Properties > Driver window only has
“Driver Details” which you can’t do anything in. Other options are greyed out, except a button to "Change Settings, with a Windows Security Shield. Clicking that opens a second, identical properties window, and that window’s driver tab has things not greyed out.
However, they are:
“Driver Details” - info only
“Update Driver” which thinks the best one is already installed.
“Roll Back Driver” which IS greyed out
“Uninstall Device”, which includes checkmark to delete Driver… However, after doing that, and disconnecting/reconnecting, it comes back as STM32BOOTLOADER and the driver is still intact anyway.
Zadig does not present any other options for different drivers to be installed. Not that I can see anyway.
Zadig has little up/down buttons next to the “WinUSB” box, which lets you choose other things.
PS: Screenshots are allowed when cut-n-paste won’t work you know…
ok, replaced driver for STM32BOOTLOADER in Zadig with libusbK (v184.108.40.206).
Confirmed in Devices and Printers.
Left board plugged in in bootloader mode and ran proffie-dfu-setup.exe.
It installed itself and auto-ran.
After which, Zadig showed the correct driver under Current, as did Devices and Printers.
I hit upload in Arduino while in this state and it worked fine as expected.
Rebooted Machine (VMWare virtual Windows 10 by the way).
Repeated the above (overwriting I guess) except this time I unplugged the board before running proffie-dfu-setup.exe.
This did not work so it seems.
Still showing libusbK.
So I cycled connection and ran proffie-dfu-setup.exe a 3rd time, but this time with the board normally booted in ProffieOS.
After which, booting as STM32BOOTLODER showing libusbK.
Interesting, so for you the board does have to be connected and in bootloader mode for this to work…
(I don’t think it does for me, but I will have to experiment some more to see…)
Hmm. Well, not having the board connected doesn’t seem super necessary.
Just having the program reboot the board into bootloader would be a big plus.
Plus you can already can do that, right?
(Configurator page uploader, Proffieboard programmer )
So, I tried this on a new install, and proffie-dfu-setup was able to install the right driver even though the proffieboard was not connected.
Clearly there is more to it than that, but for now I think I’m going to make everybody use this setup program, and only tell people to use zadig if proffiboard-dfu-setup doesn’t work for some reason.
Basically, the step would be:
- run the program
- if that doesn’t work, try running it with a proffeiboard in bootloader mode attached.
- if that doesn’t work, try the zadig method
- Switch to a better operating system.