Full Contact Computing
Bare knuckles, no holds barred computing

run_interrupt_driven_hooks: still waiting Error Fix

 

This blog has been getting a lot of hits on “run_interrupt_driven_hooks: still waiting after 60 seconds for xpt_action”, which I mentioned in my entry on FreeNAS https://fccomputing.wordpress.com/2009/12/21/freenas-is-nasty-and-not-in-a-good-way/

In it, I noted that I just disabled the 1394 (FireWire) and USB ports and avoided the error, but I didn’t detail how to do this exactly, and have been getting some questions. So here we go:

When you first boot up a computer, it goes through a startup process called the BIOS, basic input/output system. The BIOS is software stored on a chip and it identifies, tests, and initializes system devices such as the hard disk, video card, CD and DVD drives, keyboard, etc. Once it is completed, then the operating system (Windows, Linux, etc.) takes over and starts running. It also goes through an initialization of the hardware as part of its bootup process but this is a more high-level process. For example, the mouse is generically recognized by the BIOS but it is not until Windows boots up and runs the Logitech software that a Logitech multi-button mouse is fully functional.

Basically, a computer can perform only one instruction at a time, so it has to be interrupted to get it to do something else. The mouse and other devices are therefore assigned interrupts, which are signals that indicate what device is interrupting. When you move the mouse, it interrupts, and the cursor moves where you point it. The computer then goes back to what it was doing, or processes whatever the mouse function may have started up.

The BIOS and the operating system both reserve the interrupts and agree that the mouse interrupt, for example, is indeed the mouse interrupt and not the DVD interrupt. So what happens with this particular error is that the BIOS runs fine but as FreeNAS starts to load, it fails on processing the interrupts for certain devices. I looked briefly at several forums and it seems to be more of a problem with some older motherboards, but then that’s typically the hardware that something like FreeNAS will be run on.  

The quickest and easiest solution is to simply get into the BIOS and disable the 1394 (FireWire) and USB ports. So, how to do that?

The first step is to boot up the computer and carefully watch the screen. Typically several messages will flash by. The one you’re looking for will say something like “To enter setup, press F1” or something like that. The exact key or key combination to press is specific to the BIOS, but is frequently F1, DEL, or ESC.

Usually by the time you see the message and hit the specified key, it’s too late, so reboot the PC again. Note that if the PC runs an operating system, like Windows, you may have to select “Shut Down” which will power off the machine, and then start it to see the BIOS startup screen again. This is called a “cold boot”. Windows and other operating systems may go through a “warm boot” which restarts the operating system itself but does not access the BIOS setup.

This time, hit the specified key(s) to get into the setup as soon as you see the “To enter setup” message. Hit the key multiple times – there is no penalty for multiple keypresses, and there may be a short window of opportunity where it will accept the keypress. I just keep hitting the key as quickly as I can until the setup screen appears.

Now you will be presented with a screen with various sections for Date and Time, Devices and I/O Ports, System Information, etc. READ THE DIRECTIONS. Somewhere on the screen it will tell you how to go from one screen to the next, how to make changes, and so on. You will have to find your way to the devices or peripherals screen, select the USB port and disable it, and then the same for the 1394 or FireWire port.

Now follow the directions to save the changes. The computer should then startup and you can try the install once again. The bad part, of course, is that a USB or FireWire device will not work in this PC now, so remember to enable the interrupts again if you go to a different operating system.

  

One Response to “run_interrupt_driven_hooks: still waiting Error Fix”

  1. […] still waiting and so on. I had to disable the FireWire (1394) and USB ports to get it to load (see https://fccomputing.wordpress.com/2010/04/21/run_interrupt_driven_hooks-still-waiting-error-fix/ for a detailed explanation of how to do this).  I had to dig out an old mouse and keyboard to […]


Leave a comment