"lost interrupt" on SIl 680 IDE cards; fix?
From: Robert Grizzard (grizzarv_at_mindspring.com.invalid)
Date: 11/26/04
- Next message: Vampire at Wicked Empire: "Re: bttv audio?"
- Previous message: Hank Barta: "AMD64 RAM usage"
- Next in thread: Robert Grizzard: "Re: "lost interrupt" on SIl 680 IDE cards; fix?"
- Reply: Robert Grizzard: "Re: "lost interrupt" on SIl 680 IDE cards; fix?"
- Messages sorted by: [ date ] [ thread ] [ subject ] [ author ]
Date: Fri, 26 Nov 2004 07:37:34 GMT
I bolted together a software RAID 5 array in a dual PII box about two
years ago using Slackware 8.0 and a patched stock kernel so I could use
the pair of Silicon Image 680 IDE cards. It was a neat toy; however,
the installation was getting a little long in the tooth and I wanted to
update the OS to a more current version of Slack. That was where the
fun started.
I tried installing Slackware 10.0, and had the machine hang when it
attached the ide-disk driver. We take up the story now with a snippet
from dmesg:
[...]
# PCI: PCI BIOS revision 2.10 entry at 0xfdaf0, last bus=0
# PCI: Using configuration type 1
# PCI: Probing PCI hardware
# PCI: Probing PCI hardware (bus 00)
# PCI: Using IRQ router PIIX/ICH [8086/7110] at 00:12.0
# PCI: Cannot allocate resource region 4 of device 00:0b.0
# Limiting direct PCI/PCI transfers.
# Linux NET4.0 for Linux 2.4
# Based upon Swansea University Computer Society NET3.039
# Initializing RT netlink socket
# Starting kswapd
# VFS: Disk quotas vdquot_6.5.1
# Journalled Block Device driver loaded
# pty: 512 Unix98 ptys configured
# Serial driver version 5.05c (2001-07-08) with HUB-6 MANY_PORTS\
# MULTIPORT SHARE_I
# RQ SERIAL_PCI 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 National Semiconductor PC87306
# RAMDISK driver initialized: 16 RAM disks of 6464K size 1024 blocksize
# loop: loaded (max 8 devices)
# Uniform Multi-Platform E-IDE driver Revision: 7.00beta4-2.4
# ide: Assuming 33MHz system bus speed for PIO modes; override with\
# idebus=xx
# SiI680: IDE controller at PCI slot 00:0b.0
# PCI: Assigned IRQ 11 for device 00:0b.0
# SiI680: chipset revision 1
# SiI680: not 100% native mode: will probe irqs later
# SiI680: BASE CLOCK == 133
# ide0: MMIO-DMA , BIOS settings: hda:pio, hdb:pio
# ide1: MMIO-DMA , BIOS settings: hdc:pio, hdd:pio
# SiI680: IDE controller at PCI slot 00:0c.0
# PCI: Assigned IRQ 10 for device 00:0c.0
# SiI680: chipset revision 1
# SiI680: not 100% native mode: will probe irqs later
# SiI680: BASE CLOCK == 133
# ide2: MMIO-DMA , BIOS settings: hde:pio, hdf:pio
# ide3: MMIO-DMA , BIOS settings: hdg:pio, hdh:pio
# PIIX4: IDE controller at PCI slot 00:12.1
# PIIX4: chipset revision 1
# PIIX4: not 100% native mode: will probe irqs later
# ide4: BM-DMA at 0x10b0-0x10b7, BIOS settings: hdi:DMA, hdj:DMA
# ide5: BM-DMA at 0x10b8-0x10bf, BIOS settings: hdk:DMA, hdl:pio
# hda: MAXTOR 6L080J4, ATA DISK drive
# blk: queue c03b3360, I/O limit 4095Mb (mask 0xffffffff)
# hdi: Compaq CRD-8484B, ATAPI CD/DVD-ROM drive
# ide0 at 0xc880d080-0xc880d087,0xc880d08a on irq 11
# ide4 at 0x1f0-0x1f7,0x3f6 on irq 14
# hda: attached ide-disk driver.
# hda: lost interrupt
# hda: lost interrupt
# hda: lost interrupt
# hda: host protected area => 1
# hda: 156355584 sectors (80054 MB) w/1819KiB Cache, CHS=155114/16/63,\
# UDMA(133)
# hda: lost interrupt
# hda: lost interrupt
# hdi: attached ide-cdrom driver.
# hdi: ATAPI 48X CD-ROM drive, 128kB Cache, DMA
# Uniform CD-ROM driver Revision: 3.12
# Partition check:
# hda:<4>hda: dma_timer_expiry: dma status == 0x24
# hda: DMA interrupt recovery
# hda: lost interrupt
# hda1 hda2 hda3
(From here down the boot proceeded normally.)
I STW and found several links that suggested many fixes, including
kernel command line arguments of "ide0=$FOO", "nodma", and "noapic" at
boot. None of these worked, where "worked" is defined as "allowed me to
use the hard drive". A combination of "nodma" and "noapic" squelched
the "lost interrupt" message, but "fdisk -l" took five minutes to return
disk data and installing is not possible. (FWIW, the "ide0=$FOO"
argument resulted in rolling the interfaces by one, causing the "lost
interrupt" message to apply to /dev/hdc instead of /dev/hda.)
The first link I followed up said that the poster's problem came about
when he upgraded from a 2.2 to a 2.4 kernel, which matches my experience
exactly. He also said that the ideX command line argument interface in
the 2.4 kernel he was using is broken, which it appears to be, and he
wrote a small patch to fix his 2.4.20 kernel.
More information: /proc/interrupts doesn't show IRQ 11 increasing; it
remains at zero. The cards have SiI680 chips, not SiI680a. I am using
80-wire flat cables and the drives are jumpered as masters. There isn't
a control port shown in /proc/ioports, though there is an I/O port.
Installing the other three hard drives results in them getting the "lost
interrupt" message too.
I have included all the data that looks germane to me. If I missed
anything, don't hesitate to ask and I will post it.
Is this something I can fix without patching up a kernel? If so, what
is the magic incantation? If not, where can I get a patch for a 2.4.26
kernel to fix this problem?
- Next message: Vampire at Wicked Empire: "Re: bttv audio?"
- Previous message: Hank Barta: "AMD64 RAM usage"
- Next in thread: Robert Grizzard: "Re: "lost interrupt" on SIl 680 IDE cards; fix?"
- Reply: Robert Grizzard: "Re: "lost interrupt" on SIl 680 IDE cards; fix?"
- Messages sorted by: [ date ] [ thread ] [ subject ] [ author ]
Relevant Pages
|