In most of the chapters dealing with hardware in this book, you've been referred to compatibility files supplied on many versions of the Linux distribution. For convenience, this appendix summarizes the main contents of the Hardware How-To file. This version of the compatibility list is current with the Linux version supplied on the CD-ROM that accompanies this book.
This appendix deals with only Linux for Intel platforms. For other platforms, check the following:
|Linux for Acorn||<http://www.ph.kcl.ac.uk/~amb/linux.html>|
ISA, VLB, EISA, and PCI buses are all supported. PS/2 and Microchannel (MCA) are not supported in the standard kernel. Alpha test PS/2 MCA kernels are available but are not yet recommended for serious use.
Some laptops have unusual video adapters or power management; it is not uncommon to be unable to use the power management features.
PCMCIA drivers currently support all common PCMCIA controllers, including Databook TCIC/2, Intel i82365SL, Cirrus PD67xx, and Vadem VG-468 chipsets. The Motorola 6AHC05GA controller used in some Hyundai laptops is not supported.
Basically all 386 or better processors will work, including Intel/AMD/Cyrix 386SX/DX/SL/DXL/SLC, 486SX/DX/SL/SX2/DX2/DX4, and Pentium. Linux has built-in FPU emulation if you don't have a math coprocessor.
Linux does not support SMP yet. Multiprocessor systems will run Linux, but only the first processor will be used. Some work on this area is being done right now; check the Linux Project Map for details.
A few very early AMD 486DX processors may hang in some special situations. All current chips should be OK, and getting a chip swap for old CPUs should not be a problem.
ULSI Math*Co series has a bug in the FSAVE and FRSTOR instructions that causes problems with all protected mode operating systems. Some older IIT and Cyrix chips may also have this problem.
There are problems with TLB flushing in UMC U5S chips. Newer kernels have fixed these problems.
Linux works with all video cards in text mode. VGA cards not listed in the hardware compatibility list probably will still work with mono VGA and/or standard VGA drivers. If you're looking into buying a cheap video card to run X, keep in mind that accelerated cards (ATI Mach, ET4000/W32p, S3) are much faster than unaccelerated or partially accelerated (Cirrus, WD) cards. S3 801 (ISA), S3 805 (VLB), ET4000/W32p, and ATI Graphics Wonder (Mach32) are good low-end accelerated cards.
Cards advertised as 32 bpp are actually 24-bit color aligned on 32-bit boundaries. It does not mean the cards are capable of 32-bit color; 32 bpp is still 24-bit color (16,777,216 colors). XFree86 does not support 24-bit packed pixels modes, so cards that can display 24-bit color modes in other operating systems may not able to do this in X. These cards include Mach32, Cirrus 542x, S3 801/805, ET4000, and others.
The current release of XFree86 supports most recent Diamond cards. Early Diamond cards are not supported by XFree86, but there are ways of getting them to work. Diamond support for XFree86 is available at <http://www.diamondmm.com/linux.html>.
Linux works with standard IDE, MFM, and RLL controllers. When using MFM/RLL controllers, use ext2fs and the bad block checking options when formatting the disk. Enhanced IDE (EIDE) interfaces with up to two IDE interfaces and up to four hard drives and/or CD-ROM drives are also supported. ESDI controllers that emulate the ST-506 (that is MFM/RLL/IDE) interface also work with Linux. The bad block checking comment also applies to these controllers. Generic 8-bit XT controllers also work with Linux.
Be careful when picking a SCSI controller. Parallel-port SCSI controllers are not supported. Many cheap ISA SCSI controllers are designed to drive CD-ROMs only. Such low-end SCSI controllers are no better than IDE. See the SCSI HOWTO file and look at performance figures before buying a SCSI card. The following SCSI controllers are supported:
Large IDE (EIDE) drives work fine with newer kernels. The boot partition must lie in the first 1024 cylinders due to PC BIOS limitations.
Some Conner CFP1060S drives may have problems with Linux and ext2fs. The symptoms are i-node errors during e2fsck and corrupt filesystems. Conner has released a firmware upgrade to fix this problem; contact Conner at 1-800-4CONNER (US) or +44-1294-315333 (Europe). Have the microcode version number (found on the drive label, 9WA1.6x) handy when you call.
Certain Micropolis drives have problems with Adaptec and BusLogic cards; contact the drive manufacturers for firmware upgrades if you suspect problems.
All SCSI drives should work if the controller is supported, including optical drives, WORM, CD-R, floptical, and others. Iomega Bernoulli and Zip drives and SyQuest drives all work fine. Linux supports both 512 and 1024 bytes/sector disks.
The following pointing devices are supported:
Pad devices like Glidepoint also work, as long they're compatible with another mouse protocol. Newer Logitech mice (except the Mouseman) use the Microsoft protocol and all three buttons do work. Even though Microsoft's mouses have only two buttons, the protocol allows three buttons.
The mouse port on the ATI Graphics Ultra and Ultra Pro uses the Logitech bus mouse protocol.
Linux supports any standard serial/parallel/joystick/IDE combo cards. Linux also supports 8250, 16450, 16550, and 16550A UARTs. For more information on UARTs, see National Semiconductor's Application Note AN-493 by Martin S.Michael. Section 5.0 describes in detail the differences between the NS16550 and NS16550A. Briefly, the NS16550 had bugs in the FIFO circuits, but the NS16550A (and later) chips fixed those bugs. National produced very few NS16550s, however, so these chips should be very rare. Many of the 16550 parts in modern boards are from the many manufacturers of compatible parts, which may not use the National A suffix. Also, some multiport boards use 16552 or 16554 or various other multiport or multifunction chips from National or other suppliers (generally in a dense package soldered to the board, not a 40-pin DIP). Mostly, don't worry about it unless you encounter a very old 40-pin DIP National NS16550 (no A) chip loose or in an old board; in this case, treat it as a 16450 (no FIFO) rather than a 16550A.
The following multiport cards are supported by Linux (some require drivers from the manufacturers):
Linux supports the following sound cards (although not all will have full functionality):
The ASP chip on Sound Blaster 16 series and AWE32 is not supported. AWE32's on-board MIDI synthesizer is not supported. These two things will probably never be supported. Sound Blaster 16's with DSP 4.11 and 4.12 have a hardware bug that causes hung/stuck notes when playing MIDI and digital audio at the same time. The problem happens with either Wave Blaster daughterboards or MIDI devices attached to the MIDI port. There is no known fix for this problem.
Linux supports the following types of CD-ROM drives:
PhotoCD (XA) is also supported. All CD-ROM drives should work similarly for reading data. Various compatibility problems exist with utilities that play audio CDs. Early (single-speed) NEC CD-ROM drives may have trouble with currently available SCSI controllers.
Linux supports the following types of tape drives:
Most tape drives using the floppy controller should work. Various dedicated QIC-80 controllers (Colorado FC-10, Iomega Tape Controller II) are also supported.
Drives that connect to the parallel port (such as the Colorado Trakker) are not supported. Also, some high-speed tape controllers (Colorado TC-15 / FC-20, Irwin AX250L/Accutrak 250, IBM Internal Tape Backup Unit, and COREtape Light) are not supported.
All internal modems or external modems connected to the serial port are supported. A small number of modems come with DOS software that downloads the control program at runtime. You can normally use these modems by loading the program under DOS and doing a warm boot. Such modems are probably best avoided because you won't be able to use them with non-PC hardware in the future. PCMCIA modems should work with the PCMCIA drivers. Fax modems need appropriate fax software to operate.
Ethernet adapters vary greatly in performance. In general, the newer designs work better. The only advantage to using some very old cards like the 3C501 is that you can find them in junk heaps for $5. Be careful with clones; not all clones are good clones, and bad clones often cause erratic lockups under Linux. Read the Ethernet HOWTO file for full detailed descriptions of various cards. Linux supports the following Ethernet cards:
The following pocket and portable adapters work with Linux:
Linux works with all ARCnet cards and the IBM Tropic Token Ring cards.
The following cards are known to work with Linux:
All printers and plotters connected to the parallel or serial port should work.
Many Linux programs output PostScript files. Non-PostScript printers can emulate PostScript Level 2 using Ghostscript. Ghostscript supported printers include the following:
The following scanners have been known to work well with Linux, although most non-SCSI models need a driver available from the manufacturer:
These video capture boards will work with Linux-based applications (some require drivers from the manufacturer):
Practically any UPS on the market will provide protection for the system, but the APC SmartUPS system provides software drivers.