Linux安装后无网卡
日期:2021-11-15
作者:JonathanJiang
此文章为个人笔记,有误请指正,推荐读者查看参考资料的原文
一、参考资料
- Ubuntu下安装RealtekRTL8125网卡驱动
- CentOS下离线安装gcc环境
- make: *** /lib/modules/3.10.0-1160.el7.x86_64/build: No such file or directory. Stop.
- centos7.6/7.9 下 r8125 2.5g的网卡驱动安装遇到的问题
我主要参考这个文章,解决了问题
二、简介
使用ip addr
命令后,信息中没有eth*
网卡信息,可能是由于系统内核老旧,没有包含此网卡的驱动。
解决方式:
- 重装新版本系统(推荐)
如果没有特别原因,请一定选择重装新版本,最累的活让系统自己来干,别硬撑
- 手动安装网卡驱动
此路九死一生,慎重
系统环境:
- 操作系统:Centos 7
- 网卡型号:RTL8125
三、手动安装网卡驱动
3.1 找到网卡驱动
- 执行命令
lspci | grep -i ethernet
,此时输出的信息就是你的网卡信息,我的网卡是RTL8125
- 根据网卡型号,在自己的官网找到网卡驱动,我下载的网址瑞昱
r8125-9.006.04.tar.bz2
- 手动拷贝进系统内,然后解压
tar vjxf r8125-9.006.04.tar.bz2
cd r8125-9.006.04
看看有没有README文件,官方指导你怎么安装 - 我手动执行
sudo ./autorun.sh
进行安装如果能完成安装,恭喜。
如果不能请,执行gcc -v
查看你的是否安装gcc,或者gcc版本是否足够
3.2 手动安装GCC
施主,我劝你向善,重装系统吧
方法一、
- 下载gcc与其依赖包,阿里云的centos7
- glibc-devel-2.17-317.el7.x86_64.rpm
- glibc-headers-2.17-317.el7.x86_64.rpm
- kernel-headers-3.10.0-1160.el7.x86_64.rpm
- libmpc-1.0.1-3.el7.x86_64.rpm
- gcc-4.8.5-44.el7.x86_64.rpm
- cpp-4.8.5-44.el7.x86_64.rpm
- mpfr-3.1.1-4.el7.x86_64.rpm
- 手动拷贝进Linux中,然后打开其目录终端,手动进行安装
rpm -ivh *.rpm --nodeps --force
方法二、
-
准备一个大一点的U盘,然后打开linux的
iso
镜像文件,找到Packages
文件夹,此文件夹内是软件包,将Package文件夹解压到你的U盘上你也可以只取自己需要的软件包
-
在linux打开U盘中打开U盘,然后shell(终端)进入Packages文件夹内,安装gcc的rpm包即可
rpm -ivh gcc-*** # 安装你需要版本的gcc
-
检查:
gcc -v
-
最后,重复3.1内的手动安装
如果能安装完成,恭喜
3.3 报错:/lib/modules/3.10.0-1160.el7.x86_64/build:没有那个文件或目录
原因:没有安装内核开发包,即缺少kernel-devel的包
解决方式:
- 先从ISO镜像文件中取出全部软件包到U盘中,在linux中的shell(终端)中进入U盘的文件夹中,然后安装perl等依赖
rpm -ivh perl-* --nodeps --force #不知道依赖些啥,不管是不是全部装上,乱拳打死,有经验的同学不推荐这么做
- 安装kerel-devel
rpm cpio kernel-devel-3.10.0-1160.el7.x86_64.rpm | cpio -div
3.4 报错:官方自行安装(./autorun.sh)提示的BUG
我的报错如下:
这里基本上是编译./驱动文件夹/src
内的文件出错,需要自己去修改代码,仔细看看都有错误信息中有提示的,然后重新编译,不难
-
错误:‘ether_addr_copy’重定义
# 修改 r8125.h文件 vim src/r8125.h # 将文件的68行,下面 #if LINUX_VERSION_CODE < KERNEL_VERSION(3,14,0) # 改成 #if LINUX_VERSION_CODE < KERNEL_VERSION(3,10,0)
-
错误:初始值设定项里有未知的字段‘ndo_change_mtu’
# 这个文件里面 ndo_change_mtu 定义的是什么名称 我这里是ndo_change_mtu_rh74 # 在r8125_n.c的10870行对应改掉就行了 这个官方承认是个bug cat /usr/src/kernels/3.10.0-327.el7.x86_64/include/linux/netdevice.h | grep ndo_change_mtu
-
错误:‘struct net_device’没有名为‘last_rx’的成员
# 这个是内核的版本问题 vim src/r8125_n.c # 使用//将14580行注释掉,如下 // dev->last_rx = jiffies;
重新安装网卡驱动sudo ./autorun.sh
,安装成功后,使用ifconfig
或ip addr
就可以查看网卡信息了
3.5 手动增加网卡配置文件:/etc/sysconfig/network-scripts/ifcfg-en*
上面装完后,虽然有网卡显示,但系统不会自动生成网卡配置信息,请手动配置
更多推荐
Linux安装后无网卡
发布评论