[Top][All Lists]

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: Improving Windows support for AVRDUDE

From: Joerg Wunsch
Subject: Re: Improving Windows support for AVRDUDE
Date: Tue, 30 Nov 2021 20:35:36 +0100

As Marius Greuel wrote:

> Now, for Windows users, it would be nice if avrdude just "works out of the
> box", as it does on Linux. One of the key points is to move away from the
> libusb0.sys driver to the WinUSB driver. WinUSB is the Windows equivalent of
> libusb, which is what people use (including Atmel) when you do not want to
> cook up your own USB driver. Some choose to use the HID stack, which works
> equally well.

The latter is what ARM went for, with their CMSIS-DAP spec. I think
it's a big crock, but the grok "every device looks like a human
interface" is quite present in many places, mainly due to Windows not
providing a generic USB driver for every device straight from the
beginning of their USB support (WinUSB came much later). As they
(obviously) did have to provide out-of-the-box HID support, people
went that way. ("Please install a device driver for your keyboard.
Press <Enter> to continue." :-)

Having said this, as long as it doesn't break libusb support (which is
the common baseline for all Unix-like systems), and doesn't add a
truckload of more #ifdefs, it's certainly fine to have that. If it
works well, I even think libusb support is no longer needed for
Windows anymore. It only went there in order to support Windows at

> The easiest way to get Windows to load the WinUSB driver
> automatically, is to add a WinUSB compatibility descriptor to the device
> firmware.

That's again where I don't really understand Windows. Why is it
necessary to have *any* specific hack at all? Why couldn't they just
offer WinUSB for *every* device, at least for every device that hasn't
any more specific driver?

But OK, we won't change Microsoft here. It's just cumbersome to deal

I'd be more than happy to have a Windows guy in the boat, hopefully
including someone who can roll native Windows binary releases as well.
So far, I've always been rolling them using a MinGW32
cross-compilation on my FreeBSD development system, but that isn't
something running very smoothely anyway. So well, if you want to
actively support AVRDUDE development on the Windows front, be welcome!

cheers, Joerg               .-.-.   --... ...--   -.. .  DL8DTL

Never trust an operating system you don't have sources for. ;-)

reply via email to

[Prev in Thread] Current Thread [Next in Thread]