分享

如何解决华为Hi1822型号FC-HBA卡在UOS服务器企业版系统中的驱动问题

lemon 2021-10-31 16:45:35 发表于 已解决 [显示全部楼层] 回帖奖励 阅读模式 关闭右栏 2 2463
应用场景
硬件/整机信息:Arm架构华为鲲鹏920平台服务器
OS版本信息:服务器企业版1020/1021/1030/1031
驱动信息:华为Hi1822型号FC-HBA卡驱动hifc

问题现象
华为Hi1822型号FC-HBA卡在早期的UOS服务器企业版系统中默认未集成对应的hifc驱动,导致系统无法正常加载使用此款FC-HBA卡连接后端光纤存储

问题分析
华为提供的hifc安装包版本为3.0.0.15,实际安装上此版本驱动后发现项目上部分FC卡无法被驱动,所以修改更换hifc驱动版本,使用源码手动编译2.3.2.14版本hifc驱动并使系统自动加载,经过测试此版本2.3.2.14实际驱动效果更好。
所以对应技术文档手动编译驱动安装方法是通过先安装高版本的3.0.0.15驱动然后编译替换成低版本的2.3.2.14。

解决方案
服务器企业版1020/1021/1030:手动编译安装2.3.2.14版本hifc驱动
服务器企业版1031:默认已集成3.5.0.8版本hifc驱动

手动编译安装hifc驱动方法介绍如下,详细记录亦可参考附件中文档“UOS V20服务器OS安装Hi1822 HBA卡驱动方法 - V1.1.docx”, 安装包也已上传附件中:

1,将附件中的“dirver.zip”及“源码.zip”通过unzip解压后,使用root账户进行后续操作,“dirver”及“源码”目录中分别存放相关软件安装包及2.3.2.14版本hifc驱动源码,首先安装hifc驱动相关依赖包module-init-tools_24-1ubuntu3.5_all.deb,此包的相关依赖内容在同目录中的kmod.tar中,实际1030版本中已集成kmod相关包:
  1. root@uos-PC:~/dirver# dpkg -i module-init-tools_24-1ubuntu3.5_all.deb
  2. root@uos-PC:~/dirver# dpkg -l |grep module-init
  3. ii module-init-tools 24-1ubuntu3.5 all transitional dummy package (module-init-tools to kmod)

  4. 2,安装3.0.0.15版本的hifc驱动包:
  5. root@uos-PC:~/dirver# dpkg -i FC-IN300-UOS20SP1-hifc-3.0.0.15-aarch64.deb
  6. root@uos-PC:~/dirver# dpkg -l |grep hifc
  7. ii hifc 3.0.0.15 arm64 Kernnel Module Driver DEB Package for Huawei Intelligent Network Interface Card.

  8. 安装成功后,通过modinfo hifc可以看到版本信息为3.0.0.15:

  9. root@uos-PC:~/dirver# modinfo hifc
  10. filename: /lib/modules/4.19.0-arm64-server/updates/hifc/hifc.ko
  11. description: Universal FC/FCoE Driver, Lowlevel module, HIFC Chips.
  12. version: 3.0.0.15
  13. license: GPL
  14. author: Huawei Co.
  15. srcversion: 98D71146A9F6DE6C5CF842C
  16. depends: hifc_sdk,scsi_transport_fc
  17. name: hifc
  18. vermagic: 4.19.0-arm64-server SMP mod_unload modversions aarch64
  19. 3,编译2.3.2.14版本hifc驱动:

  20. root@uos-PC:~# cd 源码/hifc/
  21. root@uos-PC:~/源码/hifc# make
  22. ......
  23. MODPOST 2 modules
  24. CC /root/源码/hifc/hifc.mod.o
  25. LD [M] /root/源码/hifc/hifc.ko
  26. CC /root/源码/hifc/hifc_sdk.mod.o
  27. LD [M] /root/源码/hifc/hifc_sdk.ko
  28. make[1]: 离开目录“/usr/src/linux-headers-4.19.0-arm64-server”
  29. 4,替换驱动文件,降级至2.3.2.14版本hifc驱动:

  30. root@uos-PC:~/源码/hifc# cp -a ./hifc.ko ./hifc_sdk.ko /lib/modules/4.19.0-arm64-server/updates/hifc/
  31. root@uos-PC:~/源码/hifc# depmod -a
  32. root@uos-PC:~/源码/hifc# modinfo hifc
  33. filename: /lib/modules/4.19.0-arm64-server/updates/hifc/hifc.ko
  34. description: Universal FC/FCoE Driver, Lowlevel module, HIFC Chips.
  35. version: 2.3.2.14
  36. license: GPL
  37. author: Huawei Co.
  38. srcversion: EB0F5571571689367044CE8
  39. depends: hifc_sdk,scsi_transport_fc
  40. name: hifc
  41. vermagic: 4.19.0-arm64-server SMP mod_unload modversions aarch64
  42. 至此驱动安装已完成,下面的步骤是安装华为提供的FC卡监控工具,可查看当前FC卡状态情况:
  43. 5,安装hifcadm工具:
  44. root@uos-PC:~/dirver# dpkg -i hifcadm-2.6.0.9-1.aarch64.deb

  45. 6,查看HBA卡连接状态
  46. root@uos-PC:~/dirver# hifcadm info
  47. 查看HBA卡状态,正常情况下查询结果如下图所示且光模块的光口有红光。
复制代码
补充方案
解决方案部针对服务器企业版1030版本制作了对应的2.3.2.14版本hifc驱动安装包,省略了驱动编译等步骤,只需要安装hifc驱动及其依赖包module-init-tools:
  1. root@uos-PC:~# dpkg -i module-init-tools_24-1ubuntu3.5_all.deb
  2. root@uos-PC:~# dpkg -i FC-IN300-UOS20-1030-hifc-2.3.2.14-aarch64.deb

  3. Note:
  4. FC-IN300-UOS20-1030-hifc-2.3.2.14-aarch64.deb只适用于1030系统,安装包已上传附件。
复制代码


版权说明:论坛帖子主题均由合作第三方提供并上传,若内容存在侵权,请进行举报

已有(2)人评论

跳转到指定楼层
baixin手机认证 实名认证 发表于 2022-8-17 17:13:02 来自 中国山西
麻烦发一下附件
jackhuang手机认证 实名认证 发表于 2023-11-21 16:07:10 来自 中国广东
老师您好啊 这个 [如何解决华为Hi1822型号FC-HBA卡在UOS服务器企业版系统中的驱动问题] 里面的驱动源码包您能发一份我吗? 非常感谢!
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

联系在线客服