Notice: This material is excerpted from Running A Perfect Internet Site with Linux, ISBN: 0-7897-0514-1. The electronic version of this material has not been through the final proof reading stage that the book goes through before being published in printed form. Some errors may exist here that are corrected before the book is published. This material is provided "as is" without any warranty of any kind.

Copyright ©1996, Que Corporation. All rights reserved. No part of this book may be used or reproduced in any form or by any means, or stored in a database or retrieval system without prior written permission of the publisher except in the case of brief quotations embodied in critical articles and reviews. Making copies of any part of this book for any purpose other than your own personal use is a violation of United States copyright laws. For information, address Que Corporation, 201 West 103rd Street, Indianapolis, IN 46290 or at support@mcp .com.

Appendix F - The Linux Hardware HOWTO

In order for an operating system to work properly with a computer system, the appropriate software drivers for all of the hardware components must be available. Fortunately, the "Linux Hardware Compatibility HOWTO" tells you exactly what hardware is and is not supported by Linux, so you don't have to guess! It is important that you consult this document to avoid any incompatibility problems.

Linux Hardware Compatibility HOWTO

FRiC (Boy of Destiny), frac@pobox.com

v6969, 16 July 1995

This document lists most of the hardware supported by Linux and helps you locate any necessary drivers.

1. Introduction

1.1. Welcome

Welcome to the Linux Hardware Compatibility HOWTO. This document lists most of the hardware supported by Linux, now if only people would read this first before posting their questions on Usenet.

Subsections titled Others list hardware with alpha or beta drivers in varying degrees of usability or other drivers that aren't included in standard kernels. Note that some drivers only exist in alpha kernels, so if you see something listed as supported but isn't in your version of the Linux kernel, upgrade.

The latest version of this document can be found on the net at the usual sites where the Linux HOWTO's are kept.

If you know of any Linux hardware (in)compatibilities not listed here please let me know. Send mail (note my new e-mail address) or find me on IRC. Thanks.

1.2. System architectures

This document only deals with Linux for Intel platforms, for other platforms check the following:

2. Computers/Motherboards/BIOS

ISA, VLB, EISA, and PCI buses are all supported. PS/2 and Microchannel (MCA) is not supported in the standard kernel. Alpha test PS/2 MCA kernels are available but not yet recommended for beginners or serious use.

2.1. Specific systems

3. Laptops

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. Motorola 6AHC05GA controller used in some Hyundai laptops is not supported. (Read the PCMCIA HOWTO.)

3.1. Specific laptops

4. CPU/FPU

Intel/AMD/Cyrix 386SX/DX/SL/DXL/SLC, 486SX/DX/SL/SX2/DX2/DX4, Pentium.

Basically all 386 or better processors will work. Linux has built-in FPU emulation if you don't have a math coprocessor. Linux does not support SMP yet. Multi-processor systems will run Linux but only the first processor will be used. There's some work being done right now, check the Linux Project Map for details.

A few very early AMD 486DX's may hang in some special situations. All current chips should be okay and getting a chip swap for old CPU's 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. Fixed in newer kernels.

5. Video cards

Linux will work with all video cards in text mode, VGA cards not listed below 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. "32 bpp" is actually 24 bit color aligned on 32 bit boundaries. It does NOT mean the cards are capable of 32 bit color, it's still 24 bit color (16,777,216 colors). 24 bit packed pixels modes are not supported in XFree86, so cards that can do 24 bit color modes in other OS's may not able to do this in X. These cards include Mach32, Cirrus 542x, S3 801/805, ET4000, and others.

5.1. Diamond video cards

Most recent Diamond cards ARE supported by the current release of XFree86. Early Diamond cards are not supported by XFree86, but there are ways of getting them to work.

5.2. SVGALIB

5.3. XFree86 3.1.1, Accelerated

5.4. XFree86 3.1.1, Unaccelerated

5.5. Monochrome

5.6. Others

5.7. Works in progress

No, I do not know when support for these cards will be finished, please don't ask me. If you want support for these cards now get Accelerated-X.

5.8. Commercial X servers

Commercial X servers provide support for cards not supported by XFree86, and might give better performances for cards that are supported by XFree86. In general they support many more cards than XFree86, so I'll onlys list cards that aren't supported by XFree86 here. Contact the vendors directly or check the Commercial HOWTO for more info.

5.8.1. Accelerated-X 1.2

$199, X Inside, Inc. info@xinside.com

Accel-X supports most cards in 16 and 32 bpp modes and it also supports 24 bit packed pixel modes for cards that have these modes, including ATI Mach32, Mach64 (1280[ts]1024@24bpp), ET4000/W32p, S3-866/868/968, and more.

Accel-X also supports XVideo (Xv) extensions (on Matrox Comet, Marvel-II, and SPEA ShowTime Plus), PEX, and XIE.

5.8.2. Metro-X 2.3.2

$199, Metro Link sales@metrolink.com

Metro-X supports more boards than XFree but less than Accel-X, however

I don't have much more information as I can't seem to view the PostScript files they sent me. Mail them directly for more info.

6. Controllers (hard drive)

Linux will work with standard IDE, MFM and RLL controllers. When using MFM/RLL controllers it is important to use ext2fs and the bad block checking options when formatting the disk.

Enhanced IDE (EIDE) interfaces are supported. With up to two IDE interfaces and up to four hard drives and/or CD-ROM drives.

ESDI controllers that emulate the ST-506 (that is MFM/RLL/IDE) interface will also work. The bad block checking comment also applies to these controllers.

Generic 8 bit XT controllers also work.

7. Controllers (SCSI)

It is important to pick a SCSI controller carefully. Many cheap ISA SCSI controllers are designed to drive CD-ROM's rather than anything else. Such low end SCSI controllers are no better than IDE. See the SCSI HOWTO and look at performance figures before buying a SCSI card.

7.1. Supported

PCMCIA cards must boot DOS to init card

7.2. Others

7.3. Unsupported

8. Controllers (I/O)

Any standard serial/parallel/joystick/IDE combo cards. Linux supports 8250, 16450, 16550, and 16550A UART's.

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. However, there were very few NS16550's produced by National, long ago, so these should be very rare. And many of the "16550" parts in actual modern boards are from the many manufacturers of compatible parts, which may not use the National "A" suffix. Also, some multiport boards will 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 which case treat it as a 16450 (no FIFO) rather than a 16550A.-Zhahai Stewart zstewart@hisys.com

9. Controllers (multiport)

9.1. Supported

9.2. Others

10. Network adapters

Ethernet adapters vary greatly in performance. In general the newer the design the better. Some very old cards like the 3C501 are only useful because they can be found in junk heaps for $5 a time. Be careful with clones, not all are good clones and bad clones often cause erratic lockups under Linux. Read the Ethernet HOWTO for full detailed descriptions of various cards.

10.1. Supported

10.1.1. Ethernet

10.1.2. Pocket and portable adapters

10.1.3. Slotless

10.1.4. ARCnet

10.1.5. Token Ring

10.2. Others

10.2.1. Ethernet

10.2.2. ISDN

10.2.3. Amateur radio cards

10.2.4. PCMCIA cards

10.2.5. ATM

10.3. Unsupported

11. Sound cards

11.1. Supported

11.2. Others

11.3. Unsupported

The ASP chip on Sound Blaster 16 series and AWE32 is not supported. AWE32's onboard MIDI synthesizer is not supported. They 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.

12. Hard drives

All hard drives should work if the controller is supported.

