Thread (9 messages) 9 messages, 2 authors, 2004-12-23

ide-core.o & libata.o ICH5

From: Christopher R. Thompson <hidden>
Date: 2004-12-17 20:29:29

  Can anbody tell me the correct insmod sequence for the initrd disk to
get my drives up and running on an intel ICH5 chip in native mode?

I am running an ASUS P4P800 SE MB. It has two SATA ports with maxtor
6Y160M0 160GB hard drives. It also has two parallel ATA ports. One with
a dvdwriter and a fried 140 GB maxtor disk from my crashed 486 server
machine.

I want to boot off of my SATA disks and move the recoverable parts of
the fried disk  to another backup hard drive on the other (primary)
parallel ide channel.

I am currently running the bios setting in compatability mode with the
two sata disk configured as the primary channel, and have downloaded
various 2.4 versions of kernels and various patch kits to no avail.

Right now I can boot kernel 2.4.27 with the bios in compatability mode
and all of the ide stuff compiled into the kernel. When I switch the
bios to native mode and compile in the kernel with scsi support, libata
and piix the kernel crashes with with a stack dump that locks up the
screen so I can't scroll back to see what happened. I suspect that it
might have something to do with the bad "hdc" disk Maxtor 4R120L4 that
gives me "hdc: dma_intr: error=0x84 {DriveStatusError BadCRC)" and "hdc:
dma_intr: status=0x51 {DriveReady SeekComplete Error }" when in
compatability mode. This is a "SMART" drive where the bios tells me to
back it up and remove it.... which I am attempting to do.

I tried to compile just the scsi stuff and leave ide-everything out of
the kernel completely... that didn't work. Stack Dump. No hard copy
saved. Don't know how.. and to lazy to insmod carbon-record.o.

So then I tried to compile everything as modules with both ide and
libata together, hoping that I could configure two different "initrd
disks"... one for compatibility mode that I know is working for backup
and migration purposes, and the other with libata to test the native
mode.... No luck there either. The system locks, or can't mount
root=/dev/hda3.

Except for the last two months I haven't compiled a kernel in three of
four years or more. I am upgrading my server from 100MHz 486 w/ 200+gigs
 to a 300MHz pII, and my worstation from a pII/100MHz to a pentium-4
3.2GHz 1GB ram. All my machines were running RedHat 6.1.92 kernel
2.2.15. I am running RedHat 8.0 on this machine (pentium 4) with the 2.4
kernel set. Currently kernel-2.4.27 with patch 2.4.27-rc3-libata1.patch.

The first problem is that nomatter what... the RedHat mkinitrd always
does the "Right Thing" and includes ide.o into the initrd disk. I
suspect this is what causes me the system hangs when I switch over to
native mode in the bios. The last message I get is "hda: attached
ide-disk driver." and then "hda: host protected area =>1" and nothing
else...

The other confusing thing is that the kernel always seems to say
attaching ide-disk....( or maybe it was ide-scsi ) even when the
ide-disk.o is not included in the linuxrc scripts... but it may have
been included in the /lib directory.

Another confusing thing is where to put the kernel parameters, or how to
find out what parameters the different modules accept. I tried.
insmod ide-core.o idebus=66 hdd=ide-scsi
insmod ide-disk.o idebus=66 hdd=ide-scsi
insmod piix.o idebus=66 hdd=ide-scsi
insmod ide-detect idebus=66 hdd=ide-scsi
Not one module accepts the parameters, the commands are already kernel
boot parameters, and the ide-bus always configures at 33Mhz.?????
This gives me a message that ide0 is already in use, hda and hdb never
get probed and the boot dies cause it can't find the "init" program on
root=/.

I tried to make an initrd recovery disk that had copies of /bin /sbin
/etc and /lib that would give me a bash prompt... but that didn't work
for me either. It still says that it either can't mount root=/dev/ram or
INIT is not found.... Now that I think about it... the RedHat 8.0
mkinitrd puts everything into /bin and creates a symlink that points
/sbin to there. I'll try putting /sbin/init where it belongs and try
that. The idea here is that if I can get a prompt on tty1 after the
kernel boots using a ram disk then I can try probing the modules in
different orders until I find the sequence that works correctly.

I would be happy to help out with testing the libata stuff, if I could
only just get it to boot up.

cat /proc/pci gives me
PCI devices found:
  Bus  0, device   0, function  0:
    Host bridge: Intel Corp. 82865G/PE/P Processor to I/O Controller
