Linux Hardware Compatibility HOWTO

Patrick Reijnen, < antispam.hardware_howto@antispam.reijnen.nl.com (remove both "antispam.")>

v99.3, 28 September 1999


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

1. Introduction

2. Computers/Motherboards/BIOS

3. Laptops

4. CPU/FPU

5. Memory

6. Video cards

7. Controllers (hard drive)

8. Controllers (hard drive RAID)

9. Controllers (SCSI)

10. Controllers (I/O)

11. Controllers (multiport)

12. Network adapters

13. Sound cards

14. Hard drives

15. Tape drives

16. CD-ROM drives

17. CD-Writers

18. Removable drives

19. Mice

20. Modems

21. Printers/Plotters

22. Scanners

23. Other hardware

24. Related sources of information

25. Acknowledgments

26. Appendix A. S3 cards supported by XFree86 3.3.x.

27. Appendix B. Supported PCMCIA cards

28. Appendix C. Supported Parallel Port devices

29. Appendix D. Plug and Play devices

30. Appendix E. Linux incompatible Hardware

31. Glossary


1. Introduction

NOTE: USB is not yet supported by Linux.

1.1 Welcome

Welcome to the Linux Hardware Compatibility HOWTO. This document lists most of the hardware components (not computers with components build in) supported by Linux, so reading through this document you can choose the components for your own Linux computer. As the list of components supported by Linux is growing rapidly, this document will never be complete. So, when components are not mentioned in this HOWTO, the only reason will be that I don't know they are supported. I simply have not found support for the component and/or nobody has told me about support.

Subsections titled 'Alpha, Beta drivers' list hardware with alpha or beta drivers in varying degrees of usability. 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.

Some devices are supported by binary-only modules; avoid these when you can. Binary-only modules are modules which are compiled for ONE kernel version. The source code for these modules has NOT been released. This may prevent you from upgrading or maintaining your system.
Linus Torvalds says "I allow binary-only modules, but I want people to know that they are _only_ ever expected to work on the one version of the kernel that they were compiled for"
See http://www.kt.opensrc.org/kt19990211_5.html#10 for information on source code availability of components.

The latest version of this document can be found on http://users.bart.nl/~patrickr/hardware-howto/Hardware-HOWTO.html, SunSite and all the usual mirror sites. Translations of this and other Linux HOWTO's can be found at http://metalab.unc.edu/pub/Linux/docs/HOWTO/translations and ftp://metalab.unc.edu/pub/Linux/docs/HOWTO/translations.

If you know of any Linux hardware (in)compatibilities not listed here please let me know, just send mail.

Still need some help selecting components after reading this document? Check the "Build Your Own PC" site at http://www.verinet.com/pc/.

Want to have a preconfigured Linux system? Have a look at http://www.linuxresources.com/web/.

1.2 Copyright

Copyright 1997, 1998, 1999 Patrick Reijnen

This HOWTO is free documentation; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free software Foundation; either version 2 of the license, or (at your option) any later version.

This document is distributed in the hope that it will be useful, but without any warranty; without even the implied warranty of merchantability or fitness for a particular purpose. See the GNU General Public License for more details. You can obtain a copy of the GNU General Public License by writing to the Free Software Foundation,, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.

If you use this or any other Linux HOWTO's in a commercial distribution, it would be nice to send the authors a complimentary copy of your product.

1.3 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.

2.1 Specific system/motherboard/BIOS

Many new PCI boards are causing a couple of failure messages during boot time when "Probing PCI Hardware". The procedure presents the folowing message

    Warning : Unknown PCI device (8086:7100).  Please read include/linux/pci.h

It tells you to read the pci.h file. From this file is the following quote

         PROCEDURE TO REPORT NEW PCI DEVICES
    We are trying to collect information on new PCI devices, using
    the standard PCI identification procedure. If some warning is
    displayed at boot time, please report 
         - /proc/pci
         - your exact hardware description. Try to find out
           which device is unknown. It may be you mainboard chipset.
           PCI-CPU bridge or PCI-ISA bridge.
         - If you can't find the actual information in your hardware
           booklet, try to read the references of the chip on the board.
         - Send all that to linux-pcisupport@cao-vlsi.ibp.fr,
           and I'll add your device to the list as soon as possible

    BEFORE you send a mail, please check the latest linux releases
    to be sure it has not been recently added.

           Thanks
                 Frederic Potter.

Normally spoken you motherboard and the unknown PCI devices will function correctly.

2.2 Unsupported


3. Laptops

