See also: ?Driver.
In Sarge, DebianInstaller installs discover and ?hotplug by default. In Etch, it installs discover1 and udev by default.
Hardware Autodetection at Boot
The development of Discover is led by Progeny and it has its own homepage.
Even though hotplug wasn't mean to handle coldplugging it can handle it nowadays. Hotplug doesn't have it's own database of module mappings (it uses the running kernel's modules.*map) and will therefore never get outdated.
Currently, Hotplug is the only mature software to handle hotplug.
One widely used hardware autodetection and probing tool is ?Kudzu. It was initially developed by Red Hat. Kudzu loads modules, generates dev links. Kudzu stores information about the hardware in hwdata.
Knoppix's hwsetup-knoppix component is based on Kudzu and used in the Knoppix LiveCD for hardware autodetection.
hwinfo is the hardware detection tool used in SuSE Linux. It's currently packaged (in Debian) in a way so that it can't handle hardware autodetection at boot, but the maintainer is willing to add the necessary stuff to make it possible.
- The debconf scripts of xserver-xfree86 can use discover, mdetect and read-edid to autodetect stuff.
xdebconfigurator can set up ?X automatically by using different ?BackEnd s. Check the package dependencies for a list of possible backends.
Mouse device autodetection tool. If present, it will be used to aid XFree86 configuration tools.
nictools-nopci and nictools-pci
Diagnostic and setup tools for many PCI and non-PCI ?ethernet cards
Command-line utility for detecting parallel-port, USB, and network-connected printers .
Project Utopia is a vision of how hardware should be handled in Linux. It currently consists of hotplug, udev, hal and gnome-volume-manager. dbus is used as a layer of communication. udev needs a Linux 2.6 kernel to work. By making /etc/hal/device.d/fstab-update.sh executable you let HAL handle fstab and mountpoints dynamically. HAL comes with some small nice tools like lshal and hal-device-manager. Project Utopia is basically supposed to tie together lots of stuff into something that creates a nice end-user experience.
KDE project solid
The KDE project is looking at implementing some hardware configuration and control system to live called solid.
Hardware databases etc
The Sorry State of Hardware Compatibility List (HCL) in Linux
ToDo: this page contains a lot of outdated information and links.