Hello,
I think I’m in the same boat as you are as I also bought some 328 without the P at the end. I changed the signature in avrdude for the 328P so now it accepts talking to the chip. I have it breadboarded as well and I’m trying with 8MHz,16MHz and 20MHz crystals.
When I try to burn the bootloaders ATmegaBOOT_168_atmega328.hex or ATmegaBOOT_168_atmega328_pro_8MHz.hex (with 20/16/8MHz crystal) I get verification erros while reading.
avrdude: verifying …
avrdude: verification error, first mismatch at byte 0x7a00 0xc0 != 0x80
avrdude: verification error; content mismatch
The optiboot bootloader seems to install OK but I can’t get a serial connection to the chip after that (same error as original poster).
The strangest part is that at one point I got the ATmegaBOOT_168_atmega328.hex bootloader to program without error and I could even run the basic blink example but then I suddenly lost the serial connection and I’m back to the same behavior as before.
I tried to find out what the difference is between the 328 and the 328P but couldn’t find anything. Does anyone have an idea what might be different between the two chips? Since I only bought three of them the loss isn’t that big but I’d have to make another 80€+ order at mouser to get free delivery again…