I have a 1Tb external hdd, connected via USB2 to a laptop. I bought it second-hand, and started doing lots of checks to check for problems.
I've removed all partitions, and created an ext4 partition. Sure enough, problems started popping up. I've tried to use f3write to fill it and see what happens. The command failed because of IO errors. I then tries to use badblocks, but after 24h it still didn't finish, and it reported a lot of bad sectors. Tried repartirioning to ext, ext2. It even failed to create the partition this time. dmesg kept reporting errors no matter what I did related to the HDD.
I called the seller and he started telling me that he used the HDD in a router, so it was pretty static, so these shouldn't be any vibration-related damage. The guy told me he is willing to meet up and reimburse me, it seemed pretty surprised that there were problem, and suggested I should try again, and that he's sure everything is ok.
So i gave it another chance overnight, formatted the drive to vfat this time (as it was initially) and used f3write again. No errors this time, and f3read works wonderfully. dmesg is clear of errors, and the hdd reads everything correctly. The only thing that changed seems to be the filesystem.
Anybody encountered something like this? Is this a broken HDD or a broken firmware? Is there any chance I could format it as anything else except vfat, as I'd like to be able to actually use unix-style permissions?
Is there anything special that vfat does and ext4 might not do it identically? (I'm thinking maybe the drive reports the wrong sector size/count, or someting along thse lines)
EDIT:
The formatting & test writing was done on Kubuntu & Ubuntu server 18.04. I used Gnome Disks initially, then on Ubuntu Server I've used cfdisk to erase partitions, mkfs.ext4/vfat for fs creation, badblocks for testing, f3write/read for r/w testing.
SMART did report 120 reallocated sectors, now it's at 420. Smart self-tests failed with "Completed: servo/seek failure", and self-assesment said it passed.
The hdd in the enclosure seems to be SAMSUNG SpinPoint F2 EG.
One thing to note, smartctl has to be called with -d sat
, otherwise it won't recognise the disk. By default seems to detect it as usbsunplus