Chapter 4. Hardware In Detail

Table of Contents
Kernel 2.4
PCMCIA Controller
Infrared Port
Graphic Chip
Sound
Keyboard
Pointing Devices - Mice and Their Relatives
Extra Keys / Keyboard LEDs
Advanced Power Management - APM
ACPI
Power Management Unit - PMU (PowerBook)
Batteries
Memory
Plug-and-Play Devices (PnP)
Docking Station / Port Replicator
Network Connections
Modem
SCSI
Universal Serial Bus - USB
FireWire - IEEE1394 - i.Link
Floppy Drive
CD Drive
DVD Drive
Harddisk
Video Port / ZV Port

Kernel 2.4

The kernel chapter isn't ready yet. Just some notes about important changes with kernel 2.4

PCMCIA

From http://www.pcmcia.org: "PCMCIA (Personal Computer Memory Card International Association) is an international standards body and trade association with over 200 member companies that was founded in 1989 to establish standards for Integrated Circuit cards and to promote interchangeability among mobile computers where ruggedness, low power, and small size were critical. As the needs of mobile computer users has changed, so has the PC Card Standard. By 1991, PCMCIA had defined an I/O interface for the same 68 pin connector initially used for memory cards. At the same time, the Socket Services Specification was added and was soon followed by the Card Services Specifcation as developers realized that common software would be needed to enhance compatibility." The cards are available in different formats: Type I, II, III.

A quotation from the ../Documentation/Changes file: "PCMCIA (PC Card) support is now partially implemented in the main kernel source. Pay attention when you recompile your kernel. If you need to use the PCMCIA-CS modules, then don't compile the kernel's PCMCIA support. If you don't need to use the PCMCIA-CS modules (i.e. all the drivers you need are in the kernel sources), then don't compile them; you won't need anything in there. Also, be sure to upgrade to the latest PCMCIA-CS release." Further information you may get from the README-2.4 included with this package.

You may find an example kernel configuration for laptops in the Appendix I appendix.

Powermanagement

At the moment there are two power management drivers in the linux kernel (AFAIK). They each have different userspace interfaces /proc/apm and /dev/apmctl and /proc/sys/acpi/events or something.

For further information see the page of John Fremlin. He has also written a programm named powermanager.

With kernel 2.4 there is ACPI available, see ACPI chapter below.

Hotplug

There is a new mailing list for developers interested in any aspects of the Linux kernel hotplug ability and functionality. This would include (but is not restricted to) USB, PCMCIA, SCSI, Firewire, and probably PCI developers. Information on joining the list can be found at: http://lists.sourceforge.net/lists/listinfo/linux-hotplug-devel There is an initial SourceForge site set up at: http://sourceforge.net/projects/linux-hotplug/

Kernel Support for Hot-Plugable Devices
CONFIG_HOTPLUG
  Say Y here if you want to plug devices into your computer while
  the system is running, and be able to use them quickly.  In many
  cases, the devices can likewise be unplugged at any time too.

  One well known example of this is PCMCIA- or PC-cards, credit-card
  size devices such as network cards, modems or hard drives which are
  plugged into slots found on all modern laptop computers.  Another
  example, used on modern desktops as well as laptops, is USB.

  Enable HOTPLUG and KMOD, and build a modular kernel.  Get agent
  software (at http://linux-hotplug.sourceforge.net) and install it.
  Then your kernel will automatically call out to a user mode "policy
  agent" (/sbin/hotplug) to load modules and set up software needed
  to use devices as you hotplug them.