For some time now, those wanting to use the Adafruit Industries USBTinyISP with the 64-bit versions of Windows 7 or Vista were faced with the following errors when attempting to install the device drivers supplied by Adafruit:
For some reason, the 32-bit versions of these operating systems don’t prevent the unsigned drivers from being installed, although they do complain.
There are a few workarounds that involve hacking Windows or disabling digital signature checking, but thanks to a tip by user wayneft on the Adafruit support forums, I was able to make the process much more straightforward.
The USBTiny drivers are based on libusb-win32. Based on some notes I found on the libusb-win32 wiki, I discovered that the latest libusb drivers contain a proper digital signature:
Vista/7 64 bit are supported from version 18.104.22.168 since a Microsoft KMCS accepted digital signature is embedded in the kernel driver libusb0.sys. libusb-win32 based device drivers can also be submitted for Microsoft WHQL testing. Several companies have successfully finished the WHQL testing with their libusb-win32 based driver package. This will allow the customers to install the driver without a warning under current 32bit/64bit Windows.
This is good news!
I downloaded the latest version of libusb-win32 (22.214.171.124) and used the included inf-wizard tool to create new drivers for the USBTinyISP:
I used the Windows device manager to upgrade the broken drivers on my Windows 7 64-bit machine. There is still a warning that “Windows can’t verify the publisher of this driver software” but there are no more errors about digital signatures and the new drivers appear to install and work correctly.
I haven’t done a huge amount of testing with the drivers, but I was able to communicate with the USBTiny via avrdude and flash a simple program to an AVR. I also haven’t tested this fix on Vista, as I don’t have access to a computer running it. If anyone tests these drivers on Vista x64, please post your results in the comments!