Built-in AVRDUDE refuses to work with USBASP clone

In my experience, this error is caused by using the "libusb-win32" driver with Arduino's version of AVRDUDE:

The solution is to use the libusbK driver instead:

  1. Download the "Zadig" driver installation tool: http://zadig.akeo.ie/.
    ⓘ Note that Zadig is recommended on the official USBasp website: USBasp - USB programmer for Atmel AVR controllers - fischl.de
  2. Plug your USBasp into your computer.
  3. Start "Zadig".
  4. From the dropdown menu in the "Zadig" window, select "USBasp".
    :exclamation: If it doesn't show up on the menu, then select Options > List all devices from the Zadig menus and check again.
  5. Click the up or down arrows next to the Driver selection box on the right side until you see "libusbK".
  6. Click the Replace Driver button.
  7. After the driver replacement process finishes, you can close the "Zadig" window.

Now try using the USBasp programmer once more. Hopefully the error will no longer occur.