I was a bit leery of posting in here for fear of looking like a complete idiot. However, I cannot seem to find any help anywhere else right now.
I have been trying to connect to and update the config on a device of mine that came equipped with a Proffieboard v2.2. The installer made their own config, and I am not entirely sure they did not somehow disable WebUSB on the device. They also disabled the gesture controls on the board, which is what I wanted to enable. However, I have run into a considerable amount of difficulty getting the ProffieBoard to connect correctly when attempting to even upload a new config or update the OS.
I am running Windows 11. And it seems that MSFT has made it a LOT harder to get past the security it put in place for drivers. Because of this, ZADIG does not seem to work when trying to update the STM32 BOOTLOADER device with the WebUSB driver. The driver installation simply fails because of the certificate issues on the backend. The OS just refuses to validate the certificate chain.
So, even though I can get the ProffieBoard to connect to the PC, and it does show up in Device Manager as a USB Serial COM port (COM3 in my case) and I can get Arduino to see the board. WebUSB fails to connect and when I try to do an upload from Arduino, after it compiles and I get scared all to hell because of the mountains of red text, it then shows the file is compiled and then forces a reset of the board to put it into BOOTLOADER mode. This is when it fails, and I get the errors about being unable to open the DFU.
Does anyone else, more connected to the dev community for ProffieOS and ProffieBoard maybe know of a way to deal with the changes in Windows 11? I have made sure that everything I am using is as up to date as possible. Even ZADIG, but it just does not seem to make any difference.
What version of Zadig do you have?
Iām noticing that a new version (2.7) was released on November 1st, and there seems to be some changes for Windows 11, but Iām not sure if those changes make it work better, or if it just makes it complain more when it doesnāt work.
Many thanks for your kind reply. I have v2.1 (Build 765) installed. I even made sure to run ZADIG in Admin mode. It clearly seems to be something related to driver signing. But, I have no idea how this would be āfixedā short of someone making signed drivers for ProffieBoard that MSFT accepts in Windows 11 that does what needs to be done for this to work. MSFT seems to have moved the goalposts in terms of security ever since the great printer driver issue earlier this year.
Somewhere in the ST-Micro toolkit, there is supposed to be an official DFU driver. No idea if it will work with Windows 11 or not, but if Zadig wonāt work anymore, it might be time to explore that option better.
Surprisingly, I havenāt found much information about this online. There are lots of arduino-clones that would stop working without zadig, what do people do?
I can only assume that others using Windows 11 already had their setup in place on Windows 10 and the upgrade did not impact them. Since I am coming at this without ever having setup Arduino or ZADIG in the past, it seems to be different?
I even used ZADIG to try simply extracting the driver and then manually installing it so I could see exactly what was failing. As I expected it gave the same error about the driver not being signed correctly and it would not install.
As I stated previously, I can see the ProffieBoard in Arduino and it shows up in my Devices as ProffieBoard. It also shows in the device manager as COM3 under my USB devices. However, the moment it does the reboot to go into the DFU upload mode (presumably this is when the device ID changes to the STM32 BootLoader) this is when it disappears from my Devices and shows up as STM32 BootLoader in Device Manager under the āOther Devicesā section.
What I find so odd is that WebUSB does not seem to be working. I went to the URL for the WebUSB web app and it even sees the ProffieBoard (unless I do the RebootDFU) but says that WebUSB is not present or something like that. Itās all very odd to me.
WebUSB has to be on in Arduino ā Tools ā USB Type when the board is programmed for WebUSB to work. I assume whoever installed your saber did not do that.
OK, I just verified that the board is programmed with v5.6 right now (I did this using the version command from the Serial Monitor in Arduino). And I cannot say what they programmed the board with as far as options. I know they turned off the gesture controls, so I would not be completely surprised if they did not enable WebUSB either.
My only hope seems to be to get this to work somehow when the board goes into BOOTLOADER mode. And I cannot seem to get that to work right now. The moment the board is forcibly rebooted into DFU mode by the upload process in Arduino, it does not work and the upload fails.
Yes, I did try to use ZADIG 2.7⦠I made sure it was up to date⦠This is the error that I see in the log when it attempts to install the WebUSB driver for the STM32 BOOTLOADER device.
libwdi:debug [installer process] This version of Windows is refusing to trust the installed certificate. libwdi:debug [process_message] Installer process completed Driver Installation: FAILED (Operation not supported or not implemented)
1 device found.
libwdi:debug [wdi_create_list] Hardware ID: USB\VID_0483&PID_DF11&REV_2200
libwdi:debug [wdi_create_list] Compatible ID: USB\COMPAT_VID_0483&Class_FE&SubClass_01&Prot_02
libwdi:debug [wdi_create_list] Driverless USB device (12): USB\VID_0483&PID_DF11\207437735956
libwdi:debug [wdi_create_list] Device description: āSTM32 BOOTLOADERā
Iām not sure who that would help, but I thought I would post it just to show whatās failing with ZADIG.
It may be possible to program the board using webdfu: GitHub - devanlai/webdfu: WebUSB Device Firmware Upgrade example
This would mean running āverifyā in arduino, then finding the right file in the arduino work directory and uploading it through webdfu. You can also use webdfu to do backups of the program that is currently on your proffieboard, assuming it works of course.
āOn Windows, that means that an appropriate WinUSB/libusb driver must first be installed. This can be done manually with programs such as Zadig or automatically (sometimesā¦) with WCIDā
I made progress and got the saber update to 5.9. I also enabled WebUSB now and I can see the SD card when the saber is plugged into my PC.
However, to do it, I had to manually update the driver to MSFTās newest WebUSB driver.
First, I connected my saber and entered Arduino. Opened the Serial Monitor. Issued the RebootDFU command. Opened Device Manager for Windows and verified that STM32 BOOTLOADER was displayed there under āOther Devicesā. Right clicked on that device and selected Update Driver.
And then, I followed Steps 1-7 at the following URL.
I am still troubleshooting my config. For instance, I am now seeing errors when I issue the effects command in the serial monitor. It shows something about unnumbered files in one of my fonts or folders⦠Not sure yet.
If anyone needs me to do some screen grabs of what I did or wants to chat in real time about what I did, I am happy to do so. If it helps others get through this. There is obviously a WebUSB driver in Windows 11, itās just a matter of how you get that driver associated with the device.
ZADIG was a great tool and did some āinterestingā things to get around MSFTās driver signature requirements. But, since the great printer driver fiasco of 2020/2021, it appears that MSFT has taken a harder stance on driver signatures and code signing in general.
Lest it not be obvious, I do work in IT. Otherwise, I would not have attempted to go through this to begin with.
If you have the time, updating the wiki page might be helpful to people.
I suspect that you can do the same on windows 10 and avoid using zadig entirely.
I know Iām going to feel dumb but Iām stuck with Arduino under Tools>Ports, āPortsā is actually greyed out. The Proffie is showing as an unknown device in my āPrinters and Devicesā but I canāt actually find it in the device manager? Any suggestions?
I tried to install Windows 11 today, but because of all the secure boot and TPM stuff, I failed. I think my computer supports those things, but i turned them off a long time ago to make it easy to run linux, and turning it on again seems to be easier said than doneā¦