%articles.ent; %release; %devauto; ]>
&os; &release.current; Hardware Notes The &os; Documentation Project $FreeBSD$ 2000 2001 2002 2003 2004 2005 2006 2007 2008 2009 The &os; Documentation Project &tm-attrib.freebsd; &tm-attrib.amd; &tm-attrib.ibm; &tm-attrib.intel; &tm-attrib.sparc; &tm-attrib.sun; &tm-attrib.general; Introduction This document contains the hardware compatibility notes for &os; &release.current;. It lists the hardware platforms supported by &os;, as well as the various types of hardware devices (storage controllers, network interfaces, and so on), along with known working instances of these devices. Supported Processors and System Boards This section provides some architecture-specific information about the specific processors and systems that are supported by each architecture. amd64 Since mid-2003 &os;/&arch.amd64; has supported the AMD64 (Hammer) and &intel; EM64T architecture, and is now one of the Tier-1 platforms (fully supported architecture), which are expected to be Production Quality with respects to all aspects of the &os; operating system, including installation and development environments. Note that there are two names for this architecture, AMD64 (AMD) and Intel EM64T (Extended Memory 64-bit Technology). 64-bit mode of the two architectures are almost compatible with each other, and &os;/&arch.amd64; should support them both. As of this writing, the following processors are supported: &amd.athlon;64 (Clawhammer). &amd.opteron; (Sledgehammer). All multi-core &intel; &xeon; processors except Sossaman have EM64T support. The single-core &intel; &xeon; processors Nocona, Irwindale, Potomac, and Cranford have EM64T support. All &intel; Core 2 (not Core Duo) and later processors All &intel; &pentium; D processors &intel; &pentium; 4s and Celeron Ds using the Cedar Mill core have EM64T support. Some &intel; &pentium; 4s and Celeron Ds using the Prescott core have EM64T support. See the Intel Processor Spec Finder for the definitive answer about EM64T support in Intel processors. &intel; EM64T is an extended version of IA-32 (x86) and different from &intel; IA-64 (Itanium) architecture, which &os;/ia64 supports. Some &intel;'s old documentation refers to &intel; EM64T as 64-bit extension technology or IA-32e. The largest tested memory configuration to date is 32GB. SMP support has been recently completed and is reasonably robust. In many respects, &os;/&arch.amd64; is similar to &os;/&arch.i386;, in terms of drivers supported. There may be some issues with 64-bit cleanliness in some (particularly older) drivers. Generally, drivers that already function correctly on other 64-bit platforms should work. &os;/&arch.amd64; is a very young platform on &os;. While the core &os; kernel and base system components are generally fairly robust, there are likely to still be rough edges, particularly with third party packages. i386 &os;/&arch.i386; runs on a wide variety of IBM PC compatible machines. Due to the wide range of hardware available for this architecture, it is impossible to exhaustively list all combinations of equipment supported by &os;. Nevertheless, some general guidelines are presented here. Almost all &i386;-compatible processors with a floating point unit are supported. All &intel; processors beginning with the 80486 are supported, including the 80486, &pentium;, &pentium; Pro, &pentium; II, &pentium; III, &pentium; 4, and variants thereof, such as the &xeon; and &celeron; processors. All &i386;-compatible AMD processors are also supported, including the &am486;, &am5x86;, K5, &amd.k6; (and variants), &amd.athlon; (including Athlon-MP, Athlon-XP, Athlon-4, and Athlon Thunderbird), and &amd.duron; processors. The AMD Élan SC520 embedded processor is supported. The Transmeta Crusoe is recognized and supported, as are &i386;-compatible processors from Cyrix and NexGen. There is a wide variety of motherboards available for this architecture. Motherboards using the ISA, VLB, EISA, AGP, and PCI expansion busses are well-supported. There is some limited support for the MCA (MicroChannel) expansion bus used in the IBM PS/2 line of PCs. Symmetric multi-processor (SMP) systems are generally supported by &os;, although in some cases, BIOS or motherboard bugs may generate some problems. Perusal of the archives of the &a.smp; may yield some clues. &os; will take advantage of HyperThreading (HTT) support on &intel; CPUs that support this feature. A kernel with the options SMP feature enabled will automatically detect the additional logical processors. The default &os; scheduler treats the logical processors the same as additional physical processors; in other words, no attempt is made to optimize scheduling decisions given the shared resources between logical processors within the same CPU. Because this naive scheduling can result in suboptimal performance, under certain circumstances it may be useful to disable the logical processors with the the machdep.hlt_logical_cpus sysctl variable. It is also possible to halt any CPU in the idle loop with the machdep.hlt_cpus sysctl variable. The &man.smp.4; manual page has more details. &os; will take advantage of Physical Address Extensions (PAE) support on CPUs that support this feature. A kernel with the PAE feature enabled will detect memory above 4 gigabytes and allow it to be used by the system. This feature places constraints on the device drivers and other features of &os; which may be used; consult the &man.pae.4; manpage for more details. &os; will generally run on i386-based laptops, albeit with varying levels of support for certain hardware features such as sound, graphics, power management, and PCCARD expansion slots. These features tend to vary in idiosyncratic ways between machines, and frequently require special-case support in &os; to work around hardware bugs or other oddities. When in doubt, a search of the archives of the &a.mobile; may be useful. Most modern laptops (as well as many desktops) use the Advanced Configuration and Power Management (ACPI) standard. &os; supports ACPI via the ACPI Component Architecture reference implementation from &intel;, as described in the &man.acpi.4; manual page. The use of ACPI causes instabilities on some machines and it may be necessary to disable the ACPI driver, which is normally loaded via a kernel module. This may be accomplished by adding the following line to /boot/device.hints: hint.acpi.0.disabled="1" Users debugging ACPI-related problems may find it useful to disable portions of the ACPI functionality. The &man.acpi.4; manual page has more information on how to do this via loader tunables. ACPI depends on a Differentiated System Descriptor Table (DSDT) provided by each machine's BIOS. Some machines have bad or incomplete DSDTs, which prevents ACPI from functioning correctly. Replacement DSDTs for some machines can be found at the DSDT section of the ACPI4Linux project Web site. &os; can use these DSDTs to override the DSDT provided by the BIOS; see the &man.acpi.4; manual page for more information. ia64 Currently supported processors are the &itanium; and the &itanium; 2. Supported chipsets include: HP zx1 &intel; 460GX &intel; E8870 Both Uniprocessor (UP) and Symmetric Multi-processor (SMP) configurations are supported. Most devices that can be found in or are compatible with &arch.ia64; machines are fully supported. The notable exception is the VGA console. The &os; support for VGA consoles is at this time too much based on PC hardware and not all &arch.ia64; machines have chipsets that provide sufficient PC legacy support. As such &man.syscons.4; can not be enabled and the use of a serial console is required. pc98 NEC PC-9801/9821 series with almost all &i386;-compatible processors, including 80486, &pentium;, &pentium; Pro, &pentium; II, and variants. All &i386;-compatible processors by AMD, Cyrix, IBM, and IDT are also supported. NEC FC-9801/9821 series, and NEC SV-98 series (both of them are compatible with PC-9801/9821 series) should be supported. EPSON PC-386/486/586 series, which are compatible with NEC PC-9801 series are supported. High-resolution mode is not supported. NEC PC-98XA/XL/RL/XL^2, and NEC PC-H98 series are supported in normal (PC-9801 compatible) mode only. Although there are some multi-processor systems (such as Rs20/B20), SMP-related features of &os; are not supported yet. PC-9801/9821 standard bus (called C-Bus), PC-9801NOTE expansion bus (110pin), and PCI bus are supported. New Extend Standard Architecture (NESA) bus (used in PC-H98, SV-H98, and FC-H98 series) is not supported. powerpc The information for this paragraph has yet to be compiled. sparc64 This section describes the systems currently known to be supported by &os; on the &ultrasparc; platform. For background information on the various hardware designs see the Sun System Handbook. SMP is supported on all systems with more than 1 processor. In general, &os;/&arch.sparc64; systems must use serial consoles. While it is possible to boot or install a system using the OpenFirmware console, the console device is not usable. If you have a system that is not listed here, it may not have been tested with &os; &release.current;. We encourage you to try it and send a note to the &a.sparc; with your results, including which devices work and which do not. The following systems are fully supported by &os;. &sun.blade; 100 &sun.blade; 150 &sun.enterprise; 220R &sun.enterprise; 250 &sun.enterprise; 420R &sun.enterprise; 450 &sun.fire; V100 &sun.fire; V120 &netra; t1 105 &netra; T1 AC200/DC200 &netra; t 1100 &netra; t 1120 &netra; t 1125 &netra; t 1400/1405 &netra; 120 &netra; X1 &sparcengine; Ultra AXi &sparcengine; Ultra AXmp &sun.ultra; 1 &sun.ultra; 1E &sun.ultra; 2 &sun.ultra; 5 &sun.ultra; 10 &sun.ultra; 30 &sun.ultra; 60 &sun.ultra; 80 The following systems are partially supported by &os;. In particular the onboard SCSI controller in sbus systems is not supported. &sun.enterprise; 3500 &sun.enterprise; 4500 The following systems are not supported by &os;. This may be due to lack of processor support (&ultrasparc; III), due to a quirk in the system design that makes &os; unstable, or due to lack of support for sufficient onboard devices to make &os; generally useful. All systems containing &ultrasparc; III processor(s). Supported Devices This section describes the devices currently known to be supported by &os;. Other configurations may also work, but simply have not been tested yet. Feedback, updates, and corrections to this list are encouraged. Where possible, the drivers applicable to each device or class of devices is listed. If the driver in question has a manual page in the &os; base distribution (most should), it is referenced here. Information on specific models of supported devices, controllers, etc. can be found in the manual pages. The device lists in this document are being generated automatically from &os; manual pages. This means that some devices, which are supported by multiple drivers, may appear multiple times. Disk Controllers IDE/ATA controllers (&man.ata.4; driver) IDE/ATA controllers (wdc driver) On-board IDE controller &hwlist.aac; &hwlist.adv; &hwlist.adw; &hwlist.aha; &hwlist.ahb; &hwlist.ahc; &hwlist.ahd; &hwlist.aic; &hwlist.amd; &hwlist.amr; &hwlist.arcmsr; &hwlist.asr; &hwlist.bt; &hwlist.ciss; &hwlist.ct; &hwlist.dpt; Booting from these controllers is supported. EISA adapters are not supported. &hwlist.esp; &hwlist.hptiop; &hwlist.hptmv; &hwlist.hptrr; &hwlist.ida; &hwlist.iir; &hwlist.ips; &hwlist.isp; &hwlist.mfi; &hwlist.mlx; Booting from these controllers is supported. EISA adapters are not supported. &hwlist.mly; &hwlist.mpt; &hwlist.ncr; &hwlist.ncv; &hwlist.nsp; &hwlist.pst; &hwlist.stg; &hwlist.sym; &hwlist.trm; &hwlist.twa; &hwlist.twe; &hwlist.vpo; The wds(4) driver supports the WD7000 SCSI controller. With all supported SCSI controllers, full support is provided for SCSI-I, SCSI-II, and SCSI-III peripherals, including hard disks, optical disks, tape drives (including DAT, 8mm Exabyte, Mammoth, and DLT), medium changers, processor target devices and CD-ROM drives. WORM devices that support CD-ROM commands are supported for read-only access by the CD-ROM drivers (such as &man.cd.4;). WORM/CD-R/CD-RW writing support is provided by &man.cdrecord.1;, which is a part of the sysutils/cdrtools port in the Ports Collection. The following CD-ROM type systems are supported at this time: SCSI interface (also includes ProAudio Spectrum and SoundBlaster SCSI) (&man.cd.4;) Sony proprietary interface (all models) (&man.scd.4;) ATAPI IDE interface (&man.acd.4;) The following device is unmaintained: Mitsumi proprietary CD-ROM interface (all models) (&man.mcd.4;) Ethernet Interfaces &hwlist.ale; &hwlist.aue; &hwlist.axe; &hwlist.bce; Broadcom BCM4401 based Fast Ethernet adapters (&man.bfe.4; driver) &hwlist.bge; &hwlist.cdce; Crystal Semiconductor CS89x0-based NICs (&man.cs.4; driver) &hwlist.cue; &hwlist.cxgb; &hwlist.dc; &hwlist.de; &hwlist.ed; &hwlist.em; &hwlist.ep; &hwlist.ex; &hwlist.fe; &hwlist.fxp; &hwlist.gem; &hwlist.hme; &hwlist.ie; &hwlist.igb; &hwlist.ixgb; &hwlist.kue; &hwlist.lge; &hwlist.msk; &hwlist.mxge; &hwlist.my; &hwlist.nfe; &hwlist.nge; &hwlist.nve; &hwlist.nxge; &hwlist.pcn; &hwlist.re; &hwlist.rl; &hwlist.rue; &hwlist.sf; &hwlist.sis; &hwlist.sk; &hwlist.sn; &hwlist.snc; &hwlist.ste; &hwlist.stge; &hwlist.ti; &hwlist.tl; SMC 83c17x (EPIC)-based Ethernet NICs (&man.tx.4; driver) &hwlist.txp; &hwlist.udav; &hwlist.vge; &hwlist.vr; &hwlist.vx; &hwlist.wb; &hwlist.xe; &hwlist.xl; Token Ring Interfaces &hwlist.oltr; FDDI Interfaces DEC DEFPA PCI (&man.fpa.4; driver) arch="i386">DEC DEFEA EISA (&man.fpa.4; driver) ATM Interfaces Midway-based ATM interfaces (&man.en.4; driver) FORE Systems, Inc. PCA-200E ATM PCI Adapters (hfa and &man.fatm.4; drivers) IDT NICStAR 77201/211-based ATM Adapters (&man.idt.4; driver) FORE Systems, Inc. HE155 and HE622 ATM interfaces (&man.hatm.4; driver) IDT77252-based ATM cards (&man.patm.4; driver) Wireless Network Interfaces Cisco/Aironet 802.11b wireless adapters (&man.an.4; driver) &hwlist.ath; &hwlist.awi; &hwlist.cnw; Intel PRO/Wireless 2100 MiniPCI network adapter (&man.ipw.4; driver) Intel PRO/Wireless 2200BG/2915ABG MiniPCI and 2225BG PCI network adapters (&man.iwi.4; driver) &hwlist.ral; Raytheon Raylink 2.4GHz wireless adapters (&man.ray.4; driver) &hwlist.rum; &hwlist.ural; Lucent Technologies WaveLAN/IEEE 802.11b wireless network adapters and workalikes using the Lucent Hermes, Intersil PRISM-II, Intersil PRISM-2.5, Intersil Prism-3, and Symbol Spectrum24 chipsets (&man.wi.4; driver) NCR / AT&T / Lucent Technologies WaveLan T1-speed ISA/radio LAN cards (&man.wl.4; driver) Intel PRO/Wireless 3945ABG MiniPCI network adapters (&man.wpi.4; driver) &hwlist.zyd; Miscellaneous Networks &hwlist.ce; &hwlist.cx; &hwlist.cp; &hwlist.ctau; Granch SBNI12 point-to-point communications adapters (&man.sbni.4; driver) Granch SBNI16 SHDSL modems (&man.sbsh.4; driver) &hwlist.cm; ISDN Interfaces AcerISDN P10 ISA PnP (experimental) Asuscom ISDNlink 128K ISA ASUSCOM P-IN100-ST-D (and other Winbond W6692-based cards) AVM A1 B1 ISA (tested with V2.0) B1 PCI (tested with V4.0) Fritz!Card classic Fritz!Card PnP Fritz!Card PCI Fritz!Card PCI, Version 2 T1 Creatix ISDN-S0 ISDN-S0 P&P Compaq Microcom 610 ISDN (Compaq series PSB2222I) ISA PnP Dr. Neuhaus Niccy Go@ and compatibles Dynalink IS64PPH and IS64PPH+ Eicon Diehl DIVA 2.0 and 2.02 ELSA ELSA PCC-16 QuickStep 1000pro ISA MicroLink ISDN/PCI QuickStep 1000pro PCI ITK ix1 Micro ( < V.3, non-PnP version ) Sedlbauer Win Speed Siemens I-Surf 2.0 TELEINT ISDN SPEED No.1 (experimental) Teles S0/8 S0/16 S0/16.3 S0/16.3 PnP 16.3c ISA PnP (experimental) Teles PCI-TJ Traverse Technologies NETjet-S PCI USRobotics Sportster ISDN TA intern Winbond W6692 based PCI cards Serial Interfaces PC standard 8250, 16450, and 16550-based serial ports (&man.sio.4; driver) &hwlist.uart; &hwlist.scc; AST 4 port serial card using shared IRQ ARNET serial cards (&man.ar.4; driver) ARNET 8 port serial card using shared IRQ ARNET (now Digiboard) Sync 570/i high-speed serial Boca multi-port serial cards Boca BB1004 4-Port serial card (Modems not supported) Boca IOAT66 6-Port serial card (Modems supported) Boca BB1008 8-Port serial card (Modems not supported) Boca BB2016 16-Port serial card (Modems supported) Comtrol Rocketport card (&man.rp.4; driver) Cyclades Cyclom-Y serial board (&man.cy.4; driver) STB 4 port card using shared IRQ DigiBoard intelligent serial cards (digi driver) PCI-Based multi-port serial boards (&man.puc.4; driver) Actiontech 56K PCI Avlab Technology, PCI IO 2S and PCI IO 4S Comtrol RocketPort 550 Decision Computers PCCOM 4-port serial and dual port RS232/422/485 Diva Serial (GSP) Multiport UART Dolphin Peripherals 4025/4035/4036 IC Book Labs Dreadnought 16x Lite and Pro Lava Computers 2SP-PCI/DSerial-PCI/Quattro-PCI/Octopus-550 Middle Digital, Weasle serial port Moxa Industio CP-114, Smartio C104H-PCI and C168H/PCI NEC PK-UG-X001 and PK-UG-X008 Netmos NM9835 PCI-2S-550 Oxford Semiconductor OX16PCI954 PCI UART Syba Tech SD-LAB PCI-4S2P-550-ECP SIIG Cyber I/O PCI 16C550/16C650/16C850 SIIG Cyber 2P1S PCI 16C550/16C650/16C850 SIIG Cyber 2S1P PCI 16C550/16C650/16C850 SIIG Cyber 4S PCI 16C550/16C650/16C850 SIIG Cyber Serial (Single and Dual) PCI 16C550/16C650/16C850 Syba Tech Ltd. PCI-4S2P-550-ECP Titan PCI-200H and PCI-800H US Robotics (3Com) 3CP5609 modem VScom PCI-400 and PCI-800 &hwlist.rc; &hwlist.sr; Specialix SI/XIO/SX multiport serial cards, with both the older SIHOST2.x and the enhanced (transputer based, aka JET) host cards (ISA, EISA and PCI) are supported. Note that the newer SX+ PCI cards are not currently supported. (&man.si.4; driver) Internel serial interfaces (&man.sio.4; driver) PC-9801 on-board PC-9821 2'nd CCU (flags 0x12000000) NEC PC-9861K, PC-9801-101 and Midori-Denshi MDC-926Rs (&man.sio.4; driver) COM2 (flags 0x01000000) COM3 (flags 0x02000000) NEC PC-9801-120 (&man.sio.4; driver) "flags 0x11000000" is necessary in kernel configuration. Microcore MC-16550, MC-16550II, MC-RS98 (&man.sio.4; driver) "flags 0x14000?01" is necessary in kernel configuration. Media Intelligent RSB-2000, RSB-3000 and AIWA B98-02 (&man.sio.4; driver) "flags 0x15000?01" is necessary in kernel configuration. Media Intelligent RSB-384 (&man.sio.4; driver) "flags 0x16000001" is necessary in kernel configuration. I-O DATA RSA-98III (&man.sio.4; driver) "flags 0x18000?01" is necessary in kernel configuration. Hayes ESP98 (&man.sio.4; driver) "options COM_ESP" and "flags 0x19000000" are necessary in kernel configuration. Sound Devices &hwlist.snd.ad1816; &hwlist.snd.als4000; &hwlist.snd.atiixp; &hwlist.snd.audiocs; &hwlist.snd.cmi; &hwlist.snd.cs4281; &hwlist.snd.csa; &hwlist.snd.ds1; &hwlist.snd.emu10k1; &hwlist.snd.emu10kx; &hwlist.snd.envy24; &hwlist.snd.envy24ht; &hwlist.snd.es137x; &hwlist.snd.ess; &hwlist.snd.fm801; &hwlist.snd.gusc; &hwlist.snd.hda; &hwlist.snd.ich; &hwlist.snd.maestro; &hwlist.snd.maestro3; &hwlist.snd.mss; &hwlist.snd.neomagic; &hwlist.snd.sbc; &hwlist.snd.solo; &hwlist.snd.spicds; &hwlist.snd.t4dwave; &hwlist.snd.via8233; &hwlist.snd.via82c686; &hwlist.snd.vibes; NEC PC-9801-73, 86 and compatibles (nss driver) NEC A-MATE internal sound Q-Vision WaveStar, WaveMaster NEC X-MATE, CanBe, ValueStar internal (mss driver) Creative Technologies SoundBlaster(98) (&man.sb.4; driver) I-O DATA CD-BOX (&man.sb.4; driver) MPU-401 and compatible interfaces (mpu driver) Q-Vision WaveStar Camera and Video Capture Devices &hwlist.bktr; Connectix QuickCam USB Devices A range of USB peripherals are supported; devices known to work are listed in this section. Owing to the generic nature of most USB devices, with some exceptions any device of a given class will be supported, even if not explicitly listed here. USB Ethernet adapters can be found in the section listing Ethernet interfaces. USB Bluetooth adapters can be found in Bluetooth section. &hwlist.ohci; &hwlist.uhci; USB 2.0 controllers using the EHCI interface (&man.ehci.4; driver) Hubs Keyboards (&man.ukbd.4; driver) Miscellaneous Assist Computer Systems PC Camera C-M1 ActiveWire I/O Board Creative Technology Video Blaster WebCam Plus D-Link DSB-R100 USB Radio (&man.ufm.4; driver) Mirunet AlphaCam Plus &hwlist.urio; &hwlist.umodem; Mice (&man.ums.4; driver) &hwlist.ulpt; &hwlist.ubsa; &hwlist.ubser; &hwlist.uftdi; &hwlist.uplcom; &hwlist.umct; &hwlist.uscanner; &hwlist.umass; Audio Devices (&man.uaudio.4; driver) &hwlist.uvisor; IEEE 1394 (Firewire) Devices &hwlist.fwohci; Serial Bus Protocol 2 (SBP-2) storage devices (&man.sbp.4; driver) Bluetooth Devices &hwlist.ng.bt3c; &hwlist.ng.ubt; Cryptographic Accelerators &hwlist.hifn; &hwlist.safe; &hwlist.ubsec; Miscellaneous FAX-Modem/PCCARD MELCO IGM-PCM56K/IGM-PCM56KH Nokia Card Phone 2.0 (gsm900/dcs1800 HSCSD terminal) Floppy drives (&man.fdc.4; driver) VGA-compatible video cards (&man.vga.4; driver) Information regarding specific video cards and compatibility with Xorg can be found at . Keyboards including: AT-style keyboards (&man.atkbd.4; driver) PS/2 keyboards (&man.atkbd.4; driver) Standard keyboards USB keyboards (&man.ukbd.4; driver) Pointing devices including: Bus mice and compatible devices (&man.mse.4; driver) PS/2 mice and compatible devices, including many laptop pointing devices (&man.psm.4; driver) Serial mice and compatible devices USB mice (&man.ums.4; driver) &man.moused.8; has more information on using pointing devices with &os;. Information on using pointing devices with Xorg can be found at . PC standard parallel ports (&man.ppc.4; driver) PC-9821 standard parallel ports (&man.ppc.4; driver) PC-compatible joysticks (&man.joy.4; driver) Joystick port of SoundBlaster(98) (&man.joy.4; driver) PHS Data Communication Card/PCCARD NTT DoCoMo P-in Comp@ct Panasonic KX-PH405 SII MC-P200 Xilinx XC6200-based reconfigurable hardware cards compatible with the HOT1 from Virtual Computers (xrpu driver). Power Management Controller of NEC PC-98 Note (pmc driver) OpenFirmware console (ofwcons driver)