Linux内核网卡支持查询指南
- Linux
- 2025-06-11
- 3
使用 lspci 查看已识别网卡
原理:列出所有PCI设备(包括网卡),通过驱动信息判断内核支持状态。
步骤:
lspci -v | grep -i "network|ethernet" -A 10
输出关键字段:
- Kernel driver in use: 显示e1000e、r8169等表示驱动已加载(内核支持)。
- Kernel modules: 列出兼容的驱动模块(如igb)。
示例: 00:1f.6 Ethernet controller: Intel Corporation Ethernet Connection (14) I219-V Subsystem: Lenovo Device 22be Kernel driver in use: e1000e # 表示内核已支持 Kernel modules: e1000e
通过 dmesg 检查内核日志
原理:查看系统启动和硬件检测日志中的网卡记录。
命令:
dmesg | grep -i "eth|network|firmware"
典型成功输出:
[ 5.220155] r8169 0000:03:00.0 eth0: RTL8168h/8111h, 00:11:22:33:44:55 [ 5.220300] r8169 0000:03:00.0 eth0: jumbo features [frames: 9200 bytes ...]
故障线索:出现unrecognized device或firmware not found表示驱动缺失或固件问题。

查询 /sys 文件系统
原理:sysfs虚拟文件系统暴露硬件和驱动关联信息。
操作:
# 查看所有网络接口 ls /sys/class/net/ # 检查指定网卡驱动状态 cat /sys/class/net/eth0/device/uevent | grep DRIVER
输出示例:
DRIVER=e1000e # 驱动名称即内核支持模块
使用 ethtool 获取网卡详情
原理:专用于查询和配置网卡的工具。
步骤:
ethtool -i eth0 # 替换eth0为实际接口名
关键字段:

- driver: 驱动名称(如ixgbe)
- firmware-version: 固件版本
- supports-statistics: 功能支持列表
检查内核模块状态
适用场景:验证驱动是否已加载或可用。
命令:
# 查看已加载模块 lsmod | grep -i "net|eth" # 查询模块信息(以e1000e为例) modinfo e1000e | grep "description|version"
输出示例:
description: Intel(R) PRO/1000 Network Driver version: 5.15.0-78-generic
查阅官方内核文档
路径:
/usr/src/linux-headers-$(uname -r)/Documentation/networking/
关键文件:
- device_drivers/:厂商驱动文档(如intel-e100.rst)
- supported_devices.txt:历史设备支持列表(部分内核版本提供)
在线文档:

硬件检测工具
推荐工具:
- lshw: sudo lshw -class network
输出包含configuration: driver=...字段。
- hwinfo: sudo hwinfo --netcard
总结建议
| 场景 | 推荐方法 |
|---|---|
| 快速检查当前网卡状态 | lspci + ethtool |
| 驱动加载失败诊断 | dmesg + /sys文件系统 |
| 开发或深度兼容性验证 | 内核文档 + 模块信息 |
重要提示:
通过上述方法,您可系统性验证Linux内核的网卡支持状态,高效解决硬件兼容性问题。
引用说明:
- Linux内核文档(kernel.org)
- lspci/ethtool工具手册页(man7.org)
- PCI ID数据库(pci-ids.ucw.cz)