---
title: FreeBSD X.0 Hardware Notes
sidenav: download
---

= FreeBSD {release} Hardware Notes
:doctype: article
:toc: macro
:toclevels: 1
:icons: font
:sectnums:
:source-highlighter: rouge
:experimental:

:release: 13.0

toc::[]

[[intro]]
== Introduction

This document contains the hardware compatibility notes for FreeBSD {release}.
It lists the hardware platforms supported by FreeBSD, as well as the various types of hardware devices (storage controllers, network interfaces, and so on), along with known working instances of these devices.

[[proc]]
== Supported Processors and System Boards

This section provides some architecture-specific information about the specific processors and systems that are supported by each architecture.

[[proc-amd64]]
=== amd64

Since mid-2003 FreeBSD/amd64 has supported the AMD64 ("Hammer") and Intel(R) 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 FreeBSD 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 FreeBSD/amd64 supports them both.

As of this writing, the following processors are supported:

* AMD Athlon(TM)64 ("Clawhammer").
* AMD Opteron(TM) ("Sledgehammer").
* AMD Sempron(TM).
* AMD Turion(TM).
* AMD Phenom(TM).
* All multi-core Intel(R) Xeon(TM) processors except Sossaman have EM64T support.
* The single-core Intel(R) Xeon(TM) processors "Nocona", "Irwindale", "Potomac", and "Cranford" have EM64T support.
* All Intel(R) Core(TM) 2 (not Core(TM) Duo) and later processors
* All Intel(R) Core(TM) i range of processors
* All Intel(R) Pentium(R) D processors
* All Intel(R) Centrino(R) Duo and Centrino(R) Pro platforms
* Intel(R) Pentium(R) 4s and Celeron(R) Ds using the "Cedar Mill" core have EM64T support.
* Some Intel(R) Pentium(R) 4s and Celeron(R) Ds using the "Prescott" core have EM64T support. See the http://processorfinder.intel.com[Intel Processor Spec Finder] for the definitive answer about EM64T support in Intel processors.

Intel(R) EM64T is an extended version of IA-32 (x86) and different from Intel(R) IA-64 (Itanium) architecture.
Some of Intel(R)'s old documentation refers to Intel(R) EM64T as "64-bit extension technology" or "IA-32e".

Both Uniprocessor (UP) and Symmetric Multi-processor (SMP) configurations are supported.

In many respects, FreeBSD/amd64 is similar to FreeBSD/i386, in terms of drivers supported.
Generally, drivers that already function correctly on other 64-bit platforms should work.

[[proc-i386]]
=== i386

FreeBSD/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 FreeBSD.
Nevertheless, some general guidelines are presented here.

Almost all i386(TM)-compatible processors with a floating point unit are supported.
All Intel(R) processors beginning with the 80486 are supported, including the 80486, Pentium(R), Pentium(R) Pro, Pentium(R) II, Pentium(R) III, Pentium(R) 4, and variants thereof, such as the Xeon(TM) and Celeron(R) processors.
All i386(TM)-compatible AMD processors are also supported, including the Am486(R), Am5x86(R), K5, AMD-K6(R) (and variants), AMD Athlon(TM) (including Athlon-MP, Athlon-XP, Athlon-4, and Athlon Thunderbird), and AMD Duron(TM) processors.
The AMD &Eacute;lan SC520 embedded processor is supported.
The Transmeta Crusoe is recognized and supported, as are i386(TM)-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 buses 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 FreeBSD, although in some cases, BIOS or motherboard bugs may generate some problems.
Perusal of the archives of the link:{freebsd-smp} may yield some clues.

FreeBSD will take advantage of SMT (Symmetric MultiThreading, also known as HyperThreading on Intel(R) CPUs) on the supported CPUs.
The `GENERIC` kernel which is installed by default will automatically detect the additional logical processors.
The default FreeBSD scheduler recognizes processor topology on the system and selects logical and physical processors to obtain optimal performance.
The man:smp[4] manual page has more details.

FreeBSD 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 FreeBSD which may be used; consult the man:pae[4] manual page for more details.

FreeBSD 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 FreeBSD to work around hardware bugs or other oddities.

