上一篇
Linux内核网卡支持查询指南
- Linux
- 2025-06-11
- 2853
查看Linux内核支持的网卡方法:,1. 使用
lspci -k
查看已安装网卡型号及加载的内核驱动。,2. 使用
dmesg | grep -i ethernet
检查内核启动时识别的网卡及驱动加载信息。,3. 查阅内核文档
/lib/modules/$(uname -r)/modules.alias
或
/usr/share/hwdata/pci.ids
获取支持的硬件ID列表。
使用 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
:历史设备支持列表(部分内核版本提供)
在线文档:
Linux内核网络设备文档
硬件检测工具
推荐工具:
lshw
:sudo lshw -class network
输出包含
configuration: driver=...
字段。hwinfo
:sudo hwinfo --netcard
总结建议
场景 | 推荐方法 |
---|---|
快速检查当前网卡状态 | lspci + ethtool |
驱动加载失败诊断 | dmesg + /sys 文件系统 |
开发或深度兼容性验证 | 内核文档 + 模块信息 |
重要提示:
- 部分网卡需额外固件(如
iwlwifi
无线驱动),缺失固件时,需安装linux-firmware
包。- 若内核未内置驱动,可尝试DKMS编译安装官方驱动。
- 企业级环境建议使用ELRepo或硬件厂商提供的驱动。
通过上述方法,您可系统性验证Linux内核的网卡支持状态,高效解决硬件兼容性问题。
引用说明:
- Linux内核文档(kernel.org)
lspci
/ethtool
工具手册页(man7.org)- PCI ID数据库(pci-ids.ucw.cz)