Ubuntu18.04离线安装Intel I219-V网卡驱动解决有线网络无法连接网卡不识别的问题

TOC

    • I. 系统和硬件
    • II. 问题
    • III. 解决方法
      • i. 驱动安装方法
      • ii. 离线安装包

I. 系统和硬件

  • Win10 和 Ubuntu18.04 UEFI下双系统
  • 华硕Z270pro,I219-V网卡
  • UEFI boot secure mode Disable(必须关闭,会影响modprobe指令的使用)

II. 问题

顺利安装双系统(UEFI Dual SYS Link)后,进入ubuntu,完全连不上网的状态。同时ifconfig、make等常用指令均未安装。

$ ip a
1: lo: ,UP> mtu 1500 group default qlen 1
    link/loopback 00:00:00:00:00:00
    inet 127.0.0.1/8 brd 127.255.255.255 scope global dynamic
       valid_lft forever preferred_lft forever
    inet6 ::1/128 scope host dynamic
       valid_lft forever preferred_lft forever

使用以上指令,仅有1:lo:...,没有网卡显示(e.g.eth0)。$ ping 127.0.0.1 能ping同,ping网关,外网均失败。考虑是网卡驱动的问题。

III. 解决方法

i. 驱动安装方法

英文检索了一下,是一个古老的问题,解决方法如下链接。
https://ubuntuforums.org/showthread.php?t=2356217

$ dmesg | grep e1000e

[ 1.216090] e1000e 0000:00:1f.6: The NVM Checksum Is Not Valid

Download driver here:
https://downloadcenter.intel.com/dow…?product=71307

Extract & cd ./e1000e-3.3.5.3/src

注释掉一些内容
Edit nvm.c, function e1000e_validate_nvm_checksum_genericto:

s32 e1000e_validate_nvm_checksum_generic(struct e1000_hw *hw)
{
    /*
    s32 ret_val;
    u16 checksum = 0;
    u16 i, nvm_data;


    for (i = 0; i < (NVM_CHECKSUM_REG + 1); i++) {
        ret_val = e1000_read_nvm(hw, i, 1, &nvm_data);
        if (ret_val) {
            e_dbg("NVM Read Error\n");
            return ret_val;
        }
        checksum += nvm_data;
    }


    if (checksum != (u16)NVM_SUM) {
        e_dbg("NVM Checksum Invalid\n");
        return -E1000_ERR_NVM;
    }
    */


    return 0;
}

Build & install

$ make
$ sudo rmmod e1000e
$ sudo make install
$ sudo modprobe e1000e

It should work now !!!
成功的话不用重启,右上角状态栏会直接显示图标

Note: 需要设置自动加载模块(编译得到的*.ko文件),具体方法忘记了。。(想起来了!将编译得到的e1000e.ko复制到/lib/modules//kernel/drivers/net/e1000e/e1000e.ko,执行这个语句$ sudo update-initramfs -u,重启,成功自动启动模块!)

ii. 离线安装包

因为缺少make指令需要离线安装deb包。
https://packages.ubuntu.com
选择对应的ubuntu版本,找到需要安装的包和依赖都下载下来,make、gcc、cpp和一堆依赖。
拷贝到ubuntu系统里(本质还是需要一台有网的电脑的,希望有更简洁的方法),
sudo dpkg -i [pkg_name.deb]依次安装,注意依赖的安装顺序,报错的话就先把需要的依赖先装好。

然后使用make指令完成驱动安装即可。

参考

https://blog.csdn.net/zifehng/article/details/79514756
https://ubuntuforums.org/showthread.php?t=2356217
https://packages.ubuntu.com

你可能感兴趣的:(Linux)