cant upload skeches to Arduino Duemilanove w/ATMEGA 168

This arduino has worked in the past and I have successfully made projects with it but now when i want to upload skeches it gives error

avrdude: stk500_getsync(): not in sync: resp=0x00 avrdude: stk500_disable(): protocol error, expect=0x14, resp=0x51

i performed loop-back test its gave output then i tried to burn boot loader from another duemilanove atmega 168 according to http://arduino.cc/en/Tutorial/ArduinoISP

but this gave mismatch error..... whats the problem?????

Be aware that for burning a new bootloader you have to get the exact match for the chip. In particular the 168 and the 168P are different.

However the Arduino bootloader is normally only compiled as 168, so when uploading sketches you may have to lie and say 168 when the chips a 168P - for sketch uploading the Arduino software talks to the bootloader code and it can claim to be a different processor to the actual one (this means the same bootloader can be used for 168 and 168P, for instance).

So I think what I'm saying is try both options for both operations - and if one option isn't available you'll need to add it to boards.txt I think...

Someone else may have less confusing advice(!)

thank you for suggestion i have ATMEGA168 2OPU is it atmega168 or atmega168p? and i have same another arduino with same avr, now i want to burn bootloader to old one.