dfu-util on Win32 [was: dfu-util on Mac OS X]

Shonko Kid shonko_kid at yahoo.com
Fri Aug 3 10:26:34 CEST 2007

On Fri Aug 3 03:09:56 CEST 2007, Harald Welte wrote:
> Yes.  In fact we had some internal team working on win32 and macosX
> versions of u-boot some 6-8 weeks ago, but like with many things we
> never got any feedback.  I've asked the new software team leader to
> investigate their status.

I've been working on getting dfu-util up and running on Win2K (I know, don't
hold it against me). It almost works with using libusb-win32, but I've been
trying to track down a problem with openning the device once it is in DFU Mode.
I think it may be down to a subtle difference between in how libusb works on
Windows and Linux. I'm more than happy to make it available once I've got the
kinks worked out.

One thing I've noticed is that the Configuration Descriptor that the Neo sends
back when in DFU Mode has bNumInterfaces = 5, but the DFU Spec seems to say
that this should be 1.
It's been set to 5 because there are 6 (0...5) alternates for the interface,
but the Spec doesn't really say how that should be encoded. Looking at the
source for libusb-win32 device driver, it seems that the each alternate is just
appended to the Config Descriptor, and the code walks through the buffer until
ot has exhausted wTotalLength bytes. Now, one of the errors I get from the
driver is that it cannot find interface 1, which is fair enough as there should
be only 1 interface, it looks like it may be expecting another buffer after the
one containing the 6 alternates.

Well, there are a few other things to check out, but can someone more expert in
DFU than myself confirm that the setting bNumInterfaces = 5 is correct? just to
be sure.


Boardwalk for $500? In 2007? Ha! Play Monopoly Here and Now (it's updated for today's economy) at Yahoo! Games.

More information about the device-owners mailing list