LinuxQuestions.org
Download your favorite Linux distribution at LQ ISO.
Home Forums Tutorials Articles Register
Go Back   LinuxQuestions.org > Forums > Linux Forums > Linux - Hardware
User Name
Password
Linux - Hardware This forum is for Hardware issues.
Having trouble installing a piece of hardware? Want to know if that peripheral is compatible with Linux?

Notices


Reply
  Search this Thread
Old 03-12-2014, 04:01 PM   #1
HansPL
LQ Newbie
 
Registered: Mar 2014
Location: Germany
Distribution: Mint Debian Ed.
Posts: 15

Rep: Reputation: Disabled
Howto connect a very old RLL HDD? Cylinders, Heads etc.


Hello,

I've got here a very old HDD I should have a look into. It's from a 1994 DOS laptop, possibly from the era when you had to enter the nos. of cylinders and heads in BIOS… specifically a 344 MB Conner CFN340A drive.

I have a working USB-to-IDE/SATA adaptor which plugs onto this drive, but as can be seen from the following dmesg output, my Linux can't correctly identify and connect to that old drive (“Very big device”, ha!). I believe that it's basically still intact but just doesn't give the needed infos.

How could I get Linux to talk to this drive? I'm using Linux Mint Debian Ed. x64 Mate (and loving it!), but would boot any suitable live distro for this. See below —
a) dmesg output (followed by a lot of similar error lines I left out here)
b) drive info as found in http://stason.org/TULARC/pc/hard-dri...SL-IDE-AT.html and


Thank you! Hans



[ 3908.320494] usb 1-11: new high-speed USB device number 6 using xhci_hcd
[ 3908.337211] usb 1-11: New USB device found, idVendor=152d, idProduct=2338
[ 3908.337213] usb 1-11: New USB device strings: Mfr=1, Product=2, SerialNumber=5
[ 3908.337214] usb 1-11: Product: USB to ATA/ATAPI bridge
[ 3908.337215] usb 1-11: Manufacturer: JMicron
[ 3908.337215] usb 1-11: SerialNumber: 142014524147
[ 3908.337790] usb-storage 1-11:1.0: USB Mass Storage device detected
[ 3908.337839] scsi9 : usb-storage 1-11:1.0
[ 3909.336782] scsi 9:0:0:0: Direct-Access Conner P eripherals 340MB PQ: 0 ANSI: 5
[ 3909.337061] sd 9:0:0:0: Attached scsi generic sg4 type 0
[ 3909.337208] sd 9:0:0:0: [sdd] Very big device. Trying to use READ CAPACITY(16).
[ 3909.337687] sd 9:0:0:0: [sdd] Using 0xffffffff as device size
[ 3909.337691] sd 9:0:0:0: [sdd] 4294967296 512-byte logical blocks: (2.19 TB/2.00 TiB)
[ 3909.337961] sd 9:0:0:0: [sdd] Write Protect is off
[ 3909.337963] sd 9:0:0:0: [sdd] Mode Sense: 28 00 00 00
[ 3909.338238] sd 9:0:0:0: [sdd] No Caching mode page found
[ 3909.338239] sd 9:0:0:0: [sdd] Assuming drive cache: write through
[ 3909.338488] sd 9:0:0:0: [sdd] Very big device. Trying to use READ CAPACITY(16).
[ 3909.338921] sd 9:0:0:0: [sdd] Using 0xffffffff as device size
[ 3909.339458] sd 9:0:0:0: [sdd] No Caching mode page found
[ 3909.339459] sd 9:0:0:0: [sdd] Assuming drive cache: write through
[ 3909.339897] sd 9:0:0:0: [sdd] Invalid command failure
[ 3909.339899] sd 9:0:0:0: [sdd]
[ 3909.339900] Result: hostbyte=DID_OK driverbyte=DRIVER_SENSE
[ 3909.339901] sd 9:0:0:0: [sdd]
[ 3909.339902] Sense Key : Illegal Request [current]
[ 3909.339903] sd 9:0:0:0: [sdd]
[ 3909.339904] Add. Sense: Invalid command operation code
[ 3909.339905] sd 9:0:0:0: [sdd] CDB:
[ 3909.339906] Read(16): 88 00 00 00 00 00 00 00 00 00 00 00 00 08 00 00
[ 3909.339910] blk_update_request: 153 callbacks suppressed
[ 3909.339911] end_request: critical target error, dev sdd, sector 0
[ 3909.339912] quiet_error: 153 callbacks suppressed
[ 3909.339913] Buffer I/O error on device sdd, logical block 0
[ 3909.340504] sd 9:0:0:0: [sdd] Invalid command failure
[ 3909.340505] sd 9:0:0:0: [sdd]
[ 3909.340506] Result: hostbyte=DID_OK driverbyte=DRIVER_SENSE