(From the SCSI HOWTO) All direct access SCSI devices with a block size of 256, 512, or 1024 bytes should work. Other block sizes will not work (Note that this can often be fixed by changing the block and/or sector sizes using the MODE SELECT SCSI command).

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 inode errors during e2fsck and corrupt file systems. 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 (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.

13. Tape drives

13.1. Supported

13.2. Unsupported

14. CD-ROM drives

14.1. Supported

14.2. Others

14.3. Notes

PhotoCD (XA) is supported.

All CD-ROM drives should work similarly for reading data. There are various compatibility problems with audio CD playing utilities. (Especially with some NEC drives.) Some alpha drivers may not have audio support yet. Early (single speed) NEC CD-ROM drives may have trouble with currently available SCSI controllers.

15. Removable drives

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.

16. Mice

16.1. Supported

16.2. Others

16.3. Notes

Those pad devices like Glidepoint also work, so long they're compatible with another mouse protocol. Newer Logitech mice (except the Mouseman) use the Microsoft protocol and all three buttons do work. Eventhough Microsoft's mice have only two buttons, the protocol allows three buttons. The mouse port on the ATI Graphics Ultra and Ultra Pro use the Logitech busmouse protocol. (See the Busmouse HOWTO for details.)

17. Modems

All internal modems or external modems connected to the serial port. A small number of modems come with DOS software that downloads the control program at runtime. These can normally be used by loading the program under DOS and doing a warm boot. Such modems are probably best avoided as 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 appropriated fax software to operate.

18. Printers/Plotters

All printers and plotters connected to the parallel or serial port should work.

18.1. Ghostscript

Many Linux programs output PostScript files. Non-PostScript printers can emulate PostScript Level 2 using Ghostscript.

18.1.1. Ghostscript supported printers

18.1.2. Others

19. Scanners

20. Other hardware

20.1. VESA Power Savings Protocol (DPMS) monitors

20.2. Joysticks

20.3. Video capture boards

20.4. UPS

20.5. Miscellaneous

21. Related sources of information

22. Acknowledgments

Thanks to all the authors and contributors of other HOWTO's, many things here are shamelessly stolen from their works; to Zane Healy and Ed Carp, the original authors of this list; and to everyone else who sent in updates and feedbacks. Special thanks to Eric Boerner and lilo (the person, not the program) for the sanity checks. And thanks to Dan Quinlan for the original SGML conversion.

23. Appendix A. S3 cards supported by XFree86 3.1.1.

CHIPSET	RAMDAC	CLOCKCHIP	BPP	CARD
801/805	AT&T 20C490	16	Actix GE 32	Orchid Fahrenheit 1280+
801/805	AT&T 20C490	ICD2061A	16	STB PowerGraph X.24
805	S3 GENDAC	16	Miro 10SD VLB/PCI	SPEA Mirage VLB
805	SS2410	ICD2061A	8	Diamond Stealth 24 VLB
928	AT&T 20C490	16	Actix Ultra
928	Sierra SC15025	ICD2061A	32	ELSA Winner 1000 ISA/VLB/EISA
928	Bt485	ICD2061A	32	STB Pegasus VL
928	Bt485	SC11412	16	SPEA Mercury VLB
928	Bt485	ICD2061A	32	#9 GXE Level 10/11/12
928	Ti3020	ICD2061A	32	#9 GXE Level 14/16
864	AT&T 20C498	ICS2494	32	Miro 20SD (BIOS 1.x)
864	AT&T 20C498/	ICD2061A/	32	ELSA Winner 1000 PRO VLB/PCI
	STG1700	ICS9161		MIRO 20SD (BIOS 2.x)
864	STG1700	ICD2061A	32	Actix GE 64 VLB
864	AT&T 20C498/	ICS2595	16	SPEA Mirage P64 DRAM (BIOS 3.x)
	AT&T 21C498
864	S3 86C716 SDAC		32	ELSA Winner 1000 PRO
				Miro 20SD (BIOS 3.x)
				SPEA Mirage P64 DRAM (BIOS 4.x)
				Diamond Stealth 64 DRAM
864	ICS5342	ICS5342	32	Diamond Stealth 64 DRAM (some)
864	AT&T 20C490	ICD2061A	32	#9 GXE64
864	AT&T 20C498-13	ICD2061A	32	#9 GXE64 PCI
964	AT&T 20C505	ICD2061A	32	Miro Crystal 20SV PCI
964	Bt485	ICD2061A	32	Diamond Stealth 64
964	Bt9485	 ICS9161A	32	SPEA Mercury 64
964	Ti3020	 ICD2061A	8	ELSA Winner 2000 PRO PCI
964	Ti3025	 Ti3025	32	#9 GXE64 Pro VLB/PCI
				Miro Crystal 40SV
764	(Trio64)		32	SPEA Mirage P64 (BIOS 5.x)
				Diamond Stealth 64 DRAM
				#9 FX Vision330
				STB PowerGraph 64
	(all Trio64 based cards)
868			32	ELSA Winner 1000AVI
968	TVP3026		32	ELSA Winner 2000PRO/X
				Diamond Stealth 64 Video VRAM

QUE Home Page

For technical support for our books and software contact support@mcp.com

Copyright ©1996, Que Corporation