Score:4

Ubuntu 20.04.2 and Onboard Intel I219-V

ke flag

I recently purchased an ASROCK Z590M board with an Intel I219-V onboard network controller. However, the latest Focal 20.04.2 won't detect the onboard NIC. This is a known issue with Linux, as ASROCK doesn't have the drivers. Intel doesn't show any drivers on their site either.

Some people have disabled the onboard adapter and added an extra NIC, but, because of my application, that would create problems, so I would like to use the onboard card.

So how can I do that?

zbyte avatar
ke flag
Trying to add the proper tags like z590 and i219-v but the reputation system won't allow it .... and all I'm trying to do is help and contribute ... oh well
us flag
I'm getting errors building this: amongst others: kcompat.h:6696:15: error: ‘struct xdp_umem’ has no member named ‘pages’; did you mean ‘pgs’?
Youran avatar
ru flag
Sorry, which kernel and gcc are you using? I am using the latest one from apt upgrade and when I try to make it, there are a lot of errors.
pangyuteng avatar
az flag
an alternative solution (easier IMO) is to flash Intel's Ethernet Connections Boot Utility https://superuser.com/a/1197910/323198 (worked for the I219-V on my EVGA Z590 FTW). No need to run `make`!
Score:3
ca flag

After reading and tweaking, this is what worked for me. I hope this helps all the others getting to configure the new boards with Intel and Ubuntu.

  1. Download this driver either directly to a directory on your Ubuntu server with the onboard NIC if you have a secondary network connection or to a USB drive: https://downloadmirror.intel.com/15817/eng/e1000e-3.8.4.tar.gz

  2. Once you get the file in the system do the following:

    sudo tar zxf e1000e-3.8.4.tar.gz
    sudo cd e1000e-3.8.4/src/
    sudo apt install make
    sudo apt install gcc
    sudo make install
    sudo modprobe e1000e insmod e1000e
    sudo reboot
    
  3. Do an:

    ip a
    

    and grab the name of the adapter, in my case enp0s31f6.

  4. Edit the network settings:

    $ sudo nano /etc/netplan/00-installer-config.yaml
    
    network:
      ethernets:
        enp0s31f6:
          dhcp4: true
      version: 2
    
  5. Save with Ctrl+X.

  6. Enter at the shell prompt:

    sudo netplan apply
    sudo reboot
    

That should do it, hope it helps so you don't have to waster part of your Sunday figuring it out.

Answer moved here from the OP's question.

bora89 avatar
jp flag
Can not compile, I am getting `error: ‘struct xdp_umem’ has no member named ‘pages’`
Score:2
gt flag

I'm hitting this issue on 20.04.2 server so it appears these drivers have not yet landed there.

Kernel is 5.4.0-65-generic

Gaia avatar
id flag
yes, the drivers are not available on Ubuntu 20.04.2, only on Ubuntu 20.04.2 HWE.
in flag
Ubuntu 20.04.3 still not available.
Score:1
id flag

This indeed is a helpful post but if you are stuck with no network, and you do not have onboard WiFi or a WiFi adapter, you can't install make/gcc to compile the driver. Additionally, these are the latest drivers available for this NIC: http://e1000.sourceforge.net. This resource is officially recommended by Intel, per the readme in release 25.2 (latest) of Intel's driver bundle:

Release 25.2 is the last release that contains the Linux e1000e driver. Maintenance for this driver will be continued by the community.

and additionally (also per Intel):

Due to the continuous development of the Linux kernel, the drivers are updated more often than the bundled releases. The latest driver can be found on http://e1000.sourceforge.net and on http://downloadcenter.intel.com

The easiest way to solve this issue is to install Ubuntu 20.04.2 HWE, which includes the drivers for this NIC out of the box, but if you can/want to compile the latest drivers, use the Sourceforge repository.

The HWE kernel can be installed with the following command:

 sudo apt install --install-recommends linux-generic-hwe-20.04 

PS: Use these cmds to check for HW type and driver version:

lspci -nnk | grep -A2 Ethernet

OR

modinfo e1000e
MechMK1 avatar
gn flag
Oh my god, after hours of messing around, installing the HWE kernel was the right solution
bora89 avatar
jp flag
Did not work for me. Still `*-network UNCLAIMED` I have I219V adapter. Can not follow the first advise due to compilation errors. What am I to do?
Gaia avatar
id flag
@bora89 installing HWE doesn't require any compilation, not sure what you believe the first advice to be.
bora89 avatar
jp flag
Then what to do after installing HWE? Network is still UNCLAIMED
Gaia avatar
id flag
This question and answer deal only with installing the driver. Unclaimed is another issue.
Score:0
cn flag

In the interim, I found that this adapter works to get you up and running with internet. You're just sacrificing a USB/C port.

https://www.amazon.com/StarTech-com-USB-Gigabit-Ethernet-Adapter/dp/B0109IY8PA/ref=sr_1_3?crid=3NU9B7QZ49HYQ&keywords=usb-c+to+ethernet+startech&qid=1641682005&sprefix=ethernet+to+usb+c+star%2Caps%2C79&sr=8-3

$ sudo lshw -C net
  *-network UNCLAIMED       
       description: Ethernet controller
       product: Ethernet Connection (7) I219-V
       vendor: Intel Corporation
       physical id: 1f.6
       bus info: pci@0000:00:1f.6
       version: 10
       width: 32 bits
       clock: 33MHz
       capabilities: pm msi cap_list
       configuration: latency=0
       resources: memory:a3200000-a321ffff
  *-network
       description: Ethernet interface
       physical id: 2
       bus info: usb@2:4
       logical name: enxa0cec8cb9183
       serial: a0:ce:c8:cb:91:83
       size: 1Gbit/s
       capacity: 1Gbit/s
       capabilities: ethernet physical tp mii 10bt 10bt-fd 100bt 100bt-fd 1000bt 1000bt-fd autonegotiation
       configuration: autonegotiation=on broadcast=yes driver=r8152 driverversion=v1.11.11 duplex=full firmware=rtl8153a-4 v2 02/07/20 ip=192.168.240.250 link=yes multicast=yes port=MII speed=1Gbit
Someone avatar
my flag
Your answer could be improved with additional supporting information. Please [edit] to add further details, such as citations or documentation, so that others can confirm that your answer is correct. You can find more information on how to write good answers [in the help center](/help/how-to-answer).
in flag
This is probably the easiest path combined with the other answer: Use an USB(-C) network adapter to get online temporarily, and then install the -hwe kernel.
mangohost

Post an answer

Most people don’t grasp that asking a lot of questions unlocks learning and improves interpersonal bonding. In Alison’s studies, for example, though people could accurately recall how many questions had been asked in their conversations, they didn’t intuit the link between questions and liking. Across four studies, in which participants were engaged in conversations themselves or read transcripts of others’ conversations, people tended not to realize that question asking would influence—or had influenced—the level of amity between the conversationalists.