I210 Gigabit Network Connection
-
Just installed a I210 Gigabit Network Connection in a small desktop for some light home labbing.
See the NIC listed under PCI devices but cannot get it to appear as a NIC after a PIFs refresh.
Is this an unsupported NIC?
-
Hi,
Can you provide the line on
lspci
command? @stormi feel free to ping the relevant person in here -
Here are my two NICs from LSPCI.
01:00.0 Ethernet controller: Realtek Semiconductor Co., Ltd. RTL8111/8168/8211/8411 PCI Express Gigabit Ethernet Controller (rev 15) 02:00.0 Ethernet controller: Intel Corporation I210 Gigabit Network Connection (rev 03)
-
I'm sure we have forum threads about I210 already, but the forum's search engine is as useless as usual, trying to be smarter and not respecting search words when they're not in its dictionary
The Linux driver for I210 is
igb
and I think it usually works.Which version of XCP-ng are you trying?
We have an
intel-igb-alt
driver RPM that you can install (see https://docs.xcp-ng.org/installation/hardware/#alternate-drivers). On 8.2, it provides a newer version of the driver. On XCP-ng 8.3, on the contrary, you get an older version, but that can still be an interesting test. See https://github.com/xcp-ng/xcp/wiki/Drivers for the available driver versions.Pinging @bleader for the network part, with help from @gduperrey to navigate among the existing drivers. @Andrew might have pieces of insight, too.
-
@jgdub Are you using XCP 8.3 or 8.2.1?
-
@Andrew I am using 8.3.0.
yum install intel-igb-alt installed but the nic is still not available after a PIFs refresh.
-
@stormi, @gduperrey and @Andrew
Also this is the output of lshw -C network
*-network UNCLAIMED
description: Ethernet controller
product: I210 Gigabit Network Connection
vendor: Intel Corporation
physical id: 0
bus info: pci@0000:02:00.0
version: 03
width: 32 bits
clock: 33MHz
capabilities: pm msi msix pciexpress cap_list
configuration: latency=0
resources: memory:d1200000-d12fffff ioport:3000(size=32) memory:d1300000-d1303fff memory:d1100000-d11fffffOutput of lspci -v
02:00.0 Ethernet controller: Intel Corporation I210 Gigabit Network Connection (rev 03) Flags: fast devsel, IRQ 19 Memory at d1200000 (32-bit, non-prefetchable) [size=1M] I/O ports at 3000 [size=32] Memory at d1300000 (32-bit, non-prefetchable) [size=16K] Expansion ROM at d1100000 [disabled] [size=1M] Capabilities: [40] Power Management version 3 Capabilities: [50] MSI: Enable- Count=1/1 Maskable+ 64bit+ Capabilities: [70] MSI-X: Enable- Count=5 Masked- Capabilities: [a0] Express Endpoint, MSI 00 Capabilities: [100] Advanced Error Reporting Capabilities: [140] Device Serial Number 00-00-c9-ff-ff-00-00-00 Capabilities: [1a0] Transaction Processing Hints Kernel modules: igb
Not sure I fully understand why this the igb driver is not grabbing this NIC.
-
I passed the device through to a windows machine to test and was able to have it work fine.
-
Soo..... the problem was the NIC.
I passed the NIC through to a Windows vm and it worked fine.
I passed the NIC through to a Linux VM and it was UNCLAIMED and unusable.Checking the event logs I found the following entries :
igb 0000:00:05.0: The NVM Checksum Is Not Valid
igb 0000:00:05.0: probe with driver igb failed with error -5For some reason Linux seems to no like that check sum failing and Windows seems to not care.
Digging around I found some people trying to re-flash firmware to resolve check sum errors and that was a dead end.
Other seems to get things working by changing some boot firmware settings.Attaching it back to the Windows machine I ran the intel boot utility and disabled PXE boot.
BOOTUTILW64E.EXE -BOOTENABLE- DISABLED -ALL
To my surprise, I reattached to the Linux VM and was able to see and use the NIC!
Disabled the PCI pass through for the NIC and did a PIFs refresh and I now can see the device in as ETH0.
Use it on a test VM and performance is what it should be.
I suspect the boot util properly set the parameters and and updated the check sum info making Linux happy.
I am also sure this is a long way to resolve the issue and there would have been a much faster process but it was bit of a random moment of stumbling on a solution.
Posting here in hopes that it helps somebody else some day.