# I219-LM Network Card - port speed problem



## WinLin (Apr 5, 2021)

I have a Supermicro E100-9W-C (Motherboard: X11SWN-C-WOHS)
It contains network controllers:
em0 - I219-LM
igb0 - I210-IT

em0@pci0:0:31:6: class=0x020000 card=0x15bd15d9 chip=0x15bd8086 rev=0x30 hdr=0x00
vendor = 'Intel Corporation'
device = 'Ethernet Connection (6) I219-LM'
class = network
subclass = ethernet

igb0@pci0:2:0:0: class=0x020000 card=0x153315d9 chip=0x15338086 rev=0x03 hdr=0x00
vendor = 'Intel Corporation'
device = 'I210 Gigabit Network Connection'
class = network
subclass = ethernet

I was planning to use pfSense but was having problems: https://forum.netgate.com/topic/162625/i219-lm-network-card-port-speed-problem
Then I tried FreeBSD 12.2 and 13.0-RC5 and encountered the same problems.

igb0 port with I210-IT works great.

However, em0 works unstable with I219-LM. The most commonly detected incorrect port speed (after rebooting, or disconnecting and reconnecting the network cable) is set to "Media 10baseT/UTP <full-duplex>" instead of "Media 1000baseT <full-duplex>". In this case, the port bandwidth on one side up to 2.8MB/s to the other 80-100MB/s. Sometimes the data doesn’t go at all. But after restarting a few times or disconnecting and reconnecting the network cable, the correct "Media 1000baseT <full-duplex>" is set and then the data seems to be transferring successfully >100MB/s in both directions.


I found that https://www.freebsd.org/releases/12.2R/hardware/ I219 is not on the supported list.
I have seen that there is already a discussion about I219 support at https://forums.freebsd.org/threads/...-12-1-release-not-detected.74105/#post-468386. "But even https://www.freebsd.org/releases/13.0R/hardware/ don't see it."

Could this be the cause of this problem?

I tried em0 - LAN and igb0 - WAN, or em0 - WAN and igb0 - LAN. The result is the same (I219-LM is unstable). So we rejected out the problem of the cable or the other end of the network.
Windows 10 - I didn't notice these issues
Ubuntu 20.04 - I didn't notice these issues

FreeBSD Screen Shot (_I add PortSpeedProblem.jpg_):
Before plugging in the LAN cord
When the cord is plugged in
I switch the LAN cord off and on again


----------



## WinLin (Apr 21, 2021)

Is there any knowledge about Intel I219 support? Because I no longer know what to do with my Supermicro ... which is now stand on the table and I can’t use. Is there a place where I can ask for help? That this NIC to be included in the supported list.


----------



## SirDice (Apr 22, 2021)

Check your switch too. Auto negotiation used to be a problem with 10 and 100Mbit but with 1Gbps it became part of the standard. Alternatively you can try net/intel-em-kmod. Both the built-in em(4) driver and this port came from Intel themselves. The port/package is a slightly newer version than the one that's included with FreeBSD.


----------



## WinLin (Apr 26, 2021)

Thanks for the advice. It seems to be a step forward.

I tried the proposed net/intel-em-kmod solution.
I tested on FreeBSD 12.2 and 13.0. Both behaved equally. But I more attention to 12.2 because the last pfSense uses it.

Before the recommended driver update, "_sysctl -a | grep em.0_" showed driver version 7.6.1-k. After the upgrade 7.7.8.

In addition, the following was observed during testing.
Before upgrading: When you unplug and re-insert the LAN cable quickly, the speed is usually set 1000baseT. After unplugging and waiting >30-60s and connecting the cable, the speed is usually set incorrectly 10baseT/UTP.

After the net/intel-em-kmod updates, as I tested (FreeBSD 12.2 and 13.0) the port speed was set correctly in all cases.

Both before and after the upgrade "_sysctl dev.em.0 | grep eee_" shows "_dev.em.0.eee_control: 1_"

Since it seems to help, would it be possible (and when to expect) an update at the driver and kernel level? 

I'm still planning to use pfSense, and I'll probably not be able to install net/intel-em-kmod there conveniently.


----------

