Joined: 07 Aug 2004
Location: Lebanon, TN
|Posted: Fri Aug 20, 2004 9:41 pm Post subject: ICH5 SATA, PIIx IDE, 29160, drives on all channels
|For those who have all their drives working out of the box, this probably isn't for you. For me, this was a veritable nightmare, as it wasn't documented anywhere.
To explain: I have an MSI motherboard with an Intel Chipset, meaning the PIIx IDE controller and ICH5 SATA controller. Add on top of that I've got an Adaptec 29160 LP 160 card installed too.
For devices, I have one SCSI Ultra 160 9 GB hard drive, one 120GB SATA Drive, 1 IDE HDD, one IDE CD-RW, and one IDE DVD-RW. If you haven't caught the problem yet, it's getting Linux to not bork when 5 are enabled.
The IDEs are set up like this:
IDE Channel One:
/dev/hda (Linux, 80 GB)
IDE Channel Two:
IDE Channel Three (IDE/SATA to my BIOS, SCSI to Linux)
/dev/sdb (120GB storage, ntfs)
SCSI channel One
/dev/sda (9GB winxp)
This is problematic because a lot of BIOS revisions don't cooperate with more than 2 native IDE channels, and since on-board SATA is considered IDE, that make 3 that I need to have active.
So, after 2 weeks of playing around with kernels & BIOS settings, I'll share what I've learned.
First, I *always* have to pass "noirqdebug" to my kernel line, or I get an Interrupt Failure ever 3 seconds that eventually locks the PC (usually before boot time is completed). This is relevant to MSI & the ICH5 chipset, and probably many other combinations.
Second, I *had* to have a 2.6.8 kernel (vanilla or gentoo-dev-sources both work nicely). I had to build in both SATA, IDE, and SCSI support, modules did -not- work for this.
Relevant Settings in my 2.6.8 kernel
ATA/ATAPI/MFM/RLL support --->
<*> ATA/ATAPI/MFM/RLL support
<*> Enhanced IDE/MFM/RLL disk/cdrom/tape/floppy support
<*> Include IDE/ATA-2 DISK support
[*] Use multi-mode by default
<*> Include IDE/ATAPI CDROM support
[*] IDE Taskfile IO (EXPERIMENTAL)
<*> generic/default IDE chipset support
<*> Generic PCI IDE Chipset Support
[*] Generic PCI bus-master DMA support
[*] Use PCI DMA by default when available
<*> Intel PIIXn chipsets support
SCSI device support --->
<*> SCSI device support
[*] legacy /proc/scsi/ support
<*> SCSI disk support
<*> SCSI generic support
SCSI low-level drivers --->
<*> Adaptec AIC7xxx Fast -> U160 support (New Driver)
(32) Maximum number of TCQ commands per device
(15000) Initial bus reset delay in milli-seconds
-------------Those two you can set according to your adapter-----
[*] Compile in Debugging Code
(0) Debug code enable mask (2047 for all debugging)
[*] Serial ATA (SATA) support
<*> Intel PIIX/ICH SATA support
If I built any of the Intel items as modules, I could -not- get DMA to work (meaning my IDE HD ran at 5 MB/s rather than 60 MB/s. It really chugs like this, and is a bad thing). YMMV with regard to modules vs built. Rebuild your kernel, add it to your /boot and grub/lilo (there are many walkthroughs about this). Reboot. It might work good like that (i.e. your BIOS is already fine). If not, move on.
This next part is more trial and error.
Now, even like this, my BIOS settings were very relevant. I -had- to set my IDE controller to Native mode. You'll probably have to play with your BIOS settings to get it to work happily, and it's very BIOS/mobo/chipset specific. Don't be afraid to reboot 15 times to get it working. It's all in the relevance of your IDE Chipset's settings for it to work nicely.
Courtesy of roger55 from #gentoo:
"Everything that is needed to boot, like support for your IDE, SATA, and SCSI controllers, always needs to be built in, same thing goes for DMA to work. This is a general rule, since your kernel will need to know where to get your files/apps from, or even load the modules from.
(!) Genkernel bypasses this in some cases with its initrd which includes the relevant modules, but that is a very special setting."
You cannot post new topics in this forum
You cannot reply to topics in this forum
You cannot edit your posts in this forum
You cannot delete your posts in this forum
You cannot vote in polls in this forum