13

I have connected two old Conner Peripheral IDE HDDs to a modern computer using Deltaco USB to SATA/IDE adaptors. The drives in question are: Conner CP30121 (120 MB) Conner CFA2161A (210 MB) Both drives have been put in Master/Single Drive mode using jumper settings.

When connected to either Linux or Windows, the drives show up as 2TB unknown partitions.

lsblk outputs:

NAME   MAJ:MIN RM   SIZE RO TYPE MOUNTPOINT
sda      8:0    0 465.8G  0 disk 
├─sda1   8:1    0   512M  0 part /boot/efi
└─sda2   8:2    0 465.3G  0 part /
sdb      8:16   0     2T  0 disk 
sdc      8:32   0     2T  0 disk 
sr0     11:0    1  1024M  0 rom  

hwinfo output:

disk:                                                           
  /dev/sdb             Conner P eripherals 210MB
  /dev/sdc             Conner P eripherals 120MB
  /dev/sda             ST500DM002-1BD14
partition:
  /dev/sda1            Partition
  /dev/sda2            Partition
cdrom:
  /dev/sr0             hp CDDVDW SH-216BB

any attempt I've made to further communicate or mount the drives have failed.

dmesg outputs:

[ 2225.625396] usb 4-1.1.1: new SuperSpeed Gen 1 USB device number 7 using xhci_hcd
[ 2225.646865] usb 4-1.1.1: New USB device found, idVendor=1f75, idProduct=0611, bcdDevice= 0.06
[ 2225.646868] usb 4-1.1.1: New USB device strings: Mfr=4, Product=5, SerialNumber=6
[ 2225.646871] usb 4-1.1.1: SerialNumber: 20160524
[ 2225.650461] usb-storage 4-1.1.1:1.0: USB Mass Storage device detected
[ 2225.650723] scsi host6: usb-storage 4-1.1.1:1.0
[ 2226.679081] scsi host6: scsi scan: INQUIRY result too short (5), using 36
[ 2226.679088] scsi 6:0:0:0: Direct-Access     Conner P eripherals 120MB  - C PQ: 0 ANSI: 4
[ 2226.679509] sd 6:0:0:0: Attached scsi generic sg2 type 0
[ 2226.681705] sd 6:0:0:0: [sdb] Very big device. Trying to use READ CAPACITY(16).
[ 2226.681965] sd 6:0:0:0: [sdb] 4294967296 512-byte logical blocks: (2.20 TB/2.00 TiB)
[ 2226.683283] sd 6:0:0:0: [sdb] Write Protect is off
[ 2226.683286] sd 6:0:0:0: [sdb] Mode Sense: 3b 00 00 00
[ 2226.684644] sd 6:0:0:0: [sdb] No Caching mode page found
[ 2226.684649] sd 6:0:0:0: [sdb] Assuming drive cache: write through
[ 2226.685141] sd 6:0:0:0: [sdb] Very big device. Trying to use READ CAPACITY(16).
[ 2226.855960] sd 6:0:0:0: [sdb] Very big device. Trying to use READ CAPACITY(16).
[ 2226.858981] sd 6:0:0:0: [sdb] Attached SCSI disk
[ 2260.020846] usb 4-1.1.1: reset SuperSpeed Gen 1 USB device number 7 using xhci_hcd
[ 2371.349949] usb 4-1.1.2: new SuperSpeed Gen 1 USB device number 8 using xhci_hcd
[ 2371.371514] usb 4-1.1.2: New USB device found, idVendor=1f75, idProduct=0611, bcdDevice= 0.06
[ 2371.371517] usb 4-1.1.2: New USB device strings: Mfr=4, Product=5, SerialNumber=6
[ 2371.371520] usb 4-1.1.2: SerialNumber: 20160526
[ 2371.372991] usb-storage 4-1.1.2:1.0: USB Mass Storage device detected
[ 2371.373232] scsi host7: usb-storage 4-1.1.2:1.0
[ 2372.406780] scsi host7: scsi scan: INQUIRY result too short (5), using 36
[ 2372.406787] scsi 7:0:0:0: Direct-Access     Conner P eripherals 210MB  - C PQ: 0 ANSI: 5
[ 2372.407305] sd 7:0:0:0: Attached scsi generic sg3 type 0
[ 2372.407540] sd 7:0:0:0: [sdc] Very big device. Trying to use READ CAPACITY(16).
[ 2372.407810] sd 7:0:0:0: [sdc] 4294967296 512-byte logical blocks: (2.20 TB/2.00 TiB)
[ 2372.409213] sd 7:0:0:0: [sdc] Write Protect is off
[ 2372.409214] sd 7:0:0:0: [sdc] Mode Sense: 3b 00 00 00
[ 2372.410501] sd 7:0:0:0: [sdc] No Caching mode page found
[ 2372.410504] sd 7:0:0:0: [sdc] Assuming drive cache: write through
[ 2372.521835] sd 7:0:0:0: [sdc] Attached SCSI disk
[ 2407.477391] usb 4-1.1.2: reset SuperSpeed Gen 1 USB device number 8 using xhci_hcd

