Skip to main content

IRQ timeout and {busy} message for cd-rom drive

I've been seeing a weird error on my server console lately. We're using Dell PowerEdge 2950 and 2950 III running Oracle's Enterprise Linux 4U5, source code from RHEL AS 4u5, with no patches applied. Straight "base distribution" (I know, I know, bad idea but bare with me). I reported it to Dell's PE mailing list, but didn't get any conclusive answers. So I'm listing it here, for reference.
Sep  1 15:36:26 kernel: hda: irq timeout: status=0xd0 { Busy }
Sep 1 15:36:26 kernel: hda: irq timeout: error=0x00
Sep 1 15:36:26 kernel: hda: ATAPI reset complete

I've found various reports of similar errors on different hardware but all seem to revolve around Red Hat's 4 release (OEL, RHEL, CentOS, Fedora) with various updates. See [1] [2]

Some sources say it's a DMA-related issue. Others suggest to turn off ACPI using kernel boot parameters acpi=off and another says it's simply the HAL daemon probing your devices. You can configure the hald to stop reporting probes of the CD-ROM. Haven't tried that yet.

I'm gonna try patching 4U5 to the el4_u5_patch channel and see if that resolves it, perhaps update it to the el4_latest instead. Otherwise, I'm gonna see if simply silencing hald is gonna help.

Update: Dell has an answer on this. The BIOS enables DMA but the Linux kernel used in EL4 disables it. Use hdparm -d0 /dev/hda to disable the use of DMA for the hda device (the cd-rom). Use -d1 to enable it.

Update2: The Dell Linux mailing list suggested more fixes on the issue. Others have similar problems. They all include the CD/DVD. You may try to tell /etc/lvm/lvm.conf to ignore removable media. You can disable the virtual CD in the BIOS and one mentioned to removed CD-related lines from /etc/fstab.

Comments

Anonymous said…
I've got the same issue on a Dell 1950 under CentOS 5.

What was your final solution? Do you now enable DMA for the cd-rom in a startup script now and does that work?
Dreams said…
I disabled DMA but it also went away after upgrading to the latest OEL4 and on OEL5 I never saw it again.

Is your BIOS/firmware up to date?

Popular posts from this blog

Tuning the nscd name cache daemon

I've been playing a bit with the nscd now and want to share some tips related to tuning the nscd.conf file. To see how the DNS cache is doing, use nscd -g. nscd configuration: 0 server debug level 26m 57s server runtime 5 current number of threads 32 maximum number of threads 0 number of times clients had to wait yes paranoia mode enabled 3600 restart internal passwd cache: no cache is enabled [other zero output removed] group cache: no cache is enabled [other zero output removed] hosts cache: yes cache is enabled yes cache is persistent yes cache is shared 211 suggested size <==== 216064 total data pool size 1144 used data pool size 3600 seconds time to live for positive entries <==== 20 seconds time to live for negative entries

Preventing PuTTY timeouts

Just found a great tip to prevent timeouts of PuTTY sessions. I'm fine with timeouts by the host, but in our case the firewall kills sessions after 30 minutes of inactivity... When using PuTTY to ssh to your Linux/Unix servers, be sure to use the feature to send NULL packets to prevent a timeout. I've set it to once every 900 seconds, i.e. 15 minutes... See screenshot on the right.

Setting up SR-IOV in RHEL6 on PowerEdge servers

Dell Community : "RHEL 6 provides SR-IOV functionality on supported hardware which provides near native performance for virtualized guests. Single-Root I/O Virtualization (SR-IOV) specification, introduced by PCI-SIG details how a single PCIe device can be shared between various virtualization guests. Devices capable of SR-IOV functionality support multiple virtual functions on top of the physical function. Virtual Function is enabled in hardware as a light weight PCIe function. Operating System cannot discover this function as it does not respond to the PCI bus scan and requires support in the host’s driver. As in PCIe pass-through, a Virtual function of a SR-IOV capable card can be directly assigned to the guest operating system. A virtual function driver running in the guest manages this device."