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