国产信创海光服务、兆芯服务器,搭配板载国产千兆网卡网讯WX1860A2、WX1860A4网卡驱动安装方法

国产网卡网讯WX1860A2,Linux驱动安装方法

1、关于网卡

网迅科技WX1860系列千兆以太网络控制器芯片,支持PCIe2.0×4主机接口,2或4个RJ45端口,具有RGMII接口,支持外接光口PHY实现1GbE光端口,支持网络数据包校验和卸载,支持RSS、QoS、NC-SI、PXE等,WX1860系列芯片主要应用于网络安全设备、工控计算机、服务器、工作站或嵌入式主板等。

国产操作系统,麒麟Kylin、统信UOS、欧拉openeluer、龙蜥Anolis,较新的系统已经预装了该网卡的驱动。老系统如Redhat、centos、debian、ubuntu等没有预装驱动,这时就需要手动安装驱动。

2、安装编译环境

由于官网提供的驱动是源码包,需要提前安装编译环境。这里主要使用centos7.9、ubuntu22.04.3环境演示,centos7.9做全步骤演示,因为原理相同ubuntu22.04.3如有不一样的地方再单独说明,推荐使用yum,apt去安装编译环境。

2.1准备网络环境

yum肯定需要联网,如果服务器上还有其他型号网卡并且有驱动,可以接上网线用该网卡上网。如果服务器只有网讯或者没有其他网卡可用。

可用通过ip a命令查看网卡,本服务器只有板载2口千兆网讯网卡,可以发现没有可用网卡,如下图:

2.1.1方法1使用手机给服务器提供热点

使用一条USB A-C数据线连接服务器,在手机 设置→更多连接→个人热点→USB网络共享,以小米hyperos系统为例,其他系统可能位置不一样。

打开后再次通过ip a命令查看网卡,已经有一张可用网卡,并已经获取地址

2.1.2方法2使用USB网卡(推荐)

在服务USB口上插入USB网卡,接上网线,大概率和你的电脑是同一个网络,网络通以后可以使用终端登录服务器,减少手动敲命令

通过ip a命令查看网卡,已经有一张可用网卡,并已经获取地址

Ubuntu配置网络时需要注意的地方

ubuntu插入usb网卡,网卡可能处于down的状态,需要手动up网卡,刷新dhcp、配置dns

cpp 复制代码
sudo -i
ip a
ip link set dev enx00e04c680295 up
dhclient
echo "nameserver 223.5.5.5" > /etc/resolv.conf

2.2下载驱动

可以到网讯下载中心下载驱动,

ngbe是网卡驱动,通常物理机安装驱动就用ngbe这个。ngbevf是虚拟化的驱动。

下载完成,建议解压好后传到服务器/root/目录下,或用U盘复制

ubuntu环境

ubuntu默认不允许root用户直接登录,传输文件需要传到/home/用户/目录下,我这边普通用户为user,传到了/home/user/目录下

2.3更新软件源

centos在几年前已经停止了软件更新,yum源也关闭了。还有些系统源在国外,下载速度非常慢,这里可以使用一个更换软件源脚本大部分linux系统都可以用,有专人更新。