For more information about Linux and laptops, the following site is a good starting point.

Other information related to laptops can be found at the following sites:

3.1 Specific laptops

3.2 PCMCIA

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. See Appendix B for a list of supported PCMCIA cards.


4. CPU/FPU

Intel/AMD/Cyrix 386SX/DX/SL/DXL/SLC, 486SX/DX/SL/SX2/DX2/DX4 are supported. Intel Pentium, Pentium Pro and Pentium II, Pentium III (regular and Xeon versions) ans Celeron also work. AMD K5 and K6 work good, although older versions of K6 should be avoided as they are buggy. Setting "internal cache" disabled in bios setup can be a workaround. AMD K6-2 and K6-3 also work. Some early K6-2 300Mhz have problems with the system chips. Cyrix 6x86 works out of the box.

Also IDT Winchip C6-PSME2006A processors are supported under Linux ( http://www.winchip.com).

Linux has built-in FPU emulation if you don't have a math coprocessor.

Experimental SMP (multiple CPU) support is included in kernel 1.3.31 and newer. Check the Linux/SMP Project page for details and updates.

Advanced multi-media effects built into the Cyrix MediaGX ar not supported.

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 in very old kernels. (1.1.x)


5. Memory

All memory like DRAM, EDO and SDRAM can be used with Linux. There is one thing you have to look at: normally the kernel is not supporting more than 64 Mb of memory. When you add more than 64 Mb of memory you have to add the following line to your LILO configuration file.

   append="mem=<number of Mb>M"

So, when you have 96 Mb of memory this should become

   append="mem=96M"

Don't type a number higher than the number Mb you really have. This can present unpredictable crashes.


6. 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.

``32 bpp'' is actually 24 bit color aligned on 32 bit boundaries. It does NOT mean the cards are capable of 32 bit color, they still display 24 bit color (16,777,216 colors). 24 bit packed pixels modes are not supported in XFree86, so cards that can do 24 bit modes to get higher resolutions in other OS's are not able to do this in X using XFree86. These cards include Mach32, Cirrus 542x, S3 801/805/868/968, ET4000, and others.

AGP (Accelerated Graphics Port) support is growing fast. Most of the X-servers (both freely available and commercial versions) have more or less support for AGP.

6.1 Diamond video cards

Most currently available Diamond cards ARE supported by the current release of XFree86. Early Diamond cards may not be officially supported by XFree86, but there are ways of getting them to work. Diamond is now actively supporting the XFree86 Project.

6.2 SVGALIB (graphics for console)

6.3 XFree86 3.3.2

Accelerated

Unaccelerated

Monochrome

Alpha, Beta drivers

6.4 S.u.S.E. X-Server

S.u.S.E. is building a serie of X-servers based on the XFree-86 code. These X-servers support new video cards and are bug fixe releases for XFree86 X-servers. S.u.S.E is building these X-servers together with The XFree86 Project, Inc. These X-Servers will be in the next XFree86 version. These X-servers can be found at http://www.suse.de/index.html. At this moment S.u.S.E. X-Servers are available for the following video cards.

6.5 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.

Xi Graphics, Inc

Xi Graphics, Inc http://www.xig.com (formerly known as X Inside, Inc) is selling three X server products (cards supported are sorted by manufacturer):

Metro-X 4.3.0

Metro Link < sales@metrolink.com>

Supported Cards:


Graphics
Card Chipset
ATI 3D RAGE 3D RAGE
ATI 3D RAGE II 3D RAGE II
ATI ALL-IN-WONDER PRO AGP 3D RAGE PRO
ATI ALL-IN-WONDER PRO PCI 3D RAGE PRO
ATI Graphics Pro Turbo Mach64
ATI Graphics Ultra Mach8
ATI Graphics Xpression Mach64
ATI Mach32 Mach32
ATI Mach64 Mach64
ATI VGA STEREO-F/X ATI 28800
ATI Winturbo PCI Mach64
ATI XPERT@Play 3D RAGE PRO
ATI XPERT@Play AGP 3D RAGE PRO
ATI XPERT@Work 3D RAGE PRO
ATI XPERT@Work AGP 3D RAGE PRO
Diamond Fire GL 1000Pro PERMEDIA 2
Diamond SpeedStar 24X Western Digital 90C31
Diamond SpeedStar Pro SE Cirrus 5430
Diamond Stealth 24 S3 801
Diamond Stealth 32 ET4000/W32p
Diamond Stealth 3D 2000 S3 ViRGE
Diamond Stealth 64 S3 964, Bt485KPJ135
Diamond Stealth 64 DRAM S3 Trio64
Diamond Stealth 64 DRAM (SDAC) S3 864, S3 SDAC
Diamond Stealth 64 Graphics 2000 Series S3 864, S3 SDAC
Diamond Stealth 64 Graphics 2200 S3 Trio64
Diamond Stealth 64 VRAM S3 968, IBM RGB526CF22
Diamond Stealth 64 Video 3000 Series S3 968, TI 3026-175
Diamond Stealth 64 Video VRAM S3 968, TI 3026-175
Diamond Stealth Video (SDAC) S3 868, S3 SDAC
Diamond Stealth Video 2000 Series S3 868, S3 SDAC
Diamond Viper (110 MHz RAMDAC) P9000
Diamond Viper (135 MHz RAMDAC) P9000
ELSA GLoria Synergy PERMEDIA 2
ELSA Victory 3D S3 ViRGE
ELSA WINNER 2000 Office AGP PERMEDIA 2
ELSA Winner 1000 TRIO/V S3 Trio64V+
ELSA Winner 2000 AVI S3 968, TI 3026-175
ELSA Winner 2000 PRO/X-2, -4 S3 968, TI 3026-220
ELSA Winner 2000 PRO/X-8 S3 968, IBM RGB528CF25
EPS Apex L-200 C&T 65550
Generic ATI 28800
Generic Alliance ProMotion
Generic Ark 2000
Generic Avance Logic 22xx/23xx/24xx
Generic Chips & Technologies
Generic Cirrus 5420
Generic Cirrus 5422/5424
Generic Cirrus 5426/5428
Generic Cirrus 5429
Generic Cirrus 5430
Generic Cirrus 5434
Generic Cirrus 5436
Generic Cirrus 5446
Generic Cirrus 5462
Generic Cirrus 5462/5465
Generic Cirrus 5480
Generic Cirrus 62x5
Generic Cirrus 6410/6412/6420/6440
Generic Cirrus 754x
Generic ET3000
Generic ET4000/W32P
Generic ET4000AX
Generic ET6000
Generic Mach32
Generic Mach64
Generic Mach8
Generic P9000
Generic PERMEDIA 2
Generic S3 864/868/924/928/964
Generic S3 968
Generic S3 Trio64
Generic S3 Trio64V+
Generic S3 ViRGE
Generic S3 ViRGE/GX/DX
Generic SiS 86c201/86c202/86c205
Generic Trident TGUI9440
Generic Trident TGUI96xx
Generic Trident8900
Generic VGA
Generic Western Digital SVGA
Genoa Phantom 64 S3 Trio64V+
Genoa WindowsVGA 8500VL Cirrus 5426
Hercules Dynamite 128/Video ET6000
Hercules Dynamite 3D/GL PERMEDIA 2
Hercules Dynamite 3D/GL AGP PERMEDIA 2
Hercules Stingray Avance Logic 2301
Hercules Stingray 128/3D Alliance ProMotion AT3D
Hercules Stingray 64 Ark 2000
Hercules Terminator 3D S3 ViRGE/DX
IBM VGA
Matrox Marvel ET4000
Matrox Marvel II ET4000
Matrox Millennium MGA Storm
Matrox Millennium II AGP MGA 2164, TI 3026-250
Matrox Millennium II PCI (220 MHz) MGA 2164, TI 3026-220
Matrox Millennium II PCI (250 MHz) MGA 2164, TI 3026-250
Matrox Mystique MGA 1064
Matrox Mystique 220 MGA 1164
Number Nine GXE64 S3 864
Number Nine Imagine 128 Imagine 128
Number Nine Imagine 128 Series 2 Imagine 128 Series 2
Number Nine Motion 531 S3 868
Number Nine Motion 771 S3 968
Number Nine Revolution 3D Ticket to Ride
Number Nine Vision 330 S3 Trio64
Orchid Kelvin 64 Cirrus 5434
SPEA Mirage Video S3 Trio64V+
STB NITRO 3D S3 ViRGE/GX
STB/Symmetric GLyder MAX-2 PERMEDIA 2
Sigma Designs VGA Legend ET4000
Tech Source Raptor Imagine 128 Series 2
Trident 64-Bit Providia 9685
Trident 8900 Trident 8900
Trident 9440 TGUI9440-2
V PCI-53 Cirrus 5434


7. 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. Linux will detect these EIDE interfaces:

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

Generic 8 bit XT controllers also work.

Starting with pre-patch-2.0.31-3 IDE/ATAPI is provided.

7.1 Alpha, Beta drivers


8. Controllers (hard drive RAID)


9. 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.

9.1 Supported

9.2 Alpha, Beta drivers

9.3 Unsupported


10. Controllers (I/O)

Any standard serial/parallel/joystick/combo cards. Linux supports 8250, 16450, 16550, and 16550A UART's. Cards that support non-standard IRQ's (IRQ > 9) can be used.

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>


11. Controllers (multiport)

11.1 Non-intelligent cards

Supported

Non-intelligent cards usually come in two varieties, one using standard com port addresses and use 4 IRQ's, and another that's AST FourPort compatible and uses a selectable block of addresses and a single IRQ. (Addresses and IRQ's are set using setserial.) If you're getting one of these cards, be sure to check which standard it conforms to, prices are no indication.

11.2 Intelligent cards

Supported

Alpha, Beta drivers


12. Network adapters

Ethernet adapters vary greatly in performance. In general the newer the design the better. Some very old cards like the 3Com 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, http://metalab.unc.edu/LDP/HOWTO/, for detailed descriptions of various cards.

12.1 Supported

Ethernet

For ethernet cards with the DECchip DC21x4x family the "Tulip" driver is available. More information on this driver can be found at http://cesdis.gsfc.nasa.gov/linux/drivers/tulip.html.

ISDN

ISDN cards that emulate standard modems or common Ethernet adapters don't need any special drivers to work.

Frame Relay

Wireless

X25

Pocket and portable adapters

Slotless

ARCnet

http://www.linuxtr.net

FDDI

Amateur radio (AX.25)

PCMCIA cards

12.2 Alpha, Beta drivers

Ethernet

ISDN

ATM

Frame Relay

Wireless

12.3 Unsupported


13. Sound cards

More information on sound drivers and sound cards can be found on http://www.opensound.com/ossfree or http://www.opensound.com/oss.html.

13.1 Supported

OSS supports all MIDI daughter cards including Wave Blaster, TB Rio and Yamaha DB50XG. The only requirement is that the "host" card is supported by OSS. Note that only the "host" card needs to be configured using soundconf. The daughter card will be automatically accessible through the MIDI of the "host" card.

13.2 Alpha, Beta drivers

For the AD1816 sound chip based sound cards isapnptools is needed for configuration.

13.3 Unsupported

The ASP chip on Sound Blaster 16 series is not supported. AWE32's onboard E-mu MIDI synthesizer is not supported.

Nathan Laredo < laredo@gnu.ai.mit.edu> is willing to write AWE32 drivers if you send him a complimentary card. He is also willing to write drivers for almost any hardware if you send him free samples of your hardware.

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 can happen with either Wave Blaster daughterboards or MIDI devices attached to the MIDI port. There is no known fix.


14. 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.

Many Maxtor and Western Digital IDE drives are reported to not happily co-exist on the same IDE cable with the other manufacturers drive. Usually one of the drives will fail during operation. Solution is to put them on different IDE cables.

Certain Micropolis drives have problems with Adaptec and BusLogic cards, contact the drive manufacturers for firmware upgrades if you suspect problems.

14.1 Unsupported

The following hard drives are mentioned as not supported by Linux. Read the bug report available.


15. Tape drives

15.1 Supported

15.2 Alpha, Beta drivers

15.3 Unsupported


16. CD-ROM drives

For more information on CD-ROM drives check the CDROM-HOWTO at http://metalab.unc.edu/LDP/HOWTO/.

16.1 Supported

Common CD-ROM drives

Proprietary CD-ROM drives

16.2 Alpha, Beta drivers

16.3 Notes

All CD-ROM drives should work similarly for reading data. There are various compatibility problems with audio CD playing utilities. (Especially with newer low-end 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.

PhotoCD (XA) is supported. The hpcdtoppm program by Hadmut Danisch converts PhotoCD files to the portable pixmap format. The program can be obtained from ftp://ftp.gwdg.de/pub/linux/hpcdtoppm or as part of the PBM utilities.

Also, reading video CD is supported in kernel series 2.1.3x and later. A patch is available for kernel 2.0.30.

Finally, most IDE CD-ROM Changers are supported.


17. CD-Writers

Many CD-Writers are supported by Linux now. For an up to date list of CD-Writers supported check the CD-Writing mini-HOWTO at http://metalab.unc.edu/LDP/HOWTO/CD-Writing-HOWTO.html, check http://www.shop.de/cgi-bin/winni/lsc.pl or check http://www.guug.de:8080/cgi-bin/winni/lsc.pl. Cdwrite ftp://metalab.unc.edu/pub/Linux/utils/disk-management/ and cdrecord http://www.fokus.gmd.de/research/cc/glone/employees/joerg.schilling/private/cdrecord.html can be used for writing CD's. The X-CD-Roast package for Linux is a graphical front-end for using CD writers. The package can be found at ftp://metalab.unc.edu/pub/Linux/utils/disk-management/xcdroast-0.96d.tar.gz.


18. Removable drives

All SCSI drives should work if the controller is supported, including optical (MO), WORM, floptical, Bernoulli, Zip, Jaz, SyQuest, PD, and others.

Removable drives work like hard disks and floppies, just fdisk/mkfs and mount the disks. Linux provides drive locking if your drives support it. mtools can also be used if the disks are in MS-DOS format.

CD-R drives require special software to work. Read the CD-R Mini-HOWTO.

Linux supports both 512 and 1024 bytes/sector disks. Starting with kernel 2.1.32 Linux also supports 2048 bytes/sector. A patch to kernel 2.0.30 is available at http://liniere.gen.u-tokyo.ac.jp/2048.html.

The 2048 bytes/sector support is needed for

Starting with pre-patch-2.0.31-3 IDE/ATAPI internal Zip drives, flopticals and PD's are supported.


19. Mice

19.1 Supported

19.2 Alpha, Beta drivers

19.3 Notes

Touchpad devices like Alps 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.)


20. Modems

All internal modems or external modems connected to the serial port should work. Alas, some manufactures have created Windows 95 only modems. Check Appendix E for Linux incompatible hardware. Furthermore, many flash upgradable modems only have flash programs for Win95/NT. These modems cannot be upgraded under Linux.

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.

All PCMCIA modems should work with the PCMCIA drivers.

Fax modems need appropriated fax software to operate. Also be sure that the fax part of the modem supports Class 2 or Class 2.0. It seems to be generally true for any fax software on unix that support for Class 1.0 is not available.

An exception to this is the Linux efax program which supports both Class 1 and Class 2 fax modems. In some cases there can be a few (minor) technical problems with Class 1 modems. If you have a choice it is recommend to get a Class 2 modem.

Also multimodem cards are supported by Linux.

The following modem is mentioned not to be supported


21. Printers/Plotters

All printers and plotters connected to the parallel or serial port should work. Alas, some manufacturers have created Windows 95 only printers. Check Appendix E for Linux incompatible hardware.

21.1 Ghostscript

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

Ghostscript 5.1 supported printers

Alpha, Beta drivers


22. Scanners

For scanner support there is the package SANE (Scanner Access Now Easy). Information can be found at http://www.mostang.com/sane/. It can be downloaded from ftp://ftp.mostang.com/pub/sane/. This is a universal scanner interface. It comes complete with documentation and several frontends and backends.

More information on handheld scanners can be found at http://www.willamowius.de/scanner.html

Many scanners also have their own, scanner specific, software packages which include drivers.

22.1 Supported

NOTE:The Mustek drivers work only with GI1904 interface cards. Eric Chang eric.chang@chrysalis.org has created a patch to use them with IF960 interface cards.

22.2 Alpha, Beta drivers

22.3 Unsupported


23. Other hardware

23.1 Amateur Radio

The following cards etc. are supported:

23.2 VESA Power Savings Protocol (DPMS) monitors

Support for power savings is included in the Linux kernel. Use setterm to enable support in the Linux console, and xset to enable support under X.

23.3 Touch screens

The Metro-X X-server is supporting the following touch screen controllers:

23.4 Terminals on serial port

Old terminals can easily be used under Linux by connecting them to the serial port of your system. At least the following terminals will be supported:

23.5 Joysticks

Joystick support is in the latest XFree86 distributions (3.3.x) and in kernel versions 2.1.xx and 2.2.xx. For older kernels the links below are usefull.

Currently supported joysticks are:

23.6 Video capture boards / Frame Grabbers / TV tuner

A couple of programs are available that support TV tuners. These are:

All cards with Bt848/Bt848a/Bt849/Bt878/Bt879 and normal Composite/S-VHS inputs are supported. Teletext and Intercast support (PAL only) via VBI samples decoding in software.

23.7 Digital Camera

Currently there are five programs which can be used in combination with digital cameras.

Photopc can be extended with a graphical Tk frontend. This can be found at http://www.mediacity.com/~pwhite/Phototk/phototk.html. Also Qvplay cab be extended with a graphical Tk frontend, which can be found at http://www.bekkoame.or.jp/~tormato/pub/qvplaytk-0.73c.tar.gz

Supported

Unsupported

23.8 UPS

Various other UPS's are supported, read the UPS HOWTO

23.9 Multifunction boards

23.10 Data acquisition

The Linux Lab Project site collects drivers for hardware dealing with data acquisition, they also maintain some mailing lists dealing with the subject. I have no experience with data acquisition so please check the site for more details.

23.11 Watchdog timer interfaces

23.12 Miscellaneous


24. Related sources of information


25. Acknowledgments

Thanks to all the authors and contributors of other HOWTO's, many things here are shamelessly stolen from their works; to FRiC, Zane Healy and Ed Carp, the original authors of this HOWTO; 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.


26. Appendix A. S3 cards supported by XFree86 3.3.x.


CHIPSET
RAMDAC CLOCKCHIPBPPCARD
801/805AT&T 20C490 16 Actix GE 32 / 32+ 2Mb
Orchid Fahrenheit 1280(+)
801/805AT&T 20C490 ICD2061A 16 STB PowerGraph X.24
801/805 Del S3 805
Miro Crystal 8S
Orchid Fahrenheit VA
VL-41
805 S3 GENDAC 16 Miro 10SD VLB/PCI
SPEA Mirage VLB
801/805SS2410 ICD2061A 8 Diamond Stealth 24 VLB/ISA
801/805AT&T 20C490 Ch8391 16 JAX 8231/8241, SPEA Mirage
801/805S3 GENDAC Miro Crystal 10SD
805i Actix GE 32i
ELSA Winner 1000 ISA
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(/V7) Mercury VLB
928 Bt485 ICD2061A 32 #9 GXE Level 10/11/12
928 Ti3020 ICD2061A 32 #9 GXE Level 14/16
928 928Movie
Diamond Stealth Pro
ELSA Winner 1000TwinBus
ELSA Winner 1000VL
ELSA Winner 2000
Miro Crystal 16S
864 ICD2061A Miro Crystal 20SD (BIOS 2.xx)
864 AT&T 20C498 ICS2494 32 Miro (Crystal) 20SD (BIOS 1.xx)
864 AT&T 20C498/ ICD2061A/ 32 ELSA Winner 1000 PRO VLB/PCI
864 STG1700 ICS9161 MIRO 20SD (BIOS 2.x)
ELAS Winner 1000 PRO
864 STG1700 ICD2061A 32 Actix GE 64 VLB
864 AT&T 20C498/ ICS2595 16 SPEA(/V7) 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
Genoa Phantom 64i
Miro Crystal 20SD VLB (BIOS 3.xx)
864 ICS5342 ICS5342 32 Diamond Stealth 64 DRAM (some)
864 SDAC Diamond Stealth 64 Graphics 2001
864 AT&T 20C498-13ICD2061A 32 #9 GXE64 PCI
864 ASUS Video Magic PCI V864
VidTech FastMax P20


CHIPSET
RAMDAC CLOCKCHIPBPPCARD
964 ELSA Winner 2000 PRO-2,4
spider Tarantula 64
964 AT&T 20C505 ICD2061A 32 Miro Crystal 20SV PCI/40SV
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
964 IBM RGB 32 Hercules Graphite Terminator 64
868 S3 86C716 SDAC 32 ELSA Winner 1000AVI
Miro Crystal 20SD PCI
868 AT&T 29C409 ELSA Winner 1000AVI
868 Diamond Stealth Video DRAM
Diamond Stealth 64 Video 2120/2200
ELSA Winner 1000PRO/X
#9 FX Motion 531
VideoLogic GrafixStar 500
968 Diamond Stealth 64 Video 3200
ELSA Gloria-4/8
ELSA Winner 2000AVI
ELSA Winner 2000PRO/X-2/X-4/X-8
Genoa VideoBlitz III AV
Hercules Graphite Terminator Pro 64
LeadTek WinFast S430
LeadTek WinFast S510
Miro Crystal 80SV
Miro Crystal 20SV
#9 FX Motion 771
VideoLogic GrafixStar 700
WinFast S430/S510
968 TVP3026 32 ELSA Winner 2000PRO/X
Diamond Stealth 64 Video VRAM
968 IBM RGB 32 Genoa VideoBlitz III AVI
Hercules Terminator Pro 64
STB Velocity 64 Video
#9 FX Motion 771
Diamond Stealth 64 Video 3240/3400
968 TI RAMDAC Diamond Stealth 64 Video 3240/3400
732 (Trio32) 32 Diamond Stealth 64 DRAM SE
(all Trio32 based cards)
764 (Trio64) 32 SPEA Mirage P64 (BIOS 5.x)
Diamond Stealth 64 DRAM
Diamond Stealth 64 Graphics 2xx0
#9 FX Vision 330
STB PowerGraph 64
(all Trio64 based cards)


CHIPSET
RAMDAC CLOCKCHIPBPPCARD
(Trio64V+) DSV3326
Diamond Stealth 64 Video 2001
DataExpert DSV3365
ExpertColor DSV3365
MAXColor S3 Trio64V+
ELSA Winner 1000TRIO/V
Hercules Terminator 64/Video
#9 FX Motion 331
STB Powergraph 64 Video
VideoLogic GrafixStar 400
(Trio64V2) ELSA Winner 1000/T2D
(ViRGE) Canopus Co. Power Window 3DV
DSV3325
DataExpert DSV3325
Diamond Multimedia Stealth 3D 2000
Diamond Multimedia Stealth 3D 2000 PRO
Diamond Stealth 3D 2000
Diamond Stealth 3D 2000 PRO
Diamond Stealth 3D 3000
ELSA Victory 3D
ELSA Victory 3DX
ELSA Winner 3000-S
Expertcolor DSV3325
Hercules Terminator 64/3D
LeadTek WinFast 3D S600
MELCO WGP-VG4S
#9 FX Motion 332
Orchid Tech. Fahrenheit Video 3D
STB systems Powergraph 3D
WinFast 3D S600
(ViRGE/DX) Hercules Terminator 3D/DX
(ViRGE/GX) STB Nitro 3D
(ViRGE/VX) ELSA Winner 2000AVI/3D
ELSA Winner 3000
ELSA Winner 3000-L-42/-M-22
MELCO WGP-VX8
STB Systems Velocity 3D
911/924 Diamond Stealth VRAM
924 SC1148 DAC

NOTE: for the ViRGE/VX,DX,GX,GX2 chipsets you need XFree86 3.3.1 or newer. You should use the XF86_SVGA server.


27. Appendix B. Supported PCMCIA cards

These cards are supported by David Hinds' PCMCIA package and this list is taken from his web page ( http://hyper.stanford.edu/HyperNews/get/pcmcia/home.html).

CardBus cards are listed at the end of each section. At this time, all CardBus drivers should be treated as experimental. Beware that some cards have 16-bit and CardBus versions with very similar names. If the CardBus version is not specifically listed as supported here, then you should not expect it to work.

27.1 Ethernet cards

All other cards use the pcnet_cs driver. Other NE2000-compatible cards that are not on the list are also likely to work with pcnet_cs.

27.2 Fast Ethernet (10/100baseT) adapters

epic_cb and tulip_cb drivers are experimental and need a 2.2.x or newer kernel

27.3 Token-ring adapters

You should at least have kernel 1.3.72

27.4 Wireless network adapters

27.5 ISDN

27.6 Modem and serial cards

Virtually all modem cards, simple serial port cards, and digital cellular modems should work. Also ISDN modems that emulate a standard UART are supported.

27.7 Memory cards

All SRAM cards should work. Unsupported flash cards can be read but not written.

27.8 SCSI adapters

Be careful. Many vendors, particularly CD-ROM vendors, seem to switch controller chips at will. Generally, They will use a different product code, but not always: older (supported) New Media Bus Toaster cards are not easily distinguishable from the current (unsupported) Bus Toaster cards.

27.9 ATA/IDE CD-ROM adapters

You should at least have kernel 1.3.72

27.10 Multifunction cards

You should at least have kernel 1.3.73

27.11 ATA/IDE card drives

These card drives are supported starting with kernel 1.3.72. Both Flash-ATA cards and rotating-media cards are supported. The very old Western Digital 40MB drives are not supported, because they do not conform to the PCMCIA ATA specifications.

27.12 ATA/IDE Interface Cards

27.13 Parallel port cards:

See the appendix on supported parallel port devices

27.14 Miscellaneous cards

27.15 Working on ...

People are working on the following cards:

27.16 Unsupported


28. Appendix C. Supported Parallel Port devices

More and more, the parallel port is used to connect other devices than printers. To support this parallel port drivers are written for the devicesto work. This appendix presents devices for which parallel port support is written.

To be clear: printers are not presented in this appendix as they are not supported by parallel port support projects.

Also, check the Linux Parallel Port support pages for more information http://www.torque.net/parport. Here you can find

28.1 Ethernet

28.2 Hard drives

28.3 Tape drives

28.4 CD-ROM drives

28.5 Removable drives

28.6 IDE Adapter

28.7 SCSI Adapters

28.8 Digital Camera

28.9 PCMCIA parallel port cards

The parport_cs driver requires kernel 2.2.x or later


29. Appendix D. Plug and Play devices

For people having trouble getting Plug and Play devices to work, the ISA PnP utilities written by Peter Fox are available. Quote from the README:

These programs allow ISA Plug-And-Play devices to be configured
on a Linux machine.

This program is suitable for all systems, whether or not they
include a PnP BIOS.

Commands have been taken from the Plug and Play ISA specification Version 1.0a.

More information on ISA PnP utilities can be found on the website of Peter Fox: http://www.roestock.demon.co.uk/isapnptools/

Please let me know about hardware (not normally supported under Linux) which can be put to work with the aid of these utilities. A list of this hardware will be put in this appendix.


30. Appendix E. Linux incompatible Hardware

Some hardware manufacturers have created devices which are compatible with MS-Dos and Windows 95/98 only. They seem to emulate part of the normally available hardware in the devices by software packages sold together with the device. Specification on these devices are not presented to the world so it is almost impossible to write drivers for these devices. Below a list of devices reported as being Linux incompatible will be given.

Simply put, it is best to avoid hardware which states things like "Needs Windows" or "Windows only".


31. Glossary

AGP

Accelerated Graphics Port. A bus interconnect mechanism designed to improve performance of 3D graphics applications. AGP is a dedicated bus from the graphics subsystem to the core-logic chipset. http://www.euro.dell.com/intl/euro/r+d/r+dnews/vectors/vect_2-1/v2-1_agp.htm

ATAPI

AT Attachment Packet Interface. A new protocol for controlling mass storage devices similar to SCSI protocols. It builds on the ATA (AT Attachment) interface, the official ANSI Standard name for the IDE interface developed for hard disk drives. ATAPI is commonly used for hard disks, CD-ROM drives, tape drives, and other devices.

ATM

Asynchronous Transfer Mode

CDDA

Compact Disk Digital Audio. Capability of CD-ROM/Writer to read out audio tracks.

DMA

Direct Memory Access

EGA

Enhanced Graphics Adapter

EIDE

Enhanced IDE

EISA

Extended Industry System Architecture

FDDI

Fiber Distributed Data Interface. High-speed ring local area network.

IDE

Integrated Drive Electronics. Each drive has a built-in controller.

ISA

Industry System Architecture

ISDN

Integrated Services Digital Network

MCA

MicroChannel Architecture

MFM

Modified Frequency Modulation

MMX

Multimedia Extensions. Added to the newest generation of Intel Pentium Processors. It offers better audio and video quality

PCI

Pheripheral Component Interconnect. 32-bit bus designed by Intel. Information can be found on http://www.pcisig.com and http://infoserver.ee.siue.edu/~jbutter/EE580_1.html.

RAID

Redudant Arrays of Inexpensive Disks. The basic idea of RAID is to combine multiple small, inexpensive disk drives into an array of disk drives which yields performance exceeding that of a single large expensive drive. There are five types of redundant array Architectures; RAID-1 through RAID-5. A non-redudant array of disk drives is referred to as RAID-0. Some RAID systems can mix formats.
http://www.uni-mainz.de/~neuffer/scsi/what_is_raid.html

PPA

Printing Performance Architecture. Protocol developed by Hewlett Packard for their series of Deskjet printers. In essence, the protocol moves the low-level processing of the data to the host computer rather than the printer. This allows for a low-cost printer with a small amount of memory and computing power and a flexible driver. However, this comes at the price of compatibility. HP's decision was to develop drivers only for Windows 95 for this printer.

RLL

Run Length Limited

SCSI

Small Computer Systems Interface. A standerd interface defined for all devices in a computer. It make it possible to use a single adapter for all devices.
http://www.uni-mainz.de/~neuffer/scsi/what_is_scsi.html

SVGA

Super Video Graphics Adapter

UART

Universal Asynchronous Receiver Transmitter

USB

Universal Serial Bus. Not yet supported by Linux.

VGA

Video Graphics Adapter

VLB

VESA Local Bus. Used in some 486 PC's.

WORM

Write Once Read Many