public inbox for linux-kernel@vger.kernel.org
 help / color / mirror / Atom feed
* Ease of hardware configuration
@ 2001-10-29 23:27 Josh Hansen
  2001-10-30  2:27 ` Rob Landley
  2001-10-30  4:38 ` Greg KH
  0 siblings, 2 replies; 4+ messages in thread
From: Josh Hansen @ 2001-10-29 23:27 UTC (permalink / raw)
  To: linux-kernel

	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



^ permalink raw reply	[flat|nested] 4+ messages in thread

* Re: Ease of hardware configuration
  2001-10-29 23:27 Ease of hardware configuration Josh Hansen
@ 2001-10-30  2:27 ` Rob Landley
  2001-10-30  9:19   ` Alan Cox
  2001-10-30  4:38 ` Greg KH
  1 sibling, 1 reply; 4+ messages in thread
From: Rob Landley @ 2001-10-30  2:27 UTC (permalink / raw)
  To: Josh Hansen, linux-kernel

On Monday 29 October 2001 18:27, Josh Hansen wrote:

> 	A working name for this utility and kernel message system could be "Linux
> Kernel Device Configurator".

Or, on redhat, you could call it "kudzu".  (Type "man kudzu".)  I first 
noticed it in the boot sequence during...  6.2?  Might have been there 
earlier...

Now true hotplug is a seperate issue.  Kudzu runs at boot time (or when you 
type it in from the command line) and detects network cards and mice and 
stuff.  You can't hotplug PCI.  (Well, you can, but not if you expect it to 
WORK.  Or if you don't want to replace burned out pieces of hardware.)  
Generally, for hotpluggable bus types, we have a daemon.  There's one for 
pcmcia/cardbus devices, for example.  I'm guessing there's something for USB 
(I don't use it).  All of this is sort of getting not-exactly integrated into 
devfs, which also has a userspace daemon and does automatic device detection.

Auto-detecting oddball peripherals connected to serial and paralell ports 
(mice and printers) is a problem for things like XFree86 or the print spooler 
that actually uses them.  (And if you run kudzu it'll get those too, it just 
doesn't know WHEN to run because they don't generate a hotplug interrupt when 
they get changed.)  Again, a user space issue. 

As for downloading fresh drivers newer than your distribution (ala debian's 
apt-get), that's tangled up in binary compatability issues between module 
versions.  Installing modules for just about every single supported driver 
takes up...  ("du /lib/modules/2.4.2-2"...) 22 megabytes.  I have PDF files 
larger than that.  (If you want to start a binary module compatability 
flamewar, feel free, but it's an ooooooooold issue steeped in politics.)

As for replacing the entire kernel without the user prompting...  That's just 
plain dangerous.  (Especially aimed at users who dunno what to do when things 
go wrong.  And I'm not just talking about 2.4.11...)

> 	I expect that there will be many technical or other objections to such a
> system.

Such as the fact it's pretty much already been implemented by distribution 
vendors, and is not really a kernel issue at all but a user space issue?

 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.

Have you tried Red Hat 7.2, with the KDE desktop?  My cat HAS tried to use 
it.  (Sphynx sent an email I wasn't finished typing.  Sat right in my lap, 
reached out and pressed the mouse button.  Kind of impolite, I thought.  Then 
again she's a lap cat, which means my laptop and her body compete for the 
same ecological niche...)

> 	Thank you!
> 	- Josh Hansen

There's an old saying on usenet.  If you want answers, don't ask questions.  
Post errors.  It works for me.

Rob

^ permalink raw reply	[flat|nested] 4+ messages in thread

* Re: Ease of hardware configuration
  2001-10-29 23:27 Ease of hardware configuration Josh Hansen
  2001-10-30  2:27 ` Rob Landley
@ 2001-10-30  4:38 ` Greg KH
  1 sibling, 0 replies; 4+ messages in thread
From: Greg KH @ 2001-10-30  4:38 UTC (permalink / raw)
  To: Josh Hansen; +Cc: linux-kernel

On Mon, Oct 29, 2001 at 05:27:34PM -0600, Josh Hansen wrote:
> 	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.

Please check out the linux-hotplug package:
	http://linux-hotplug.sf.net/

It does most of what you are talking about right now.  And if it's
missing anything that you want, feel free to contribute :) 

thanks,

greg k-h

^ permalink raw reply	[flat|nested] 4+ messages in thread

* Re: Ease of hardware configuration
  2001-10-30  2:27 ` Rob Landley
@ 2001-10-30  9:19   ` Alan Cox
  0 siblings, 0 replies; 4+ messages in thread
From: Alan Cox @ 2001-10-30  9:19 UTC (permalink / raw)
  To: landley; +Cc: Josh Hansen, linux-kernel

> stuff.  You can't hotplug PCI.  (Well, you can, but not if you expect it to 
> WORK.  Or if you don't want to replace burned out pieces of hardware.)  

You can hotplug PCI. It's called cardbus. There is also full hotplug PCI
in the -ac kernel tree for people with expensive motherboards. The kernel
handles a fair bit of it ok. Hotplugging the video console isnt a good
idea right now, and the disk drivers need work, but for basic stuff like
network cards it works out.

Alan

^ permalink raw reply	[flat|nested] 4+ messages in thread

end of thread, other threads:[~2001-10-30  9:14 UTC | newest]

Thread overview: 4+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2001-10-29 23:27 Ease of hardware configuration Josh Hansen
2001-10-30  2:27 ` Rob Landley
2001-10-30  9:19   ` Alan Cox
2001-10-30  4:38 ` Greg KH

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox