There are a handful of interfaces used for most peripherals. In addition to the EIDE and SCSI interfaces discussed earlier in this chapter, common interfaces include the following:
Floppy x86 computers include a floppy interface that can control up to two floppy drives. These interfaces are very mature, so the Linux drivers seldom cause problems. One configuration detail to which you may need to attend is enabling the port in your computer's BIOS setup screen. If this is not enabled, Linux might not detect the floppy. If the BIOS configuration is correct and Linux can't use the floppy, it may be that the floppy controller is defective. As a device that's built into a motherboard, it can be difficult to replace a floppy controller, but old 486 and earlier systems often used floppy controllers on separate cards, so if you can find such an antique you may be able to make use of it.
Monitor The monitor port is part of the video card. Software problems with it usually relate to XFree86 (discussed in Chapter 2, "Installing Linux"). If the hardware is defective, there's a good chance that you won't even be able to see your BIOS startup messages.
Keyboard x86 computers have a keyboard port that uses either a large 8-pin DIN connector or a small mini-DIN connector. These are electrically compatible, so you can use an adapter if you have an incompatible keyboard. As with the floppy port, the keyboard port is highly standardized. In fact, there isn't even a kernel configuration option for it; the driver is always included in the kernel. A bad keyboard connector may turn up in the BIOS POST, but that isn't guaranteed. If the keyboard doesn't work in Linux, try booting a DOS floppy or using the BIOS setup utility to see if the keyboard works in a non-Linux environment.
PS/2 mouse Most x86 computers sold since the mid-1990s have used mice that connect through the PS/2 port. (The USB port is increasingly taking over this role, though.) These mice are standardized, although there are variants for features like scroll wheels. The Linux drivers for PS/2 mice are mature and seldom pose problems, but they do need to be included in your kernel or compiled as modules. (All major distributions include these drivers in their standard kernels or module sets.) The PS/2 port can be disabled in the BIOS, so if you're having problems, you may want to check this detail. If a PS/2 port is physically bad, you may want to replace the mouse with a model that interfaces via the RS-232 serial or USB port.
Parallel The parallel port is most commonly used for printers, but it can also handle some scanners, cameras, and external removable-media drives. Linux's parallel port support is mature, but it requires two drivers: one for the low-level parallel port hardware and one for the device being driven. These drivers are included in all major Linux distributions' standard driver sets. Like many other motherboard-based ports, most BIOSes allow you to disable the parallel port, so you may want to check this detail if you're having problems. If necessary, you can buy an ISA or PCI add-on parallel port to replace one that's gone bad on a motherboard.
RS-232 serial Most x86 systems include two RS-232 serial ports, but some have just one. These ports are used to connect to older mice, external modems, and various other devices. These ports are highly standardized, and the Linux drivers for them are mature and reliable. Driver problems are therefore unlikely. You may want to check the BIOS if you can't seem to get an RS-232 serial device to work.
USB The Universal Serial Bus (USB) port is a high-speed serial port that's much more flexible than the old RS-232 serial port. Some computers use USB keyboards and mice, and many other devices can connect in this way. If you're using a kernel numbered 2.2.17 or earlier, its USB support is very limited. For better USB support, upgrade to 2.2.18 or a 2.4.x or later kernel. Linux requires support for both the underlying USB hardware (which comes in two varieties, Open Host Controller Interface [OHCI] and Universal Host Controller Interface [UHCI]) and for each USB peripheral. Linux distributions sold in 2001 include such support, but not all USB devices are supported. Many motherboards include the option to disable USB support, so be sure it's enabled in the BIOS.
IEEE-1394 The latest high-speed external interface is IEEE-1394, aka FireWire. This interface is much faster than USB, and it is considered both an alternative and a successor to SCSI for some purposes. Although rare in 2001, IEEE-1394 is likely to grow in importance. Linux's IEEE-1394 support is limited, but it is likely to expand in the future. Check http:// linux1394.sourceforge.net for more information. IEEE-1394 interfaces are rare on motherboards in 2001, so you may need to buy an appropriate PCI card to handle these devices.
Network Network ports are handled by Linux's network drivers and a network stack, as discussed in Chapter 5. Network interface card drivers are far from standardized, but Linux includes support for the vast majority of Ethernet cards and many cards of other types. If you have a particularly new card, you may need to replace it to get a model with Linux support. Identifying defective hardware may require booting into another OS or moving the card to another computer.
Most of these interfaces, as noted, are highly standardized, so Linux drivers shouldn't be incompatible with your hardware. Network, IEEE-1394, and to some extent USB interfaces are not so standardized, though, and so they sometimes cause problems. There's also the potential for driver incompatibility with many expansion card devices, like SCSI host adapters, sound cards, and video capture boards.
Was this article helpful?
Read how to maintain and repair any desktop and laptop computer. This Ebook has articles with photos and videos that show detailed step by step pc repair and maintenance procedures. There are many links to online videos that explain how you can build, maintain, speed up, clean, and repair your computer yourself. Put the money that you were going to pay the PC Tech in your own pocket.