linux 3.10 网卡驱动程序示例,Centos7安装万兆网卡驱动

编程知识 更新时间:2023-05-03 02:01:38

一、组网图

不涉及

二、问题描述

DELL服务器安装完Centos7后发现无法识别到10G的万兆网卡

1、下图为实际插卡槽位

2、在以下目录没有查看到对应槽位的网口信息

三、过程分析

初步定位为没有安装对应的网卡驱动。

四、解决方法

1、搜索需要下载驱动对应的网卡型号

[root@localhost ~]# lspci|grep10G

05:00.0 Ethernet controller: Intel Corporation Ethernet 10G 2P X520 Adapter (rev 01)

05:00.1 Ethernet controller: Intel Corporation Ethernet 10G 2P X520 Adapter (rev 01)

[root@localhost ~]#

2、官网搜索对应的驱动程序并下载到本地

3、该驱动需要安装kernel-headers,gcc,kernel-devel依赖包,可以先使用命令查看是否安装,若没有,则需要挂载ISO镜像,配置yum源,安装依赖包。若存在,可跳过步骤4-8,直接执行步骤9进行驱动安装。

[root@localhost ~]# rpm -qa |grep kernel* gcc*

gcc-4.8.2-16.el7.x86_64

kernel-tools-libs-3.10.0-123.el7.x86_64

grep-2.16-1.el7.x86_64

kernel-3.10.0-123.el7.x86_64

kernel-tools-3.10.0-123.el7.x86_64

kernel-headers-3.10.0-123.el7.x86_64

kernel-devel-3.10.0-123.el7.x86_64

4、可将对应操作系统的ISO通过光盘,U盘,或者直接上传到对应服务器的方式进行挂载,以下步骤以直接上传ISO镜像文件到服务器为例,其他方式挂载步骤与此类似。

先将ISO文件上传到服务器。

注意:该ISO镜像一定要是对应安装操作系统的镜像源,否则安装的kernel-headers和kernel-devel的版本与实际的kernel版本不一致,会导致后续网卡驱动程序安装失败的问题。实际安装的kernel版本可用uname –a查看。

5、使用mount命令将镜像挂载到/mnt目录,命令执行完后可用df –h命令查看是否挂载成功。

[root@localhost ISO]# mount CentOS-7.0-1406-x86_64-DVD.iso /mnt

mount: /dev/loop0 写保护,将以只读方式挂载

[root@localhost ISO]# df-h

文件系统 容量 已用 可用 已用% 挂载点

/dev/mapper/centos-root 50G 12G 39G 23% /

devtmpfs 24G 0 24G 0% /dev

tmpfs 24G 80K 24G 1% /dev/shm

tmpfs 24G 9.6M 24G 1% /run

tmpfs 24G 0 24G 0% /sys/fs/cgroup

/dev/mapper/centos-home 1.8T 37M 1.8T 1% /home

/dev/sda1 497M 121M 377M 25% /boot

/dev/loop0 3.9G 3.9G 0 100% /mnt

[root@localhost ISO]#

6、配置yum源,进入/etc/yum.repos.d/目录,将原来的yum源配置文件保存一份,修改原来的配置文件,替换成以下标红内容。

[root@localhost ISO]# cd/etc/yum.repos.d/

[root@localhost yum.repos.d]# cp CentOS-Base.repo BASE.BAK

[root@localhost yum.repos.d]# vi CentOS-Base.repo

[base]

name=CentOS-$releasever- Base

baseurl=file:///mnt

gpgcheck=1

gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-CentOS-7

7、清除yum缓存,并重新加载

[root@localhost yum.repos.d]# yum clean all

已加载插件:fastestmirror, langpacks

正在清理软件源: base

Cleaning up everything

Cleaning up list of fastest mirrors

[root@localhost yum.repos.d]#yum list

已加载插件:fastestmirror, langpacks

base | 3.6 kB 00:00:00

(1/2): base/group_gz | 157 kB 00:00:00

(2/2): base/primary_db | 2.7 MB 00:00:00

Determining fastest mirrors

已安装的软件包

GConf2.x86_64 3.2.6-8.el7 @anaconda

…#省略剩余安装包

8、执行命令安装依赖包

