Updating firmware on USBASP bought from eBay

I bought a cheap USBASP clone Atmel programmer from eBay a few weeks ago, to use with the Arduino IDE. (see images below)The board worked ok, but kept giving errors: avrdude: warning: cannot set sck period. please check for usbasp firmware update. and I was unable to program an ATTiny85 on a breadboard when running at 3.3v (it worked fine at 5V), so I decided to bite the bullet and attempt to update the firmware on the USBASP using one of my Arduino boards as the programmer. There appears to be a lot of misleading and confusing information on the web about how to do this, so I thought I’d document what worked for me.”