32GB IDE-Limit with IBM-DPTA-353750 (was Re: IBM Deskstar IDE 25gb not working.)

Okke Timm (okke@komtel.net)
Sat, 11 Sep 1999 15:41:03 +0200


Andre Hedrick wrote:
> From: Okke Timm <okke@komtel.net>
>
> I have an "IBM-DPTA-353750", it reports CHS=7144/16/63. I found no BIOS that
> would recognize this drive, they all hang. Only removing the drive from the
> BIOS works.
>
> [...] present kernels do not handle disks over 33.8 GB (because the number
> of cylinders overflows a short). See the large disk howto. I posted a
> patch that fixes some of the associated problems a week or so ago.

Scanning through your posts from Sept 1, I only find the PCI-init stuff...
Can you give me another hint/pointer ?

> The current LBA-detection assumes that all drives report 16383,16,63
> physically, the Desktar definitly does not do so.
>
> I don't believe you. Can you back up this claim with hdparm -I output?

You're right and I am wrong:

[root@peanuts /root]# hdparm -I /dev/hda
Model=BI-MPDAT3-3557 0 , FwRev=5PO13AA0, SerialNo=
Config={ HardSect NotMFM HdSw>15uSec Fixed DTR>10Mbs }
RawCHS=16383/16/63, TrkSize=0, SectSize=0, ECCbytes=34
BuffType=3(DualPortCache), BuffSize=1961kB, MaxMultSect=16, MultSect=off
DblWordIO=no, maxPIO=2(fast), DMA=yes, maxDMA=2(fast)
CurCHS=16383/16/63, CurSects=-66060037, LBA=yes, LBAsects=73261440
tDMA={min:120,rec:120}, DMA modes: mword0 mword1 *mword2
IORDY=on/off, tPIO={min:240,w/IORDY:120}, PIO modes: mode3 mode4

> (What generally happens is that the disk reports 16383,16,63 as the standards
> say it should [unless you put the `15-head' jumper on, and force 16383,15,63
> or so] but that the BIOS reports something else because you selected some form
> of translation.

I did not choose a translation, the drives are not enabled in the BIOS.
Which geometry translation applies, for drives not listed in BIOS data ?
During the kernel boot I get:

hda: IBM-DPTA-353750, 35772MB w/1961kB Cache, CHS=7144/16/63, (U)DMA

> Most BIOSes hang for such large disks.

I have an Asus-SiS5513-Board that hangs even when comment the drives
out :-(. I think it is the UDMA/PIO detection of the BIOS, because it
reports the mode in the info-screen before booting. The only way to work
around this is to turn the drives on after the detection. I whish that the
OpenBIOS-Project were further...

Other Boards with BX-Chipsets do not behave this way, they only hang when
they are explicitly told to search for hds.

> And if you find interesting ID values, is this then because you used the
> jumper to limit the drive to 33.8 GB ?

If I enable the "32GB clip", I have no Problems with any BIOS so far. I can
choose LBA with 65536/16/63. Without it, I get 7144/16/63 with all Boards.
(7144*16*63) is excatly what I loose with the "32GB clip".

BTW: I think the output format for the cylinders in /proc/ide/hdx/geometry
should be changed to unsigned (2.2.12):

[root@peanuts log]# cat /proc/ide/hda/geometry
physical -29196/32/63
logical -29196/32/63

The "physical" geometry is in truth the "BIOS" geometry ?

> [stupid patch deleted]
>
> Yes, I know, this patch is not perfect. But it works for me.
>
> It is not perfect. You knew.

"crowbar" is an adequate description. ;-) But that's why I love Linux and
having access to the sources in general...

My problem is that the LBA-detection fails, if the BIOS (or kernel) reports
7144/16/63 and the logical geometry is set to something like 38340/32/63
(With PTBL/fdisk). Do you have a solution for this problem ?

Regards,
Okke.

-
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/