xref: /titanic_50/usr/src/uts/common/io/e1000api/README.new (revision 75eba5b6d79ed4d2ce3daf7b2806306b6b69a938)
1*75eba5b6SRobert Mustacchi$FreeBSD$
2*75eba5b6SRobert MustacchiFreeBSD* Driver for Intel Network Connection
3*75eba5b6SRobert Mustacchi=============================================
4*75eba5b6SRobert Mustacchi
5*75eba5b6SRobert MustacchiMay 30, 2007
6*75eba5b6SRobert Mustacchi
7*75eba5b6SRobert Mustacchi
8*75eba5b6SRobert MustacchiContents
9*75eba5b6SRobert Mustacchi========
10*75eba5b6SRobert Mustacchi
11*75eba5b6SRobert Mustacchi- Overview
12*75eba5b6SRobert Mustacchi- Identifying Your Adapter
13*75eba5b6SRobert Mustacchi- Building and Installation
14*75eba5b6SRobert Mustacchi- Speed and Duplex Configuration
15*75eba5b6SRobert Mustacchi- Additional Configurations
16*75eba5b6SRobert Mustacchi- Known Limitations
17*75eba5b6SRobert Mustacchi- Support
18*75eba5b6SRobert Mustacchi- License
19*75eba5b6SRobert Mustacchi
20*75eba5b6SRobert Mustacchi
21*75eba5b6SRobert MustacchiOverview
22*75eba5b6SRobert Mustacchi========
23*75eba5b6SRobert Mustacchi
24*75eba5b6SRobert MustacchiThis file describes the FreeBSD* driver for Intel Network Connection.
25*75eba5b6SRobert MustacchiThis driver has been developed for use with FreeBSD, Release 7.x.
26*75eba5b6SRobert Mustacchi
27*75eba5b6SRobert MustacchiFor questions related to hardware requirements, refer to the documentation
28*75eba5b6SRobert Mustacchisupplied with your Gigabit adapter. All hardware requirements listed
29*75eba5b6SRobert Mustacchiapply to use with FreeBSD.
30*75eba5b6SRobert Mustacchi
31*75eba5b6SRobert Mustacchi
32*75eba5b6SRobert MustacchiIdentifying Your Adapter
33*75eba5b6SRobert Mustacchi========================
34*75eba5b6SRobert Mustacchi
35*75eba5b6SRobert MustacchiFor information on how to identify your adapter, go to the Adapter &
36*75eba5b6SRobert MustacchiDriver ID Guide at:
37*75eba5b6SRobert Mustacchi
38*75eba5b6SRobert Mustacchihttp://support.intel.com/support/network/sb/cs-012904.htm
39*75eba5b6SRobert Mustacchi
40*75eba5b6SRobert Mustacchi
41*75eba5b6SRobert MustacchiFor the latest Intel network drivers for FreeBSD, see:
42*75eba5b6SRobert Mustacchi
43*75eba5b6SRobert Mustacchihttp://downloadfinder.intel.com/scripts-df-external/support_intel.aspx
44*75eba5b6SRobert Mustacchi
45*75eba5b6SRobert Mustacchi
46*75eba5b6SRobert MustacchiNOTE: Mobile adapters are not fully supported.
47*75eba5b6SRobert MustacchiNOTE: The Intel(R) 82562v 10/100 Network Connection only provides 10/100
48*75eba5b6SRobert Mustacchisupport.
49*75eba5b6SRobert Mustacchi
50*75eba5b6SRobert MustacchiBuilding and Installation
51*75eba5b6SRobert Mustacchi=========================
52*75eba5b6SRobert Mustacchi
53*75eba5b6SRobert MustacchiNOTE: The driver can be installed as a dynamic loadable kernel module or
54*75eba5b6SRobert Mustacchi      compiled into the kernel. You must have kernel sources installed in
55*75eba5b6SRobert Mustacchi      order to compile the driver module.
56*75eba5b6SRobert Mustacchi
57*75eba5b6SRobert MustacchiIn the instructions below, x.x.x is the driver version as indicated in the
58*75eba5b6SRobert Mustacchiname of the driver tar file.
59*75eba5b6SRobert Mustacchi
60*75eba5b6SRobert Mustacchi1. Move the base driver tar file to the directory of your choice. For
61*75eba5b6SRobert Mustacchi   example, use /home/username/em or /usr/local/src/em.
62*75eba5b6SRobert Mustacchi
63*75eba5b6SRobert Mustacchi2. Untar/unzip the archive:
64*75eba5b6SRobert Mustacchi
65*75eba5b6SRobert Mustacchi        tar xzvf em-x.x.x.tar.gz
66*75eba5b6SRobert Mustacchi
67*75eba5b6SRobert Mustacchi   This will create an em-x.x.x directory.
68*75eba5b6SRobert Mustacchi
69*75eba5b6SRobert Mustacchi3. To create a loadable module, perform the following steps.
70*75eba5b6SRobert Mustacchi   NOTE: To compile the driver into the kernel, go directly to step 4.
71*75eba5b6SRobert Mustacchi
72*75eba5b6SRobert Mustacchi        a. To compile the module
73*75eba5b6SRobert Mustacchi
74*75eba5b6SRobert Mustacchi                  cd em-x.x.x
75*75eba5b6SRobert Mustacchi                  make
76*75eba5b6SRobert Mustacchi
77*75eba5b6SRobert Mustacchi        b. To install the compiled module to the system directory:
78*75eba5b6SRobert Mustacchi
79*75eba5b6SRobert Mustacchi                  make install
80*75eba5b6SRobert Mustacchi
81*75eba5b6SRobert Mustacchi        c. If you want the driver to load automatically when the system is booted:
82*75eba5b6SRobert Mustacchi
83*75eba5b6SRobert Mustacchi              1. Edit /boot/loader.conf, and add the following line:
84*75eba5b6SRobert Mustacchi
85*75eba5b6SRobert Mustacchi                  if_em_load="YES"
86*75eba5b6SRobert Mustacchi
87*75eba5b6SRobert Mustacchi4. To compile the driver into the kernel, enter:
88*75eba5b6SRobert Mustacchi
89*75eba5b6SRobert Mustacchi        cd em-x.x.x/src
90*75eba5b6SRobert Mustacchi        cp *.[ch] /usr/src/sys/dev/em
91*75eba5b6SRobert Mustacchi
92*75eba5b6SRobert Mustacchi        Edit the kernel configuration file (i.e., GENERIC or MYKERNEL) in
93*75eba5b6SRobert Mustacchi        /usr/src/sys/i386/conf, and ensure the following line is present:
94*75eba5b6SRobert Mustacchi
95*75eba5b6SRobert Mustacchi        device em
96*75eba5b6SRobert Mustacchi
97*75eba5b6SRobert Mustacchi        Compile and install the kernel. The system must be rebooted for the
98*75eba5b6SRobert Mustacchi        kernel updates to take effect. For additional information on compiling
99*75eba5b6SRobert Mustacchi        the kernel, consult the FreeBSD operating system documentation.
100*75eba5b6SRobert Mustacchi
101*75eba5b6SRobert Mustacchi5. To assign an IP address to the interface, enter the following:
102*75eba5b6SRobert Mustacchi
103*75eba5b6SRobert Mustacchi        ifconfig em<interface_num> <IP_address>
104*75eba5b6SRobert Mustacchi
105*75eba5b6SRobert Mustacchi6. Verify that the interface works. Enter the following, where <IP_address>
106*75eba5b6SRobert Mustacchi   is the IP address for another machine on the same subnet as the interface
107*75eba5b6SRobert Mustacchi   that is being tested:
108*75eba5b6SRobert Mustacchi
109*75eba5b6SRobert Mustacchi        ping <IP_address>
110*75eba5b6SRobert Mustacchi
111*75eba5b6SRobert Mustacchi7. To configure the IP address to remain after reboot, edit /etc/rc.conf,
112*75eba5b6SRobert Mustacchi   and create the appropriate ifconfig_em<interface_num>entry:
113*75eba5b6SRobert Mustacchi
114*75eba5b6SRobert Mustacchi        ifconfig_em<interface_num>="<ifconfig_settings>"
115*75eba5b6SRobert Mustacchi
116*75eba5b6SRobert Mustacchi   Example usage:
117*75eba5b6SRobert Mustacchi
118*75eba5b6SRobert Mustacchi        ifconfig_em0="inet 192.168.10.1 netmask 255.255.255.0"
119*75eba5b6SRobert Mustacchi
120*75eba5b6SRobert Mustacchi   NOTE: For assistance, see the ifconfig man page.
121*75eba5b6SRobert Mustacchi
122*75eba5b6SRobert Mustacchi
123*75eba5b6SRobert MustacchiSpeed and Duplex Configuration
124*75eba5b6SRobert Mustacchi==============================
125*75eba5b6SRobert Mustacchi
126*75eba5b6SRobert MustacchiBy default, the adapter auto-negotiates the speed and duplex of the
127*75eba5b6SRobert Mustacchiconnection. If there is a specific need, the ifconfig utility can be used to
128*75eba5b6SRobert Mustacchiconfigure the speed and duplex settings on the adapter. Example usage:
129*75eba5b6SRobert Mustacchi
130*75eba5b6SRobert Mustacchi        ifconfig em<interface_num> <IP_address> media 100baseTX mediaopt
131*75eba5b6SRobert Mustacchi            full-duplex
132*75eba5b6SRobert Mustacchi
133*75eba5b6SRobert Mustacchi   NOTE: Only use mediaopt to set the driver to full-duplex. If mediaopt is
134*75eba5b6SRobert Mustacchi         not specified and you are not running at gigabit speed, the driver
135*75eba5b6SRobert Mustacchi         defaults to half-duplex.
136*75eba5b6SRobert Mustacchi
137*75eba5b6SRobert MustacchiIf the interface is currently forced to 100 full duplex, in order to change
138*75eba5b6SRobert Mustacchito half duplex you must use this command:
139*75eba5b6SRobert Mustacchi
140*75eba5b6SRobert Mustacchi        ifconfig em<interface_num> <IP_address> media 100baseTX -mediaopt
141*75eba5b6SRobert Mustacchi            full-duplex
142*75eba5b6SRobert Mustacchi
143*75eba5b6SRobert Mustacchi
144*75eba5b6SRobert MustacchiThis driver supports the following media type options:
145*75eba5b6SRobert Mustacchi
146*75eba5b6SRobert Mustacchi   autoselect      -  Enables auto-negotiation for speed and duplex.
147*75eba5b6SRobert Mustacchi
148*75eba5b6SRobert Mustacchi   10baseT/UTP     -  Sets speed to 10 Mbps. Use the ifconfig mediaopt
149*75eba5b6SRobert Mustacchi                      option to select full-duplex mode.
150*75eba5b6SRobert Mustacchi
151*75eba5b6SRobert Mustacchi   100baseTX       -  Sets speed to 100 Mbps. Use the ifconfig mediaopt
152*75eba5b6SRobert Mustacchi                      option to select full-duplex mode.
153*75eba5b6SRobert Mustacchi
154*75eba5b6SRobert Mustacchi   1000baseTX      -  Sets speed to 1000 Mbps. In this case, the driver
155*75eba5b6SRobert Mustacchi                      supports only full-duplex mode.
156*75eba5b6SRobert Mustacchi
157*75eba5b6SRobert Mustacchi   1000baseSX      -  Sets speed to 1000 Mbps. In this case, the driver
158*75eba5b6SRobert Mustacchi                      supports only full-duplex mode.
159*75eba5b6SRobert Mustacchi
160*75eba5b6SRobert MustacchiFor more information on the ifconfig utility, see the ifconfig man page.
161*75eba5b6SRobert Mustacchi
162*75eba5b6SRobert Mustacchi
163*75eba5b6SRobert MustacchiAdditional Configurations
164*75eba5b6SRobert Mustacchi=========================
165*75eba5b6SRobert Mustacchi
166*75eba5b6SRobert MustacchiThe driver supports Transmit/Receive Checksum Offload and Jumbo Frames on
167*75eba5b6SRobert Mustacchiall but the 82542-based adapters.  For specific adapters, refer to the
168*75eba5b6SRobert MustacchiIdentifying Your Adapter section.
169*75eba5b6SRobert Mustacchi
170*75eba5b6SRobert Mustacchi  Jumbo Frames
171*75eba5b6SRobert Mustacchi  ------------
172*75eba5b6SRobert Mustacchi  To enable Jumbo Frames, use the ifconfig utility to set the Maximum
173*75eba5b6SRobert Mustacchi  Transport Unit (MTU) frame size above its default of 1500 bytes.
174*75eba5b6SRobert Mustacchi
175*75eba5b6SRobert Mustacchi  The Jumbo Frames MTU range for Intel Adapters is 1500 to 16110. To modify
176*75eba5b6SRobert Mustacchi  the setting, enter the following:
177*75eba5b6SRobert Mustacchi
178*75eba5b6SRobert Mustacchi        ifconfig em<interface_num> <hostname or IP address> mtu 9000
179*75eba5b6SRobert Mustacchi
180*75eba5b6SRobert Mustacchi  To confirm the MTU used between two specific devices, use:
181*75eba5b6SRobert Mustacchi
182*75eba5b6SRobert Mustacchi        route get <destination_IP_address>
183*75eba5b6SRobert Mustacchi
184*75eba5b6SRobert Mustacchi  Notes:
185*75eba5b6SRobert Mustacchi
186*75eba5b6SRobert Mustacchi  - Only enable Jumbo Frames if your network infrastructure supports them.
187*75eba5b6SRobert Mustacchi
188*75eba5b6SRobert Mustacchi  - To enable Jumbo Frames, increase the MTU size on the interface beyond
189*75eba5b6SRobert Mustacchi    1500.
190*75eba5b6SRobert Mustacchi
191*75eba5b6SRobert Mustacchi  - The Jumbo Frames setting on the switch must be set to at least 22 bytes
192*75eba5b6SRobert Mustacchi    larger than that of the MTU.
193*75eba5b6SRobert Mustacchi
194*75eba5b6SRobert Mustacchi  - The maximum MTU setting for Jumbo Frames is 16110.  This value coincides
195*75eba5b6SRobert Mustacchi    with the maximum Jumbo Frames size of 16128.
196*75eba5b6SRobert Mustacchi
197*75eba5b6SRobert Mustacchi  - Some Intel gigabit adapters that support Jumbo Frames have a frame size
198*75eba5b6SRobert Mustacchi    limit of 9238 bytes, with a corresponding MTU size limit of 9216 bytes.
199*75eba5b6SRobert Mustacchi    The adapters with this limitation are based on the Intel(R) 82571EB,
200*75eba5b6SRobert Mustacchi    82572EI, 82573L, 82566, 82562, and 80003ES2LAN controller.  These
201*75eba5b6SRobert Mustacchi    correspond to the following product names:
202*75eba5b6SRobert Mustacchi     Intel(R) PRO/1000 PT Server Adapter
203*75eba5b6SRobert Mustacchi     Intel(R) PRO/1000 PT Desktop Adapter
204*75eba5b6SRobert Mustacchi     Intel(R) PRO/1000 PT Network Connection
205*75eba5b6SRobert Mustacchi     Intel(R) PRO/1000 PT Dual Port Server Adapter
206*75eba5b6SRobert Mustacchi     Intel(R) PRO/1000 PT Dual Port Network Connection
207*75eba5b6SRobert Mustacchi     Intel(R) PRO/1000 PT Quad Port Server Adapter
208*75eba5b6SRobert Mustacchi     Intel(R) PRO/1000 PF Quad Port Server Adapter
209*75eba5b6SRobert Mustacchi     Intel(R) PRO/1000 PF Server Adapter
210*75eba5b6SRobert Mustacchi     Intel(R) PRO/1000 PF Network Connection
211*75eba5b6SRobert Mustacchi     Intel(R) PRO/1000 PF Dual Port Server Adapter
212*75eba5b6SRobert Mustacchi     Intel(R) PRO/1000 PB Server Connection
213*75eba5b6SRobert Mustacchi     Intel(R) PRO/1000 PL Network Connection
214*75eba5b6SRobert Mustacchi     Intel(R) PRO/1000 EB Network Connection with I/O Acceleration
215*75eba5b6SRobert Mustacchi     Intel(R) PRO/1000 EB Backplane Connection with I/O Acceleration
216*75eba5b6SRobert Mustacchi     Intel(R) 82566DM-2 Gigabit Network Connection
217*75eba5b6SRobert Mustacchi
218*75eba5b6SRobert Mustacchi  - Adapters based on the Intel(R) 82542 and 82573V/E controller do not
219*75eba5b6SRobert Mustacchi    support Jumbo Frames. These correspond to the following product names:
220*75eba5b6SRobert Mustacchi     Intel(R) PRO/1000 Gigabit Server Adapter
221*75eba5b6SRobert Mustacchi     Intel(R) PRO/1000 PM Network Connection
222*75eba5b6SRobert Mustacchi
223*75eba5b6SRobert Mustacchi  - Using Jumbo Frames at 10 or 100 Mbps may result in poor performance or
224*75eba5b6SRobert Mustacchi    loss of link.
225*75eba5b6SRobert Mustacchi
226*75eba5b6SRobert Mustacchi  - The following adapters do not support Jumbo Frames:
227*75eba5b6SRobert Mustacchi    Intel(R) 82562V 10/100 Network Connection
228*75eba5b6SRobert Mustacchi    Intel(R) 82566DM Gigabit Network Connection
229*75eba5b6SRobert Mustacchi    Intel(R) 82566DC Gigabit Network Connection
230*75eba5b6SRobert Mustacchi    Intel(R) 82566MM Gigabit Network Connection
231*75eba5b6SRobert Mustacchi    Intel(R) 82566MC Gigabit Network Connection
232*75eba5b6SRobert Mustacchi    Intel(R) 82562GT 10/100 Network Connection
233*75eba5b6SRobert Mustacchi    Intel(R) 82562G 10/100 Network Connection
234*75eba5b6SRobert Mustacchi    Intel(R) 82566DC-2 Gigabit Network Connection
235*75eba5b6SRobert Mustacchi    Intel(R) 82562V-2 10/100 Network Connection
236*75eba5b6SRobert Mustacchi    Intel(R) 82562G-2 10/100 Network Connection
237*75eba5b6SRobert Mustacchi    Intel(R) 82562GT-2 10/100 Network Connection
238*75eba5b6SRobert Mustacchi
239*75eba5b6SRobert Mustacchi  VLANs
240*75eba5b6SRobert Mustacchi  -----
241*75eba5b6SRobert Mustacchi  To create a new VLAN interface:
242*75eba5b6SRobert Mustacchi
243*75eba5b6SRobert Mustacchi        ifconfig <vlan_name> create
244*75eba5b6SRobert Mustacchi
245*75eba5b6SRobert Mustacchi  To associate the VLAN interface with a physical interface and
246*75eba5b6SRobert Mustacchi  assign a VLAN ID, IP address, and netmask:
247*75eba5b6SRobert Mustacchi
248*75eba5b6SRobert Mustacchi        ifconfig <vlan_name> <ip_address> netmask <subnet_mask> vlan
249*75eba5b6SRobert Mustacchi           <vlan_id> vlandev <physical_interface>
250*75eba5b6SRobert Mustacchi
251*75eba5b6SRobert Mustacchi  Example:
252*75eba5b6SRobert Mustacchi
253*75eba5b6SRobert Mustacchi        ifconfig vlan10 10.0.0.1 netmask 255.255.255.0 vlan 10 vlandev em0
254*75eba5b6SRobert Mustacchi
255*75eba5b6SRobert Mustacchi  In this example, all packets will be marked on egress with 802.1Q VLAN
256*75eba5b6SRobert Mustacchi  tags, specifying a VLAN ID of 10.
257*75eba5b6SRobert Mustacchi
258*75eba5b6SRobert Mustacchi  To remove a VLAN interface:
259*75eba5b6SRobert Mustacchi
260*75eba5b6SRobert Mustacchi  Intel Network Connection        ifconfig <vlan_name> destroy
261*75eba5b6SRobert Mustacchi
262*75eba5b6SRobert Mustacchi
263*75eba5b6SRobert Mustacchi  Polling
264*75eba5b6SRobert Mustacchi  -------
265*75eba5b6SRobert Mustacchi
266*75eba5b6SRobert Mustacchi  To enable polling in the driver, add the following options to the kernel
267*75eba5b6SRobert Mustacchi  configuration, and then recompile the kernel:
268*75eba5b6SRobert Mustacchi
269*75eba5b6SRobert Mustacchi        options DEVICE_POLLING
270*75eba5b6SRobert Mustacchi        options HZ=1000
271*75eba5b6SRobert Mustacchi
272*75eba5b6SRobert Mustacchi  At runtime use:
273*75eba5b6SRobert Mustacchi        ifconfig emX polling (to turn polling on)
274*75eba5b6SRobert Mustacchi  and:
275*75eba5b6SRobert Mustacchi        ifconfig emX -polling  (to turn it off)
276*75eba5b6SRobert Mustacchi
277*75eba5b6SRobert Mustacchi
278*75eba5b6SRobert Mustacchi  Checksum Offload
279*75eba5b6SRobert Mustacchi  ----------------
280*75eba5b6SRobert Mustacchi  Checksum offloading is not supported on 82542 Gigabit adapters.
281*75eba5b6SRobert Mustacchi
282*75eba5b6SRobert Mustacchi  Checksum offloading supports both TCP and UDP packets and is
283*75eba5b6SRobert Mustacchi  supported for both transmit and receive.
284*75eba5b6SRobert Mustacchi
285*75eba5b6SRobert Mustacchi  Checksum offloading can be enabled or disabled using ifconfig.
286*75eba5b6SRobert Mustacchi  Both transmit and receive offloading will be either enabled or
287*75eba5b6SRobert Mustacchi  disabled together. You cannot enable/disable one without the other.
288*75eba5b6SRobert Mustacchi
289*75eba5b6SRobert Mustacchi  To enable checksum offloading:
290*75eba5b6SRobert Mustacchi
291*75eba5b6SRobert Mustacchi         ifconfig <interface_num> rxcsum
292*75eba5b6SRobert Mustacchi
293*75eba5b6SRobert Mustacchi  To disable checksum offloading:
294*75eba5b6SRobert Mustacchi
295*75eba5b6SRobert Mustacchi         ifconfig <interface_num> -rxcsum
296*75eba5b6SRobert Mustacchi
297*75eba5b6SRobert Mustacchi  To confirm the current setting:
298*75eba5b6SRobert Mustacchi
299*75eba5b6SRobert Mustacchi         ifconfig <interface_num>
300*75eba5b6SRobert Mustacchi
301*75eba5b6SRobert Mustacchi  Look for the presence or absence of the following line:
302*75eba5b6SRobert Mustacchi
303*75eba5b6SRobert Mustacchi         options=3 <RXCSUM,TXCSUM>
304*75eba5b6SRobert Mustacchi
305*75eba5b6SRobert Mustacchi  See the ifconfig man page for further information.
306*75eba5b6SRobert Mustacchi
307*75eba5b6SRobert Mustacchi
308*75eba5b6SRobert Mustacchi  TSO
309*75eba5b6SRobert Mustacchi  ---
310*75eba5b6SRobert Mustacchi  The FreeBSD driver offers support for TSO (TCP Segmentation Offload).
311*75eba5b6SRobert Mustacchi
312*75eba5b6SRobert Mustacchi  You can enable/disable it in two ways/places:
313*75eba5b6SRobert Mustacchi
314*75eba5b6SRobert Mustacchi        -  sysctl net.inet.tcp.tso=0    (or 1 to enable it)
315*75eba5b6SRobert Mustacchi
316*75eba5b6SRobert Mustacchi  Doing this disables TSO in the stack and will affect all adapters.
317*75eba5b6SRobert Mustacchi
318*75eba5b6SRobert Mustacchi        -  ifconfig emX -tso
319*75eba5b6SRobert Mustacchi
320*75eba5b6SRobert Mustacchi  Doing this will disable TSO only for this adapter.
321*75eba5b6SRobert Mustacchi
322*75eba5b6SRobert Mustacchi  To enable:
323*75eba5b6SRobert Mustacchi
324*75eba5b6SRobert Mustacchi        -  ifconfig emX tso
325*75eba5b6SRobert Mustacchi
326*75eba5b6SRobert Mustacchi  NOTES: By default only PCI-Express adapters are ENABLED to do TSO. Others
327*75eba5b6SRobert Mustacchi  can be enabled by the user at their own risk
328*75eba5b6SRobert Mustacchi  TSO is not supported on 82547 and 82544-based adapters, as well as older adapters.
329*75eba5b6SRobert Mustacchi
330*75eba5b6SRobert Mustacchi
331*75eba5b6SRobert MustacchiKnown Limitations
332*75eba5b6SRobert Mustacchi=================
333*75eba5b6SRobert Mustacchi
334*75eba5b6SRobert Mustacchi  Detected Tx Unit Hang in Quad Port Adapters
335*75eba5b6SRobert Mustacchi  -------------------------------------------
336*75eba5b6SRobert Mustacchi
337*75eba5b6SRobert Mustacchi  In some cases ports 3 and 4 wont pass traffic. Ports 1 and 2 don't show
338*75eba5b6SRobert Mustacchi  any errors and will pass traffic.
339*75eba5b6SRobert Mustacchi
340*75eba5b6SRobert Mustacchi  This issue MAY be resolved by updating to the latest BIOS. You can
341*75eba5b6SRobert Mustacchi  check your system's BIOS by downloading the Linux Firmware Developer Kit
342*75eba5b6SRobert Mustacchi  that can be obtained at http://www.linuxfirmwarekit.org/
343*75eba5b6SRobert Mustacchi
344*75eba5b6SRobert Mustacchi
345*75eba5b6SRobert Mustacchi  There are known performance issues with this driver when running UDP traffic
346*75eba5b6SRobert Mustacchi  with Jumbo Frames.
347*75eba5b6SRobert Mustacchi  ----------------------------------------------------------------------------
348*75eba5b6SRobert Mustacchi
349*75eba5b6SRobert Mustacchi  82541/82547 can't link or is slow to link with some link partners
350*75eba5b6SRobert Mustacchi  -----------------------------------------------------------------
351*75eba5b6SRobert Mustacchi
352*75eba5b6SRobert Mustacchi  There is a known compatibility issue where time to link is slow or link is not
353*75eba5b6SRobert Mustacchi  established between 82541/82547 controllers and some switches.  Known switches
354*75eba5b6SRobert Mustacchi  include:
355*75eba5b6SRobert Mustacchi        Planex FXG-08TE
356*75eba5b6SRobert Mustacchi        I-O Data ETG-SH8
357*75eba5b6SRobert Mustacchi        Netgear GS105v3
358*75eba5b6SRobert Mustacchi
359*75eba5b6SRobert Mustacchi  The driver can be compiled with the following changes:
360*75eba5b6SRobert Mustacchi
361*75eba5b6SRobert Mustacchi  Edit ./em.x.x.x/src/if_em.h to change the #define EM_MASTER_SLAVE
362*75eba5b6SRobert Mustacchi  For example, change from:
363*75eba5b6SRobert Mustacchi
364*75eba5b6SRobert Mustacchi      #define EM_MASTER_SLAVE   e1000_ms_hw_default
365*75eba5b6SRobert Mustacchi  to:
366*75eba5b6SRobert Mustacchi      #define EM_MASTER_SLAVE   2
367*75eba5b6SRobert Mustacchi
368*75eba5b6SRobert Mustacchi  Use one of the following options:
369*75eba5b6SRobert Mustacchi      1 = Master mode
370*75eba5b6SRobert Mustacchi      2 = Slave mode
371*75eba5b6SRobert Mustacchi      3 = Auto master/slave
372*75eba5b6SRobert Mustacchi  Setting 2 is recommended.
373*75eba5b6SRobert Mustacchi
374*75eba5b6SRobert Mustacchi  Recompile the module:
375*75eba5b6SRobert Mustacchi          a. To compile the module
376*75eba5b6SRobert Mustacchi                cd em-x.x.x
377*75eba5b6SRobert Mustacchi                make clean
378*75eba5b6SRobert Mustacchi                make
379*75eba5b6SRobert Mustacchi
380*75eba5b6SRobert Mustacchi   b. To install the compiled module in system directory:
381*75eba5b6SRobert Mustacchi                make install
382*75eba5b6SRobert Mustacchi
383*75eba5b6SRobert Mustacchi
384*75eba5b6SRobert MustacchiSupport
385*75eba5b6SRobert Mustacchi=======
386*75eba5b6SRobert Mustacchi
387*75eba5b6SRobert MustacchiFor general information and support, go to the Intel support website at:
388*75eba5b6SRobert Mustacchi
389*75eba5b6SRobert Mustacchi        http://support.intel.com
390*75eba5b6SRobert Mustacchi
391*75eba5b6SRobert MustacchiIf an issue is identified, support is through email only at:
392*75eba5b6SRobert Mustacchifreebsd@intel.com
393*75eba5b6SRobert Mustacchi
394*75eba5b6SRobert Mustacchi
395*75eba5b6SRobert MustacchiLicense
396*75eba5b6SRobert Mustacchi=======
397*75eba5b6SRobert Mustacchi
398*75eba5b6SRobert MustacchiThis software program is released under the terms of a license agreement
399*75eba5b6SRobert Mustacchibetween you ('Licensee') and Intel. Do not use or load this software or any
400*75eba5b6SRobert Mustacchiassociated materials (collectively, the 'Software') until you have carefully
401*75eba5b6SRobert Mustacchiread the full terms and conditions of the LICENSE located in this software
402*75eba5b6SRobert Mustacchipackage. By loading or using the Software, you agree to the terms of this
403*75eba5b6SRobert MustacchiAgreement. If you do not agree with the terms of this Agreement, do not
404*75eba5b6SRobert Mustacchiinstall or use the Software.
405*75eba5b6SRobert Mustacchi
406*75eba5b6SRobert Mustacchi* Other names and brands may be claimed as the property of others.
407