(rev 2).
      Prefetchable 32 bit memory at 0xf8000000 [0xfbffffff].
  Bus  0, device   1, function  0:
    PCI bridge: Intel Corp. 82865G/PE/P Processor to AGP Controller (rev 2).
      Master Capable.  Latency=64.  Min Gnt=8.
  Bus  0, device  29, function  0:
    USB Controller: Intel Corp. 82801EB USB (rev 2).
      IRQ 10.
      I/O at 0xeec0 [0xeedf].
  Bus  0, device  29, function  1:
    USB Controller: Intel Corp. 82801EB USB (rev 2).
      IRQ 5.
      I/O at 0xef00 [0xef1f].
  Bus  0, device  29, function  2:
    USB Controller: Intel Corp. 82801EB USB (rev 2).
      IRQ 5.
      I/O at 0xef20 [0xef3f].
  Bus  0, device  29, function  3:
    USB Controller: Intel Corp. 82801EB USB (rev 2).
      IRQ 10.
      I/O at 0xef40 [0xef5f].
  Bus  0, device  29, function  7:
    USB Controller: Intel Corp. 82801EB USB2 (rev 2).
      IRQ 5.
      Non-prefetchable 32 bit memory at 0xfebff800 [0xfebffbff].
  Bus  0, device  30, function  0:
    PCI bridge: Intel Corp. 82801BA/CA/DB/EB PCI Bridge (rev 194).
      Master Capable.  No bursts.  Min Gnt=2.
  Bus  0, device  31, function  0:
    ISA bridge: Intel Corp. 82801EB LPC Interface Controller (rev 2).
  Bus  0, device  31, function  2:
    IDE interface: Intel Corp. 82801EB Ultra ATA Storage Controller (rev 2).
      IRQ 5.
      I/O at 0xfc00 [0xfc0f].
  Bus  0, device  31, function  3:
    SMBus: Intel Corp. 82801EB SMBus Controller (rev 2).
      IRQ 5.
      I/O at 0x400 [0x41f].
  Bus  0, device  31, function  5:
    Multimedia audio controller: Intel Corp. 82801EB AC'97 Audio
Controller (rev 2).
      IRQ 5.
      I/O at 0xe800 [0xe8ff].
      I/O at 0xee80 [0xeebf].
      Non-prefetchable 32 bit memory at 0xfebff400 [0xfebff5ff].
      Non-prefetchable 32 bit memory at 0xfebff000 [0xfebff0ff].
  Bus  1, device   0, function  0:
    VGA compatible controller: nVidia Corporation NV11 [GeForce2 MX/MX
400] (rev 178).
      IRQ 10.
      Master Capable.  Latency=64.  Min Gnt=5.Max Lat=1.
      Non-prefetchable 32 bit memory at 0xfd000000 [0xfdffffff].
      Prefetchable 32 bit memory at 0xe8000000 [0xefffffff].
  Bus  2, device   5, function  0:
    Ethernet controller: Galileo Technology Ltd. Gigabit Ethernet
Adapter (rev 19).
      IRQ 11.
      Master Capable.  Latency=64.  Min Gnt=23.Max Lat=31.
      Non-prefetchable 32 bit memory at 0xfeafc000 [0xfeafffff].
      I/O at 0xd400 [0xd4ff].
  Bus  2, device   9, function  0:
    Multimedia video controller: Brooktree Corporation Bt878 Video
Capture (rev 2).
      IRQ 5.
      Master Capable.  Latency=64.  Min Gnt=16.Max Lat=40.
      Prefetchable 32 bit memory at 0xf7efe000 [0xf7efefff].
  Bus  2, device   9, function  1:
    Multimedia controller: Brooktree Corporation Bt878 Audio Capture
(rev 2).
      IRQ 5.
      Master Capable.  Latency=64.  Min Gnt=4.Max Lat=255.
      Prefetchable 32 bit memory at 0xf7eff000 [0xf7efffff].
  Bus  2, device  12, function  0:
    SCSI storage controller: Adaptec AIC-7861 (rev 3).
      IRQ 11.
      Master Capable.  Latency=64.  Min Gnt=4.Max Lat=4.
      I/O at 0xd800 [0xd8ff].
      Non-prefetchable 32 bit memory at 0xfeafb000 [0xfeafbfff].
  Bus  2, device  13, function  0:
    Communication controller: Intel Corp. 536EP Data Fax Modem (rev 0).
      IRQ 5.
      Master Capable.  Latency=64.
      Non-prefetchable 32 bit memory at 0xfe400000 [0xfe7fffff].


cat /proc/ide/piix

Controller: 0

                                Intel PIIX4 SATA 150 Chipset.
--------------- Primary Channel ---------------- Secondary Channel
-------------
                 enabled                          enabled
--------------- drive0 --------- drive1 -------- drive0 ----------
drive1 ------
DMA enabled:    yes              yes             yes               no
UDMA enabled:   yes              yes             yes               yes
UDMA enabled:   5                5               4                 4
UDMA
DMA
PIO

Here is a normal bootup log.

