[SOLVED -ish!]ATMega328PU - Can't read the signature bytes

I have 2 OpenLog clones that have been pretty much dead since day 1!

I tried reloading the OpenLog firmware using an Arduino Uno as the ISP but that threw up errors when trying to read the signature bytes from the 328P on the OpenLog board.

I also tried using a genuine AVR ISP mk2 with the same results.

The values read back were either $FF0000 or $0000FF instead of the expected $1E9516.

If the SPIEN fuse has been programmed to a '0', or the RSTDISBL fuse has been programmed to a '0', then will these setting prohibit any external programmer from reading the signature bytes?

If these fuse settings prohibit any ISP activity, then can somebody point me in the direction of a DIY high voltage serial programmer. I don't need the programmer to program the chip, just reset the fuse bits (and
probably erase the chip as well) so either ArduinoISP or the AVR ISP mk2 can reprogram the bootloader and OpenLog.

Thanks.

UPDATE: It seems that the 328P doesn't support high voltage serial programming, only parallel programming.

As the ATMega328P devices on OpenLog are SMD devices, I would have to desolder them in order to try and revive them on a high voltage parallel programmer. I can pick up a brand new device for less than 2GBP so I might as well bin the suspect device and fit a brand new device with known fuses.