Code up in testing if you wish to try. In looking further its not seek error, they are being really irritating. The drive has two cylinder 0's. On the first read it isn't interleaved and after the seek it is interleaved. My code doesn't have much hope of handling that cleanly. Head 1-3 on the first cylinder 0 look like they aren't formatted the same as zero. Try reading with --sectors 17,0 --heads 4 --cylinders 615 --header_crc 0x2605fb9c,0x104c981,32,5 --data_crc 0x84a36c27,0x104c981,32,5 --format OMTI_5510 --sector_length 532 --retries 50,4 --drive 1 without --ignore_seek_errors it should read the first cyl 0 then see the second and assume a seek error and move on to cyl 1/2. With --ignore_seek_errors it will overwrite the first cyl 0 with the second and ignore mismatches between the expected cylinder and actual. Data will be written to cylinder read from header. You can change the ,5 to ,11 on the crc to increase the ECC to 11 bits to try to recover more sectors. OMTI said 5 bit correct but others have said 11 bit with 32 bit ECC. Larger number increases chance of miscorrect.