Re: Cylinder limits jumper for drives over 32GB

From: David Elliott (dfe@infinite-internet.net)
Date: Fri Mar 24 2000 - 00:36:02 EST


Andries.Brouwer@cwi.nl wrote:

> David Elliott writes:
>
> I recently purchased a 40 GB hard-drive and need to be able to boot
> off of it as well as use the full 40 GB in Linux.
>
> This sounds as if this was a Maxtor?
>

Yes it is.

>
> Unlike other drives, where cylinder limits only changes the cylinders
> reported, on this drive it also changes the LBA capacity to 66055248.
> I can only assume that the real LBA capacity is then stored
> elsewhere.
>
> You can try and look at the identify data (e.g. in /proc/ide/hdX/identify).
> [I wouldnt mind a copy (together with the dmesg info) - have never seen
> this disk myself.]
>

Okay, this is with the disk as hda and set to NONE in the BIOS and booting off
of my hdb. So the capacity is correct in this case.

0040 3fff 0000 0010 0000 0000 003f 0000
0000 0000 4b38 3032 5858 4243 2020 2020
2020 2020 2020 2020 0003 1000 0039 4441
3632 3043 5130 4d61 7874 6f72 2035 3430
3938 5538 2020 2020 2020 2020 2020 2020
2020 2020 2020 2020 2020 2020 2020 8010
0000 2f00 4000 0200 0000 0007 3fff 0010
003f fc10 00fb 0100 5520 04c5 0000 0007
0003 0078 0078 0078 0078 0000 0000 0000
0000 0000 0000 0000 0000 0000 0000 0000
003e 0017 7c69 4009 4000 7c69 0001 4000
041f 0000 0000 0000 0000 603b 0000 0000
0000 0000 0000 0000 0000 0000 0000 0000
0000 0000 0000 0000 0000 0000 0000 0000
0000 0000 0000 0000 0000 0000 0000 0000
0000 0000 0000 0000 0000 0000 0000 0000
0000 0000 0000 0000 0000 0000 0000 0000
0000 0000 0000 0000 0000 0000 0000 0000
0000 0000 0000 0000 0000 0000 0000 0000
0000 0000 0000 0000 0000 0000 0000 0000
0000 0000 0000 0000 0000 0000 0000 0000
0000 0000 0000 0000 0000 0000 0000 0000
0000 0000 0000 0000 0000 0000 0000 0000
0000 0000 0000 0000 0000 0000 0000 0000
0000 0000 0000 0000 0000 0000 0000 0000
0000 0000 0000 0000 0000 0000 0000 0000
0000 0000 0000 0000 0000 0000 0000 0000
0000 0000 0000 0000 0000 0000 0000 0000
0000 0000 0000 0000 0000 0000 0000 0000
0000 0000 0000 0000 0000 0000 0000 0000
0000 0000 0000 0000 0000 0000 0000 0000
0000 0000 0000 0000 0000 0000 0000 e9a5

physical 16383/16/63
logical 4982/255/63
Maxtor 54098U8

Again, that is all with the cylinder limits jumper OFF of the drive.

>
> So, there are two possible solutions.
> <ugly hacks deleted>
>
> Note that the C*H*S is not exactly the full capacity of the drive as
> reported. My drive has 4982*255*63 = 80035830 reported by EZ-Drive
> while my drive's LBA capacity is 80041248. So I lose a few sectors.
>
> On a recent 2.3.* you can specify the geometry as 63*16*79406 or as
> 63*32*39703 and not lose anything. But that was the unimportant question.
> Concerning your first question:
>

Okay.. EZ-Drive and whatnot is going to report 63*255*xxx, and so would most
BIOS, and probably Windows too, and on a dual boot system, that is the way to
go (and on a 40 GB drive, do I care about an extra 2 MB of waste). Actually,
you could alternatively use sfdisk to extend past that cylinder anyway and
Linux would take it if it new the true LBA capacity.

>
> So far people's reports have been a bit confused; there is a J46 jumper
> and a utility JUMPON.EXE that has a stronger effect than the jumper alone,
> but the details are not clear. Some report that the effect of this jumper
> is that access past 32.8 GB causes I/O errors.
>

I *THINK* that Linux (not the HD) is generating these IO errors because it
seems to think that the drive capacity is only 32 GB. If I specify CHS on the
command line, will it use them or will it still override with LBA capacity???
The code looks like it will still override with LBA capacity, but maybe not.
I am gonna try it though tonight anyway. If that will work then it can be an
interim solution. Just use hda=4982,255,63 or something (I think.. have to
look that up again).. If that works I'll post the identity data with the
limits jumper on and Linux at least able to realize the drive is bigger than
32 GB.

>
> If this is really true, then nothing can be done. However, if only the
> capacity is misreported, then this is a common problem that can be solved
> by specifying an explicit geometry on the kernel command line.
>
> (Further information is welcome, so that I can update the last few
> sentences of
> http://www.win.tue.nl/~aeb/linux/Large-Disk-11.html#jumperbig
> )
>
> Andries

Well, I did unforunately run the JUMPON because I thought I needed it (I later
found out that I am not really sure since I put the jumper on the reserved
pins instead of cylinder limitations so that's probably why the BIOS still
locked up even though I thought I had cylinder limits sent).... Is there a
"JUMPOFF" utility to go with that???

IMHO, Linux should support a drive with the cylinder limits jumper set.
I suppose I could try calling Maxtor about it, if I hassle them long enough,
I might get a tech who can tell me what I need to do to make it work.

-Dave

-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@vger.rutgers.edu
Please read the FAQ at http://www.tux.org/lkml/



This archive was generated by hypermail 2b29 : Fri Mar 31 2000 - 21:00:12 EST