2000-11-01 13:35:58

by raptor

[permalink] [raw]
Subject: possible bug in hd geometry detect code?

Hello,
I've recently experienced a problem with hd geometry on Linux kernel
2.2.17. I've got 2 identical hard drives, set up as LBA on BIOS. BIOS sees
them both with geometry 1245/255/63, while Linux sees the second one as
19857/16/63. I know i can force the kernel to recognize the right geometry
using lilo's append=... feature, but I cannot realize why this is
happening. I've tested it ONLY on Asus motherboards (p2bf and p2b with
latest BIOS version), so maybe this can be a simple hardware problem...
Anyway here's a snip from the dmesg:

hda: FUJITSU MPF3102AH, ATA DISK drive
hdc: FUJITSU MPF3102AH, ATA DISK drive
ide0 at 0x1f0-0x1f7,0x3f6 on irq 14
ide1 at 0x170-0x177,0x376 on irq 15
hda: FUJITSU MPF3102AH, 9773MB w/2048kB Cache, CHS=1245/255/63, UDMA
hdc: FUJITSU MPF3102AH, 9773MB w/2048kB Cache, CHS=19857/16/63, UDMA

Now the OS version:
seti:~# cat /proc/version
Linux version 2.2.17 (root@seti) (gcc version 2.95.2 20000220 (Debian
GNU/Linux)) #2 Fri Oct 20

If I switch the 2 hard disks the one put on the secondary IDE channel has
CHS=19857/16/63, no matter which one is, while the first one remains with
1245/255/63.
Let me know...

Cheers,
:raptor


2000-11-01 15:43:32

by Andre Hedrick

[permalink] [raw]
Subject: Re: possible bug in hd geometry detect code?

On Wed, 1 Nov 2000, raptor wrote:

> hda: FUJITSU MPF3102AH, ATA DISK drive
> hdc: FUJITSU MPF3102AH, ATA DISK drive
> ide0 at 0x1f0-0x1f7,0x3f6 on irq 14
> ide1 at 0x170-0x177,0x376 on irq 15
> hda: FUJITSU MPF3102AH, 9773MB w/2048kB Cache, CHS=1245/255/63, UDMA
> hdc: FUJITSU MPF3102AH, 9773MB w/2048kB Cache, CHS=19857/16/63, UDMA

No your BIOS is stupid and does not assume you will have a disk on the
second channel. Thus, one does LBA translation and the other does CHS.

Cheers,

Andre Hedrick
CTO Timpanogas Research Group
EVP Linux Development, TRG
Linux ATA Development

2000-11-01 16:36:59

by Vojtech Pavlik

[permalink] [raw]
Subject: Re: possible bug in hd geometry detect code?

On Wed, Nov 01, 2000 at 02:37:00PM +0100, raptor wrote:
> Hello,
> I've recently experienced a problem with hd geometry on Linux kernel
> 2.2.17. I've got 2 identical hard drives, set up as LBA on BIOS. BIOS sees
> them both with geometry 1245/255/63, while Linux sees the second one as
> 19857/16/63. I know i can force the kernel to recognize the right geometry
> using lilo's append=... feature, but I cannot realize why this is
> happening. I've tested it ONLY on Asus motherboards (p2bf and p2b with
> latest BIOS version), so maybe this can be a simple hardware problem...
> Anyway here's a snip from the dmesg:
>
> hda: FUJITSU MPF3102AH, ATA DISK drive
> hdc: FUJITSU MPF3102AH, ATA DISK drive
> ide0 at 0x1f0-0x1f7,0x3f6 on irq 14
> ide1 at 0x170-0x177,0x376 on irq 15
> hda: FUJITSU MPF3102AH, 9773MB w/2048kB Cache, CHS=1245/255/63, UDMA
> hdc: FUJITSU MPF3102AH, 9773MB w/2048kB Cache, CHS=19857/16/63, UDMA
>
> Now the OS version:
> seti:~# cat /proc/version
> Linux version 2.2.17 (root@seti) (gcc version 2.95.2 20000220 (Debian
> GNU/Linux)) #2 Fri Oct 20
>
> If I switch the 2 hard disks the one put on the secondary IDE channel has
> CHS=19857/16/63, no matter which one is, while the first one remains with
> 1245/255/63.
> Let me know...

This is because BIOS only provides info about how it sees the first two
drives (hda and hdb). For hdc and subsequent drives, without the help of
a command line option Linux only can use the untranslated geometry.

--
Vojtech Pavlik
SuSE Labs

2000-11-02 00:12:57

by Andries Brouwer

[permalink] [raw]
Subject: Re: possible bug in hd geometry detect code?

On Wed, Nov 01, 2000 at 02:37:00PM +0100, raptor wrote:

: I've recently experienced a problem with hd geometry on Linux kernel
: 2.2.17. I've got 2 identical hard drives, set up as LBA on BIOS. BIOS sees
: them both with geometry 1245/255/63, while Linux sees the second one as
: 19857/16/63.

See the large disk howto, especially the section
"14.2 Nonproblem: Identical disks have different geometry?"

Andries

http://www.win.tue.nl/~aeb/linux/Large-Disk-14.html#ss14.2