Messages in this thread Patch in this message | | | Date | Fri, 10 Sep 1999 17:49:51 +0200 | From | Okke Timm <> | Subject | Re: IBM Deskstar IDE 25gb not working. |
| |
Magnus Ndslund(b) wrote: > I have an IBM deskstar IDE 25gb HD. > I get nothing but trouble when trying to install it. > I should report in hdparm (CHS) 16383,16,63 but i only get > 4096,16,63 ~= 2gb. When i force the 16383,16,63 setup (which > the label states) i get
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.
> Sep 8 19:25:58 ey kernel: end_request: I/O error, dev 16:41 (hdd), sector > 4129228 > Sep 8 19:25:58 ey kernel: hdd: read_intr: status=0x59 { DriveReady > SeekComplete DataRequest Error } > Sep 8 19:25:58 ey kernel: hdd: read_intr: error=0x04 { DriveStatusError }
The current LBA-detection assumes that all drives report 16383,16,63 physically, the Desktar definitly does not do so. Without LBA, this behaviour is correct.
Try this patch against 2.2.12:
--- drivers/block/ide-disk.c.orig Thu Mar 11 02:49:43 1999 +++ drivers/block/ide-disk.c Fri Sep 10 17:10:39 1999 @@ -96,9 +96,15 @@ * very large drives (8GB+) may lie about the number of cylinders * This is a split test for drives 8 Gig and Bigger only. */ - if ((id->lba_capacity >= 16514064) && (id->cyls == 0x3fff) && - (id->heads == 16) && (id->sectors == 63)) { - id->cyls = lba_sects / (16 * 63); /* correct cyls */ + if ((id->lba_capacity >= 16514064) && (id->heads == 16) && + (id->sectors == 63)) { + if (id->cyls == 0x3fff) { + id->cyls = lba_sects / (16 * 63); /* correct cyls */ + } else if (id->lba_capacity <= 132118560) { + /* even larger drives may report wrong head count */ + id->heads = 32; /* correct bogus heads */ + id->cyls = lba_sects / (32 * 63); + } return 1; /* lba_capacity is our only option */ } /* perform a rough sanity check on lba_sects: within 10% is "okay" */ With this LBA-detection, you can change the geometry with fdisk to something with 32 head and get LBA. I get the geometry 38340/32/63.
Yes, I know, this patch is not perfect. But it works for me.
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/
| |