I219-LM Network Card - port speed problem
-
I have a Supermicro E100-9W-C (Motherboard: X11SWN-C-WOHS)
I have cleanly installed pfSense 2.5.0
It contains network controllers:
em0 - I219-LM
igb0 - I210-ITem0@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 = ethernetigb0 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.
If I force "1000baseT Full-duplex" to General Configuration -> Speed and Duplex, the port does not work at all.
I found that https://www.freebsd.org/releases/12.2R/hardware/ I219 is not on the supported list. But here https://github.com/pfsense/FreeBSD-src/blob/RELENG_2_5_0/sys/dev/e1000/if_em.c seems to be described (#define E1000_DEV_ID_PCH_CNP_I219_LM6 0x15BD).
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.
I tried pfSense 2.4.5-p1, 2.5.0 and latest 2.5.1 (20210401-0300)
I don't know where to look for the problem. Is there anyone I219-LM is working properly? How did you solve this?
--- Edit---
I checked, I don't have /boot/kernel/if_em.ko
Also loader.conf is not if_em_load = "YES".Could this be a problem? If so, where to get it?
-
I have I225-LM, and I had to go to System/Advanced/Networking and check Disable hardware checksum offload for them to work.
-
@bpoff1 Thanks. But it didn’t help me.
-
@winlin said in I219-LM Network Card - port speed problem:
I checked, I don't have /boot/kernel/if_em.ko
Also loader.conf is not if_em_load = "YES".
Could this be a problem? If so, where to get it?No, that's expected. The em driver is in-kernel you do not have to load a module for it.
If you set it to 1G fixed speed you would also need to set the other end of the link to that.
It would be very unusual to an issue with em, it's a very mature driver at this point. It could just be a bad port.
You could try a 2.5.1 or 2.6 snapshot. Though I'm not aware of any significant changes there.
You could try FreeBSD directly, perhaps FreeBSD 13.Steve
-
@stephenw10 Thanks for the answers. It helps to understand better how it works.
After this knowledge I tested:
Windows 10 - I didn't notice these issues
Ubuntu 20.04 - I didn't notice these issues
pfSense 2.4.5-p1, 2.5.0, 2.5.1 (build date: 20210401) - Port speed at random detected poorly
FreeBSD 12.2 - Port speed at random detected wrong
FreeBSD 13.0-RC5 - Port speed at random detected wrongFreeBSD Screen Shot:
Before plugging in the LAN cord
When the cord is plugged in
I switch the LAN cord off and on again
login-to-view -
Hmm, maybe some unusual PHY?
If it behaves equally badly in FreeBSD though it's not anything specific we are setting.
It would open a thread on the FreeBSD forum, see if anyone over there has seen this.
Unless anyone else chimes in here.
Steve
-
@stephenw10 I don't know how to check if PHY is as exceptional as possible.
I open a thread on the FreeBSD forum as you recommended (Status: Awaiting approval, I will add a link later ) -
Related FreeBSD Forum Thread: https://forums.freebsd.org/threads/i219-lm-network-card-port-speed-problem.79679/
-
@stephenw10 I received an suggest in the FreeBSD thread above.
Update the driver to intel-em-kmod where the latest driver provided by Intel is used and it helped me. This seems to be a problem with the old driver in the kernel (driver version 7.6.1). Because it works well with 7.7.8.
Is there an uncomplicated way to do this in the pfSense environment as well? Because the instructions provided by FreeBSD will not work here.
-
Hmm, interesting.
We don't build that module though it is in our ports tree.You might be able to load the package from FreeBSD 12.2 stable directly.
Steve