|
I've tried the last 4 redhat kernels and none of
them would properly configure my ServerWorks CSb5 IDe controller. If you
suffer from the following messages:
Oct 27 03:12:56 staff kernel: PCI: Device 00:0f.1
not available because of resource collisions
Oct 27 03:12:56 staff kernel: SvrWks CSB5: (ide_setup_pci_device:) Could not enable device. This procedure is for you. The goal of this
procedure is to edit pci-i386.c and remove the
IDE test in
pcibios_assign_resources. This will ensure proper configuration of your IDE controller. 1. Obtain the kernel source code you are
using or want to upgrade to. Extract it fully.
2. Edit /usr/src/linux (your
source)/arch/i386/kernel/pci-i386.c
3. Locate the line that has:
PCI_CLASS_STORAGE_IDE and change it to reflect the following:
/* (class == PCI_CLASS_STORAGE_IDE
&& idx < 4) || */
if ((class == PCI_CLASS_DISPLAY_VGA && (r->flags & IORESOURCE_IO))) 4. Save and recompile your
kernel.
Now your device will work:
Oct 29 08:34:44 staff kernel: ServerWorks
CSB5: IDE controller on PCI bus 00 dev 79
Oct 29 08:34:44 staff kernel: ServerWorks CSB5: chipset revision 146 Oct 29 08:34:44 staff kernel: ServerWorks CSB5: not 100%% native mode: will probe irqs later Oct 29 08:34:44 staff kernel: ide2: BM-DMA at 0x2000-0x2007, BIOS settings: hde:pio, hdf:pio Oct 29 08:34:44 staff kernel: ServerWorks CSB5: simplex device: DMA disabled Oct 29 08:34:44 staff kernel: ide3: ServerWorks CSB5 Bus-Master DMA disabled (BIOS) Oct 29 08:34:44 staff kernel: hda: MAXTOR 6L040J2, ATA DISK drive Oct 29 08:34:44 staff kernel: hdb: MAXTOR 6L080L4, ATA DISK drive |