问题现象描述
硬件配置:惠普服务器+ Atlas 300
问题现象:当服务器重启,驱动无法正常使用,通过upgrde-tool工具显示如图1所示:
图1 问题截图
关键过程、根本原因分析
关键过程:
- 进入终端界面,打印出dmesg日志,如图2所示:
图2 host端dmesg日志
- 通过dmesg日志,device端加载ko文件失败,判断可能是内核版本4.15.0-55与ko文件不匹配,查看操作系统内核版本数量,发现多了一个“4.15.0-55-generic”内核版本。
图3 操作系统内核版本
- 通过切换ubuntu内核版本,修改/etc/default/grub文件,执行update-grub保存更新。
图4 更换ubuntu内核默认版本
- 重启服务器后,通过uname –r查看内核版本变成“4.15.0-54-generic”,继续查询驱动,显示正常。
图5 查询芯片驱动
根本原因分析:
1、 操作系统自动升级内核版本,导致驱动与内核版本不匹配,device端无法正常加载ko文件。
结论、解决方案及效果
结论:
保证安装驱动版本与安装时的内核版本匹配。
解决方案:
1、 降低到安装驱动时的内核版本4.15.0-54-generic。
经验总结、预防措施和规范建议
当驱动无法使用时,首先查看内核版本是否有变化,建议保证每次重启服务器使用默认内核版本或者关闭操作系统自动升级内核。