http://stason.org/TULARC/pc/hard-dri...SL-IDE-AT.html


Hard Drive: CONNER: CFN-340A 344MB 2.5"/SSL IDE / AT

C F N - 3 4 0 A CONNER
NO MORE PRODUCED Native| Translation
------+-----+-----+-----
Form 2.5"/SUPERSLIMLINE Cylinders 1598| 667| |
Capacity form/unform 344/ MB Heads 6| 16| |
Seek time / track 13.0/ 3.0 ms Sector/track | 63| |
Controller IDE / AT Precompensation
Cache/Buffer 32 KB Landing Zone
Data transfer rate 3.000 MB/S int Bytes/Sector 512
8.000 MB/S ext
Recording method RLL 1/7 operating | non-operating
-------------+--------------
Supply voltage 5 V Temperature *C 5 55 | -40 60
Power: sleep 0.2 W Humidity % 5 90 | 5 90
standby 0.2 W Altitude km -0.061 3.048| -0.061 4.500
idle 0.9 W Shock g 10 | 200
seek 1.1 W Rotation RPM 4000
read/write 1.4 W Acoustic dBA 34
spin-up W ECC Bit
MTBF h 150000
Warranty Month
Lift/Lock/Park YES Certificates

Layout

CONNER CFN-170A/250A/340A JUMPER CONFIGURATION

+---------------------------------------------------------+
| |
|+-+ |XX J1
|| | |XX
|| | |XX
|| | |XX I
|+-+ |XX N
| |XX T
| |XX E
| |XX R
| |XX F
| |XX A
| |X* C
| |XX E
| +++|XX
| A/C+++C/D
+---------------------------------------------------------+

Jumpers

CONNER CFN-170A/250A/340A JUMPER CONFIGURATION

Jumper Setting
==============

C/D Master/Slave Configuration
------------------------------
CLOSED Single Drive
CLOSED Master Drive
OPEN Slave Drive

A/C Master/Slave Protocol
-------------------------
CLOSED ATA/CAM
OPEN NON CAM

Choose NON CAM for Compatibility with older CONNER Drives.
 
Old 03-12-2014, 04:35 PM   #2
pingu
Senior Member
 
Registered: Jul 2004
Location: Skuttunge SWEDEN
Distribution: Debian preferably
Posts: 1,350

Rep: Reputation: 127Reputation: 127
Seems to me it is a pretty standard IDE drive, RLL was often used for these drives.

* Have you checked the jumper setting? These old drives were always manually jumpered - single master, slave, master w. slave present.

* You should be able to input the cyl/head in BIOS, does that not work?
 
Old 03-12-2014, 04:50 PM   #3
Ser Olmy
Senior Member
 
Registered: Jan 2012
Distribution: Slackware
Posts: 3,345

Rep: Reputation: Disabled
This is not an "RLL drive". It may store data using Run Length Limited encoding, but it is most certainly an old IDE drive.

USB-to-IDE converters rely on the drive to report its size. Unfortunately, this drive does not support autodetection. You could try overriding the hard drive parameters using the kernel command line if usbstore is compiled into the kernel, or specify module load parameters if it isn't. I'm actually not sure either would work for a usbstor device.

Your best bet would be to locate a motherboard with an IDE controller and enter the hard drive parameters into the BIOS setup manually. The parameters for this particular drive can be found here.

