Are USB ISP and USBasp the same thing? + AVR fuses

Hi,

I have a cheap programmer marked as a USB ISP. Same as the ones at
http://www.aliexpress.com/asp-isp_reviews.html , and
http://www.china-electronics-gadgets.com/usb-isp-usbasp-programmer-for-atmel-avr-with-case-p-120.html

When I connected to a win7 computer the drivers installed without issue and the LED on the device lights. However, I cannot get it to work.

In the second link it lists the device as USB ISP / USBasp programmer.
Also in the second link it lists the chips it can be used with and I notice the 328/328P are not listed.

Can I use this with the Arduino / ATmega328P-PU and what programmer option to I select; AVR ISP, USBTinyISP, USBasp?
I have tried all and none are working.

Just found ProgISP which is recommended by some of the China Taobao shops for use with this programmer and it seems to be working. I am able to read the flash and the fuse values match the values given by Nick Gammon's detector sketch.

From the Board Detector sketch:
LFuse = FF
HFuse = DA
EFuse = FD

From ProgISP

Based on the above. Do I have the clock set as internal 8Mhz and the clock divide by 8 set?
If this is correct then I am not sure about what is happening. I previous burnt the Duemilanove boot loader by using the Arduino IDE. I assumed this would set the clock at 16Mhz and clear the clock divide flag. Did these get reset when I uploaded later sketches?

If the chip is running at 8 Mhz will it ignore an attached 16Mhz crystal?

Sorry if these are basic questions. I am just starting to explore the Atmega chip as a standalone device and while I am enjoying the process I am finding some of it hard going.

You fuses look correct for a chip configured for an external crystal at 8MHz or higher.
http://www.engbedded.com/fusecalc

westfw:
You fuses look correct for a chip configured for an external crystal at 8MHz or higher.

I think I have read the flags the wrong way.
For CKDIV8: 0=Programmed (divide by 8). 1= Not programmed (no division).
Same for the RSTDISBL flag; 0=Programmed (disable reset). 1= Not programmed (enable reset).
is this correct?

Yes: all the fuses are "1" when NOT programmed.

Many thanks.

And also many thanks for all the indirect help you have given me from your posts on various websites and forums.

I still cannot get the USB ISP programmer to work with AVRdude / AVE Dudess.
Any help with this would be greatly appreciated.

Getting the following errors.

Any usbasp clone with correct VID/PIC gives
avrdude.exe: error: could not find USB device with vid=0x16c0 pid=0x5dc

USBtiny gives
avrdude.exe: Error: Could not find USBtiny device (0x1781/0xc9f)

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

Do you have a USB device status program so you can see how the programmer you have has enumerated?
USB Prober on Mac, lsusb on linux, I'm not sure what the windows equivalent is (though you can probably get the info through the device manager "details" panels.) There was also something funny about needing different firmware on your USBASP depending on whether you were accessing it from Atmel Studio or from AVRDude.

I have a cheap programmer marked as a USB ISP. Same as the ones at

Perhaps not the same after all. Do you have a link to the actual vendor you purchased from?

Thanks, that pointed me in the right direction.

The usb analyser showed it as a HID from zhifengsoft. Once I had this it was easy to find many references online and the incompatibility with avrdude is well documented. The ProgISP software is specifically written for this programmer which is obviously why it works.

There are several hacks including on this forum (which failed to show in a search) http://forum.arduino.cc/index.php/topic,173058.0.html

The Original vendor was on Taobao but they don't exit any more.