从ethtool到iw:揭秘Linux网卡信息背后的硬件密码
当你面对一台Linux服务器突然出现的网络故障,或是尝试优化嵌入式设备的无线性能时,那些看似晦涩的网卡状态参数实际上隐藏着硬件通信的完整故事。本文将带你深入解读这些数字背后的物理含义,从PCIe插槽到网线水晶头,从射频信号到MAC层协商。
1. 硬件识别:lspci与lsusb的深度解读
在Linux系统中,识别网卡硬件是排查问题的第一步。lspci和lsusb这两个命令提供了设备在总线层面的"身份证信息",远比简单的"eth0"标签更具参考价值。
PCIe网卡典型输出解析:
bash复制$ lspci -nnk | grep -iA2 net
03:00.0 Ethernet controller [0200]: Intel Corporation I350 Gigabit Network Connection [8086:1521] (rev 01)
Subsystem: Intel Corporation Ethernet Server Adapter I350-T2 [8086:0001]
Kernel driver in use: igb
Kernel modules: igb
关键字段解读:
8086:1521:Intel的厂商ID和设备IDigb:当前加载的驱动模块rev 01:硬件版本号
USB网卡的特殊注意事项:
bash复制$ lsusb -t
/: Bus 02.Port 1: Dev 1, Class=root_hub, Driver=xhci_hcd/4p, 5000M
|__ Port 2: Dev 2, If 0, Class=Wireless, Driver=rtl88x2bu, 5000M
当设备显示Driver=(none)时,表明内核识别了硬件但未加载驱动。此时需要:
- 检查
dmesg输出获取硬件详细型号 - 确认内核是否包含对应驱动模块
- 必要时手动编译安装DKMS驱动
提示:使用
modinfo <驱动名>可查看驱动支持的硬件ID列表,对比lspci -nn的输出确认兼容性
需要模型API调用? 免费领10W Token,多模型网关一键接入 Claude、DeepSeek 等主流模型。