[root@localhost yum.repos.d]# yum install -y kernel-devel kernel-headers gcc

9、通过xftp等工具将网卡驱动上传到服务器。

10、使用命令解压驱动压缩包到当前目录

[root@localhost ~]#tar -zxvf ixgbe-5.6.1.tar.gz

ixgbe-5.6.1/

ixgbe-5.6.1/src/

…省略

ixgbe-5.6.1/ixgbe.7

ixgbe-5.6.1/ixgbe.spec

ixgbe-5.6.1/SUMS

[root@localhost ~]#

11、解压后进入对应的/src目录进行安装,此时发现还是报以下错误。

root@localhost yum.repos.d]# cd /root/ixgbe-5.6.1/src/

[root@localhost src]# make install

common.mk:84: *** Kernel header files not in any of the expected locations.

common.mk:85: *** Install the appropriate kernel development package, e.g.

common.mk:86: *** kernel-devel, for building kernel modules and try again。 停止。

12、打开 common.mk 发现编译时需要 /usr/src/linux 目录,但是系统并没有此目录,手动创建 /usr/src/kernels/3.10.0-123.el7.x86_64/ 到 /usr/src/linux 的链接即可。

[root@localhost linux]# ln -s /usr/src/linux/3.10.0-123.el7.x86_64 /usr/src/linux/

注意:示例中标红的kernel版本号以实际安装的版本号为准

13、再次进入安装目录进行编译,安装成功

[root@localhost src]#make install

make[1]: 进入目录“/usr/src/kernels/3.10.0-123.el7.x86_64”

CC [M] /root/ixgbevf-4.6.1/src/ixgbevf_main.o

CC [M] /root/ixgbevf-4.6.1/src/ixgbevf_ethtool.o

CC [M] /root/ixgbevf-4.6.1/src/ixgbe_vf.o

CC [M] /root/ixgbevf-4.6.1/src/ixgbe_mbx.o

CC [M] /root/ixgbevf-4.6.1/src/kcompat.o

LD [M] /root/ixgbevf-4.6.1/src/ixgbevf.o

Building modules, stage 2.

MODPOST 1 modules

CC /root/ixgbevf-4.6.1/src/ixgbevf.mod.o

LD [M] /root/ixgbevf-4.6.1/src/ixgbevf.ko

make[1]: 离开目录“/usr/src/kernels/3.10.0-123.el7.x86_64”

Copying manpages...

Installing modules...

make[1]: 进入目录“/usr/src/kernels/3.10.0-123.el7.x86_64”

INSTALL /root/ixgbevf-4.6.1/src/ixgbevf.ko

Can't read private key

DEPMOD 3.10.0-123.el7.x86_64

make[1]: 离开目录“/usr/src/kernels/3.10.0-123.el7.x86_64”

Running depmod...

[root@localhost src]#

14、导入驱动模块

如果之前存在旧版本的网卡驱动模块,可以先移除,再重新导入新版本的模块

[root@localhost linux]#modprobe -r ixgbe                #移除驱动模块

[root@localhost linux]#modprobe ixgbe                #导入驱动模块

15、用命令可以查看到驱动模块已经成功导入

[root@localhost linux]#lsmod |grep ixgbe

ixgbe334497 0

vxlan 37584 1 ixgbe

dca 15130 2 igb,ixgbe

ptp 18933 3 igb,tg3,ixgbe

16、在/sys/class/net下已经能识别到对应的网口信息

[root@localhost linux]#ls/sys/class/net/

em1 em2 em3 em4 lo p5p1 p5p2 p5p3 p5p4 p6p1 p6p2

更多推荐

linux 3.10 网卡驱动程序示例,Centos7安装万兆网卡驱动

本文发布于:2023-04-30 00:47:00,感谢您对本站的认可!
本文链接:https://www.elefans.com/category/jswz/2370fc20100a5198881cb3c799c6155b.html
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。
本文标签:示例   驱动程序   网卡   网卡驱动   linux

发布评论

评论列表 (有 0 条评论)
草根站长

>www.elefans.com

编程频道|电子爱好者 - 技术资讯及电子产品介绍!

  • 112491文章数
  • 28661阅读数
  • 0评论数