How do I determine support for $xx?

Matthew Seaman matthew at
Fri Jun 8 16:27:40 UTC 2012

On 08/06/2012 16:07, Rick Miller wrote:
> If this question is better suited for a different list please let me
> know.  Simply stated, my question is 'What is the best source for
> identifying supported hardware?'.  Having said that, allow me to pose
> an example...
> I've attempted to identify if various ethernet controllers are
> supported by FreeBSD and the drivers.  I used the hardware notes and
> manpages for the respective ethernet drivers.  The information between
> the two sometimes seems inconsistent and/or inaccurate.  For example,
> the BCM5719 and BCM5720 are unsupported in FreeBSD at this time.  The
> hardware notes at do not specify these controllers are
> supported.  Inspection of the bge(4) manpage implies that the
> controllers are supported as seen in the description section where it
> states:
> "The bge driver provides support for various NICs based on the
> Broadcom BCM570x, 571x, 572x, 575x, 576x, 578x, 5776x and 5778x
> Gigabit Ethernet controller chips and the 590x and 5779x Fast Ethernet
> controller chips."

The Hardware notes do not contain definitive lists of all of the
hardware that is supported.  Support for NICs generally goes by what
chipset is used in the NIC, but may be confounded by some manufacturers
using unusual firmware.

If a particular device is listed in a man page, that indicates that
device has been tested and is known to work.

If the source code makes reference to a specific device, then generally
that device will work too: part working or in-progress code is not
generally committed to the FreeBSD sources.

If a devices' chipset is listed in a man page, but there's no reference
to a specific device, then the device stands a good chance of working.
If such a device doesn't work, then frequently it can be fixed quite
easily by specifying appropriate device quirks.

> I browsed the source and found many references to the BCM5719 and
> BCM5720.  However, I am unfamiliar enough with driver programming in C
> to identify if a controller is fully supported.
> Also, I attempted to identify whether the Intel i350 is supported.
> It's not listed in the hardware notes or the igb(4) manpage so I
> suspect it is not supported.  When I view the igb source, the i350 is
> referenced numerous times.  Are these references simply code in
> preparation for support of the i350?

As I said above, this would be unusual.  The development process in
FreeBSD nowadays is to work on projects (eg. the addition of a driver
for a new piece of hardware) off-line and only commit the code to the
mainline sources once it is basically complete and ready for exposure to
a wider audience for testing.

Ultimately the best way to tell if any particular device is supported is
to try it.  There are plenty of USB-stick images of FreeBSD or PC-BSD
readily downloadable so you can test boot up a candidate machine without
committing to install the OS on it.  While most manufacturers won't
"support" FreeBSD per-se, if you can find the right sort of techy person
to talk to, they'll often tip you off about whether FreeBSD is known to
work or not.

Hardware from big-name suppliers (Dell, HP and the like for complete
systems; Intel, Broadcomm for NICs) is a priority for support although
it may take a few months for the code to become generally available for
the newest bits of kit.  In fact, so long as the components you want to
use have been on the market for around 6 months (very approximately) and
they are aimed at use in server hardware rather than personal or casual
use, the chances are good that they will just work in FreeBSD.



Dr Matthew J Seaman MA, D.Phil.

-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 267 bytes
Desc: OpenPGP digital signature
Url :

More information about the freebsd-questions mailing list