xref: /freebsd-13.1/sys/dev/e1000/README (revision fd225bef)
18cfa0ad2SJack F Vogel$FreeBSD$
2*fd225befSKevin BowlingFreeBSD* Driver for Intel(R) Ethernet
3*fd225befSKevin Bowling=====================================
48cfa0ad2SJack F Vogel
5*fd225befSKevin BowlingAugust 7, 2019
68cfa0ad2SJack F Vogel
78cfa0ad2SJack F VogelContents
88cfa0ad2SJack F Vogel========
98cfa0ad2SJack F Vogel
108cfa0ad2SJack F Vogel- Overview
118cfa0ad2SJack F Vogel- Identifying Your Adapter
128cfa0ad2SJack F Vogel- Building and Installation
13*fd225befSKevin Bowling- Additional Features and Configurations
14*fd225befSKevin Bowling- Known Issues/Troubleshooting
158cfa0ad2SJack F Vogel- Support
168cfa0ad2SJack F Vogel- License
178cfa0ad2SJack F Vogel
188cfa0ad2SJack F Vogel
198cfa0ad2SJack F VogelOverview
208cfa0ad2SJack F Vogel========
21*fd225befSKevin BowlingThis file describes the FreeBSD* driver for Intel(R) Ethernet. This driver has
22*fd225befSKevin Bowlingbeen developed for use with all community-supported versions of FreeBSD.
238cfa0ad2SJack F Vogel
248cfa0ad2SJack F VogelFor questions related to hardware requirements, refer to the documentation
25*fd225befSKevin Bowlingsupplied with your Intel Ethernet Adapter. All hardware requirements listed
268cfa0ad2SJack F Vogelapply to use with FreeBSD.
278cfa0ad2SJack F Vogel
288cfa0ad2SJack F Vogel
298cfa0ad2SJack F VogelIdentifying Your Adapter
308cfa0ad2SJack F Vogel========================
31*fd225befSKevin BowlingThis release includes two gigabit FreeBSD base Drivers for Intel(R) Ethernet.
32*fd225befSKevin BowlingThese drivers are em and igb.
338cfa0ad2SJack F Vogel
34*fd225befSKevin Bowling- The igb driver supports all 82575 and 82576-based gigabit network connections.
35*fd225befSKevin Bowling- The em driver supports all other gigabit network connections.
36*fd225befSKevin Bowling- Gigabit devices base on the Intel(R) Ethernet Controller X722 are supported by
37*fd225befSKevin Bowling  the ixl driver.
388cfa0ad2SJack F Vogel
398cfa0ad2SJack F VogelNOTE: The Intel(R) 82562v 10/100 Network Connection only provides 10/100
408cfa0ad2SJack F Vogelsupport.
418cfa0ad2SJack F Vogel
42*fd225befSKevin BowlingFor information on how to identify your adapter, and for the latest Intel
43*fd225befSKevin Bowlingnetwork drivers, refer to the Intel Support website:
44*fd225befSKevin Bowlinghttp://www.intel.com/support
45*fd225befSKevin Bowling
46*fd225befSKevin Bowling
478cfa0ad2SJack F VogelBuilding and Installation
488cfa0ad2SJack F Vogel=========================
49*fd225befSKevin BowlingNOTE: This driver package is to be used only as a standalone archive and the
50*fd225befSKevin Bowlinguser should not attempt to incorporate it into the kernel source tree.
518cfa0ad2SJack F Vogel
52*fd225befSKevin BowlingIn the instructions below, x.x.x is the driver version as indicated in the name
53*fd225befSKevin Bowlingof the driver tar file.
548cfa0ad2SJack F Vogel
558cfa0ad2SJack F Vogel1. Move the base driver tar file to the directory of your choice. For
568cfa0ad2SJack F Vogel   example, use /home/username/em or /usr/local/src/em.
578cfa0ad2SJack F Vogel
588cfa0ad2SJack F Vogel2. Untar/unzip the archive:
598cfa0ad2SJack F Vogel
60*fd225befSKevin Bowling   # tar xzf em-x.x.x.tar.gz
618cfa0ad2SJack F Vogel
62*fd225befSKevin BowlingThis will create the em-x.x.x directory.
638cfa0ad2SJack F Vogel
64*fd225befSKevin Bowling3. To install man page:
658cfa0ad2SJack F Vogel
66*fd225befSKevin Bowling   # cd em-x.x.x
67*fd225befSKevin Bowling   # gzip -c em.4 > /usr/share/man/man4/em.4.gz
688cfa0ad2SJack F Vogel
69*fd225befSKevin Bowling4. To load the driver onto a running system:
708cfa0ad2SJack F Vogel
71*fd225befSKevin Bowling   # cd em-x.x.x/src
72*fd225befSKevin Bowling   # make
73*fd225befSKevin Bowling   # kldload ./if_em.ko
748cfa0ad2SJack F Vogel
758cfa0ad2SJack F Vogel5. To assign an IP address to the interface, enter the following:
768cfa0ad2SJack F Vogel
77*fd225befSKevin Bowling   # ifconfig em<interface_num> <IP_address>
788cfa0ad2SJack F Vogel
798cfa0ad2SJack F Vogel6. Verify that the interface works. Enter the following, where <IP_address>
808cfa0ad2SJack F Vogel   is the IP address for another machine on the same subnet as the interface
818cfa0ad2SJack F Vogel   that is being tested:
828cfa0ad2SJack F Vogel
83*fd225befSKevin Bowling   # ping <IP_address>
848cfa0ad2SJack F Vogel
85*fd225befSKevin Bowling7. If you want the driver to load automatically when the system is booted:
86*fd225befSKevin Bowling
87*fd225befSKevin Bowling   # cd em-x.x.x/src
88*fd225befSKevin Bowling   # make
89*fd225befSKevin Bowling   # make install
90*fd225befSKevin Bowling
91*fd225befSKevin BowlingEdit /boot/loader.conf, and add the following line:
92*fd225befSKevin Bowling   if_em_load="YES"
93*fd225befSKevin Bowling
94*fd225befSKevin BowlingEdit /etc/rc.conf, and create the appropriate ifconfig_em<interface_num> entry:
958cfa0ad2SJack F Vogel
968cfa0ad2SJack F Vogel   ifconfig_em<interface_num>="<ifconfig_settings>"
978cfa0ad2SJack F Vogel
988cfa0ad2SJack F VogelExample usage:
998cfa0ad2SJack F Vogel   ifconfig_em0="inet 192.168.10.1 netmask 255.255.255.0"
1008cfa0ad2SJack F Vogel
1018cfa0ad2SJack F Vogel    NOTE: For assistance, see the ifconfig man page.
1028cfa0ad2SJack F Vogel
1038cfa0ad2SJack F Vogel
104*fd225befSKevin BowlingAdditional Features and Configurations
105*fd225befSKevin Bowling======================================
106*fd225befSKevin Bowling
1078cfa0ad2SJack F VogelSpeed and Duplex Configuration
108*fd225befSKevin Bowling------------------------------
109*fd225befSKevin BowlingIn addressing speed and duplex configuration issues, you need to distinguish
110*fd225befSKevin Bowlingbetween copper-based adapters and fiber-based adapters.
1118cfa0ad2SJack F Vogel
112*fd225befSKevin BowlingIn the default mode, an Intel(R) Ethernet Network Adapter using copper
113*fd225befSKevin Bowlingconnections will attempt to auto-negotiate with its link partner to determine
114*fd225befSKevin Bowlingthe best setting. If the adapter cannot establish link with the link partner
115*fd225befSKevin Bowlingusing auto-negotiation, you may need to manually configure the adapter and link
116*fd225befSKevin Bowlingpartner to identical settings to establish link and pass packets. This should
117*fd225befSKevin Bowlingonly be needed when attempting to link with an older switch that does not
118*fd225befSKevin Bowlingsupport auto-negotiation or one that has been forced to a specific speed or
119*fd225befSKevin Bowlingduplex mode. Your link partner must match the setting you choose. 1 Gbps speeds
120*fd225befSKevin Bowlingand higher cannot be forced. Use the autonegotiation advertising setting to
121*fd225befSKevin Bowlingmanually set devices for 1 Gbps and higher.
1228cfa0ad2SJack F Vogel
123*fd225befSKevin BowlingCaution: Only experienced network administrators should force speed and duplex
124*fd225befSKevin Bowlingor change autonegotiation advertising manually. The settings at the switch must
125*fd225befSKevin Bowlingalways match the adapter settings. Adapter performance may suffer or your
126*fd225befSKevin Bowlingadapter may not operate if you configure the adapter differently from your
127*fd225befSKevin Bowlingswitch.
1288cfa0ad2SJack F Vogel
129*fd225befSKevin BowlingAn Intel(R) Ethernet Network Adapter using fiber-based connections, however,
130*fd225befSKevin Bowlingwill not attempt to auto-negotiate with its link partner since those adapters
131*fd225befSKevin Bowlingoperate only in full duplex and only at their native speed.
1328cfa0ad2SJack F Vogel
133*fd225befSKevin BowlingBy default, the adapter auto-negotiates the speed and duplex of the connection.
134*fd225befSKevin BowlingIf there is a specific need, the ifconfig utility can be used to configure the
135*fd225befSKevin Bowlingspeed and duplex settings on the adapter.
1368cfa0ad2SJack F Vogel
137*fd225befSKevin BowlingExample usage:
1388cfa0ad2SJack F Vogel
139*fd225befSKevin Bowling# ifconfig emX <IP_address> media 100baseTX mediaopt full-duplex
140*fd225befSKevin Bowling
141*fd225befSKevin BowlingNOTE: Only use mediaopt to set the driver to full-duplex. If mediaopt is not
142*fd225befSKevin Bowlingspecified and you are not running at gigabit speed, the driver defaults to
143*fd225befSKevin Bowlinghalf-duplex.
144*fd225befSKevin Bowling
145*fd225befSKevin BowlingIf the interface is currently forced to 100 full duplex, you must use this
146*fd225befSKevin Bowlingcommand to change to half duplex:
147*fd225befSKevin Bowling
148*fd225befSKevin Bowling# ifconfig emX <IP_address> media 100baseTX -mediaopt full-duplex
1498cfa0ad2SJack F Vogel
1508cfa0ad2SJack F VogelThis driver supports the following media type options:
1518cfa0ad2SJack F Vogel
152*fd225befSKevin BowlingMedia Type		Description
153*fd225befSKevin Bowling----------		-----------
154*fd225befSKevin Bowlingautoselect		Enables auto-negotiation for speed and duplex.
155*fd225befSKevin Bowling10baseT/UTP		Sets speed to 10 Mbps. Use the ifconfig mediaopt
1568cfa0ad2SJack F Vogel			option to select full-duplex mode.
157*fd225befSKevin Bowling100baseTX		Sets speed to 100 Mbps. Use the ifconfig mediaopt
1588cfa0ad2SJack F Vogel			option to select full-duplex mode.
159*fd225befSKevin Bowling1000baseTX		Sets speed to 1000 Mbps. In this case, the driver
1608cfa0ad2SJack F Vogel			supports only full-duplex mode.
161*fd225befSKevin Bowling1000baseSX		Sets speed to 1000 Mbps. In this case, the driver
1628cfa0ad2SJack F Vogel			supports only full-duplex mode.
1638cfa0ad2SJack F Vogel
1648cfa0ad2SJack F VogelFor more information on the ifconfig utility, see the ifconfig man page.
1658cfa0ad2SJack F Vogel
1668cfa0ad2SJack F VogelJumbo Frames
1678cfa0ad2SJack F Vogel------------
168*fd225befSKevin BowlingJumbo Frames support is enabled by changing the Maximum Transmission Unit (MTU)
169*fd225befSKevin Bowlingto a value larger than the default value of 1500.
1708cfa0ad2SJack F Vogel
171*fd225befSKevin BowlingUse the ifconfig command to increase the MTU size. For example, enter the
172*fd225befSKevin Bowlingfollowing where X is the interface number:
1738cfa0ad2SJack F Vogel
174*fd225befSKevin Bowling# ifconfig emX mtu 9000
175*fd225befSKevin Bowling
176*fd225befSKevin BowlingTo confirm an interface's MTU value, use the ifconfig command.
1778cfa0ad2SJack F Vogel
1788cfa0ad2SJack F VogelTo confirm the MTU used between two specific devices, use:
1798cfa0ad2SJack F Vogel
180*fd225befSKevin Bowling# route get <destination_IP_address>
1818cfa0ad2SJack F Vogel
182*fd225befSKevin BowlingNOTE: The maximum MTU setting for Jumbo Frames is 16110. This value coincides
183*fd225befSKevin Bowlingwith the maximum Jumbo Frames size of 16132 bytes.
1848cfa0ad2SJack F Vogel
185*fd225befSKevin BowlingNOTE: Using Jumbo frames at 10 or 100 Mbps is not supported and may result in
186*fd225befSKevin Bowlingpoor performance or loss of link.
1878cfa0ad2SJack F Vogel
188*fd225befSKevin BowlingNOTE: Packet loss may have a greater impact on throughput when you use jumbo
189*fd225befSKevin Bowlingframes. If you observe a drop in performance after enabling jumbo frames,
190*fd225befSKevin Bowlingenabling flow control may mitigate the issue.
1918cfa0ad2SJack F Vogel
192*fd225befSKevin BowlingNOTE: Some Intel gigabit adapters that support Jumbo Frames have a frame size
193*fd225befSKevin Bowlinglimit of 9238 bytes, with a corresponding MTU size limit of 9216 bytes. The
194*fd225befSKevin Bowlingadapters with this limitation are based on the Intel(R) 82571EB, 82572EI,
195*fd225befSKevin Bowling82573L, 82566, 82562, and 80003ES2LAN controller. These correspond to the
196*fd225befSKevin Bowlingfollowing product names:
1978cfa0ad2SJack F Vogel   Intel(R) PRO/1000 PT Server Adapter
1988cfa0ad2SJack F Vogel   Intel(R) PRO/1000 PT Desktop Adapter
1998cfa0ad2SJack F Vogel   Intel(R) PRO/1000 PT Network Connection
2008cfa0ad2SJack F Vogel   Intel(R) PRO/1000 PT Dual Port Server Adapter
2018cfa0ad2SJack F Vogel   Intel(R) PRO/1000 PT Dual Port Network Connection
2028cfa0ad2SJack F Vogel   Intel(R) PRO/1000 PT Quad Port Server Adapter
2038cfa0ad2SJack F Vogel   Intel(R) PRO/1000 PF Quad Port Server Adapter
2048cfa0ad2SJack F Vogel   Intel(R) PRO/1000 PF Server Adapter
2058cfa0ad2SJack F Vogel   Intel(R) PRO/1000 PF Network Connection
2068cfa0ad2SJack F Vogel   Intel(R) PRO/1000 PF Dual Port Server Adapter
2078cfa0ad2SJack F Vogel   Intel(R) PRO/1000 PB Server Connection
2088cfa0ad2SJack F Vogel   Intel(R) PRO/1000 PL Network Connection
2098cfa0ad2SJack F Vogel   Intel(R) PRO/1000 EB Network Connection with I/O Acceleration
2108cfa0ad2SJack F Vogel   Intel(R) PRO/1000 EB Backplane Connection with I/O Acceleration
2118cfa0ad2SJack F Vogel   Intel(R) 82566DM-2 Gigabit Network Connection
212*fd225befSKevin Bowling   Intel(R) 82574L Gigabit Network Connection
213*fd225befSKevin Bowling   Intel(R) Gigabit CT Desktop Adapter
214*fd225befSKevin Bowling   Intel(R) 82567LM-4 Gigabit Network Connection
215*fd225befSKevin Bowling   Intel(R) 82567LM-3 Gigabit Network Connection
216*fd225befSKevin Bowling   Intel(R) 82567LF-3 Gigabit Network Connection
2178cfa0ad2SJack F Vogel
218*fd225befSKevin BowlingNOTE: The following adapters limit Jumbo Frames sized packets to a maximum of
219*fd225befSKevin Bowling4088 bytes:
220*fd225befSKevin Bowling  - Intel(R) 82578DM Gigabit Network Connection
221*fd225befSKevin Bowling  - Intel(R) 82577LM Gigabit Network Connection
2228cfa0ad2SJack F Vogel- The following adapters do not support Jumbo Frames:
223*fd225befSKevin Bowling  - Intel(R) PRO/1000 Gigabit Server Adapter
224*fd225befSKevin Bowling  - Intel(R) PRO/1000 PM Network Connection
225*fd225befSKevin Bowling  - Intel(R) 82562G 10/100 Network Connection
226*fd225befSKevin Bowling  - Intel(R) 82562G-2 10/100 Network Connection
227*fd225befSKevin Bowling  - Intel(R) 82562GT 10/100 Network Connection
228*fd225befSKevin Bowling  - Intel(R) 82562GT-2 10/100 Network Connection
229*fd225befSKevin Bowling  - Intel(R) 82562V 10/100 Network Connection
230*fd225befSKevin Bowling  - Intel(R) 82562V-2 10/100 Network Connection
231*fd225befSKevin Bowling  - Intel(R) 82566DC Gigabit Network Connection
232*fd225befSKevin Bowling  - Intel(R) 82566DC-2 Gigabit Network Connection
233*fd225befSKevin Bowling  - Intel(R) 82566DM Gigabit Network Connection
234*fd225befSKevin Bowling  - Intel(R) 82566MC Gigabit Network Connection
235*fd225befSKevin Bowling  - Intel(R) 82566MM Gigabit Network Connection
236*fd225befSKevin Bowling  - Intel(R) 82567V-3 Gigabit Network Connection
237*fd225befSKevin Bowling  - Intel(R) 82577LC Gigabit Network Connection
238*fd225befSKevin Bowling  - Intel(R) 82578DC Gigabit Network Connection
239*fd225befSKevin Bowling- Jumbo Frames cannot be configured on an 82579-based Network device if
240*fd225befSKevin Bowling  MACSec is enabled on the system.
2418cfa0ad2SJack F Vogel
242*fd225befSKevin Bowling
243*fd225befSKevin BowlingVLANS
2448cfa0ad2SJack F Vogel-----
2458cfa0ad2SJack F VogelTo create a new VLAN interface:
2468cfa0ad2SJack F Vogel
247*fd225befSKevin Bowling# ifconfig <vlan_name> create
2488cfa0ad2SJack F Vogel
249*fd225befSKevin BowlingTo associate the VLAN interface with a physical interface and assign a VLAN ID,
250*fd225befSKevin BowlingIP address, and netmask:
2518cfa0ad2SJack F Vogel
252*fd225befSKevin Bowling# ifconfig <vlan_name> <ip_address> netmask <subnet_mask> vlan <vlan_id>
253*fd225befSKevin Bowlingvlandev <physical_interface>
2548cfa0ad2SJack F Vogel
2558cfa0ad2SJack F VogelExample:
2568cfa0ad2SJack F Vogel
257*fd225befSKevin Bowling# ifconfig vlan10 10.0.0.1 netmask 255.255.255.0 vlan 10 vlandev em0
2588cfa0ad2SJack F Vogel
259*fd225befSKevin BowlingIn this example, all packets will be marked on egress with 802.1Q VLAN tags,
260*fd225befSKevin Bowlingspecifying a VLAN ID of 10.
2618cfa0ad2SJack F Vogel
2628cfa0ad2SJack F VogelTo remove a VLAN interface:
2638cfa0ad2SJack F Vogel
264*fd225befSKevin Bowling# ifconfig <vlan_name> destroy
2658cfa0ad2SJack F Vogel
2668cfa0ad2SJack F Vogel
2678cfa0ad2SJack F VogelPolling
2688cfa0ad2SJack F Vogel-------
269*fd225befSKevin BowlingNOTES:
270*fd225befSKevin Bowling- Device Polling is only valid for non-SMP kernels.
271*fd225befSKevin Bowling- The driver has to be built into the kernel for Device Polling to be
272*fd225befSKevin Bowling  enabled in the driver.
2738cfa0ad2SJack F Vogel
2748cfa0ad2SJack F VogelTo enable polling in the driver, add the following options to the kernel
2758cfa0ad2SJack F Vogelconfiguration, and then recompile the kernel:
2768cfa0ad2SJack F Vogel
2778cfa0ad2SJack F Vogel  options DEVICE_POLLING
2788cfa0ad2SJack F Vogel  options HZ=1000
2798cfa0ad2SJack F Vogel
2808cfa0ad2SJack F VogelAt runtime use:
2818cfa0ad2SJack F Vogel  ifconfig emX polling (to turn polling on)
2828cfa0ad2SJack F Vogeland:
2838cfa0ad2SJack F Vogel  ifconfig emX -polling (to turn it off)
2848cfa0ad2SJack F Vogel
2858cfa0ad2SJack F Vogel
2868cfa0ad2SJack F VogelChecksum Offload
2878cfa0ad2SJack F Vogel----------------
2888cfa0ad2SJack F VogelChecksum offloading is not supported on 82542 Gigabit adapters.
2898cfa0ad2SJack F Vogel
290*fd225befSKevin BowlingChecksum offloading supports both TCP and UDP packets and is supported for both
291*fd225befSKevin Bowlingtransmit and receive.
2928cfa0ad2SJack F Vogel
293*fd225befSKevin BowlingChecksum offloading can be enabled or disabled using ifconfig. Both transmit
294*fd225befSKevin Bowlingand receive offloading will be either enabled or disabled together. You cannot
295*fd225befSKevin Bowlingenable/disable one without the other.
2968cfa0ad2SJack F Vogel
2978cfa0ad2SJack F VogelTo enable checksum offloading:
2988cfa0ad2SJack F Vogel
299*fd225befSKevin Bowling# ifconfig emX rxcsum
3008cfa0ad2SJack F Vogel
3018cfa0ad2SJack F VogelTo disable checksum offloading:
3028cfa0ad2SJack F Vogel
303*fd225befSKevin Bowling# ifconfig emX -rxcsum
3048cfa0ad2SJack F Vogel
3058cfa0ad2SJack F VogelTo confirm the current setting:
3068cfa0ad2SJack F Vogel
307*fd225befSKevin Bowling# ifconfig emX
3088cfa0ad2SJack F Vogel
3098cfa0ad2SJack F VogelLook for the presence or absence of the following line:
3108cfa0ad2SJack F Vogel  options=3 <RXCSUM,TXCSUM>
3118cfa0ad2SJack F Vogel
3128cfa0ad2SJack F VogelSee the ifconfig man page for further information.
3138cfa0ad2SJack F Vogel
3148cfa0ad2SJack F Vogel
3158cfa0ad2SJack F VogelTSO
3168cfa0ad2SJack F Vogel---
317*fd225befSKevin BowlingTSO (TCP Segmentation Offload) supports both IPv4 and IPv6. TSO can be disabled
318*fd225befSKevin Bowlingand enabled using the ifconfig utility or sysctl.
3198cfa0ad2SJack F Vogel
320*fd225befSKevin BowlingNOTE: TSO requires Tx checksum, if Tx checksum is disabled, TSO will also be
321*fd225befSKevin Bowlingdisabled.
3228cfa0ad2SJack F Vogel
323*fd225befSKevin BowlingNOTE: By default only PCI-Express adapters are ENABLED to do TSO. Others can be
324*fd225befSKevin Bowlingenabled by the user at their own risk. TSO is not supported on 82547 or
325*fd225befSKevin Bowling82544-based adapters, as well as older adapters.
3268cfa0ad2SJack F Vogel
327*fd225befSKevin BowlingTo enable/disable TSO in the stack:
3288cfa0ad2SJack F Vogel
329*fd225befSKevin Bowling# sysctl net.inet.tcp.tso=0 (or 1 to enable it)
3308cfa0ad2SJack F Vogel
331*fd225befSKevin BowlingDoing this disables/enables TSO in the stack and affects all installed adapters.
3328cfa0ad2SJack F Vogel
333*fd225befSKevin BowlingTo disable BOTH TSO IPv4 and IPv6:
3348cfa0ad2SJack F Vogel
335*fd225befSKevin Bowling# ifconfig em<interface_num> -tso
3368cfa0ad2SJack F Vogel
337*fd225befSKevin BowlingTo enable BOTH TSO IPv4 and IPv6:
338*fd225befSKevin Bowling
339*fd225befSKevin Bowling# ifconfig em<interface_num> tso
340*fd225befSKevin Bowling
341*fd225befSKevin BowlingYou can also enable/disable IPv4 TSO or IPv6 TSO individually. Simply replace
342*fd225befSKevin Bowlingtso|-tso in the above command with tso4 or tso6. For example, to disable
343*fd225befSKevin BowlingTSO IPv4:
344*fd225befSKevin Bowling
345*fd225befSKevin Bowling# ifconfig em<interface_num> -tso4
346*fd225befSKevin Bowling
347*fd225befSKevin BowlingTo disable TSO IPv6:
348*fd225befSKevin Bowling
349*fd225befSKevin Bowling# ifconfig em<interface_num> -tso6
3508cfa0ad2SJack F Vogel
3518cfa0ad2SJack F Vogel
352*fd225befSKevin BowlingMSI-X
353*fd225befSKevin Bowling-----
354*fd225befSKevin BowlingMSI or MSI-X can be turned off by an entry in /etc/sysctl.conf
355*fd225befSKevin Bowling
356*fd225befSKevin Bowling  hw.em.enable_msi=0
357*fd225befSKevin Bowling
358*fd225befSKevin BowlingUnload and reload the driver.
359*fd225befSKevin Bowling
360*fd225befSKevin Bowling
361*fd225befSKevin BowlingKnown Issues/Troubleshooting
362*fd225befSKevin Bowling============================
3638cfa0ad2SJack F Vogel
3648cfa0ad2SJack F VogelDetected Tx Unit Hang in Quad Port Adapters
3658cfa0ad2SJack F Vogel-------------------------------------------
366*fd225befSKevin BowlingIn some cases ports 3 and 4 don't pass traffic and report 'Detected Tx Unit
367*fd225befSKevin BowlingHang' followed by 'NETDEV WATCHDOG: emX: transmit timed out' errors. Ports 1
368*fd225befSKevin Bowlingand 2 do not show any errors and will pass traffic.
3698cfa0ad2SJack F Vogel
370*fd225befSKevin BowlingThis issue may be resolved by updating to the latest kernel and BIOS. You
371*fd225befSKevin Bowlingshould use an OS that fully supports Message Signaled Interrupts (MSI) and make
372*fd225befSKevin Bowlingsure that MSI is enabled in your system's BIOS.
3738cfa0ad2SJack F Vogel
3748cfa0ad2SJack F Vogel
3758cfa0ad2SJack F VogelThere are known performance issues with this driver when running UDP traffic
3768cfa0ad2SJack F Vogelwith Jumbo Frames.
3778cfa0ad2SJack F Vogel----------------------------------------------------------------------------
3788cfa0ad2SJack F Vogel
379*fd225befSKevin Bowling
3808cfa0ad2SJack F Vogel82541/82547 can't link or is slow to link with some link partners
3818cfa0ad2SJack F Vogel-----------------------------------------------------------------
3828cfa0ad2SJack F VogelThere is a known compatibility issue where time to link is slow or link is not
3838cfa0ad2SJack F Vogelestablished between 82541/82547 controllers and some switches. Known switches
3848cfa0ad2SJack F Vogelinclude:
3858cfa0ad2SJack F Vogel  Planex FXG-08TE
3868cfa0ad2SJack F Vogel  I-O Data ETG-SH8
3878cfa0ad2SJack F Vogel
3888cfa0ad2SJack F VogelThe driver can be compiled with the following changes:
3898cfa0ad2SJack F Vogel
3908cfa0ad2SJack F Vogel  Edit ./em.x.x.x/src/if_em.h to change the #define EM_MASTER_SLAVE
391*fd225befSKevin Bowling
3928cfa0ad2SJack F VogelFor example, change from:
3938cfa0ad2SJack F Vogel
3948cfa0ad2SJack F Vogel  #define EM_MASTER_SLAVE  e1000_ms_hw_default
395*fd225befSKevin Bowling
3968cfa0ad2SJack F Vogelto:
397*fd225befSKevin Bowling
3988cfa0ad2SJack F Vogel  #define EM_MASTER_SLAVE  2
3998cfa0ad2SJack F Vogel
4008cfa0ad2SJack F VogelUse one of the following options:
4018cfa0ad2SJack F Vogel  1 = Master mode
4028cfa0ad2SJack F Vogel  2 = Slave mode
4038cfa0ad2SJack F Vogel  3 = Auto master/slave
4048cfa0ad2SJack F VogelSetting 2 is recommended.
4058cfa0ad2SJack F Vogel
4068cfa0ad2SJack F VogelRecompile the module:
4078cfa0ad2SJack F Vogel  a. To compile the module
4088cfa0ad2SJack F Vogel	cd em-x.x.x
4098cfa0ad2SJack F Vogel	make clean
4108cfa0ad2SJack F Vogel	make
4118cfa0ad2SJack F Vogel  b. To install the compiled module in system directory:
4128cfa0ad2SJack F Vogel	make install
4138cfa0ad2SJack F Vogel
4148cfa0ad2SJack F Vogel
4158cfa0ad2SJack F VogelSupport
4168cfa0ad2SJack F Vogel=======
417*fd225befSKevin BowlingFor general information, go to the Intel support website at:
418*fd225befSKevin Bowlinghttp://www.intel.com/support/
4198cfa0ad2SJack F Vogel
420*fd225befSKevin BowlingIf an issue is identified with the released source code on a supported kernel
421*fd225befSKevin Bowlingwith a supported adapter, email the specific information related to the issue
422*fd225befSKevin Bowlingto [email protected]
4238cfa0ad2SJack F Vogel
4248cfa0ad2SJack F Vogel
425*fd225befSKevin BowlingCopyright(c) 1999-2019 Intel Corporation.
4268cfa0ad2SJack F Vogel
427*fd225befSKevin Bowling
428*fd225befSKevin BowlingTrademarks
429*fd225befSKevin Bowling==========
430*fd225befSKevin BowlingIntel is a trademark or registered trademark of Intel Corporation or its
431*fd225befSKevin Bowlingsubsidiaries in the United States and/or other countries.
4328cfa0ad2SJack F Vogel
4338cfa0ad2SJack F Vogel* Other names and brands may be claimed as the property of others.
434