Unsolved

This post is more than 5 years old

5 Posts

2597

April 21st, 2005 06:00

Inspiron 6000, HDD trouble: SATA vs PATA drivers

I have a Dell Inspiron 6000, BIOS version A04. I'm having trouble with a Linux system; Debian, FWIW, but really it's about a 2.6.11.7 vanilla kernel.

Using the PATA/IDE drivers (Intel PIIXn) which boast ICH support, the HDD is detected, but by the generic driver. Hence, I lose the ability to activate DMA.

A friend with a 5150 told me he's using the SATA drivers (under SCSI/SCSI low level drivers/SATA/Intel PIIX-ICH). I did the same. The SATA driver seems to grab the ports for the HDD, but then turns control to the generic IDE driver again, which results in it saying this:

ide0: I/O resource 0x1F0-0x1F7 not free.
ide0: ports already in use, skipping probe

And a subsequent "could not find root drive" and a kernel panic.

Whereas on my friend's Inspiron, the ICH driver kicks in and detects the HDD.

I tried using his .config only to get the above port situation again.

So I'm stuck with a dilema: if I use the generic IDE drivers, the HDD works but I have no DMA, and that's not pretty. If I use the SATA drivers they seem to clash with the IDE and I get no HDD.

I've found some pointers in this discussion:
http://kerneltrap.org/node/3971

Specifically:
"The exact same thing happened to me when i touched one of the bios parameters. On ide configuration, you have to use enhanced mode and use S-ATA. I have to say i have an ASUS p4p800 se with Intel 865PE and Intel ICH5R chipsets."

"This fixed my problem with the ata_pixx / SATA hard drive + IDE DVD without DMA problem. The default BIOS setting for the integrated ICH5R SATA controller is Auto and it needed to be changed to Enhanced."

So, bottom line:

* Does the Inspiron 6000 feature this "enhanced" mode? If not, how can I enable it, if possible? I've found nothing of the sort in the BIOS setup screen.

* Does anyone have a working (with DMA) Linux on a Inspiron 6000 or closely related laptop? Would you be so kind as to share your dmesg and .config, or tell me the trick to making it work? I'm hoping it's a special kernel configuration that does the trick.

5 Posts

April 22nd, 2005 06:00

I found the solution, on this forum no less. :) It's here:
http://forums.us.dell.com/supportforums/board/message?board.id=sw_linux&message.id=6061

Basically, you need to modify include/linux/libata.h and change two #undef's to #define's:

#define ATA_ENABLE_ATAPI
#define ATA_ENABLE_PATA

This is a 2.6.11.7 kernel, I remind you. I have no idea why that thing is not already enabled or not made into a kernel config option.

Together with SCSI support/low level SCSI drivers, SATA and SATA Intel PIIX/ICH support, the HDD is now detected as /dev/sda. Since it's now considered a SATA drive I can't do much with hdparm, but I verified the burst transfer rate to have risen to almost 30 MB/s from the previous 5 MB/s. So I'd say problem solved.
No Events found!

Top