ethtool设置网卡速率后网卡状态变成down

author author     2023-04-12     425

关键词:

您好,在设置网卡速率后,网卡状态变成down的原因可能是由于网卡的驱动程序有问题,或者网卡的设置不正确。此外,网络环境可能存在问题,也可能是网卡本身的问题。因此,在设置网卡速率后,建议您检查网卡的驱动程序是否正确,检查网卡的设置是否正确,检查网络环境是否正常,以及检查网卡本身是否有问题。如果以上检查都没有问题,建议您重新安装网卡驱动程序,或者重新安装操作系统,以解决网卡状态变成down的问题。 参考技术A 的情况

可能的原因有以下几种:

1. 网卡驱动问题,比如网卡驱动版本不支持设置的速率。

2. 硬件原因,比如网卡的硬件不支持设置的速率,或者是由于硬件的限制而不能达到设置的速率。

3. 其他因素,比如网络环境,路由器等问题都可能导致网卡状态变成down。
参考技术B 在接口 down 掉后执行 ethtool 就获取不到任何信息了,这个问题有点奇怪。

根据我的经验,ethtool_ops 是在驱动 probe 的时候注册的,注册之后一直可以调用,除非它没有实现相应的接口。但是在这里明显不是没有实现的问题,毕竟接口在 up 的情况下 ethtool 能够正常获取信息。难不成这个驱动在 ndo_stop 函数中会重置 ethtool_ops,然后在 ndo_open 中重新注册吗?

问题的根本原因在哪里?
有了上面的猜想,我阅读了下接口 up、down 调用的驱动底层函数,没有发现与 ethtool_ops 相关的设定,搜索代码也没有搜出来,只搜出来在 probe 函数中设定 ethtool_ops 的代码。

这让我感到非常的不解,一段时间后我重新阅读 stmmac 驱动的代码,终于发现了问题的根本原因。

ethtool_ops 中的 begin 函数
我之前有阅读过 ethtool 执行过程中的代码,对于 ethtool 调用 ioctl 操作网卡的过程还算熟悉,但是我没有意识到 ethtool_ops 中 begin 函数的作用。

内核在 dev_ethtool 函数中分发 ethtool 的不同子命令,在分发子命令之前会调用 begin 函数(如果存在的话),如果 begin 函数返回值小于 0 ,dev_ethtool 函数将直接返回,子命令不会得到执行。

相关代码如下:

/* The main entry point in this file. Called from net/core/dev_ioctl.c */
int dev_ethtool(struct net *net, struct ifreq *ifr)
············
if (dev->ethtool_ops->begin)
rc = dev->ethtool_ops->begin(dev);
if (rc < 0)
return rc;

old_features = dev->features;

switch (ethcmd)
登录后复制

上述代码中

centos7万兆网卡跑不满

...接正常,有无拔插;2、检查是否有端口绑定,可以使用ethtool查看;3、检查网卡驱动是否正确,可以使用lspci-v查看;4、检查网卡的MTU值是否正确,可以使用ifconfig-a查看;5、检查防火墙设置,确保没有阻止数据流;6、检查网卡... 查看详情

suse及centos查看网卡状态-ethtool

   查看详情

ethtool

ethtool命令用于获取以太网卡的配置信息,或者修改这些配置查看依赖:#ldd/sbin/ethtool 示例查看机器上网卡的速度:百兆还是千兆:ethooleth0输出信息中‘Speed:’这一项就指示了网卡的速度。停止网卡的发送模块TX:ethtool... 查看详情

linux网卡状态命令mii-tool和ethtool

参考技术Alinux下用mii-tool和ethtool查看网线是否正确连接到网卡输入mii-tool可以查看网线是否连接到网卡有时驱动可能不支持会出错下列错误可以使用ethtool查看Linkdetected:yes为正常no为失败mii-tool的用法:mii-tool在更改网络设备通信协... 查看详情

ethtool的使用方法

...就是不成功。检查了配置文件N遍,没发现在问题。使用ethtool查看网卡状态,使网卡灯不停的闪,从而判断网卡是否正常命令ethtoolethx//x表示序号如eth1表示第二块网卡ethtooleth0发现1口灯没反应,网线换到3 查看详情

ethtool的使用方法

...就是不成功。检查了配置文件N遍,没发现在问题。使用ethtool查看网卡状态,使网卡灯不停的闪,从而判断网卡是否正常命令ethtoolethx//x表示序号如eth1表示第二块网卡ethtooleth0发现1口灯没反应,网线换到3 查看详情

