跳转到主内容
趣航编程网 - 趣学编程,启航技术之路!

如何在Linux利用Ethtool-I查看网卡驱动版本与固件信息解决由于驱动过旧的死机

ethtool -i是排查驱动不兼容致死机的首选命令,可直接获取driver、version、firmware-version三项关键信息,无需依赖dmesg或lspci;必须加-i参数,--driver无效;结合dmesg | grep -i "网卡名\|驱动名\|firmware"验证报错。

直接用ethtool -i就能快速定位驱动和固件是否过旧,这是排查因驱动不兼容导致系统死机的第一步。它不依赖内核日志或硬件扫描,输出明确、可比性强,特别适合在服务器卡死后重启进单用户模式快速诊断。

确认网卡设备名并运行标准命令

先查清你要检查的网卡名:

用ip -br a或ls /sys/class/net/列出所有接口,排除 lo、veth、docker0 等非物理网卡常见物理名有 enp0s3、ens33、eno1、em1、eth0(较老系统)等执行ethtool -i 网卡名

,例如:

ethtool -i ens33注意:只输ethtool ens33不会显示驱动信息,必须加-i参数;

--driver无效,会被忽略。

重点看 driver、version 和 firmware-version 字段

输出中这三项最关键:

Docker Desktop(linux)

当前 Docker 最新稳定版本之一,主要针对稳定性和兼容性进行了修复优化,适合生产环境与日常开发使用。该版本继续强化 AI 开发支持、容器日志管理以及 Docker Engine 的安全能力,对 Windows/macOS/Linux 平台兼容性进行了进一步优化。

下载driver:驱动模块名(如igb、e1000e、r8169),不是芯片型号。Realtek RTL8111 用 r8169 驱动就容易出问题version:驱动编译版本,和内核强绑定。比如 5.4.0-k 表示为 5.4 内核编译,若你用的是 6.6 内核却显示老版本号,说明驱动未随内核更新firmware-version:PHY 或 MAC 固件版本,格式常为1.56, 0x80000acf, 14.5.8。第一个数字是主版本,低于厂商推荐值(如 Intel 推荐 ≥6.80)即属过旧结合 dmesg 判断是否真因驱动引发死机ethtool -i 告诉你“现在加载了什么”,dmesg 才解释“为什么加载这个”以及有没有报错:运行dmesg | grep -i "ens33\|igb\|r8169\|firmware"

重点关注:

firmware missing、PHY reset failed、ignoring PHY interrupt、PCIe Bus Error若出现link down反复刷屏,或rx_missed_errors持续飙升(尤其 Realtek + r8169 组合),基本可锁定驱动不匹配驱动过旧的典型表现与应对方向以下现象出现时,升级驱动或换驱动往往是最快解法:Link detected: no 或 Speed: Unknown! —— 物理连接正常但无法协商,r8169 常见,换 r8168 驱动即可恢复ethtool -t 自检失败,尤其是Eeprom test (offline) 1—— 驱动未初始化 EEPROM 接口,多见于老旧 igb/e1000e supports-eeprom-access: no 但芯片本应支持 —— 驱动功能被阉割,需升级到新版内核或打补丁驱动服务器频繁硬重启、kernel panic 中含netdev或igb_timeout字样 —— 直接指向驱动层异常确认问题后,优先从发行版源升级内核和 firmware 包;若无效,再考虑手动安装厂商提供的最新驱动(如 Intel 的 i40e、igb 更新包,或 Realtek 官方 r8168 DKMS 包)。

相关文章