Contents

Porting dfu-util to Windows

Note: This is entirely work in progress and has not yet been successfully finished. Nevertheless hopefully the information on this page will serve as a starting point for anyone who find the time to take this further. After all, as many people still use Windows PCs as their every day computers, having a convenient way to re-flash a Neo from Windows would probably open up the user base.

Potential Approaches

Cygwin

Not very attactive as Cygwin binaries require Cygwin in order to run. You will not get a simple, native dfu-util.exe which can be downloaded and used on any Windows machine that way.

MinGW/MSYS

MinGW (Minimalist GNU for Windows) seems to be the platform of choice.

That should give you an Icon in your Start menu in MinGW->MSYS with the name of msys. Open that one, and you will find yourself in a bourne compatible shell on your native Windows system.

You can try to execute some commends such as gcc, make, etc. to make sure you installed everything correctly.

Getting dfu-util sources

Your home directory in msys lives in the location where you installed MSYS in %MSYS_HOME%\home\%USERNAME. Check out the dfu-util sources there or copy them into that directory in case you checked them out somehwere else on your Windows filesystem.

Where we're stuck

configure.ac:4: error: Autoconf version 2.59 or higher is required
configure.ac:4: the top level
autom4te: /bin/m4 failed with exit status: 1
configure.ac: `AM_INIT_AUTOMAKE' must be used
automake: your implementation of AM_INIT_AUTOMAKE comes from an
automake: old Automake version. You should recreate aclocal.m4
automake: with aclocal and run automake again.
configure.ac: required file `./install-sh' not found
configure.ac: required file `./mkinstalldirs' not found
configure.ac: required file `./missing' not found
automake: no `Makefile.am' found or specified

Then, copy the libusb.a file from the LibUSB-Win32\lib\gcc directory into the MinGW\lib directory and the usb.h file from LibUSB-Win32\include into MinGW\include (or you can copy it into your dfu-util\src directory.

Now try this again:

./configure

It should be successful. Then you can try building:

./make

And you will get this:

main.c:29:22: byteswap.h: No such file or directory
main.c:30:20: endian.h: No such file or directory

After this, a Windows driver needs to be installed when the device is in U-Boot and connected through the USB. Windows does not come with a DFU class driver and Jungo seems to be the only one that has created a DFU class driver, but it is non-free. You can use LibUSB-Win32 as the driver for the device by creating an INF file for it for this device. Use in-wizard.exe that is part of the LibUSB-Win32 binaries distribution. Run the wizard, select the following device:

Views

Personal tools

Porting dfu-util to Windows

Note: This is entirely work in progress and has not yet been successfully finished. Nevertheless hopefully the information on this page will serve as a starting point for anyone who find the time to take this further. After all, as many people still use Windows PCs as their every day computers, having a convenient way to re-flash a Neo from Windows would probably open up the user base.

Potential Approaches

Cygwin

Not very attactive as Cygwin binaries require Cygwin in order to run. You will not get a simple, native dfu-util.exe which can be downloaded and used on any Windows machine that way.

MinGW/MSYS

MinGW (Minimalist GNU for Windows) seems to be the platform of choice.

That should give you an Icon in your Start menu in MinGW->MSYS with the name of msys. Open that one, and you will find yourself in a bourne compatible shell on your native Windows system.

You can try to execute some commends such as gcc, make, etc. to make sure you installed everything correctly.

Getting dfu-util sources

Your home directory in msys lives in the location where you installed MSYS in %MSYS_HOME%\home\%USERNAME. Check out the dfu-util sources there or copy them into that directory in case you checked them out somehwere else on your Windows filesystem.

Where we're stuck

configure.ac:4: error: Autoconf version 2.59 or higher is required
configure.ac:4: the top level
autom4te: /bin/m4 failed with exit status: 1
configure.ac: `AM_INIT_AUTOMAKE' must be used
automake: your implementation of AM_INIT_AUTOMAKE comes from an
automake: old Automake version. You should recreate aclocal.m4
automake: with aclocal and run automake again.
configure.ac: required file `./install-sh' not found
configure.ac: required file `./mkinstalldirs' not found
configure.ac: required file `./missing' not found
automake: no `Makefile.am' found or specified

Then, copy the libusb.a file from the LibUSB-Win32\lib\gcc directory into the MinGW\lib directory and the usb.h file from LibUSB-Win32\include into MinGW\include (or you can copy it into your dfu-util\src directory.

Now try this again:

./configure

It should be successful. Then you can try building:

./make

And you will get this:

main.c:29:22: byteswap.h: No such file or directory
main.c:30:20: endian.h: No such file or directory

After this, a Windows driver needs to be installed when the device is in U-Boot and connected through the USB. Windows does not come with a DFU class driver and Jungo seems to be the only one that has created a DFU class driver, but it is non-free. You can use LibUSB-Win32 as the driver for the device by creating an INF file for it for this device. Use in-wizard.exe that is part of the LibUSB-Win32 binaries distribution. Run the wizard, select the following device: