<!-- $Id: hw.sgml,v 1.17 1996/02/27 15:57:47 jfieber Exp $ -->
<!-- The FreeBSD Documentation Project -->

<!-- 
<!DOCTYPE linuxdoc PUBLIC "-//FreeBSD//DTD linuxdoc//EN">
-->

<chapt><heading>PC Hardware compatibility<label id="hw"></heading>

  <p>Issues of hardware compatibility are among the most
    troublesome in the computer industry today and FreeBSD is by
    no means immune to trouble.  In this respect, FreeBSD's
    advantage of being able to run on inexpensive commodity PC
    hardware is also its liability when it comes to support for
    the amazing variety of components on the market.  While it
    would be impossible to provide a exhaustive listing of
    hardware that FreeBSD supports, this section serves as a
    catalog of the device drivers included with FreeBSD and the
    hardware each drivers supports.  Where possible and
    appropriate, notes about specific products are included.

    As FreeBSD is a volunteer project without a funded testing
    department, we depend on you, the user, for much of the
    information contained in this catalog.  If you have direct
    experience of hardware that does or does not work with
    FreeBSD, please let us know by sending email to
    <tt>doc@freebsd.org</tt>.  Questions about supported hardware
    should be directed to <tt>questions@freebsd.org</tt> (see
    <ref id="eresources:mail" name="Mailing Lists"> for more
    information).  When submitting information or asking a
    question, please remember to specify exactly what version of
    FreeBSD you are using and include as many details of your
    hardware as possible.

<sect><heading>Sample Configurations<label id="hw:configs"></heading>
<p>The following list of sample hardware configurations by no means
constitutes an endorsement of a given hardware vendor or product by
<em>The FreeBSD Project</em>.  This information is provided only as a public
service and merely catalogs some of the experiences that various individuals
have had with different hardware combinations.  Your mileage may vary.
Slippery when wet.  Beware of dog.

 <sect1><heading>Jordan's Picks</heading>
    <p>I have had fairly good luck building workstation and server
    configurations with the following components.  I can't guarantee that
    you will too, nor that any of the companies here will remain "best buys"
    forever.  I will try, when I can, to keep this list up-to-date but
    cannot obviously guarantee that it will be at any given time.

  <sect2><heading>Motherboards</heading>
    <p>The <htmlurl url="http://asustek.asus.com.tw/" name="ASUS">
    <htmlurl url="http://asustek.asus.com.tw/FTP/ASUS/Info/Spec/pi-p55tp4xe.txt"
     name="P55TP4XE">
    motherboard appears to be a good choice for mid-to-high range Pentium
    server and workstation systems.  If you're really looking for performance,
    be also sure to get the <htmlurl url="http://asustek.asus.com.tw/Products/TB/mem-0002.html" name="pipelined burst cache module">.  I feel that it's worth
    the extra cost.  If you're looking for a 486 class motherboard, you might
    also investigate ASUS's <htmlurl url="http://asustek.asus.com.tw/FTP/ASUS/Info/Spec/pvi-486sp3.txt" name="486SP3G"> offering.

    NOTE:  The Intel <htmlurl url="http://asustek.asus.com.tw/Products/TB/triton-intro.html" name="Triton"> chipset based motherboards do not offer memory
    parity logic, making it almost impossible to detect when a memory error
    has occurred.  Those wishing to build highly fault-tolerant systems may
    therefore want to wait for Intel's newest generation of motherboards
    based on the Orion chipset or investigate ASUS's SiS chipset based
    motherboard, the <htmlurl url="http://asustek.asus.com.tw/FTP/ASUS/Info/Spec/pi-p55sp4.txt" name="P55SP4">.  I have no personal experience with this
    motherboard and have heard mixed reports - some say it's a fine MB, others
    say that it's measurably slower than the Triton.  The only undisputed
    advantage it offers is being available <em>now</em>. 

  <sect2><heading>Disk Controllers</heading>
    <p>This one is a bit trickier, and while I used to recommend the
    <htmlurl url="http://www.buslogic.com" name="Buslogic"> controllers
    unilaterally for everything from ISA to PCI, now I tend to lean
    towards the <htmlurl url="http://www.adaptec.com" name="Adaptec">
    1542CF for ISA, Buslogic Bt747c for EISA and Adaptec 2940 for PCI.

  <sect2><heading>Disk drives</heading>
    <p>In this particular game of Russian roulette, I'll make few specific
    recommendations except to say "SCSI over IDE whenever you can afford it."
    Even in small desktop configurations, SCSI often makes more sense since it
    allows you to easily migrate drives from server to desktop as falling drive
    prices make it economical to do so.  If you have more than one machine
    to administer then think of it not simply as storage, think of it as a
    food chain!

    <p>I do not currently see SCSI WIDE drives as a necessary expense unless
    you're putting together an NFS or NEWS server that will be doing a lot
    of multiuser disk I/O.  

  <sect2><heading>CDROM drives</heading>
    <p>My SCSI preferences extend to SCSI CDROM drives as well, and the
    <htmlurl url="http://www.toshiba.com" name="Toshiba"> XM-3501B (now
    released in a caddy-less model called the XM-5401B) drive has always
    performed well for me.  Generally speaking, most SCSI CDROM drives I've 
    seen have been of pretty solid construction (probably because they don't 
    occupy the lower end of the market, due to their higher price) and you
    probably won't go wrong with an HP or NEC SCSI CDROM drive either.

  <sect2><heading>Tape drives</heading>
   <p>I've had pretty good luck with both
   <htmlurl url="http://www.Exabyte.COM:80/Products/8mm/8505XL/Rfeatures.html"
   name="8mm drives"> from <htmlurl url="http://www.exabyte.com"
   name="Exabyte"> and 
   <htmlurl url="http://www-dmo.external.hp.com:80/tape/_cpb0001.htm" 
   name="4mm (DAT)"> drives from <htmlurl url="http://www.hp.com" name="HP">.
   
   <p>For backup purposes, I'd have to give the higher recommendation to the
   Exabyte due to the more robust nature (and higher storage capacity) of
   8mm tape.

  <sect2><heading>Video Cards</heading>
    <p>If you can also afford to buy a commercial X server for US&dollar;99 from
    <htmlurl url="http://www.xinside.com/" name="X Inside"> then I
    can heartily recommend the <htmlurl url="http://www.matrox.com/"
    name="Matrox"> <htmlurl url="http://www.matrox.com/mgaweb/brochure.htm"
    name="Millenium"> card.  If free X servers are more to your
    liking, you certainly can't go wrong with one of <htmlurl url="http://www.nine.com/" name="Number 9's"> cards - their S3 Vision 868 and 968 based cards 
    (the 9FX series) are pretty fast cards as well, and are supported by
    <htmlurl url="http://www.xfree86.org" name="XFree86">'s S3 server.

  <sect2><heading>Monitors</heading>
    <p>I have had very good luck with the <htmlurl url="http://cons3.sel.sony.com/SEL/ccpg/display/ms17se2.html"
    name="Sony Multiscan 17SE monitors">, as have I with 
    the Viewsonic offering in the same (trinitron) tube.  For larger than
    17", all I can recommend at the time of this writing is to not spend
    any less than U.S. &dollar;2,500 for a 21" monitor if that's what you really
    need.  There are good monitors available in the >=20" range and there
    are also cheap monitors in the >=20" range.  Unfortunately, none are
    both cheap and good!

  <sect2><heading>Networking</heading>
    <p>I can recommend the <htmlurl url="http://www.smc.com/" name="SMC">
    Ultra 16 controller for any ISA application and the SMC EtherPower
    or Compex ENET32 cards for any serious PCI based networking.  Both of
    the PCI cards are based around DEC's DC21041 Ethernet controller
    chip and other cards using it, such as the Zynx ZX342 or DEC DE435,
    will generally work as well.

   <sect2><heading>Serial</heading>
    <p>If you're looking for high-speed serial networking solutions, then
    <htmlurl url="http://www.dgii.com/" name="Digi International">
    makes the <htmlurl url="http://www.dgii.com/prodprofiles/profiles-prices/digiprofiles/digispecs/sync570.html" name="SYNC/570"> series, with drivers now in
    FreeBSD-current. <htmlurl url="http://www.etinc.com"
    name="Emerging Technologies"> also manufactures a board with T1/E1
    capabilities, using software they provide.

    <p>Multiport card options are somewhat more numerous, though it has to be
    said that FreeBSD's support for <htmlurl url="http://www.cyclades.com/"
    name="Cyclades">'s products is probably the tightest, primarily as a result
    of that company's committment to making sure that we are adequately supplied
    with evaluation boards and technical specs.  I've heard that the Cyclom-16Ye
    offers the best price/performance, though I've not checked the prices lately.
    Other multiport cards I've heard good things about are the BOCA and AST
    cards, and <htmlurl url="http://www.stallion.com/" name="Stallion
    Technologies"> apparently offers an unofficial driver for their 
    cards at <htmlurl url="ftp://ftp.stallion.com/drivers/unsupported/freebsd/stalbsd-0.0.4.tar.gz" name="this"> location.

   <sect2><heading>Audio</heading>
    <p>I currently use the <htmlurl url="http://www.gravis.com/" name="Gravis">
    Ultrasound MAX due to its high sound quality and full-duplex audio
    capabilities (dual DMA channels).  Support for Windows NT and OS/2 is
    fairly anemic, however, so I'm not sure that I can recommend it as an
    all-around card for a machine that will be running both FreeBSD and NT
    or OS/2.  In such a scenario, I might recommend the <htmlurl url="http://www.creaf.com/" name="Creative Labs"> AWE32 instead.

   <sect2><heading>Video</heading>
   <p>For video capture, there's really only once choice - the
   <htmlurl url="http://www.matrox.com/" name="Matrox">
   <htmlurl url="http://www.matrox.com/imgweb/meteor.htm" name="Meteor">
   card.  FreeBSD also supports the older video spigot card from
   Creative Labs, but those are getting somewhat difficult to find
   and the Meteor is a more current generation frame-grabber with
   a higher-speed PCI interface.  I use one for broadcasting video
   on the MBONE and it works quite well!

<sect><heading>Core/Processing<label id="hw:core"></heading>

<sect1><heading>Motherboards, busses, and chipsets</heading>
  <sect2><heading>* ISA</heading>
  <sect2><heading>* EISA</heading>
  <sect2><heading>* VLB</heading>
  <sect2><heading>PCI</heading>

	  <p><em>Contributed by &a.rgrimes;.<newline>25 April 1995.</em></p>

	  <p>Of the Intel PCI chip sets, the following list describes
	    various types of known-brokenness and the degree of
            breakage, listed from worst to best.
	    </p>

	  <p><descrip>

	      <tag>Mercury:</tag> Cache coherency problems,
		especially if there are ISA bus masters behind
		the ISA to PCI bridge chip.  Hardware flaw, only
		known work around is to turn the cache
		off.

	      <tag>Saturn-I <em>(ie, 82424ZX at rev 0, 1 or 2)</em>:</tag>
		Write back cache coherency
		problems.  Hardware flaw, only known work around
		is to set the external cache to write-through
		mode.  Upgrade to Saturn-II.

	      <tag>Saturn-II <em>(ie, 82424ZX at rev 3 or 4)</em>:</tag>
                Works fine, but many MB
		manufactures leave out the external dirty bit
		SRAM needed for write back operation.  Work
		arounds are either run it in write through mode,
		or get the dirty bit SRAM installed.  (I have
		these for the ASUS PCI/I-486SP3G rev 1.6 and
		later boards).

	      <tag>Neptune:</tag> Can not run more than 2 bus
		master devices.  Admitted Intel design flaw.
		Workarounds include do not run more than 2 bus
		masters, special hardware design to replace the
		PCI bus arbiter (appears on Intel Altair board
		and several other Intel server group MB's).  And
		of course Intel's official answer, move to the
		Triton chip set, we ``fixed it there''.

	      <tag>Triton:</tag> No known cache coherency or bus
		master problems, chip set does not implement
		parity checking.  Workaround for parity issue.
		Wait for Triton-II.

	      <tag>Triton-II:</tag> Unknown, not yet shipping.

	    </descrip>
	  </p>

<sect1><heading>* CPUs/FPUs</heading>
<sect1><heading>* Memory</heading>
<sect1><heading>* BIOS</heading>

<sect><heading>Input/Output Devices<label id="hw:io"></heading>

<sect1><heading>* Video cards</heading>
<sect1><heading>* Sound cards</heading>
<sect1><heading>Serial ports and multiport cards</heading>

	&uart;
	&sio;

<sect1><heading>* Parallel ports</heading>
<sect1><heading>* Modems</heading>
<sect1><heading>* Network cards</heading>
<sect1><heading>* Keyboards</heading>
<sect1><heading>* Mice</heading>
<sect1><heading>* Other</heading>

<sect><heading>Storage Devices<label id="hw:storage"></heading>
&esdi;
&scsi;
<sect1><heading>* Disk/tape controllers</heading>
  <sect2><heading>* SCSI</heading>
  <sect2><heading>* IDE</heading>
  <sect2><heading>* Floppy</heading>
<sect1><heading>* Hard drives</heading>
<sect1><heading>* Tape drives</heading>
<sect1><heading>* CD-ROM drives</heading>
<sect1><heading>* Other</heading>

<sect1><heading>* Adding and reconfiguring disks</heading>
<sect1><heading>* Tapes and backups</heading>
<sect1><heading>* Serial ports</heading>
<sect1><heading>* Sound cards</heading>
<sect1><heading>* PCMCIA</heading>
<sect1><heading>* Other<label id="hw:other"></heading>