Most modern laptops (as well as many desktops) use the Advanced Configuration and Power Management (ACPI) standard.
FreeBSD supports ACPI via the ACPI Component Architecture reference implementation from Intel(R), 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`:

[.programlisting]
....
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 http://acpi.sourceforge.net/dsdt/index.php[DSDT] section of the http://acpi.sourceforge.net/[ACPI4Linux] project Web site.
FreeBSD can use these DSDTs to override the DSDT provided by the BIOS; see the man:acpi[4] manual page for more information.

[[proc-powerpc]]
=== powerpc

All Apple PowerPC machines with built-in USB are supported, as well a limited selection of non-Apple machines, including KVM on POWER7

SMP is supported on all systems with more than 1 processor.

// The "Supported Devices" section of the release notes.
// Generally processor-independent, with conditional text
// inclusion handling any architecture-dependent text.

// Within each subsection describing a class of hardware
// (i.e. Ethernet interfaces), list broad groups of devices
// alphabetically as paragraphs sorted alphabetically (frequently
// these groups will be arranged by manufacturer, i.e. 3Com
// Ethernet interfaces).

// Where applicable, a "Miscellaneous" section may follow all
// other named sections.

// These guidelines are not hard-and-fast rules, and exceptions
// will occur.  Following these guidelines (vague as they may be)
// is highly recommended to try to keep the formatting of
// this section consistent.

// We give manpage references using the &man entities where
// possible.  If a driver has no manpage (and consequently no
// &man entity, we simply give the name of the driver).
// Please avoid doing &man entity conversions unless you
// know for sure that an entity and manpage exist; sweeps through
// this file to fix "missed" conversions are likely to break the
// build.

[[support]]
== Supported Devices

This section describes the devices currently known to be supported by FreeBSD.
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 FreeBSD base distribution (most should), it is referenced here.
Information on specific models of supported devices, controllers, etc. can be found in the manual pages.

[NOTE]
====
The device lists in this document are being generated automatically from FreeBSD manual pages.
This means that some devices, which are supported by multiple drivers, may appear multiple times.
====

[[disk]]
=== Disk Controllers

[amd64, i386, sparc64] IDE/ATA controllers (man:ata[4] driver)

&hwlist.aac;

&hwlist.adv;

&hwlist.adw;

&hwlist.aha;

&hwlist.ahc;

&hwlist.ahci;

&hwlist.ahd;

&hwlist.man4.i386/aic;

&hwlist.amr;

&hwlist.arcmsr;

&hwlist.bt;

&hwlist.ciss;

&hwlist.dpt;

[NOTE]
====
[amd64, i386] Booting from these controllers is supported.
EISA adapters are not supported.
====

&hwlist.esp;

&hwlist.hpt27xx;

&hwlist.hptiop;

&hwlist.hptmv;

&hwlist.hptrr;

&hwlist.ida;

&hwlist.iir;

&hwlist.ips;

&hwlist.isci;

&hwlist.isp;

&hwlist.mfi;

&hwlist.mlx;

[NOTE]
====
[amd64, i386] Booting from these controllers is supported.
EISA adapters are not supported.
====

&hwlist.mly;

&hwlist.mpr;

&hwlist.mps;

&hwlist.mpt;

&hwlist.mrsas;

&hwlist.mvs;

&hwlist.ncr;

&hwlist.ncv;

&hwlist.nsp;

&hwlist.ocs_fc;

&hwlist.pms;

&hwlist.pst;

&hwlist.siis;

&hwlist.stg;

&hwlist.sym;

&hwlist.trm;

&hwlist.twa;

&hwlist.twe;

&hwlist.tws;

&hwlist.vpo;

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 package: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])
* ATAPI IDE interface (man:acd[4])

[[ethernet]]
=== Ethernet Interfaces

&hwlist.ae;

&hwlist.age;

&hwlist.ale;

&hwlist.aue;

&hwlist.axe;

ASIX Electronics AX88178A/AX88179 USB Gigabit Ethernet adapters (man:axge[4] driver)

&hwlist.bce;

[amd64, i386] Broadcom BCM4401 based Fast Ethernet adapters (man:bfe[4] driver)

&hwlist.bge;

&hwlist.bnxt;

&hwlist.bxe;

&hwlist.cas;

&hwlist.cdce;

[amd64, i386] Crystal Semiconductor CS89x0-based NICs (man:cs[4] driver)

&hwlist.cue;

&hwlist.cxgb;

&hwlist.cxgbe;

&hwlist.dc;

&hwlist.de;

&hwlist.ed;

&hwlist.em;

&hwlist.man4.i386/ep;

Agere ET1310 Gigabit Ethernet adapters (man:et[4] driver)

&hwlist.man4.i386/ex;

&hwlist.man4.i386/fe;

&hwlist.fxp;

&hwlist.gem;

&hwlist.hme;

&hwlist.ipheth;

&hwlist.ixgbe;

&hwlist.ixl;

&hwlist.jme;

&hwlist.kue;

&hwlist.lge;

&hwlist.mlx4en;

&hwlist.mlx5en;

&hwlist.msk;

&hwlist.mxge;

&hwlist.my;

&hwlist.nfe;

&hwlist.nge;

&hwlist.oce;

&hwlist.pcn;

&hwlist.qlxgb;

&hwlist.qlxgbe;

&hwlist.qlxge;

&hwlist.re;

&hwlist.rl;

&hwlist.rue;

&hwlist.sf;

&hwlist.sfxge;

&hwlist.sge;

&hwlist.sis;

&hwlist.sk;

&hwlist.smsc;

&hwlist.sn;

&hwlist.ste;

&hwlist.stge;

&hwlist.ti;

&hwlist.tl;

[amd64, i386] SMC 83c17x (EPIC)-based Ethernet NICs (man:tx[4] driver)

&hwlist.txp;

&hwlist.udav;

&hwlist.urndis;

&hwlist.vge;

&hwlist.vr;

&hwlist.vte;

&hwlist.man4.i386/vx;

&hwlist.wb;

&hwlist.xe;

&hwlist.xl;

[[fddi]]
=== FDDI Interfaces

[i386] DEC DEFPA PCI (man:fpa[4] driver)

[i386] DEC DEFEA EISA (man:fpa[4] driver)

[[wlan]]
=== Wireless Network Interfaces

[amd64, i386] Cisco/Aironet 802.11b wireless adapters (man:an[4] driver)

&hwlist.ath;

&hwlist.bwi;

&hwlist.bwn;

[i386, amd64] Intel PRO/Wireless 2100 MiniPCI network adapter (man:ipw[4] driver)

[i386, amd64] Intel PRO/Wireless 2200BG/2915ABG MiniPCI and 2225BG PCI network adapters (man:iwi[4] driver)

[i386, amd64] Intel Dual Band Wireless AC 3160/7260/7265 IEEE 802.11ac network adapters (man:iwm[4] driver)

[i386, amd64] Intel Wireless WiFi Link 4965AGN IEEE 802.11n PCI network adapters (man:iwn[4] driver)

[i386, amd64] Marvell Libertas IEEE 802.11b/g PCI network adapters (man:malo[4] driver)

Marvell 88W8363 IEEE 802.11n wireless network adapters (man:mwl[4] driver)

&hwlist.otus;

&hwlist.ral;

&hwlist.rsu;

Realtek RTL8192C, RTL8188E, RTL8812A and RTL8821A based PCIe IEEE 802.11b/g/n wireless network adapters (man:rtwn[4] driver)

&hwlist.rum;

&hwlist.run;

&hwlist.uath;

&hwlist.upgt;

&hwlist.ural;

&hwlist.urtw;

[amd64, i386] 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)

[i386, amd64] Intel PRO/Wireless 3945ABG MiniPCI network adapters (man:wpi[4] driver)

&hwlist.zyd;

[[misc-network]]
=== Miscellaneous Networks

&hwlist.man4.i386/ce;

&hwlist.man4.i386/cx;

&hwlist.man4.i386/cp;

&hwlist.man4.i386/ctau;

[[serial]]
=== Serial Interfaces

[amd64, i386] "PC standard" 8250, 16450, and 16550-based serial ports (man:sio[4] driver)

&hwlist.uart;

&hwlist.scc;

[amd64, i386] AST 4 port serial card using shared IRQ

* ARNET 8 port serial card using shared IRQ
* ARNET (now Digiboard) Sync 570/i high-speed serial

[i386] 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)

[i386] Comtrol Rocketport card (man:rp[4] driver)

[i386] Cyclades Cyclom-Y serial board (man:cy[4] driver)

[i386] STB 4 port card using shared IRQ

[amd64, i386] PCI-Based multi-port serial boards (man:puc[4] driver)

* [amd64, i386] Actiontech 56K PCI
* [amd64, i386] Avlab Technology, PCI IO 2S and PCI IO 4S
* [amd64, i386] Comtrol RocketPort 550
* [amd64, i386] Decision Computers PCCOM 4-port serial and dual port RS232/422/485
* [amd64, i386] Dolphin Peripherals 4025/4035/4036
* [amd64, i386] IC Book Labs Dreadnought 16x Lite and Pro
* [amd64, i386] Lava Computers 2SP-PCI/DSerial-PCI/Quattro-PCI/Octopus-550
* [amd64, i386] Middle Digital, Weasle serial port
* [amd64, i386] Moxa Industio CP-114, Smartio C104H-PCI and C168H/PCI
* [amd64, i386] NEC PK-UG-X001 and PK-UG-X008
* [amd64, i386] Netmos NM9835 PCI-2S-550
* [amd64, i386] Oxford Semiconductor OX16PCI954 PCI UART
* [amd64, i386] Syba Tech SD-LAB PCI-4S2P-550-ECP
* [amd64, i386] SIIG Cyber I/O PCI 16C550/16C650/16C850
* [amd64, i386] SIIG Cyber 2P1S PCI 16C550/16C650/16C850
* [amd64, i386] SIIG Cyber 2S1P PCI 16C550/16C650/16C850
* [amd64, i386] SIIG Cyber 4S PCI 16C550/16C650/16C850
* [amd64, i386] SIIG Cyber Serial (Single and Dual) PCI 16C550/16C650/16C850
* [amd64, i386] Syba Tech Ltd. PCI-4S2P-550-ECP
* [amd64, i386] Titan PCI-200H and PCI-800H
* [amd64, i386] US Robotics (3Com) 3CP5609 modem
* [amd64, i386] VScom PCI-400 and PCI-800

&hwlist.rc;

[[sound]]
=== Sound Devices

&hwlist.snd_ad1816;

&hwlist.snd_als4000;

&hwlist.snd_atiixp;

&hwlist.man4.sparc64/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_hdspe;

&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;

[[camera]]
=== Camera and Video Capture Devices

&hwlist.bktr;

[i386] Connectix QuickCam

[[usb]]
=== USB Devices

[amd64, i386] 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.

[NOTE]
====
[amd64, i386] USB Ethernet adapters can be found in the section listing <<ethernet,Ethernet interfaces>>.
====

[NOTE]
====
[amd64, i386] USB Bluetooth adapters can be found in <<bluetooth,Bluetooth>> section.
====

&hwlist.ohci;

&hwlist.uhci;

[amd64, i386] USB 2.0 controllers using the EHCI interface (man:ehci[4] driver)

[amd64, i386] Hubs

[amd64, i386] Keyboards (man:ukbd[4] driver)

[amd64, i386] 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;

[amd64, i386] Mice (man:ums[4] driver)

&hwlist.ulpt;

&hwlist.ubsa;

&hwlist.ubser;

&hwlist.uftdi;

&hwlist.uplcom;

&hwlist.umct;

[amd64, i386] Audio Devices (man:uaudio[4] driver)

&hwlist.uvisor;

[[firewire]]
=== IEEE 1394 (Firewire) Devices

&hwlist.fwohci;

[amd64, i386, sparc64] Serial Bus Protocol 2 (SBP-2) storage devices (man:sbp[4] driver)

[[bluetooth]]
=== Bluetooth Devices

&hwlist.ng_bt3c;

&hwlist.ng_ubt;

[[crypto-accel]]
=== Cryptographic Accelerators

&hwlist.hifn;

&hwlist.safe;

&hwlist.ubsec;

[[misc]]
=== Miscellaneous

[amd64, i386] FAX-Modem/PCCARD

* MELCO IGM-PCM56K/IGM-PCM56KH
* Nokia Card Phone 2.0 (gsm900/dcs1800 HSCSD terminal)

[amd64, i386] Floppy drives (man:fdc[4] driver)

[amd64, i386] VGA-compatible video cards (man:vga[4] driver)

[NOTE]
====
Information regarding specific video cards and compatibility with Xorg can be found at http://www.x.org/[http://www.x.org/].
====

[amd64, i386] Keyboards including:

* [i386] AT-style keyboards (man:atkbd[4] driver)
* [amd64, i386] PS/2 keyboards (man:atkbd[4] driver)
* [amd64, i386] USB keyboards (man:ukbd[4] driver)

[amd64, i386] Pointing devices including:

* [amd64, i386] Bus mice and compatible devices (man:mse[4] driver)
* [amd64, i386] PS/2 mice and compatible devices, including many laptop pointing devices (man:psm[4] driver)
* Serial mice and compatible devices
* [amd64, i386] USB mice (man:ums[4] driver)

[NOTE]
====
man:moused[8] has more information on using pointing devices with FreeBSD.
Information on using pointing devices with Xorg can be found at http://www.x.org/[http://www.x.org/].
====

[amd64, i386] "PC standard" parallel ports (man:ppc[4] driver)

[i386, amd64] PC-compatible joysticks (man:joy[4] driver)

[i386] PHS Data Communication Card/PCCARD

* NTT DoCoMo P-in Comp@ct
* Panasonic KX-PH405
* SII MC-P200

[i386] Xilinx XC6200-based reconfigurable hardware cards compatible with the HOT1 from http://www.vcc.com/[Virtual Computers] (xrpu driver).