cpp 复制代码
bash <(curl -sSL https://linuxmirrors.cn/main.sh)

输入上面命令可以弹出可以选中的软件源地址,脚本内有中文,如果是在终端输入可以正常显示

如果接显示器用键盘输入,如果没安装中文包,显示不了中文。但这里不影响,不需要看懂一直按敲回车下一步、下一步就行

2.4安装编译环境

编译需要安装 kernel-devel、kernel、gcc正常情况需要对应内核版本安装对应版本的kernel,但有些内核版本太低,或者软件源只有最新的版本,最终可能报错

cpp 复制代码
yum install -y kernel-devel-$(uname -r)
yum install -y kernel $(uname -r)
yum install -y gcc

如果出现上面的报错,先默认安装,不指定版本

cpp 复制代码
yum install -y kernel-devel
yum install -y kernel
yum install -y gcc

Ubuntu环境

ubuntu环境需要安装一下编译环境,headers版本在源上保留很完整,大概率可以匹配上,不太可能出现下面 2.5节描述的情况。

cpp 复制代码
sudo -i
apt install -y make
apt install -y gcc
apt install -y linux-headers-$(uname -r)

2.5 kernel小版本对不上,导致编译找不到kernel环境,很坑,大概率会卡在这

安装好环境尝试编译,依然出现找不到kernel目录

cpp 复制代码
[root@192 ~]# cd /root/ngbe-1.2.7/src/
[root@192 src]# make install
common.mk:79: *** Kernel header files not in any of the expected locations.
common.mk:80: *** Install the appropriate kernel development package, e.g.
common.mk:81: *** kernel-devel, for building kernel modules and try again.  Stop.

通过以下命令,复制一份kernel目录

通过uname -r查看内核版本

通过ls /usr/src/kernels/ 查看kernel安装的版本

通过cp -r /usr/src/kernels/3.10.0-1160.119.1.el7.x86_64/ /usr/src/kernels/3.10.0-1160.el7.x86_64 复制ls /usr/src/kernels/ 的文件夹,并重新命名为uname -r的名称。

每台服务器,每个系统版本号可能不同根据实际查看到的内容填写。

3编译驱动

通过以下命令进行编译

cpp 复制代码
chmod +x -R /root/ngbe-1.2.7/
cd /root/ngbe-1.2.7/src/
# 这里1.2.7是下载驱动的文件夹名也是版本号,如果下载了其他版本对应更改数字
make install

编译完成

安装完成通过modprobe ngbe命令加载驱动加载成功就能看到网卡(centos大概率加载不出来,ubuntu可以加载),加载不出来可以重启服务器。

网卡已经识别

Ubuntu环境

总结

1、准备网络环境,USB网卡,手机热点

2、安装编译环境,下载驱动

3、编译驱动

Centos7.9环境

cpp 复制代码
bash <(curl -sSL https://linuxmirrors.cn/main.sh)
yum install -y kernel-devel
yum install -y kernel
yum install -y gcc
cp -r /usr/src/kernels/3.10.0-1160.119.1.el7.x86_64/ /usr/src/kernels/3.10.0-1160.el7.x86_64
      # 3.10.0-1160.119.1.el7.x86_64是ls /usr/src/kernels/的值
      # 3.10.0-1160.el7.x86_64是(uname -r的值)
chmod +x -R /root/ngbe-1.2.7/
cd /root/ngbe-1.2.7/src/
make install
reboot

Ubuntu环境

cpp 复制代码
sudo -i
ip a
ip link set dev enx00e04c680295 up
     # 其中enx00e04c680295是ip a 查询到的网卡名
dhclient
echo "nameserver 223.5.5.5" > /etc/resolv.conf
bash <(curl -sSL https://linuxmirrors.cn/main.sh)
apt install -y make
apt install -y gcc
apt install -y linux-headers-$(uname -r)
chmod +x -R /home/user/ngbe-1.2.7/
cd /home/user/ngbe-1.2.7/src/
make install
modprobe ngbe
reboot
相关推荐
IpdataCloud1 小时前
IPv6时代,IP归属地查询服务精准度面临哪些挑战?实测对比+提升方案
运维·服务器·网络
d111111111d2 小时前
MQTT+STM32+云平台+AT命令的编写
服务器·笔记·stm32·单片机·嵌入式硬件·算法
上海云盾-小余2 小时前
服务器异常流量排查:攻击识别与快速限流处置指南
运维·服务器·网络
宵时待雨2 小时前
linux笔记归纳5:进程控制
linux·运维·笔记
志栋智能2 小时前
超自动化巡检:实现精细化运维管理的基础
运维·服务器·网络·人工智能·自动化
TOSUN同星2 小时前
同星多工位自动化刷写台架,助力汽车电子高效量产与质量追溯
运维·自动化·汽车
夏日听雨眠3 小时前
LInux(gcc处理器,库文件,动静态库)
linux·运维·服务器
xingfujie3 小时前
Ubuntu K8s 1.28 kubeadm 高可用集群部署实战
linux·运维·服务器·docker·kubernetes
Tutankaaa3 小时前
从单场到多场并发:知识竞赛平台的弹性扩展能力
服务器·笔记·学习·职场和发展