ethtool命令如何实现对intel的千兆交换网卡禁用自适应

参考技术A当使用ethtool来禁用使用e1000网卡驱动模块的网卡自适应特性时,必须同时指定链路速度和全双工工作模式。例如:ethtool-seth0autonegoff会边比自适应,但是只是临时禁用,如果在命令中没有指定链路速度和全双工工作模式... 查看详情

网卡多队列

...nterface名称为eth0。查看网卡是否支持多队列。运行命令:ethtool-leth0。设置网卡当前使用多队列。运行命令:ethtool-Leth0combined2。对于有多个网卡的用户,可以对多个网卡分别进行设置:[[email  查看详情

黑群晖怎么使用ethtool命令

参考技术A当使用ethtool来禁用使用e1000网卡驱动模块的网卡自适应特性时,必须同时指定链路速度和全双工工作模式。例如:ethtool-seth0autonegoff会边比自适应,但是只是临时禁用,如果在命令中没有指定链路速度和全双工工作模式... 查看详情

ethtool原理介绍和解决网卡丢包排查思路

...R诊断网络问题,对于Linux常用的网卡丢包分析工具自然是ethtool。2020年06月22日-初稿阅读原文-https://wsgzao.github.io/post/ethtool/ethtool-utilityforcontrollingnetworkdriversandhardwareethtoolisthestandardLinuxutilityforcontrollingnetworkdriversandhardware,particularlyfo... 查看详情

【nic】如何使用ethtool命令管理以太网卡

参考技术Aethtool是一个Linux下的网络驱动程序的诊断和调整工具,可获取网络设备的相关信息,包括连接状态、驱动版本、PCI总线定位等等。它可以用来:获取标识和诊断信息获取扩展的设备统计信息控制以太网设备的速度、双... 查看详情

linux下怎么看网卡的速度

查看实时传输sar-nDEV1查看网卡最大速率ethtool eth0参考技术Ayum-yinstalliftopiftop 查看详情

ethtool命令光口闪烁无效

参考技术A识别一个特定的物理接口。利用ethtool,可以根据需要更改以太网卡的参数,包括自动协商、速度、双工和局域网唤醒,是因为没有识别一个特定的物理接口。ethtool命令用于查询和控制网络设备驱动程序和硬件设置,尤... 查看详情

linux如何判断网络是百兆还是千兆

...。用socat或者ftp之类在局域网内部直接传文件,看速率。ethtooleth0mii-tool-veth0可以查看连接速率是100m还是1000m但这不一定等于网络实际可提供的带宽。所以得测速 参考技术Blinux下如何看网卡是千兆还是百兆的方法如下:使用ethtool... 查看详情

查看网卡是否连接

查看网卡是否连接mii-tool命令linkok,就说明网络是连接的状态。#mii-toolens33ens33:negotiated1000baseT-FDflow-control,linkok如果上述命令不可以使用,可以使用ethtool命令,最后一行显示yes说明网卡时连接的状态。#ethtoolens33Linkdetected:yes 查看详情

centos网卡无法联网,ethtool显示linkdetected:nospeed:unknown!duplex:unknown!(255)

...常,每次重启移动IP正常一段时间就不通了,ifconfigeth1和ethtooleth1都显示有错误,请高手帮忙分析错误原因。ifconfigeth1cat/etc/udev/rules.d/70-persistent-net.rulesethtooleth1mii-tooleth1mii-tooleth0ethtooleth0ethtool-ieth0ethtool-ieth1[root@svr59~]#lspci|grep-iethe... 查看详情

虚机网卡多队列提高网络i/o带宽qos

...最多可提升性能达50%到100%,4个队列的性能提升更大。1)ethtool-leth0查看网卡是否支持多队列:[root@localhost~]#ethtool-leth0Channelparametersforeth0:Pre-setmaximums:RX:0TX:0Other:0Combined:2#表示最多支持设置2个队列Currenthardwaresettings:RX:0TX:0Other:0Combine... 查看详情

如何在linux中获取网卡信息

...查看模块信息:modifo<modulename>#其中包含version信息或#ethtool-i<devicename>;4.查看网络接口队列数查看网卡接口的中断信息:#cat/proc/interrupts|grepeth0或#ethtool-Seth0;5.查看网卡驱动源码的版本号解压Intel网卡驱动源码,打开解... 查看详情