Why ISA PnP is needed in 2.2.

Albert D. Cahalan (acahalan@cs.uml.edu)
Fri, 20 Feb 1998 18:42:54 -0500 (EST)


This little story ought to convince some of the non-believers.

My girlfriend let me install Linux on her computer. This machine
was not "Designed for Linux" (TM) like mine. Important stuff:

* old 486 motherboard with PS/2 mouse
* PnP ISA SCSI card with CD-ROM drive
* Red Hat 5.0 CD-ROM
* Windows 95 + empty partition.

I boot Windows 95 to get some hardware info, then start the Linux
install. Everything works great, so I go home...

I get a phone call: "startx won't work". After several hours of
playing tech support guy over the phone (difficult, try it!),
I narrow the problem down to something mouse related. Gpm is not
running and X complains about a device or resource being busy.
I don't see how the _mouse_ could be busy, and it worked before.

The next day, my girlfriend tells me that X works fine. She is
not sure what she did to fix the problem. Later, X won't start.

When I get back to her computer, I do some things that should
not be expected of a normal user. I hunt around in the SysV init
scripts, then trace the error back into /usr/src/linux/...
Deep in the kernel, I find a suspicious -EBUSY return near some
code that seems IRQ related. Hmmm. I check /proc/interrupts,
which shows a SCSI card using IRQ 12. Being a geek, I know that
IRQ 12 is needed for the PS/2 mouse and that IRQ sharing is
generally bad.

Ok, time to fix this. I'd never needed isapnptools before, so I RTFM.
It all looks insanely complicated and NOT dynamic at all. In fact,
it looks like software jumpers. There is a pnpdump (?) program that
spits out something that looks like LISP, which I can edit and feed
back into another program at some unspecified place in the init scripts.

What happens when the hardware changes? After I've hardcoded all
the resource information into /etc/isapnp.conf, changing the hardware
could be a very bad idea. PnP was meant to be dynamic.

What about users that can't track down "startx won't run" by going
into the kernel source code? The problem was caused by an unrelated
piece of hardware, and it all works in Windows 95. Obviously, Linux
must be a flakey broken OS... :-(

I hope this convinced a few of the non-believers. PnP is real,
it is in actual use, and it is dynamic. Static config files just
won't do the job.

-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@vger.rutgers.edu