I want to be able to connect to and read the contents of the drives, at least to the extent where I can properly image them with either dd or FSK Imager for preservation.

5
  • 4
    At a guess, the firmware on the drive was not careful to zero-out various fields, not imagining that capacity numbers would ever get as high as they are. Thus a modern device might query it, find garbage in one or more high-order bytes, and assume that the 32-bit values are actually valid, when Conner itself might have only been using the low order 24 bits. ... just speculation
    – RichF
    Jul 10, 2019 at 13:04
  • You can use sg3-utils under Linux to issue the READ CAPACITY (10) command and hopefully get the correct answer. I guess the drives answer to the newer commands even if they shouldn't, and that confuses the kernel. You'll probably also be able to read and write blocks with sg3-utils, but getting a quirk into the Linux kernel code to deal with their non-compliance to the newer SCSI standard will be a bit of work.
    – dirkt
    Jul 10, 2019 at 19:19
  • Another word of warning: I've seen USB/ATA converters reserve a few blocks at the start of a drive for themselves (though I have no idea why they would do that). This could explain why there's no partition table; when Linux tries to read block 0, it gets what really is block 8 or 16. I'd suggest using something like cgsecurity.org/wiki/TestDisk to check for and read the partitions if possible. Jul 10, 2019 at 20:25
  • @dirkt The “Very big device. Trying to use READ CAPACITY(16).” comes after running “READ CAPACITY (10)” and failing to get a usable result. Jul 10, 2019 at 21:05
  • Does the drive explicitly state heads, disks, sectors? Then that was what was entered in the BIOS. Jan 12, 2020 at 20:20

1 Answer 1

13

You’re running into compatibility issues with very old drives. In this particular case, your drives are new enough to support the ATA “identify device” command (which is how your hwinfo input includes the drive’s names), but there’s something going wrong with the “read capacity” commands. I suspect the reason is that these commands are LBA-based, and your drives are CHS-only (cylinder/head/sector); and when “read capacity 10” fails in certain ways, the Linux libata-based driver assumes that means the drive is too large, issues “read capacity 16”, and uses the returned value with little interpretation — in particular, if the drive or adapter returns all bits set, the size ends up being interpreted as 2TiB. There’s a decent chance that your USB adapter isn’t too good at error handling for really old devices, and in any case, I don’t think there’s a generic way to issue IDE-specific commands over USB, so there’s nothing better to do.

I don’t think you’ll find a USB adapter which can handle your drives, unfortunately. You’re more likely to be successful with an internal IDE adapter; there are PCI-Express-to-IDE adapters available, so unless you’re stuck with a laptop, that’s what I’d recommend. Look for adapters whose reviews indicate that they work with no drivers under Windows, and even better, look for adapters where reviewers mention (or even complain) that the adapter has an option ROM. (Better still, if you have an older computer with built-in support for IDE drives, use that.)

You might also run into issues with the libata-based support in Linux; if so, the old IDE drivers are still available, at least in the kernel source, and there’s a good chance they’ll be able to handle these old drives. If the drives’ capacities are still mis-detected, you can even specify the drives’ capacities manually using kernel parameters.

5
  • 2
    Some Conner drives were off-spec at the time and were produced for use with specific Compaq controllers. It was my misfortune to run SVR4 on a Compaq at the time, and the drive didn't transplant to its non-Compaq replacement
    – scruss
    Jul 10, 2019 at 14:29
  • 1
    @scruss that is indeed a possibility (and still happens nowadays; there are SAN-specific SAS drives which can’t be re-used elsewhere). Was your drive an IDE drive? A common variant back in the 90s was 520-byte-sectored SCSI drives... Jul 10, 2019 at 14:40
  • 2
    Note that Linux isn't sending ATA commands to the drive, it's sending SCSI commands to USB adapter which is translating them into ATA commands. So using an IDE interface card may help if the USB adapter isn't handling things well.
    – user722
    Jul 10, 2019 at 22:04
  • 1
    @StephenKitt - yes, it was IDE. Think it was a Deskpro 4/33 with a CP30121 or CP30121G
    – scruss
    Jul 10, 2019 at 22:28
  • I've ordered a StarTech.com PEX2IDE card for now. Hopefully that will work.
    – Duffadash
    Jul 12, 2019 at 16:44

You must log in to answer this question.

Not the answer you're looking for? Browse other questions tagged .