Well....I tried programming a brand new ATtiny44 with several different programmers including the Atmel AVRISP mkII using AVR Studio 6, USBasp using avrdude, and an arduino Uno with Arduino IDE. I tried first with the Atmel mkII since it was Atmel branded and the chips were Atmel, I figured I would go the Atmel route all the way. No matter what I tried, I could not get the programmer to read or write program data. I was able to get it to read the target voltage, and the LED on the mkII went from red to green when I connected the pins according to their documentation, but nothing.
Next, I tried the USBasp with avrdude. With this, I kept getting the error "avrdude: warning: cannot set sck period. please check for usbasp firmware update." I didn't get far with this solution. I could do more research to try and figure out what's wrong, but instead I moved on to the Arduino as an ISP.
The Arduino Uno as an ISP did something. I can't say what exactly, but once I configured the Arduino to be an ISP (uploaded the ArduinoISP sketch and changed some settings in the IDE), I was able to deploy to my test ATTiny44. To test my deployment, however, I hooked up an LED to one of the pins and got nothing (I deployed the blink sketch). I changed the blink program to turn multiple pins on and off just in case I got the wrong one on the board. Still nothing. At this point, I gave up and decided to try the Atmel mkII approach again, thinking that since Arduino worked a little, maybe I'd have better luck this time.
I don't know what the Arduino did, but when I got back into the AVR Studio 6 IDE, I could read and write to the chip. At least that's what the tool said it was doing. I was able to read Lock, Memory, and Fuse information. I was even able to "deploy" a simple application (similar to Blink) to the chip....at least the deployment didn't fail. The program was still not working (no LEDs were being lit). It's like the program is not making it to the chip.
I checked the LED, and it is working, and I made sure I had the polarity proper when putting it in the circuit.
I'm not sure what I may be doing wrong, I'll try some more combinations tomorrow.
Any ideas why the Atmel route would not recognize the chip until Arduino wrote something to it? How do I initialize virgin chips?