搜索
简帛阁>技术文章>Linux安装后无网卡

Linux安装后无网卡

Linux安装后无网卡

日期:2021-11-15

作者:JonathanJiang

此文章为个人笔记,有误请指正,推荐读者查看参考资料的原文

一、参考资料

  1. Ubuntu下安装RealtekRTL8125网卡驱动
  2. CentOS下离线安装gcc环境
  3. make: *** /lib/modules/3.10.0-1160.el7.x86_64/build: No such file or directory. Stop.
  4. 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

施主,我劝你向善,重装系统吧

方法一、

方法二、

  • 准备一个大一点的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*

上面装完后,虽然有网卡显示,但系统不会自动生成网卡配置信息,请手动配置

tplinkTLWN725Nrtl8188euhttps://blogcsdnnet/longyinyushi/article/details/49853973自己搜一下驱动下载2解压源码:$tarx
1Nginx的安装依赖于以下四个包(1)SSL功能需要openssl库,下载地址:http://wwwopensslorg/(2)gzip模块需要zlib库,下载地址:http://wwwzlibne
多情况下我们都需要用到网卡绑定这中情况,例如:大数据传输备份、网卡冗余。使用网卡绑定可以提高网络的传输速度,并且还能保证网络安全性,做到网卡的高可用,甚至可以节省IP地址。网卡绑定模式mode0:轮
网卡配置文件:/etc/sysconfig/networkscripts/ifcfg(网卡名)DEVICEeth0,网卡的名称。BOOTPROTOdhcp,网卡是如何获取到ip地址网卡获取ip地址的方
1、下载hostapd可以到官网上下,主页:http://w1fi/hostapd/,我选择使用hostapd073也可以使用wget下载:wgethttp://w1fi/releases/hosta
1)现象说明公司IDC机房里的一台线上服务器硬件报警,最后排查发现服务器主板坏了,随即联系厂商进行更换主板,最后更换,登录服务器,发现网卡绑定及ip信息都在,但是ip却ping不通了,进一步排查,重
CentOS7默认的网卡名称是eno16777736一般人的是eth0编辑配置文件vi/etc/sysconfig/networkscripts/ifcfgeno16777736把ONBOOTno改为
linux网卡的配置主要通过配置/etc/sysconfig/networkscripts文件夹下面的配置文件。在/etc/sysconfig/networkscripts文件夹下面,有每张网卡对应
检测linux网卡是否正常1dmesg|grepeth如果出现以下eth0:linkup说明是网卡正常的eth0:registeredasPCnet/PCIII79C970Aeth0:linkupe
观看网卡传送、接收数据包的状态$netstatiKernelInterfacetableIfaceMTUMetRXOKRXERRRXDRPRXOVRTXOKTXERRTXDRPTXOVRFlgeth0