(An "RLL drive" is a hard drive using the a very old controller interface that's totally incompatible with modern (E)IDE/ATA controllers. It was electrically compatible with MFM drives, and in fact many MFM drives could be low-level reformatted as RLL drives, yielding a 50% increase in capacity.)
 
Old 03-12-2014, 04:51 PM   #4
HansPL
LQ Newbie
 
Registered: Mar 2014
Location: Germany
Distribution: Mint Debian Ed.
Posts: 15

Original Poster
Rep: Reputation: Disabled
Quote:
Originally Posted by pingu View Post
* Have you checked the jumper setting? These old drives were always manually jumpered - single master, slave, master w. slave present.
I've tried both jumpers plugged and pulled, saw no difference.

Quote:
Originally Posted by pingu View Post
* You should be able to input the cyl/head in BIOS, does that not work?
Really? When connecting via an USB adaptor? I don't recall to have seen these BIOS options on mainboards for at least a decade now… the current ones have no IDE connectors anymore anyway. (Which bogged me last week, upgrading with a new MB and finding to only have an IDE DVD drive)

But this is an idea as I might try it on an similarly old DOS PC I still have sitting ready in the attic for some historical purposes… only then I would need to find a suitable IDE cable from the larger 3,5" drive connectors to this smaller 2,5" drive connector.
 
Old 03-12-2014, 05:01 PM   #5
HansPL
LQ Newbie
 
Registered: Mar 2014
Location: Germany
Distribution: Mint Debian Ed.
Posts: 15

Original Poster
Rep: Reputation: Disabled
Quote:
Originally Posted by Ser Olmy View Post
You could try overriding the hard drive parameters using the kernel command line if usbstore is compiled into the kernel, or specify module load parameters if it isn't. I'm actually not sure either would work for a usbstor device.
Could you point me to how to do this?

Quote:
Originally Posted by Ser Olmy View Post
Your best bet would be to locate a motherboard with an IDE controller and enter the hard drive parameters into the BIOS setup manually.
You're probably right there. My old DOS machine has no USB to boot from or copy to, but I have some such MBs left. Now I only need that cable.

Quote:
Originally Posted by Ser Olmy View Post
(An "RLL drive" is a hard drive using the a very old controller interface that's totally incompatible with modern (E)IDE/ATA controllers. It was electrically compatible with MFM drives, and in fact many MFM drives could be low-level reformatted as RLL drives, yielding a 50% increase in capacity.)
Yes, I remember having such a 40 MB 5.25" RLL drive in my 4th computer, a 286 machine. Old days…
 
Old 03-12-2014, 05:12 PM   #6
Ser Olmy
Senior Member
 
Registered: Jan 2012
Distribution: Slackware
Posts: 3,345

Rep: Reputation: Disabled
Quote:
Originally Posted by HansPL View Post
Could you point me to how to do this?
I've done some checking, and it just can't be done. The USB-to-IDE converter simply doesn't expose the drive geometry to the usbstor driver. It relies 100% on the drive to provide accurate data through autodetection, and that won't work for this drive.

Quote:
Originally Posted by HansPL View Post
You're probably right there. My old DOS machine has no USB to boot from or copy to, but I have some such MBs left. Now I only need that cable.
Are you sure about that? According to the data sheet, the CFN340A is a regular, 3.5" form factor drive with a molex power connector.

Quote:
Originally Posted by HansPL View Post
Yes, I remember having such a 40 MB 5.25" RLL drive in my 4th computer, a 286 machine. Old days…
Horrible days. My first drive was a 10 Mb 5.25" half-height drive that made a noise like a jet engine. Later I got a full-height 160 Mb RLL drive; it was the size of two large 5.25" DVD drives, and the head assembly was so heavy that when the drive was seeking, you could actually see how it made the entire desk shake.

Last edited by Ser Olmy; 03-12-2014 at 05:14 PM.
 
1 members found this post helpful.
Old 03-12-2014, 05:40 PM   #7
HansPL
LQ Newbie
 
Registered: Mar 2014
Location: Germany
Distribution: Mint Debian Ed.
Posts: 15

Original Poster
Rep: Reputation: Disabled
Quote:
Originally Posted by Ser Olmy View Post
I've done some checking, and it just can't be done.
Too bad. I was glad to see that it had the fitting connector and just hoped…
But thank you very much for your help!

Quote:
Originally Posted by Ser Olmy View Post
Are you sure about that? According to the data sheet, the CFN340A is a regular, 3.5" form factor drive with a molex power connector.
Yes. I'm afraid the data from your link is wrong: I have the drive right here and it really is a 2.5" drive with the smaller pitch IDE connector and without a separate power connector. The data I gave in my first post seems to be correct.

Well, I'll go for an improvised open setup with a medium old mainboard. I'll just have to hunt for such a cable or adapter (or make one) which will take some time, have never seen one. In the meantime we can close this as SOLVED. (How do I do this here? Ah, found it.)

Again, thanks very much!

Quote:
Originally Posted by Ser Olmy View Post
Horrible days. My first drive was a 10 Mb 5.25" half-height drive that made a noise like a jet engine. Later I got a full-height 160 Mb RLL drive; it was the size of two large 5.25" DVD drives, and the head assembly was so heavy that when the drive was seeking, you could actually see how it made the entire desk shake.
Once in the 80's I saw in a scrapyard a Nixdorf disk drive: with vertical nearly hip-high disks, belt-driven by an industrial three-phase-motor. And I still keep a 8" floppy disk around to frighten my kids. Quite some development from that to current smartphones… Such old stories from greybeards — we must stop or else we scare all the youngsters away!

Last edited by HansPL; 03-12-2014 at 05:42 PM.
 
Old 03-19-2014, 04:55 AM   #8
HansPL
LQ Newbie
 
Registered: Mar 2014
Location: Germany
Distribution: Mint Debian Ed.
Posts: 15

Original Poster
Rep: Reputation: Disabled
Just to relate the happy end:  In a hardware store I found a suitable adaptor (IDE 40 pin 2.54 mm + Molex Power to IDE 44 pin 2.00 mm, part of a mounting kit for 2.5" drives).  Using an open benchtop setup with a discarded Asus A8V mainboard having both USB and IDE (PATA) ports, I connected the Conner drive with that adaptor and booted Finnix from an USB key. The nearly 20 years old drive came up fine, I did not have to enter any drive data.  So I could simply mount it and copy the historical files to another USB key — problem solved. Thank you all, have a nice day!
 
Old 03-30-2014, 10:44 AM   #9
blip
LQ Newbie
 
Registered: Aug 2013
Posts: 17

Rep: Reputation: Disabled
Although the problem has been solved, I just wanted to share my experience with reading a 20 MB Conner laptop drive with a USB adapter.

Looking at a hexdump of the data revealed some weird aliasing, e.g. sectors 0 and 1 were identical copies of the MBR. Several sectors after sector N were copies of sector N until M was reached when the aliasing pattern repeated. There was another larger pattern of aliasing too.

This situation occurs when the USB adapter speaks LBA to the drive and the drive interprets it as CHS, both ignoring the CHS/LBA select bit. It turns out that N was the number of sectors per track. Examining the MBR partition table revealed the most likely CHS geometry.

Once I had that, I needed to map the LBA addresses that the adapter sent to the drive to CHS addresses that the drive interpreted. Keep in mind this is not at all like your typical CHS <=> LBA conversion math. This involved researching the IDE register layout and seeing how the registers for specifying CHS and LBA addresses overlap, referencing http://www.nondot.org/sabre/os/artic...andDiscDrives/. Finally, I wrote a bash script to run through all the LBAs I wanted sequentially, compute the CHS addresses, map those to aliased LBAs the adapter would submit, and "dd" each track one-by-one to an image file.
 
Old 03-03-2015, 10:23 AM   #10
cculver
LQ Newbie
 
Registered: Mar 2015
Posts: 1

Rep: Reputation: Disabled
I'm running into the same problem. Sounds like an ingenious solution. You don't have that script handy do you?

Quote:
Originally Posted by blip View Post
Although the problem has been solved, I just wanted to share my experience with reading a 20 MB Conner laptop drive with a USB adapter.

Looking at a hexdump of the data revealed some weird aliasing, e.g. sectors 0 and 1 were identical copies of the MBR. Several sectors after sector N were copies of sector N until M was reached when the aliasing pattern repeated. There was another larger pattern of aliasing too.

This situation occurs when the USB adapter speaks LBA to the drive and the drive interprets it as CHS, both ignoring the CHS/LBA select bit. It turns out that N was the number of sectors per track. Examining the MBR partition table revealed the most likely CHS geometry.

Once I had that, I needed to map the LBA addresses that the adapter sent to the drive to CHS addresses that the drive interpreted. Keep in mind this is not at all like your typical CHS <=> LBA conversion math. This involved researching the IDE register layout and seeing how the registers for specifying CHS and LBA addresses overlap, referencing ... Finally, I wrote a bash script to run through all the LBAs I wanted sequentially, compute the CHS addresses, map those to aliased LBAs the adapter would submit, and "dd" each track one-by-one to an image file.
 
  


Reply



Posting Rules
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

BB code is On
Smilies are On
[IMG] code is Off
HTML code is Off



Similar Threads
Thread Thread Starter Forum Replies Last Post
Cylinders, heads and sectors Steve900 Slackware 8 12-12-2010 09:37 AM
how to change sectors, heads and cylinders in hard disk kaushalsingh Linux - Newbie 2 12-24-2009 08:13 AM
How can I calcuate disk space from cylinders, heads, and sectors? abefroman Linux - Hardware 2 08-14-2005 09:59 PM
cylinders, heads and spt-command? kpachopoulos Linux - General 1 07-05-2005 02:52 PM
Units/blocks/heads/cylinders ???? leighsd Linux - Newbie 1 12-11-2003 12:25 PM

LinuxQuestions.org > Forums > Linux Forums > Linux - Hardware

All times are GMT -5. The time now is 07:14 PM.

Main Menu
Advertisement
My LQ
Write for LQ
LinuxQuestions.org is looking for people interested in writing Editorials, Articles, Reviews, and more. If you'd like to contribute content, let us know.
Main Menu
Syndicate
RSS1  Latest Threads
RSS1  LQ News
Twitter: @linuxquestions
Open Source Consulting | Domain Registration