首页 > 系统相关 >【问题复盘】在Ubuntu 20.04下安装OFED驱动

【问题复盘】在Ubuntu 20.04下安装OFED驱动

时间:2023-10-29 14:55:18浏览次数:73  
标签:OFED 版本 Ubuntu 驱动 安装 20.04

复盘:在Ubuntu 20.04下安装OFED驱动

起因

最近收到两台服务器,都搭载了ConnectX-5 EX网卡。由于供应商预装了Ubuntu 20.04操作系统,而我们的后端代码也是基于Ubuntu开发的,因此需要在Ubuntu上安装ConnectX-5网卡的驱动。

问题

尽管供应商已经预装了驱动,但运行我们的服务时出现以下错误:

EAL: /lib/x86_64-linux-gnu/libmlx5.so.1: version `MLX5_1.15' not found (required by so/x86_64/libmlx5-64.so)
EAL: FATAL: Cannot init plugins
EAL: Cannot init plugins

分析

首先怀疑OFED驱动是否已安装,通过运行命令ibv_devinfo查看网卡信息,确认驱动已安装。

按照手册的说法,我们想用英伟达网卡跑TRex那就必须在centos的特定版本下使用,版本对应关系如下:

TRex 版本 OFED 操作系统
2.32及以下 only 4.1 CentOS 7.3
2.33-2.56 only 4.3 CentOS 7.4
2.57和v2.86 only 4.6 CentOS 7.6
2.89及以上 only GA 5.3-1 CentOS 7.9

https://trex-tgn.cisco.com/trex/doc/trex_appendix_mellanox.html#_upgrade_procedure

然后注意到根据文档,使用NVIDIA网卡运行TRex需要特定版本的CentOS和OFED驱动。针对MCX516A系列网卡,需要下载OFED 5.x,并配套使用TRex 2.89版本。

决定重新安装驱动,因为不清楚供应商预装的驱动版本是否有问题。

下载OFED驱动:

https://www.mellanox.com/page/mlnx_ofed_eula?mtag=linux_sw_drivers&mrequest=downloads&mtype=ofed&mver=MLNX_OFED-5.4-3.7.5.0&mname=MLNX_OFED_LINUX-5.4-3.7.5.0-ubuntu20.04-x86_64.tgz
image-20231029141524102

按以下步骤安装:

tar -xf MLNX_OFED_LINUX-5.4-3.7.5.0-ubuntu20.04-x86_64.tgz
cd MLNX_OFED_LINUX-5.4-3.7.5.0-ubuntu20.04-x86_64

sudo ./mlnxofedinstall --with-mft --with-mstflint --dpdk --upstream-libs

安装过程中遇到问题:
在安装mlnx-ofed-kernel-dkms时失败,出现类似以下提示信息:

Error: mlnx-ofed-kernel-dkms installation failed!
Collecting debug info...

See:
	/tmp/MLNX_OFED_LINUX.1976.logs/mlnx-ofed-kernel-dkms.debinstall.log
Removing newly installed packages...

查看日志发现以下提示信息:

Copying build sources from '/var/lib/dkms/mlnx-ofed-kernel/5.4/build/../build' to '/usr/src/ofa_kernel/5.15.0-58-generic' ...
/bin/cp: cannot stat 'Module*.symvers': No such file or directory

关键词是5.15.0-58-generic,即内核版本可能存在问题。

现有的安装方式在某些地方找不到对应的安装文件。

尝试复制报错中提到的文件到相应位置,但并未解决问题,因此决定尝试更换内核版本。

升级系统软件库和内核:

apt-get install build-essential dkms

这个过程较慢,并且在安装升级dkms时出现错误,进一步证实问题可能是由当前内核版本引起的。

通过搜索得知,Ubuntu 20.04 + 5.4内核可以使用MLNX_OFED_LINUX-4.9-6.0.6.0驱动。

而Ubuntu 20.04 + 5.15内核只能使用默认版本的4.0驱动。

这篇博客中,作者的系统为Ubuntu 20.04,通过安装最新版的MLNX_OFED_LINUX-5.8-3.0.7.0成功解决了类似问题。

由于我们的系统内核版本也是5.15(似乎5.15是Ubuntu 20.04的默认内核版本),决定尝试安装最新的OFED驱动,看是否能解决问题。

果然,在安装MLNX_OFED_LINUX-5.8-3.0.7.0时,mlnx-ofed-kernel-dkms成功安装。

问题解决。

总结

整个问题主要是由于不同的内核版本导致文件路径不同,进而导致安装过程中某些库无法按预期安装而出现问题。

为什么使用最新的OFED驱动解决了问题呢?推测是最新驱动补充了之前缺失的某些文件,因此后续安装过程能够正常进行。

例如,在OFED 5.4中,某个安装所需的文件F位于A处,但安装程序却在B处查找该文件,导致报错。而在OFED 5.8中,该安装所需的文件F被移回到B处,此时不管去哪里查找都能找到文件F,因此安装可以正常进行。

ref:

1、https://skyao.io/learning-ubuntu-server/docs/router/update-drivers.html

2、https://blog.csdn.net/weixin_45485072/article/details/132892799

标签:OFED,版本,Ubuntu,驱动,安装,20.04
From: https://www.cnblogs.com/DAYceng/p/17795885.html

相关文章

  • 在Ubuntu搭建DHCP服务器
    一、提供DHCP的服务器,自己必须有固定的IP地址不然局域网就乱了,服务器自身启动(比如搭建完DHCP服务后,重新启动了服务器)的时候,DHCP服务器没有IP地址,无法和自己的DHCP服务通信。在百度搜索“Ubuntu22.04固定IP”,找到这篇文章最好用:https://linux.cn/article-15181-1.html截图如下:二、......
  • win10安装openocd进行ubuntu远程gdb调试--Apple的学习笔记
    一,win10版本的openocd+stlink调试环境搭建1,在官网下载openocd的win10版本解压即可,arm-none-eabi的win10版本解压即可,然后添加到环境变量。2,stlink连接开发板,且插入stlink。3,打开一个cmd输入命令,然后可以看到正常识别到stlink,且等待gdb的3333端口。openocd-fD:\program\OpenOCD-2......
  • ubuntu18.04安装openocd服务器独立进行gdb调试--Apple的学习笔记
    一,前言之前win10的openocd由于没添加loadelf导致无法调试,所以我就在ubuntu中也装了openocd环境,这样就不用依靠win10了。ubntu14.04无法编译openocd,所以换成ubuntu18.04安装openocd。二,ubuntu18.04安装openocd及gdb调试1,下载gitclonegit://git.code.sf.net/p/openocd/codeopenoc......
  • ubuntu配置SSH登录xsheel
    ubuntu配置SSH登录xsheel环境Ubuntu-22.04.2-desktop-amd64Ubuntu安装后自带SSH客户端,但是要想使用xsheel连接Ubuntu需要在Ubuntu中下载SSH-Server。步骤安装openssh-serversudoapt-getinstallopenssh-server#然后输入密码,填写Y然后,需要通过编辑/etc......
  • Ubuntu18.04下安装私人网盘服务NextCloud插件
    一、在线安装插件1.1:浏览器打开NextCloud访问地址1.2:使用管理员账号登录,进入应用管理1.3:找到自己需要的应用,点击安装和启用二、离线安装插件2.1:在应用商店找到需要的应用Allapps-AppStore-NextcloudTheNextcloudAppStore-Uploadyourappsandinstallnewappsontoyo......
  • 安装ubuntu遇到的问题
    win11安装双系统安装了的时候忘记了选择其他,没有分区直接安装,类似虚拟机的装法,虽然成功了,但没用到专门给ubuntu的分区进入ubuntu后发现分辨率有问题,调好分辨率后发现不能实现分屏知道是独立显卡的问题后,更新显卡驱动,发现蓝屏按网上提示依次选择,发现黑屏加右上角有光标闪动用a......
  • pytorch:1.12-gpu-py39-cu113-ubuntu20.04
    docker-compose安装unbuntu20.04version:'3'services:ubuntu2004:image:ubuntu:20.04ports:-'2256:22'-'3356:3306'-'8058:80'volumes:-my-volume:/datacommand:tail......
  • os: ubuntu23.10 -- 更新脚本(update)
    os:ubuntu23.10--更新脚本(update)    一、ubuntu23.10更新脚本1[wit@ubuntu:null]$cat~/user/tools/update2#!/usr/bin/envbash3456echo"----update----";7echo;8echo211224ln|sudo-Sdate"+%F%T";9echo21......
  • ORBSLAM3+ROS2foxy 调用笔记本摄像头跑单目相机程序 (Ubuntu20.04)
    环境要求:Ubuntu20.04、ROS2foxy、OpenCV4.4.01.安装ORB_SLAM3首先安装ORB_SLAM3:https://github.com/zang09/ORB-SLAM3-STEREO-FIXED。安装方法参考:https://www.cnblogs.com/xiaoaug/p/17766112.html安装完成并且测试数据集也能够跑通后即可。2.下载ROS2foxy版ORB_......
  • 如何在Ubuntu20.04.3机器上使用kvm创建CentOs7.9的虚拟机
    一、虚拟化背景因为产品在Ubuntu的环境上部署兼容性差,Ubuntu的实体机上还运行着其他系统没办法进行系统的更换重装,所以只能出此下策~二、开始搭建更新Ubuntu系统打开终端并通过如下命令更新本地的软件包索引$sudoaptupdate$sudoaptupgrade检查虚拟化是否开启在......