I found one issue with a USB AVR Programmer v2.1.
When all I/O pins are only used for connections to the programmer, it works correctly. However, when some I/O pins are connected to other things such as LEDs, it does not work.
I managed to solve this issue. I thought its cause is 470Ω resistors. They may divide voltage and the signals are not transmitted properly. Then, I removed 470Ω resistors which are connected to I/O pins and shorted each of them. After that, I could write data to my AVR by using the programmer.
Also, I have a v2(not v2.1) programmer which works correctly even when LEDs are connected to the I/O pins. The v2 one has 470Ω resistors which the v2.1 one has. So I think the resistors are not the real cause.
Please inspect the v2.1 issue.