ProffieBoard 2.2 and Windows 11

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.

These are perfectly reasonable questions.

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.

1 Like

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.

Did you try Zadig 2.7?

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.

I have a simplified version of webdfu here:
https://profezzorn.github.io/webdfu/dfu-util/

1 Like

Never mind, I just saw this:

“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.

WinUSB (Winusb.sys) Installation - Windows drivers | Microsoft Docs

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.

1 Like

I suggest starting a new thread, then cut-n-paste the errors you’re not sure about and then I (or someone else) can explain what’s going on.

2 Likes

Thank you, I will do that. Again, thank you for your help and assistance. It is so very much appreciated.

Is libusbK a thing?

It’s a thing, I don’t know if it’s the right thing.

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.

1 Like

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.

3 Likes

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?

Hi DropKAG,

Thanks for posting in the Crucible your issues. There’s a few assumptions I’m making and would like to clarify.

  1. Is this the first proffie core?

  2. Have you followed the Video on installing the proffieboard?
    Proffieboard, Zadig and Ports walkthrough - YouTube

The behaviour your experiencing sounds like the drivers are not installed.

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…