当前位置:首页 > Linux > 正文

Linux如何快速查看网卡驱动?

使用 lspci -v 查找网卡型号及驱动(含 “Kernel driver in use” 行),更精确查看当前驱动版本用 ethtool -i 网卡名(需 root 权限)。

在Linux系统中,查看网卡驱动是网络故障排查、性能优化或硬件兼容性检查的关键步骤,以下是几种专业、可靠且高效的方法,结合系统命令和工具实现,适用于主流Linux发行版(如Ubuntu、CentOS、Debian等),所有操作需root权限或sudo执行。


通过 lspci 查看网卡型号与驱动(推荐)

原理:lspci 列出PCI设备信息,结合grep过滤网卡设备,再通过-k参数显示驱动详情。

步骤

lspci -v | grep -i ethernet -A 20 # 列出所有以太网设备及详细信息

或精确查询:

lspci -nnk | grep -i net -A 3 # 显示网卡型号、驱动模块和内核驱动

输出示例

使用 ethtool 查询驱动详情

原理:专用于网卡配置的工具,直接显示驱动名称、版本及固件信息。

步骤

  1. 先获取网卡接口名称(如eth0、enp0s3): ip link show | grep ": <" # 列出所有网络接口
  2. 查询指定网卡驱动: ethtool -i eth0 # 替换eth0为实际接口名

    输出关键字段

    driver: e1000e # 驱动名称 version: 3.2.6-k # 驱动版本 firmware-version: 1.8-0


通过内核模块 lsmod 确认加载的驱动

原理:显示已加载的内核模块,结合grep过滤网卡相关驱动。

步骤

输出示例

e1000e 332000 0

输出中左侧为驱动模块名,右侧为使用计数。


查看系统日志 dmesg 获取驱动加载记录

原理:系统启动时内核会加载驱动并记录日志,适合检查驱动初始化状态。

步骤

dmesg | grep -i 'eth0|driver' # 替换eth0为你的网卡接口

输出示例

[ 5.220000] e1000e: Intel(R) PRO/1000 Network Driver [ 5.221000] e1000e 0000:02:00.0 eth0: Registered PHC clock


检查 /sys 文件系统(底层信息)

原理:/sys是内核设备的虚拟文件系统,存储实时驱动信息。

步骤

cat /sys/class/net/eth0/device/driver/module/version # 查看驱动版本 cat /sys/class/net/eth0/device/driver/module/srcversion # 驱动源码版本


其他辅助命令

命令 作用 示例
modinfo <驱动名> 查看驱动详细信息 modinfo e1000e
dmidecode 查看硬件制造商信息(需结合网卡型号) dmidecode -t baseboard


常见问题解决

  1. 驱动未加载

    • 使用 sudo modprobe <驱动名> 手动加载(如modprobe e1000e)。
    • 检查是否在黑名单:grep -i blacklist /etc/modprobe.d/*.conf。
  2. 驱动更新

    • 通过发行版包管理器安装(如apt install linux-modules-extra-$(uname -r))。
    • 或从硬件官网下载源码编译安装(需谨慎操作)。

    总结建议

    • 快速查询:首选 lspci -nnk | grep -i net -A 3
    • 深度分析:结合 ethtool -i eth0 和 modinfo
    • 故障排查:查阅 dmesg 日志

    重要提示:操作前确保系统已安装pciutils(含lspci)、ethtool等工具,可通过包管理器安装(如apt install pciutils ethtool)。


    引用说明

    本文方法参考Linux内核文档(kernel.org/doc)及Ubuntu官方维护指南(help.ubuntu.com),确保内容符合Linux标准实现,硬件兼容性数据来源于Intel、Broadcom等厂商技术白皮书。

0