良许Linux教程网 干货合集 Linux系统如何安装网卡驱动

Linux系统如何安装网卡驱动

5e1bc312086a3337.jpg
5e1bc312086a3337.jpg

看上面的图片就知道接下来要说的内容,没错就是教大家如何在 Linux 系统中安装网卡驱动。很多时候我们装完一个 CentOS 系统或者是 Ubuntu 系统,又或者是其他什么类 UNIX 系统的时候,会发现竟然没有网卡信息,一般情况这就表示网卡驱动不配置,但服务器通信只要就是靠网络来进行数据传输,所以解决方法就是重新安装系统的网卡驱动。关于网卡驱动安装的思路这里分享给大家:

  1. 首先可以着手从我们的硬件进行检查,检查网卡本身的是否存在异常;

  2. 完成了第一步,那么接下来就是需要检查网卡芯片的型号,我们平时比较常见的网卡芯片有 Intel RC82545EM、Realtek 8139D、 Broadcom NetXtreme、3Com 3C940、SIS900、VIA VT6105L 等等。可以通过 lspci 来查看本机的网卡芯片信息。

    image-20201120002638588
    image-20201120002638588
  3. 第三步就是查看当前系统是否包含对应型号的网卡驱动,查看的目录:/lib/modules/release/kernel/drivrs/net

  4. 最后一步需要检查网卡驱动是否加载

    • lsmod 这个命令可以查看当前系统已经加载到的所有模块信息

    • 如果网卡没有被加载的话,那么需要使用 modprobe 后面跟上模块文件的名字来进行加载

      modprobe 命令的语法:

      modprobe [选项] 模块文件

      modprobe 命令的选项相关介绍:

      选项 选项说明
      -r,–remove 这个选项的作用就是指定一个模块进行卸载操作
      -l,–list 列出所有可用的模块
      -c,–show-conf 显示出所有模块的设置信息
      -K,–autoclean 将指定的模块设置为 autoclean 自动清除的模式
      -a,–all 加载一组匹配的模块
      -n,–show 只是显示即将要执行的操作,但是实际上并不进行执行
      -v,–verbose 在执行命令时显示详细的输出信息
      -q,–quiet 使用这个选项便不会显示错误信息

以上介绍了关于网卡驱动安装的一些思路,接下来我们就说下编译安装网卡的两种方式,分别是使用 RPM 包进行安装和使用源码包进行安装,那咱们话不多说,直接为大家演示安装方法吧。

方法一:RPM/Source RPM驱动包安装方式

这里我们就以 IBM X3650 服务器上的 Broadcom NetXtreme II 网卡为例进行安装。

  1. 首先我们需要在 IBM 的官网里面下载对应服务器型号的网卡驱动程序,然后利用 U 盘或者其他工具传到我们的 Linux 服务器上,然后接着就是进行编译了。

    $ rpm -ivh bnx2-.src.rpm
    cd /root/rpmbuild
    $ rpmbuild -bb SPECS/bnx2.spec
  2. 第二步就是编译好刚才下载的驱动包

    cd /root/rpmbuild/RPMS/X86_64
    $ rpm -ivh bnx2-.x86_64.rpm

    安装成功后会它们显示在这个路径:
    /lib/modules//extra/bnx2.ko

    复制生成的模块文件到目录:
    /lib/modules//kernel/drivers/net
  3. 接着就是加载驱动程序了

    $ insmod
    $ modprobe bnx2
    以上两种方法任选其一
  4. 加载好之后,查看网卡驱动的加载情况

    $ lsmod | grep bnx2 
    执行这个命令,如果命令的输出中有包含 bnx2 模块,则表示网卡驱动编译是成功的
  5. 对网卡进行激活,并查看网卡状态

    $ ifconfig eth0 up
    中间的是网卡设备名,这里以 eth0 为例

    $ ifconfig -a
    查看网卡的信息

方式二:源代码驱动包安装方式

这块我们就以安装 Realtek RTL8168/8111 网卡为例进行实验说明。

  1. 首先需要从 Realtek 的官网上下载源码,然后上传到 Linux 系统上,接着再创建一个目录,并把源码解压到此目录下。

    $ mkdir /temp
    cd /temp
    $ tar jxvf r8168-8.aaa.bb.tar.bz2
  2. 进行编译安装源码

    cd r8168.aaa.bb
    $ make clean modules
    $ make install
    $ depmod -a 
    这步是用来检查模块之间的依赖关系

    $ insmod ./src/r8168.ko 
    加载 r8168 模块

    $ lsmod | grep r8168 
    最后再检查一下 8168 模块是否加载

以上就是关于安装网卡驱动的两种方法。Linux 大多数都用来做服务器,所以对于网络的需求是非常重要的。在 Linux 中,网络分为两个层,分别是网络堆栈协议支持层和设备驱动程序层,网络堆栈是硬件里独立出来的一个部分,主要是用来支持 TCP/IP 等协议的,而网络设备驱动层则是连接网络推展层和网络硬件的中间层。

本文由 良许Linux教程网 发布,可自由转载、引用,但需署名作者且注明文章出处。如转载至微信公众号,请在文末添加作者公众号二维码。
良许

作者: 良许

良许,世界500强企业Linux开发工程师,公众号【良许Linux】的作者,全网拥有超30W粉丝。个人标签:创业者,CSDN学院讲师,副业达人,流量玩家,摄影爱好者。
上一篇
下一篇

发表评论

联系我们

联系我们

公众号:良许Linux

在线咨询: QQ交谈

邮箱: yychuyu@163.com

关注微信
微信扫一扫关注我们

微信扫一扫关注我们

关注微博
返回顶部