在Linux系统中,查看本机网卡型号是网络配置、驱动安装或硬件故障排查时的常见需求,网卡型号通常包含厂商、芯片组等信息,可通过多种命令工具获取,以下详细介绍几种主流方法及其实际操作场景。
使用lspci
命令查看PCI网卡信息
lspci
(List PCI Devices)是Linux系统中用于列出PCI总线上所有设备的命令,绝大多数内置网卡(如台式机主板集成的网卡)和部分PCIe扩展网卡均属于PCI设备,因此可通过该命令快速定位网卡型号。
基本用法
-
列出所有PCI设备并筛选网卡
执行以下命令,可过滤出包含“Ethernet”“Network”等关键词的设备:lspci | grep -iE "Ethernet|Network"
输出示例:
03:00.0 Ethernet controller: Realtek Semiconductor Co., Ltd. RTL8111/8168/8411 PCI Express Gigabit Ethernet Controller (rev 10)
“03:00.0”是设备在PCI总线上的地址,“Ethernet controller”表明设备类型,后续字符串即为网卡型号(此处为Realtek RTL8111/8168)。
-
显示更详细的设备信息(含厂商ID)
若需获取设备的厂商和设备ID(用于精确匹配驱动),可添加-nn
参数:lspci -nn | grep -iE "Ethernet|Network"
输出示例:
03:00.0 Ethernet controller [0200]: Realtek Semiconductor Co., Ltd. RTL8111/8168/8411 PCI Express Gigabit Ethernet Controller (rev 10) [10ec:8168] (rev 10)
方括号中的
[10ec:8168]
即厂商ID(10ec为Realtek)和设备ID(8168),可通过该ID查询具体驱动型号或硬件详情。 -
查看网卡详细信息(驱动、资源占用等)
添加-v
参数可显示设备的详细信息,包括驱动模块名称、内存地址、中断号等:lspci -vnn -d 10ec:8168 # 通过设备ID精准查询
在输出中,“Kernel driver in use: r8169”表示当前使用的驱动模块为
r8169
,这对驱动问题排查至关重要。
使用ethtool
命令获取网卡硬件及驱动信息
ethtool
是Linux下用于查询和配置网卡参数的工具,不仅能查看网卡速率、双工模式等网络状态,还能获取驱动版本、固件版本等硬件信息。
基本用法
-
查看网卡驱动信息
首先通过ip a
或ifconfig
确认网卡接口名(如eth0
、ens33
),然后执行:ethtool -i eth0
输出示例:
driver: r8169 version: 2.3LK-NAPI firmware-version: rtl8168g-2_0.0.1 02/26/15 bus-info: 0000:03:00.0 supports-statistics: yes supports-test: yes supports-eeprom-access: yes supports-register-dump: yes supports-priv-flags: yes
其中
driver
字段为当前加载的驱动模块,firmware-version
为网卡固件版本,bus-info
与lspci
输出的设备地址对应,可用于交叉验证。 -
查看网卡详细硬件参数
执行ethtool eth0
可查看网卡支持的速率(如1000Mbps)、支持的协议(如IEEE 802.3)等:ethtool eth0
输出示例中“Speed: 1000Mb/s”“Duplex: Full”分别表示当前速率和双工模式,“Port: Twisted Pair”表示物理接口类型为RJ45网口。
使用lshw
或hwinfo
获取完整硬件信息
lshw
(List Hardware)和hwinfo
(Hardware Info)是系统硬件信息查看工具,能以树形结构展示包括网卡在内的所有硬件详情,适合需要全面硬件信息的场景。
lshw
用法
需安装lshw
包(Ubuntu/Debian下sudo apt install lshw
),执行以下命令查看网卡信息:
sudo lshw -C network
输出示例:
*-network
description: Ethernet interface
product: RTL8111/8168/8411 PCI Express Gigabit Ethernet Controller
vendor: Realtek Semiconductor Co., Ltd.
physical id: 0
bus info: pci@0000:03:00.0
logical name: eth0
version: 10
serial: 00:e0:4c:68:30:2f
size: 1Gbit/s
capacity: 1Gbit/s
width: 64 bits
clock: 33MHz
capabilities: pm msi pciexpress msix vpd bus_master cap_list ethernet physical tp 10bt 10bt-fd 100bt 100bt-fd 1000bt-fd autonegotiation
configuration: autonegotiation=on broadcast=yes driver=r8169 driverversion=2.3LK-NAPI firmware=rtl8168g-2_0.0.1 02/26/15 ip=192.168.1.100 latency=0 link=yes multicast=yes
resources: irq:44 memory:f7c00000-f7c01fff ioport:3000(size=256)
该命令详细列出了网卡型号、厂商、MAC地址、驱动版本及硬件资源占用情况,信息全面且结构化。
hwinfo
用法
安装hwinfo
包(Ubuntu/Debian下sudo apt install hwinfo
),执行:
sudo hwinfo --network
输出会列出所有网卡设备的详细信息,包括芯片型号、子系统型号、驱动状态等,适合排查复杂硬件兼容性问题。
通过dmesg
查看内核日志中的网卡信息
dmesg
用于显示内核环缓冲区日志,网卡驱动加载或硬件初始化时,内核会输出相关信息,可通过该命令追溯网卡型号。
基本用法
dmesg | grep -iE "ethernet|network|pci"
输出示例:
[ 1.234567] r8169 0000:03:00.0: PCI INT A -> GSI 17 (level, low) -> IRQ 44
[ 1.234567] r8169 0000:03:00.0: setting latency timer to 64
[ 1.234567] r8169 0000:03:00.0: RTL8111/8168/8411 Gigabit Ethernet controller
[ 1.234567] r8169 0000:03:00.0: eth0: RTL8168g/8111g at 0xf7c00000, 00:e0:4c:68:30:2f, IRQ 44
RTL8111/8168/8411 Gigabit Ethernet controller”即为网卡型号,结合驱动名r8169
可进一步确认硬件信息。
不同方法对比及适用场景
为方便选择,以下通过表格总结各方法的优缺点及适用场景:
方法 | 优点 | 缺点 | 适用场景 |
---|---|---|---|
lspci |
快速定位PCI网卡,含设备ID | 无法直接显示驱动和固件版本 | 快速识别内置网卡型号,驱动排查 |
ethtool |
显示驱动、固件、速率等详细参数 | 需先确认网卡接口名 | 查看驱动状态、网络参数、硬件能力 |
lshw /hwinfo |
信息全面,结构化展示 | 需安装额外工具,输出较长 | 全面硬件信息统计,硬件资产管理 |
dmesg |
查看内核加载过程,追溯日志 | 日志信息杂乱,需过滤 | 驱动加载失败、硬件初始化问题排查 |
注意事项
- 权限问题:部分命令(如
lspci -v
、lshw
、dmesg
)需sudo
权限才能获取完整信息,普通用户可能仅显示基础信息。 - USB网卡:若为USB网卡,需使用
lsusb
命令(lsusb | grep -i ethernet
),结合usb-devices
查看详细信息。 - 虚拟化环境:在虚拟机中,网卡型号通常为虚拟设备(如VMware的
VMXNET3
、QEMU的VirtIO
),可通过ip a
确认接口名后,用ethtool -i
查看虚拟驱动。
相关问答FAQs
Q1:为什么使用lspci
查到的网卡ID(如10ec:8168)无法找到对应驱动?
A:可能原因包括:① 系统内核未包含该驱动,需手动安装(如从Realtek官网下载驱动源码编译);② 驱动模块未加载,可通过modprobe [驱动名]
手动加载(如modprobe r8169
);③ 硬件兼容性问题,需更新内核版本或检查BIOS设置,建议通过lspci -nn
确认ID后,查询Linux Hardware Database(https://linux-hardware.org/)或厂商文档获取驱动支持信息。
Q2:如何确认网卡是否支持特定功能(如SR-IOV、VLAN offload)?
A:使用ethtool -k [接口名]
查看网卡支持的功能及当前状态。
ethtool -k eth0
输出中,rx-checksumming: on
表示支持接收校验和,tx-vlan-offload: on
表示支持VLAN发送卸载,sr-iov: off
(需硬件和驱动支持)表示是否开启SR-IOV,若功能未启用,可通过ethtool --offload [接口名] [功能] on
手动开启(如ethtool --offload eth0 tx-vlan-offload on
)。
原创文章,发布者:酷番叔,转转请注明出处:https://cloud.kd.cn/ask/34732.html