ubuntu网卡问题排查

提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档


前言

要确认驱动版本与设备是否不兼容,并检查是否有驱动加载,你可以按以下步骤进行操作:

1. 检查是否有驱动

要确认当前是否有驱动为网卡加载,可以使用以下步骤:

检查加载的驱动模块
可以使用 lsmod 命令查看当前系统加载的驱动模块列表,看看网卡的驱动是否已加载:

lspci -k

正常会有类似以下的输出

08:00.0 Ethernet controller: Intel Corporation I211 Gigabit Network Connection (rev 03)
	Subsystem: Intel Corporation Device 0000
	Kernel driver in use: igb
	Kernel modules: igb

检查网卡驱动绑定情况
通过 ethtool 可以检查网卡驱动是否正确绑定到设备:

ethtool -i enp8s0

假设网卡是 eth0,你会看到类似这样的输出:

driver: igb
version: 5.3.0-k
firmware-version:  0. 6-2
expansion-rom-version: 
bus-info: 0000:08:00.0
supports-statistics: yes
supports-test: yes
supports-eeprom-access: yes
supports-register-dump: yes
supports-priv-flags: no

如果 driver 字段为空,或者显示的是错误的驱动,说明没有正确的驱动加载。

使用 dmesg 检查内核日志
查看内核日志以获取驱动加载或设备初始化时的错误信息:

dmesg | grep -i e1000e

或查看所有网卡相关日志:

dmesg | grep -i eth

这可能显示驱动尝试加载但失败的信息。

2. 检查系统中可用的驱动

查看系统中已安装的网络驱动,可以通过以下命令:

find /lib/modules/$(uname -r)/kernel/drivers/net -name "*.ko"

这将列出当前内核版本下的所有网络驱动模块。确保你的设备所需的驱动在列表中。

3. 确认驱动与设备兼容性

首先,需要通过 PCI ID 确认设备型号,并检查当前加载的驱动是否支持该型号。

获取设备 PCI ID
使用以下命令来查看网卡设备的详细信息,包括厂商 ID 和设备 ID:

lspci -nn | grep -i ethernet

输出示例:

01:00.0 Ethernet controller [0200]: Intel Corporation Device [8086:125c] (rev 04)

其中 [8086:125c] 是厂商 ID 和设备 ID,8086 是 Intel 的厂商 ID,125c 是设备 ID。

确认驱动是否支持该设备
使用 modinfo 命令查看当前已加载驱动的支持设备列表:

modinfo <driver_name> | grep -i 125c

例如,如果你怀疑使用的是 e1000e 驱动,则运行:

modinfo e1000e | grep -i 125c

如果输出中没有找到设备 ID 125c,则说明当前驱动可能不支持这个设备。

4. 确认内核与驱动的兼容性

如果驱动已经加载并且与设备匹配,仍然无法使用,可能是内核版本的问题。你可以尝试以下操作:

检查当前内核版本

uname -r

安装内核相关模块
确保网络模块已经安装,可以运行:

sudo apt install linux-modules-extra-$(uname -r)

通过以上步骤,可以确认驱动是否与设备兼容,并检查是否有驱动加载。如果驱动不匹配,可以尝试更新或安装正确的驱动。

5. intel官网下载驱动

https://www.intel.cn/content/www/cn/zh/download-center/home.html
依赖包

apt update 
apt install make
apt install make-guile automake autoconf libtool gcc -y

网卡问提排查:
1.查看网卡硬件是否有问题
2.查看是否有驱动
3.查看配置
4.(若是双路cpu,则要考虑这个问题)

查看网卡驱动是否生效

cat /proc/net/dev

查看更多网卡信息

lshw -class network

查看node

numactl --hardware

显示了当前系统 NUMA(Non-Uniform Memory Access)架构的硬件配置。NUMA 是一种内存访问架构,在多处理器系统中,每个 CPU 都有自己的本地内存,并且访问远程 CPU 的内存会比访问本地内存慢。NUMA 可以优化系统性能,特别是在大规模多处理器系统中。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值