xref: /freebsd/sys/dev/e1000/README (revision 8cfa0ad26610f9c23d9b90cc27591a988f79aa94)
18cfa0ad2SJack F Vogel$FreeBSD$
28cfa0ad2SJack F VogelFreeBSD* Driver for Intel Network Connection
38cfa0ad2SJack F Vogel=============================================
48cfa0ad2SJack F Vogel
58cfa0ad2SJack F VogelMay 30, 2007
68cfa0ad2SJack F Vogel
78cfa0ad2SJack F Vogel
88cfa0ad2SJack F VogelContents
98cfa0ad2SJack F Vogel========
108cfa0ad2SJack F Vogel
118cfa0ad2SJack F Vogel- Overview
128cfa0ad2SJack F Vogel- Identifying Your Adapter
138cfa0ad2SJack F Vogel- Building and Installation
148cfa0ad2SJack F Vogel- Speed and Duplex Configuration
158cfa0ad2SJack F Vogel- Additional Configurations
168cfa0ad2SJack F Vogel- Known Limitations
178cfa0ad2SJack F Vogel- Support
188cfa0ad2SJack F Vogel- License
198cfa0ad2SJack F Vogel
208cfa0ad2SJack F Vogel
218cfa0ad2SJack F VogelOverview
228cfa0ad2SJack F Vogel========
238cfa0ad2SJack F Vogel
248cfa0ad2SJack F VogelThis file describes the FreeBSD* driver for Intel Network Connection.
258cfa0ad2SJack F VogelThis driver has been developed for use with FreeBSD, Release 7.x.
268cfa0ad2SJack F Vogel
278cfa0ad2SJack F VogelFor questions related to hardware requirements, refer to the documentation
288cfa0ad2SJack F Vogelsupplied with your Gigabit adapter. All hardware requirements listed
298cfa0ad2SJack F Vogelapply to use with FreeBSD.
308cfa0ad2SJack F Vogel
318cfa0ad2SJack F Vogel
328cfa0ad2SJack F VogelIdentifying Your Adapter
338cfa0ad2SJack F Vogel========================
348cfa0ad2SJack F Vogel
358cfa0ad2SJack F VogelFor information on how to identify your adapter, go to the Adapter &
368cfa0ad2SJack F VogelDriver ID Guide at:
378cfa0ad2SJack F Vogel
388cfa0ad2SJack F Vogelhttp://support.intel.com/support/network/sb/cs-012904.htm
398cfa0ad2SJack F Vogel
408cfa0ad2SJack F Vogel
418cfa0ad2SJack F VogelFor the latest Intel network drivers for FreeBSD, see:
428cfa0ad2SJack F Vogel
438cfa0ad2SJack F Vogelhttp://downloadfinder.intel.com/scripts-df-external/support_intel.aspx
448cfa0ad2SJack F Vogel
458cfa0ad2SJack F Vogel
468cfa0ad2SJack F VogelNOTE: Mobile adapters are not fully supported.
478cfa0ad2SJack F VogelNOTE: The Intel(R) 82562v 10/100 Network Connection only provides 10/100
488cfa0ad2SJack F Vogelsupport.
498cfa0ad2SJack F Vogel
508cfa0ad2SJack F VogelBuilding and Installation
518cfa0ad2SJack F Vogel=========================
528cfa0ad2SJack F Vogel
538cfa0ad2SJack F VogelNOTE: The driver can be installed as a dynamic loadable kernel module or
548cfa0ad2SJack F Vogel      compiled into the kernel. You must have kernel sources installed in
558cfa0ad2SJack F Vogel      order to compile the driver module.
568cfa0ad2SJack F Vogel
578cfa0ad2SJack F VogelIn the instructions below, x.x.x is the driver version as indicated in the
588cfa0ad2SJack F Vogelname of the driver tar file.
598cfa0ad2SJack F Vogel
608cfa0ad2SJack F Vogel1. Move the base driver tar file to the directory of your choice. For
618cfa0ad2SJack F Vogel   example, use /home/username/em or /usr/local/src/em.
628cfa0ad2SJack F Vogel
638cfa0ad2SJack F Vogel2. Untar/unzip the archive:
648cfa0ad2SJack F Vogel
658cfa0ad2SJack F Vogel        tar xzvf em-x.x.x.tar.gz
668cfa0ad2SJack F Vogel
678cfa0ad2SJack F Vogel   This will create an em-x.x.x directory.
688cfa0ad2SJack F Vogel
698cfa0ad2SJack F Vogel3. To create a loadable module, perform the following steps.
708cfa0ad2SJack F Vogel   NOTE: To compile the driver into the kernel, go directly to step 4.
718cfa0ad2SJack F Vogel
728cfa0ad2SJack F Vogel        a. To compile the module
738cfa0ad2SJack F Vogel
748cfa0ad2SJack F Vogel                  cd em-x.x.x
758cfa0ad2SJack F Vogel                  make
768cfa0ad2SJack F Vogel
778cfa0ad2SJack F Vogel        b. To install the compiled module to the system directory:
788cfa0ad2SJack F Vogel
798cfa0ad2SJack F Vogel                  make install
808cfa0ad2SJack F Vogel
818cfa0ad2SJack F Vogel        c. If you want the driver to load automatically when the system is booted:
828cfa0ad2SJack F Vogel
838cfa0ad2SJack F Vogel              1. Edit /boot/loader.conf, and add the following line:
848cfa0ad2SJack F Vogel
858cfa0ad2SJack F Vogel                  if_em_load="YES"
868cfa0ad2SJack F Vogel
878cfa0ad2SJack F Vogel4. To compile the driver into the kernel, enter:
888cfa0ad2SJack F Vogel
898cfa0ad2SJack F Vogel        cd em-x.x.x/src
908cfa0ad2SJack F Vogel        cp *.[ch] /usr/src/sys/dev/em
918cfa0ad2SJack F Vogel
928cfa0ad2SJack F Vogel        Edit the kernel configuration file (i.e., GENERIC or MYKERNEL) in
938cfa0ad2SJack F Vogel        /usr/src/sys/i386/conf, and ensure the following line is present:
948cfa0ad2SJack F Vogel
958cfa0ad2SJack F Vogel        device em
968cfa0ad2SJack F Vogel
978cfa0ad2SJack F Vogel        Compile and install the kernel. The system must be rebooted for the
988cfa0ad2SJack F Vogel        kernel updates to take effect. For additional information on compiling
998cfa0ad2SJack F Vogel        the kernel, consult the FreeBSD operating system documentation.
1008cfa0ad2SJack F Vogel
1018cfa0ad2SJack F Vogel5. To assign an IP address to the interface, enter the following:
1028cfa0ad2SJack F Vogel
1038cfa0ad2SJack F Vogel        ifconfig em<interface_num> <IP_address>
1048cfa0ad2SJack F Vogel
1058cfa0ad2SJack F Vogel6. Verify that the interface works. Enter the following, where <IP_address>
1068cfa0ad2SJack F Vogel   is the IP address for another machine on the same subnet as the interface
1078cfa0ad2SJack F Vogel   that is being tested:
1088cfa0ad2SJack F Vogel
1098cfa0ad2SJack F Vogel        ping <IP_address>
1108cfa0ad2SJack F Vogel
1118cfa0ad2SJack F Vogel7. To configure the IP address to remain after reboot, edit /etc/rc.conf,
1128cfa0ad2SJack F Vogel   and create the appropriate ifconfig_em<interface_num>entry:
1138cfa0ad2SJack F Vogel
1148cfa0ad2SJack F Vogel        ifconfig_em<interface_num>="<ifconfig_settings>"
1158cfa0ad2SJack F Vogel
1168cfa0ad2SJack F Vogel   Example usage:
1178cfa0ad2SJack F Vogel
1188cfa0ad2SJack F Vogel        ifconfig_em0="inet 192.168.10.1 netmask 255.255.255.0"
1198cfa0ad2SJack F Vogel
1208cfa0ad2SJack F Vogel   NOTE: For assistance, see the ifconfig man page.
1218cfa0ad2SJack F Vogel
1228cfa0ad2SJack F Vogel
1238cfa0ad2SJack F VogelSpeed and Duplex Configuration
1248cfa0ad2SJack F Vogel==============================
1258cfa0ad2SJack F Vogel
1268cfa0ad2SJack F VogelBy default, the adapter auto-negotiates the speed and duplex of the
1278cfa0ad2SJack F Vogelconnection. If there is a specific need, the ifconfig utility can be used to
1288cfa0ad2SJack F Vogelconfigure the speed and duplex settings on the adapter. Example usage:
1298cfa0ad2SJack F Vogel
1308cfa0ad2SJack F Vogel        ifconfig em<interface_num> <IP_address> media 100baseTX mediaopt
1318cfa0ad2SJack F Vogel            full-duplex
1328cfa0ad2SJack F Vogel
1338cfa0ad2SJack F Vogel   NOTE: Only use mediaopt to set the driver to full-duplex. If mediaopt is
1348cfa0ad2SJack F Vogel         not specified and you are not running at gigabit speed, the driver
1358cfa0ad2SJack F Vogel         defaults to half-duplex.
1368cfa0ad2SJack F Vogel
1378cfa0ad2SJack F VogelIf the interface is currently forced to 100 full duplex, in order to change
1388cfa0ad2SJack F Vogelto half duplex you must use this command:
1398cfa0ad2SJack F Vogel
1408cfa0ad2SJack F Vogel        ifconfig em<interface_num> <IP_address> media 100baseTX -mediaopt
1418cfa0ad2SJack F Vogel            full-duplex
1428cfa0ad2SJack F Vogel
1438cfa0ad2SJack F Vogel
1448cfa0ad2SJack F VogelThis driver supports the following media type options:
1458cfa0ad2SJack F Vogel
1468cfa0ad2SJack F Vogel   autoselect      -  Enables auto-negotiation for speed and duplex.
1478cfa0ad2SJack F Vogel
1488cfa0ad2SJack F Vogel   10baseT/UTP     -  Sets speed to 10 Mbps. Use the ifconfig mediaopt
1498cfa0ad2SJack F Vogel                      option to select full-duplex mode.
1508cfa0ad2SJack F Vogel
1518cfa0ad2SJack F Vogel   100baseTX       -  Sets speed to 100 Mbps. Use the ifconfig mediaopt
1528cfa0ad2SJack F Vogel                      option to select full-duplex mode.
1538cfa0ad2SJack F Vogel
1548cfa0ad2SJack F Vogel   1000baseTX      -  Sets speed to 1000 Mbps. In this case, the driver
1558cfa0ad2SJack F Vogel                      supports only full-duplex mode.
1568cfa0ad2SJack F Vogel
1578cfa0ad2SJack F Vogel   1000baseSX      -  Sets speed to 1000 Mbps. In this case, the driver
1588cfa0ad2SJack F Vogel                      supports only full-duplex mode.
1598cfa0ad2SJack F Vogel
1608cfa0ad2SJack F VogelFor more information on the ifconfig utility, see the ifconfig man page.
1618cfa0ad2SJack F Vogel
1628cfa0ad2SJack F Vogel
1638cfa0ad2SJack F VogelAdditional Configurations
1648cfa0ad2SJack F Vogel=========================
1658cfa0ad2SJack F Vogel
1668cfa0ad2SJack F VogelThe driver supports Transmit/Receive Checksum Offload and Jumbo Frames on
1678cfa0ad2SJack F Vogelall but the 82542-based adapters.  For specific adapters, refer to the
1688cfa0ad2SJack F VogelIdentifying Your Adapter section.
1698cfa0ad2SJack F Vogel
1708cfa0ad2SJack F Vogel  Jumbo Frames
1718cfa0ad2SJack F Vogel  ------------
1728cfa0ad2SJack F Vogel  To enable Jumbo Frames, use the ifconfig utility to set the Maximum
1738cfa0ad2SJack F Vogel  Transport Unit (MTU) frame size above its default of 1500 bytes.
1748cfa0ad2SJack F Vogel
1758cfa0ad2SJack F Vogel  The Jumbo Frames MTU range for Intel Adapters is 1500 to 16110. To modify
1768cfa0ad2SJack F Vogel  the setting, enter the following:
1778cfa0ad2SJack F Vogel
1788cfa0ad2SJack F Vogel        ifconfig em<interface_num> <hostname or IP address> mtu 9000
1798cfa0ad2SJack F Vogel
1808cfa0ad2SJack F Vogel  To confirm the MTU used between two specific devices, use:
1818cfa0ad2SJack F Vogel
1828cfa0ad2SJack F Vogel        route get <destination_IP_address>
1838cfa0ad2SJack F Vogel
1848cfa0ad2SJack F Vogel  Notes:
1858cfa0ad2SJack F Vogel
1868cfa0ad2SJack F Vogel  - Only enable Jumbo Frames if your network infrastructure supports them.
1878cfa0ad2SJack F Vogel
1888cfa0ad2SJack F Vogel  - To enable Jumbo Frames, increase the MTU size on the interface beyond
1898cfa0ad2SJack F Vogel    1500.
1908cfa0ad2SJack F Vogel
1918cfa0ad2SJack F Vogel  - The Jumbo Frames setting on the switch must be set to at least 22 bytes
1928cfa0ad2SJack F Vogel    larger than that of the MTU.
1938cfa0ad2SJack F Vogel
1948cfa0ad2SJack F Vogel  - The maximum MTU setting for Jumbo Frames is 16110.  This value coincides
1958cfa0ad2SJack F Vogel    with the maximum Jumbo Frames size of 16128.
1968cfa0ad2SJack F Vogel
1978cfa0ad2SJack F Vogel  - Some Intel gigabit adapters that support Jumbo Frames have a frame size
1988cfa0ad2SJack F Vogel    limit of 9238 bytes, with a corresponding MTU size limit of 9216 bytes.
1998cfa0ad2SJack F Vogel    The adapters with this limitation are based on the Intel(R) 82571EB,
2008cfa0ad2SJack F Vogel    82572EI, 82573L, 82566, 82562, and 80003ES2LAN controller.  These
2018cfa0ad2SJack F Vogel    correspond to the following product names:
2028cfa0ad2SJack F Vogel     Intel(R) PRO/1000 PT Server Adapter
2038cfa0ad2SJack F Vogel     Intel(R) PRO/1000 PT Desktop Adapter
2048cfa0ad2SJack F Vogel     Intel(R) PRO/1000 PT Network Connection
2058cfa0ad2SJack F Vogel     Intel(R) PRO/1000 PT Dual Port Server Adapter
2068cfa0ad2SJack F Vogel     Intel(R) PRO/1000 PT Dual Port Network Connection
2078cfa0ad2SJack F Vogel     Intel(R) PRO/1000 PT Quad Port Server Adapter
2088cfa0ad2SJack F Vogel     Intel(R) PRO/1000 PF Quad Port Server Adapter
2098cfa0ad2SJack F Vogel     Intel(R) PRO/1000 PF Server Adapter
2108cfa0ad2SJack F Vogel     Intel(R) PRO/1000 PF Network Connection
2118cfa0ad2SJack F Vogel     Intel(R) PRO/1000 PF Dual Port Server Adapter
2128cfa0ad2SJack F Vogel     Intel(R) PRO/1000 PB Server Connection
2138cfa0ad2SJack F Vogel     Intel(R) PRO/1000 PL Network Connection
2148cfa0ad2SJack F Vogel     Intel(R) PRO/1000 EB Network Connection with I/O Acceleration
2158cfa0ad2SJack F Vogel     Intel(R) PRO/1000 EB Backplane Connection with I/O Acceleration
2168cfa0ad2SJack F Vogel     Intel(R) 82566DM-2 Gigabit Network Connection
2178cfa0ad2SJack F Vogel
2188cfa0ad2SJack F Vogel  - Adapters based on the Intel(R) 82542 and 82573V/E controller do not
2198cfa0ad2SJack F Vogel    support Jumbo Frames. These correspond to the following product names:
2208cfa0ad2SJack F Vogel     Intel(R) PRO/1000 Gigabit Server Adapter
2218cfa0ad2SJack F Vogel     Intel(R) PRO/1000 PM Network Connection
2228cfa0ad2SJack F Vogel
2238cfa0ad2SJack F Vogel  - Using Jumbo Frames at 10 or 100 Mbps may result in poor performance or
2248cfa0ad2SJack F Vogel    loss of link.
2258cfa0ad2SJack F Vogel
2268cfa0ad2SJack F Vogel  - The following adapters do not support Jumbo Frames:
2278cfa0ad2SJack F Vogel    Intel(R) 82562V 10/100 Network Connection
2288cfa0ad2SJack F Vogel    Intel(R) 82566DM Gigabit Network Connection
2298cfa0ad2SJack F Vogel    Intel(R) 82566DC Gigabit Network Connection
2308cfa0ad2SJack F Vogel    Intel(R) 82566MM Gigabit Network Connection
2318cfa0ad2SJack F Vogel    Intel(R) 82566MC Gigabit Network Connection
2328cfa0ad2SJack F Vogel    Intel(R) 82562GT 10/100 Network Connection
2338cfa0ad2SJack F Vogel    Intel(R) 82562G 10/100 Network Connection
2348cfa0ad2SJack F Vogel    Intel(R) 82566DC-2 Gigabit Network Connection
2358cfa0ad2SJack F Vogel    Intel(R) 82562V-2 10/100 Network Connection
2368cfa0ad2SJack F Vogel    Intel(R) 82562G-2 10/100 Network Connection
2378cfa0ad2SJack F Vogel    Intel(R) 82562GT-2 10/100 Network Connection
2388cfa0ad2SJack F Vogel
2398cfa0ad2SJack F Vogel  VLANs
2408cfa0ad2SJack F Vogel  -----
2418cfa0ad2SJack F Vogel  To create a new VLAN interface:
2428cfa0ad2SJack F Vogel
2438cfa0ad2SJack F Vogel        ifconfig <vlan_name> create
2448cfa0ad2SJack F Vogel
2458cfa0ad2SJack F Vogel  To associate the VLAN interface with a physical interface and
2468cfa0ad2SJack F Vogel  assign a VLAN ID, IP address, and netmask:
2478cfa0ad2SJack F Vogel
2488cfa0ad2SJack F Vogel        ifconfig <vlan_name> <ip_address> netmask <subnet_mask> vlan
2498cfa0ad2SJack F Vogel           <vlan_id> vlandev <physical_interface>
2508cfa0ad2SJack F Vogel
2518cfa0ad2SJack F Vogel  Example:
2528cfa0ad2SJack F Vogel
2538cfa0ad2SJack F Vogel        ifconfig vlan10 10.0.0.1 netmask 255.255.255.0 vlan 10 vlandev em0
2548cfa0ad2SJack F Vogel
2558cfa0ad2SJack F Vogel  In this example, all packets will be marked on egress with 802.1Q VLAN
2568cfa0ad2SJack F Vogel  tags, specifying a VLAN ID of 10.
2578cfa0ad2SJack F Vogel
2588cfa0ad2SJack F Vogel  To remove a VLAN interface:
2598cfa0ad2SJack F Vogel
2608cfa0ad2SJack F Vogel  Intel Network Connection        ifconfig <vlan_name> destroy
2618cfa0ad2SJack F Vogel
2628cfa0ad2SJack F Vogel
2638cfa0ad2SJack F Vogel  Polling
2648cfa0ad2SJack F Vogel  -------
2658cfa0ad2SJack F Vogel
2668cfa0ad2SJack F Vogel  To enable polling in the driver, add the following options to the kernel
2678cfa0ad2SJack F Vogel  configuration, and then recompile the kernel:
2688cfa0ad2SJack F Vogel
2698cfa0ad2SJack F Vogel        options DEVICE_POLLING
2708cfa0ad2SJack F Vogel        options HZ=1000
2718cfa0ad2SJack F Vogel
2728cfa0ad2SJack F Vogel  At runtime use:
2738cfa0ad2SJack F Vogel        ifconfig emX polling (to turn polling on)
2748cfa0ad2SJack F Vogel  and:
2758cfa0ad2SJack F Vogel        ifconfig emX -polling  (to turn it off)
2768cfa0ad2SJack F Vogel
2778cfa0ad2SJack F Vogel
2788cfa0ad2SJack F Vogel  Checksum Offload
2798cfa0ad2SJack F Vogel  ----------------
2808cfa0ad2SJack F Vogel  Checksum offloading is not supported on 82542 Gigabit adapters.
2818cfa0ad2SJack F Vogel
2828cfa0ad2SJack F Vogel  Checksum offloading supports both TCP and UDP packets and is
2838cfa0ad2SJack F Vogel  supported for both transmit and receive.
2848cfa0ad2SJack F Vogel
2858cfa0ad2SJack F Vogel  Checksum offloading can be enabled or disabled using ifconfig.
2868cfa0ad2SJack F Vogel  Both transmit and receive offloading will be either enabled or
2878cfa0ad2SJack F Vogel  disabled together. You cannot enable/disable one without the other.
2888cfa0ad2SJack F Vogel
2898cfa0ad2SJack F Vogel  To enable checksum offloading:
2908cfa0ad2SJack F Vogel
2918cfa0ad2SJack F Vogel         ifconfig <interface_num> rxcsum
2928cfa0ad2SJack F Vogel
2938cfa0ad2SJack F Vogel  To disable checksum offloading:
2948cfa0ad2SJack F Vogel
2958cfa0ad2SJack F Vogel         ifconfig <interface_num> -rxcsum
2968cfa0ad2SJack F Vogel
2978cfa0ad2SJack F Vogel  To confirm the current setting:
2988cfa0ad2SJack F Vogel
2998cfa0ad2SJack F Vogel         ifconfig <interface_num>
3008cfa0ad2SJack F Vogel
3018cfa0ad2SJack F Vogel  Look for the presence or absence of the following line:
3028cfa0ad2SJack F Vogel
3038cfa0ad2SJack F Vogel         options=3 <RXCSUM,TXCSUM>
3048cfa0ad2SJack F Vogel
3058cfa0ad2SJack F Vogel  See the ifconfig man page for further information.
3068cfa0ad2SJack F Vogel
3078cfa0ad2SJack F Vogel
3088cfa0ad2SJack F Vogel  TSO
3098cfa0ad2SJack F Vogel  ---
3108cfa0ad2SJack F Vogel  The FreeBSD driver offers support for TSO (TCP Segmentation Offload).
3118cfa0ad2SJack F Vogel
3128cfa0ad2SJack F Vogel  You can enable/disable it in two ways/places:
3138cfa0ad2SJack F Vogel
3148cfa0ad2SJack F Vogel        -  sysctl net.inet.tcp.tso=0    (or 1 to enable it)
3158cfa0ad2SJack F Vogel
3168cfa0ad2SJack F Vogel  Doing this disables TSO in the stack and will affect all adapters.
3178cfa0ad2SJack F Vogel
3188cfa0ad2SJack F Vogel        -  ifconfig emX -tso
3198cfa0ad2SJack F Vogel
3208cfa0ad2SJack F Vogel  Doing this will disable TSO only for this adapter.
3218cfa0ad2SJack F Vogel
3228cfa0ad2SJack F Vogel  To enable:
3238cfa0ad2SJack F Vogel
3248cfa0ad2SJack F Vogel        -  ifconfig emX tso
3258cfa0ad2SJack F Vogel
3268cfa0ad2SJack F Vogel  NOTES: By default only PCI-Express adapters are ENABLED to do TSO. Others
3278cfa0ad2SJack F Vogel  can be enabled by the user at their own risk
3288cfa0ad2SJack F Vogel  TSO is not supported on 82547 and 82544-based adapters, as well as older adapters.
3298cfa0ad2SJack F Vogel
3308cfa0ad2SJack F Vogel
3318cfa0ad2SJack F VogelKnown Limitations
3328cfa0ad2SJack F Vogel=================
3338cfa0ad2SJack F Vogel
3348cfa0ad2SJack F Vogel  Detected Tx Unit Hang in Quad Port Adapters
3358cfa0ad2SJack F Vogel  -------------------------------------------
3368cfa0ad2SJack F Vogel
3378cfa0ad2SJack F Vogel  In some cases ports 3 and 4 wont pass traffic. Ports 1 and 2 don't show
3388cfa0ad2SJack F Vogel  any errors and will pass traffic.
3398cfa0ad2SJack F Vogel
3408cfa0ad2SJack F Vogel  This issue MAY be resolved by updating to the latest BIOS. You can
3418cfa0ad2SJack F Vogel  check your system's BIOS by downloading the Linux Firmware Developer Kit
3428cfa0ad2SJack F Vogel  that can be obtained at http://www.linuxfirmwarekit.org/
3438cfa0ad2SJack F Vogel
3448cfa0ad2SJack F Vogel
3458cfa0ad2SJack F Vogel  There are known performance issues with this driver when running UDP traffic
3468cfa0ad2SJack F Vogel  with Jumbo Frames.
3478cfa0ad2SJack F Vogel  ----------------------------------------------------------------------------
3488cfa0ad2SJack F Vogel
3498cfa0ad2SJack F Vogel  82541/82547 can't link or is slow to link with some link partners
3508cfa0ad2SJack F Vogel  -----------------------------------------------------------------
3518cfa0ad2SJack F Vogel
3528cfa0ad2SJack F Vogel  There is a known compatibility issue where time to link is slow or link is not
3538cfa0ad2SJack F Vogel  established between 82541/82547 controllers and some switches.  Known switches
3548cfa0ad2SJack F Vogel  include:
3558cfa0ad2SJack F Vogel        Planex FXG-08TE
3568cfa0ad2SJack F Vogel        I-O Data ETG-SH8
3578cfa0ad2SJack F Vogel
3588cfa0ad2SJack F Vogel  The driver can be compiled with the following changes:
3598cfa0ad2SJack F Vogel
3608cfa0ad2SJack F Vogel  Edit ./em.x.x.x/src/if_em.h to change the #define EM_MASTER_SLAVE
3618cfa0ad2SJack F Vogel  For example, change from:
3628cfa0ad2SJack F Vogel
3638cfa0ad2SJack F Vogel      #define EM_MASTER_SLAVE   e1000_ms_hw_default
3648cfa0ad2SJack F Vogel  to:
3658cfa0ad2SJack F Vogel      #define EM_MASTER_SLAVE   2
3668cfa0ad2SJack F Vogel
3678cfa0ad2SJack F Vogel  Use one of the following options:
3688cfa0ad2SJack F Vogel      1 = Master mode
3698cfa0ad2SJack F Vogel      2 = Slave mode
3708cfa0ad2SJack F Vogel      3 = Auto master/slave
3718cfa0ad2SJack F Vogel  Setting 2 is recommended.
3728cfa0ad2SJack F Vogel
3738cfa0ad2SJack F Vogel  Recompile the module:
3748cfa0ad2SJack F Vogel          a. To compile the module
3758cfa0ad2SJack F Vogel                cd em-x.x.x
3768cfa0ad2SJack F Vogel                make clean
3778cfa0ad2SJack F Vogel                make
3788cfa0ad2SJack F Vogel
3798cfa0ad2SJack F Vogel   b. To install the compiled module in system directory:
3808cfa0ad2SJack F Vogel                make install
3818cfa0ad2SJack F Vogel
3828cfa0ad2SJack F Vogel
3838cfa0ad2SJack F VogelSupport
3848cfa0ad2SJack F Vogel=======
3858cfa0ad2SJack F Vogel
3868cfa0ad2SJack F VogelFor general information and support, go to the Intel support website at:
3878cfa0ad2SJack F Vogel
3888cfa0ad2SJack F Vogel        http://support.intel.com
3898cfa0ad2SJack F Vogel
3908cfa0ad2SJack F VogelIf an issue is identified, support is through email only at:
3918cfa0ad2SJack F Vogelfreebsdnic@mailbox.intel.com
3928cfa0ad2SJack F Vogel
3938cfa0ad2SJack F Vogel
3948cfa0ad2SJack F VogelLicense
3958cfa0ad2SJack F Vogel=======
3968cfa0ad2SJack F Vogel
3978cfa0ad2SJack F VogelThis software program is released under the terms of a license agreement
3988cfa0ad2SJack F Vogelbetween you ('Licensee') and Intel. Do not use or load this software or any
3998cfa0ad2SJack F Vogelassociated materials (collectively, the 'Software') until you have carefully
4008cfa0ad2SJack F Vogelread the full terms and conditions of the LICENSE located in this software
4018cfa0ad2SJack F Vogelpackage. By loading or using the Software, you agree to the terms of this
4028cfa0ad2SJack F VogelAgreement. If you do not agree with the terms of this Agreement, do not
4038cfa0ad2SJack F Vogelinstall or use the Software.
4048cfa0ad2SJack F Vogel
4058cfa0ad2SJack F Vogel* Other names and brands may be claimed as the property of others.
406