CI: PCI BIOS revision 2.10 entry at 0xf0031, last bus=2
PCI: Using configuration type 1
PCI: Probing PCI hardware
PCI: Probing PCI hardware (bus 00)
PCI: Ignoring BAR0-3 of IDE controller 00:1f.2
Transparent bridge - Intel Corp. 82801BA/CA/DB/EB PCI Bridge
PCI: Using IRQ router PIIX/ICH [8086/24d0] at 00:1f.0
PCI: Found IRQ 5 for device 00:1f.2
PCI: Sharing IRQ 5 with 00:1d.2
isapnp: Scanning for PnP cards...
isapnp: No Plug & Play device found
Linux NET4.0 for Linux 2.4
Based upon Swansea University Computer Society NET3.039
Initializing RT netlink socket
apm: BIOS version 1.2 Flags 0x03 (Driver version 1.16)
Starting kswapd
allocated 32 pages and 32 bhs reserved for the highmem bounces
VFS: Disk quotas vdquot_6.5.1
pty: 2048 Unix98 ptys configured
Serial driver version 5.05c (2001-07-08) with MANY_PORTS MULTIPORT
SHARE_IRQ SERIAL_PCI ISAPNP enabled
ttyS00 at 0x03f8 (irq = 4) is a 16550A
ttyS01 at 0x02f8 (irq = 3) is a 16550A
Real Time Clock Driver v1.10f
Floppy drive(s): fd0 is 1.44M
FDC 0 is a post-1991 82077
NET4: Frame Diverter 0.46
RAMDISK driver initialized: 16 RAM disks of 4096K size 1024 blocksize
Uniform Multi-Platform E-IDE driver Revision: 7.00beta4-2.4
ide: Assuming 33MHz system bus speed for PIO modes; override with idebus=xx
ICH5-SATA: IDE controller at PCI slot 00:1f.2
PCI: Found IRQ 5 for device 00:1f.2
PCI: Sharing IRQ 5 with 00:1d.2
ICH5-SATA: chipset revision 2
ICH5-SATA: not 100% native mode: will probe irqs later
    ide0: BM-DMA at 0xfc00-0xfc07, BIOS settings: hda:DMA, hdb:DMA
    ide1: BM-DMA at 0xfc08-0xfc0f, BIOS settings: hdc:DMA, hdd:DMA
hda: Maxtor 6Y160M0, ATA DISK drive
hdb: Maxtor 6Y160M0, ATA DISK drive
blk: queue c0335100, I/O limit 4095Mb (mask 0xffffffff)
blk: queue c033523c, I/O limit 4095Mb (mask 0xffffffff)
hdc: Maxtor 4R120L4, ATA DISK drive
hdd: GENERIC DVD DUAL 4XMax, ATAPI CD/DVD-ROM drive
blk: queue c0335554, I/O limit 4095Mb (mask 0xffffffff)
ide0 at 0x1f0-0x1f7,0x3f6 on irq 14
ide1 at 0x170-0x177,0x376 on irq 15
hda: attached ide-disk driver.
hda: host protected area => 1
hda: 320173056 sectors (163929 MB) w/7936KiB Cache, CHS=19929/255/63,
UDMA(33)
hdb: attached ide-disk driver.
hdb: host protected area => 1
hdb: 312581808 sectors (160042 MB) w/7936KiB Cache, CHS=19457/255/63,
UDMA(33)
hdc: attached ide-disk driver.
hdc: host protected area => 1
hdc: 240121728 sectors (122942 MB) w/2048KiB Cache, CHS=14946/255/63,
UDMA(100)
Partition check:
 hda: hda1 hda2 hda3
 hdb: hdb1 hdb2
 hdc:hdc: dma_intr: status=0x51 { DriveReady SeekComplete Error }
hdc: dma_intr: error=0x84 { DriveStatusError BadCRC }
hdc: dma_intr: status=0x51 { DriveReady SeekComplete Error }
hdc: dma_intr: error=0x84 { DriveStatusError BadCRC }
hdc: dma_intr: status=0x51 { DriveReady SeekComplete Error }
hdc: dma_intr: error=0x84 { DriveStatusError BadCRC }
hdc: dma_intr: status=0x51 { DriveReady SeekComplete Error }
hdc: dma_intr: error=0x84 { DriveStatusError BadCRC }
hdd: DMA disabled
ide1: reset: success
 hdc1 hdc2 hdc3 hdc4
ide: late registration of driver.
SCSI subsystem driver Revision: 1.00
kmod: failed to exec /sbin/modprobe -s -k scsi_hostadapter, errno = 2
md: md driver 0.90.0 MAX_MD_DEVS=256, MD_SB_DISKS=27
md: Autodetecting RAID arrays.
md: autorun ...
md: ... autorun DONE.

I have included as an attachment my kernel.config file.


Attachments

Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help