我有一个网卡:
02:00.0以太网控制器:Marvell Technology Group Ltd. 88E8050 PCI-E ASF千兆以太网控制器(18版)
看来这张卡是随机重置的。 这是一个dmesg:
[751806.503694] sky2 eth1:hung mac 124:54 fifo 195(128:123) [751806.503702] sky2 eth1:检测到接收器挂起 [751806.504154] sky2 eth1:禁用界面 [751806.504440] sky2 eth1:启用界面 [751809.712495] sky2 eth1:链路达1000 Mbps,全双工,stream量控制rx [970196.706605] sky2 eth1:hung mac 0:2 fifo 195(194:189) [970196.706611] sky2 eth1:检测到接收器挂起 [970196.706913] sky2 eth1:禁用界面 [970196.707227] sky2 eth1:启用界面 [970199.917018] sky2 eth1:链路以1000 Mbps,全双工,stream量控制rx
看来networking驱动有问题,sky2; 但我还没有在其他论坛find任何答案。 你有什么build议吗? 我可以使用另一个驱动程序的卡? 这是一个已知的错误?
谢谢!
sky2司机多年来无可救药。
我相信现在大部分都很好,9.10版本应该可以正常工作。
有一个解决方法,可以在大约10个有sky2驱动程序的盒子上可靠地工作。 我所有的盒子都是基于CentOS5内核2.6.18(2017年是古老的)。 我发现在这些日志消息之后…
sky2 eth1: receiver hang detected sky2 eth1: disabling interface sky2 eth1: enabling interface
…司机似乎打破了校验和卸载硬件。 在一些实验中,我只能通过ifdown; ifup导致部分失败ifdown; ifup ifdown; ifup序列似乎导致校验和卸载仅打破了一些UDPstream量。
所以我只是禁用校验和卸载到硬件:
ethtool --offload eth1 tx off
警告 :对我来说, ethtool --show-offload eth1谎言,总是声称它是closures的。 我可以看到,设置这个on或off明显改变行为,但查询其状态谎言,总是performance为off 。
现在只是为了自动应用我把它放在/sbin/ifup-local :
#!/bin/bash DEVICE=$1 if [[ "$DEVICE" == "eth0" || "$DEVICE" == "eth1" ]] ; then ethtool --offload "$DEVICE" tx off fi
但类似的东西也可以放在其他地方,比如debian上的/etc/network/if-up.d/eth 。