If your Intel ethernet adapter is experiencing odd connectivity problems you can update the FreeBSD kernel module for your product to avoid some common problems. Generally this only applies to 1000Mbit/s or faster Intel ethernet adapters where the code is constantly being updated by the developers.

The version of FreeBSD being used will determine which source code you must compile. Current Supported FreeBSD versions are 10.0 and newer.

FreeBSD* Driver for Intel® Ethernet

  • The em driver supports all other gigabit network connections.

First identify your adapter.  Then follow the appropriate steps for building, installing, and configuring the appropriate driver.

Identifying Your Adapter

For information on how to identify your adapter, go to the Adapter & Driver ID Guide at:


For the latest Intel network drivers for FreeBSD, see:


NOTE: The Intel® 82562v 10/100 Network Connection only supports 10/100 connectivity.

Using the EM Base Driver


Building and Installation

Speed and Duplex Configuration

Additional Configurations

Known Limitations



This file describes the FreeBSD* driver for Intel® Ethernet. This driver has been developed for use with all community-supported versions of FreeBSD.

For questions related to hardware requirements, refer to the documentation supplied with your Gigabit adapter. All hardware requirements listed apply for use with FreeBSD.

Building and Installation

NOTE: This driver package is to be used only as a standalone archive and the user should not attempt to incorporate it into the kernel source tree.

In the instructions below, x.x.x is the driver version as indicated in the name of the driver tar file.

  1. Move the base driver tar file to the directory of your choice. For example, use /home/username/em or /usr/local/src/em.

  2. Untar/unzip the archive:

    tar xzvf em-x.x.x.tar.gz

    This will create an em-x.x.x directory.

  3. To create a loadable module, perform the following steps.

    1. To compile the module:

      cd em-x.x.x

    2. To install the compiled module to the system directory:

      make install

    3. If you want the driver to load automatically when the system is booted:

      Edit /boot/loader.conf, and add this line:


  4. To assign an IP address to the interface, enter the following:

  5. Verify that the interface works. Enter the following, where is the IP address for another machine on the same subnet as the interface that is being tested:

  6. To configure the IP address to remain after reboot, edit /etc/rc.conf, and create the appropriate ifconfig_em entry:

    Example usage:
    ifconfig_em0=”inet netmask″

    NOTE: For assistance, see the ifconfig man page.

Speed and Duplex Configuration

By default, the adapter auto-negotiates the speed and duplex of the connection. If there is a specific need, the ifconfig utility can be used to configure the speed and duplex settings on the adapter. Example usage:

ifconfig emX media 100baseTX mediaopt full-duplex

NOTE: Only use mediaopt to set the driver to full-duplex. If mediaopt is not specified and you are not running at gigabit speed, the driver defaults to half-duplex.

If the interface is currently forced to 100 full duplex, you must use this command to change to half duplex:

ifconfig emX media 100baseTX -mediaopt full-duplex

This driver supports the following media type options:

Media Type Description
autoselect Enables auto-negotiation for speed and duplex.
10baseT/UTP Sets speed to 10 Mbps. Use the ifconfig mediaopt option to select full-duplex mode.
100baseTX Sets speed to 100 Mbps. Use the ifconfig mediaopt option to select full-duplex mode.
1000baseTX Sets speed to 1000 Mbps. In this case, the driver supports only full-duplex mode.
1000baseSX Sets speed to 1000 Mbps. In this case, the driver supports only full-duplex mode.

For more information on the ifconfig utility, see the ifconfig man page.

If a update of a Intel kernel module is required and problems are encountered, please log into myCP and open a ticket.