1
\$\begingroup\$

I'm am having issues with my USBasp programmer (Windows 10). I installed the WinUSB driver using zadig 2.4.

When I run AVR dude with the following parameters

avrdude -c USBasp -p m32u4 -u -U flash:w:justahex.ino.hex:i

It immediately returns with this error:

avrdude: error: could not find USB device with vid=0x16c0 pid=0x5dc vendor='www.fischl.de' product='USBasp'

It looks for a USB device with vendor ID "0x16c0" and product ID "0x5dc". This is the correct set of IDs according to Zadig:

enter image description here

Also the device manager seems to find the device without issues:

USB asp correctly installed

Again with correct vendor/product ID

When I google the topic I see a lot of forums where people have issues getting their USBasp device working under windows 10. But they mostly are having issues with the libusb /WinUSB drivers (Which seems to be fine in my case thanks to the Zadig tool).

So I find myself stuck in getting further. Are there any other things I can check? Or is the device broken somehow (which would surprise me as it does get installed properly in windows)

\$\endgroup\$
  • \$\begingroup\$ I had the same problem and I couldn't use it. Finally, I decided to buy and AvrPocket which works fine. If you find a solution please let me know. \$\endgroup\$ – pantarhei Jan 13 at 9:50
  • \$\begingroup\$ My guess is that windows disallows avrdude from accessing the USB device. What happens if you run avrdude with administrator priviledges? \$\endgroup\$ – jms Jan 13 at 10:45
  • \$\begingroup\$ @jms Nope that does not make a difference. Good guess though! Haven't thought of that myself. \$\endgroup\$ – bas Jan 13 at 12:36
  • 1
    \$\begingroup\$ @BaciuVlad-Eusebiu found the fix for my problem. See answer below. Worth trying out :). \$\endgroup\$ – bas Jan 17 at 19:02
5
\$\begingroup\$

Found the solution, which is of course dead simple once you know...

In Zadig, you can select the driver. Default selected is (in my case) the WinUSB driver. When I select the libusb driver, and install that driver, it works like a charm.

Yeey.

enter image description here

avrdude -vvv -c USBasp -p m32u4 -u -U flash:w:Duroduino.ino.hex:i

avrdude: Version 6.3, compiled on Feb 17 2016 at 09:25:53
         Copyright (c) 2000-2005 Brian Dean, http://www.bdmicro.com/
         Copyright (c) 2007-2014 Joerg Wunsch

         System wide configuration file is "c:\_SVN\p(r)ins\Durocan\Deployment\avrdude.conf"

         Using Port                    : usb
         Using Programmer              : USBasp
avrdude: usbasp_open("usb")
avrdude: seen device from vendor ->www.fischl.de<-
avrdude: seen product ->USBasp<-
         AVR Part                      : ATmega32U4
         Chip Erase delay              : 9000 us
         PAGEL                         : PD7
         BS2                           : PA0
         RESET disposition             : dedicated
         RETRY pulse                   : SCK
         serial program mode           : yes
         parallel program mode         : yes
         Timeout                       : 200
         StabDelay                     : 100
         CmdexeDelay                   : 25
         SyncLoops                     : 32
         ByteDelay                     : 0
         PollIndex                     : 3
         PollValue                     : 0x53
         Memory Detail                 :
\$\endgroup\$
0
\$\begingroup\$

I'm a bit late to the game, but I just experienced the same error (albeit with different causes).

  • on most places on the internet you will be instructed to install the libusbK driver, which doesn't work, use the libusb-win32 variant instead
  • make sure the AVRDUDE.EXE tool is the latest version (the older doesn't work with the newer USB drivers for some reason)
  • in case of using a clone (for instance having "Van Ooijen's technische informatica" as vendor id instead of the original name "www.fischl.de"), make sure to use the -c usbasp-clone -P usb AVRDUDE settings instead of -c usbap -P usb. The clone setting causes AVRDUDE to ignore the vendor description and also accept the clone. You'd think having the correct VID, PID combination would be sufficient but no...

Bonus: for the extra lazy ones, here's an example command line that would flash that Arduino Leonardo board from Atmel studio (warning, this will overwrite the bootloader):

avrdude.exe -C"avrdude.conf" -p atmega32u4 -c usbasp-clone -P usb -U flash:w:"$(ProjectDir)Debug\$(TargetName).hex":i

\$\endgroup\$

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.