Ease of hardware configuration
Josh Hansen (joshhansen@byu.edu)
Mon, 29 Oct 2001 17:27:34 -0600
	Hello,
Perhaps I'm beating a dead horse with this, but my belief is that the feature 
of greatest benefit to "Joe User" would be simplified hardware 
installation/configuration. A user coming from Windows who is used to being 
able to plug in a scanner, a mouse, a video card, whatever and having the OS 
tell him what it is and automatically set up drivers for him will have real 
trouble coming to Linux and having to compile a new kernel or new kernel 
module for a new piece of hardware.
	I am not familiar with the innards of the Linux Kernel, but here is my 
"vision" of what could be done to change this. The kernel already is able to 
detect what hardware is attached to the system's different buses generally 
speaking, so the next step is for it to identify which hardware already has 
drivers installed for it (built into the kernel or loaded modules). If no 
drivers are installed, a kernel message to the effect of "New Hardware 
Detected" could be issued. That is all the kernel has to do. The next steps 
are handled in userspace software.
	Some sort of daemon or cronjob mechanism can then monitor kernel messages 
until it finds the "New Hardware Detected" message. Then, a generic 
configuration utility is launched along with an appropriate frontend (simple, 
ncurses, GTK+, KDE, Motif, Tcl/Tk, whatever...) to allow the user to 
configure the device.
	Now here comes the radical part (ok, so all of this is somewhat radical): the 
configuration utility connects to a server such as linuxdevicedrivers.org or 
some other slick domain name and downloads the appropriate kernel module 
binaries for the hardware based on kernel version number and architecture 
(example: nVidia GeForce module for kernel 2.4.13 on i386, or USB Scanner 
module for kernel 2.4.4 on PowerPC). Once the module is obtained, it is 
loaded into the kernel (with explicit IO/IRQ parameters for older hardware if 
necessary).
	Once the module is loaded, the utility quits.
	The configuration utility could also allow for loading of modules from floppy 
disk or any other filesystem, or from another internet server.
	A working name for this utility and kernel message system could be "Linux 
Kernel Device Configurator".
	I expect that there will be many technical or other objections to such a 
system. I also expect to get ripped apart by at least a few hackers out 
there. However, that's great! I want input. I think this or a similar 
mechanism could really increase the ease of use for the "average user" and 
his nephew's godmother's granddaughter's roommate's dog, etc., etc.
	Thank you!
	- Josh Hansen
-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/