Intel 82574L 千兆网卡频繁掉线修复 您所在的位置:网站首页 OpenWrt网卡掉线 Intel 82574L 千兆网卡频繁掉线修复

Intel 82574L 千兆网卡频繁掉线修复

2023-07-21 17:40| 来源: 网络整理| 查看: 265

ESXI中安装OpenWRT,两个Intel 82574L千兆网卡,eth0做LAN,eth1做WAN,eth1不管直通或者非直通给OpenWRT,都是用一段时间就会断网,短则几天,长则一个多月。断网后无法重新拨号,只能重启OpenWRT才能解决。有可能没有报错,也有可能报Reset adapter unexpectedly或者Detected Hardware Unit Hang。通过搜索,大致确定原因是省电模式ASPM出现问题。试过换OpenWRT镜像也没有效果。内核日志:

[292169.214098] e1000e 0000:03:00.0 eth1: Reset adapter unexpectedly [292172.699452] e1000e: eth1 NIC Link is Up 1000 Mbps Full Duplex, Flow Control: None [292177.118943] e1000e 0000:03:00.0 eth1: Detected Hardware Unit Hang: [292177.118943] TDH [292177.118943] TDT [292177.118943] next_to_use [292177.118943] next_to_clean [292177.118943] buffer_info[next_to_clean]: [292177.118943] time_stamp [292177.118943] next_to_watch [292177.118943] jiffies [292177.118943] next_to_watch.status [292177.118943] MAC Status [292177.118943] PHY Status [292177.118943] PHY 1000BASE-T Status [292177.118943] PHY Extended Status [292177.118943] PCI Status [292181.119093] e1000e 0000:03:00.0 eth1: Detecte

网卡信息:

root@OpenWrt:~# lspci ' grep Ethernet 02:00.0 Ethernet controller: Intel Corporation 82545EM Gigabit Ethernet Controller (Copper) (rev 01) 03:00.0 Ethernet controller: Intel Corporation 82574L Gigabit Network Connection root@OpenWrt:~# ethtool -i eth1 driver: e1000e version: 3.2.6-k firmware-version: 0.5-0 expansion-rom-version: bus-info: 0000:03:00.0 supports-statistics: yes supports-test: yes supports-eeprom-access: yes supports-register-dump: yes supports-priv-flags: no 升级驱动

可以看到现在的驱动版本是3.2.6-k,Intel官网上的最新驱动是3.8.4(https://www.intel.com/content/www/us/en/download/14611/15817/intel-network-adapter-driver-for-pcie-intel-gigabit-ethernet-network-connections-under-linux.html?),不过升级驱动需要自己编译OpenWRT,我使用的是eSir编译好的,自己编译需要的学习成本比较高。这边有在Ubuntu下更换驱动成功解决的案例(https://gist.github.com/amit177/63c86ee05110091f6fdda4c87a4209d0),而且他的原始驱动版本跟我的一致。不过这边又有人也是使用跟我一致的驱动版本出现一样的问题,升级驱动后,还是没有解决(https://www.codenong.com/cs110631505/)

ethtool -K eth1 tx off rx off

看到有人通过关闭网卡offload解决了问题(https://www.codenong.com/cs110631505/、https://blog.csdn.net/sxyllxy/article/details/110631505、https://gaomf.cn/2019/07/28/PVE_OpenWRT_Network_Broken/、https://www.dazhuanlan.com/clumsy_girl/topics/1507825),遂尝试,然后并没有效果

root@OpenWrt:~# ethtool --show-offload eth1 Features for eth1: rx-checksumming: on tx-checksumming: on tx-checksum-ipv4: off [fixed] tx-checksum-ip-generic: on tx-checksum-ipv6: off [fixed] tx-checksum-fcoe-crc: off [fixed] tx-checksum-sctp: off [fixed] scatter-gather: on tx-scatter-gather: on tx-scatter-gather-fraglist: off [fixed] tcp-segmentation-offload: on tx-tcp-segmentation: on tx-tcp-ecn-segmentation: off [fixed] tx-tcp-mangleid-segmentation: on tx-tcp6-segmentation: on generic-segmentation-offload: on generic-receive-offload: on large-receive-offload: off [fixed] rx-vlan-offload: on tx-vlan-offload: on ntuple-filters: off [fixed] receive-hashing: on highdma: on [fixed] rx-vlan-filter: on [fixed] vlan-challenged: off [fixed] tx-lockless: off [fixed] netns-local: off [fixed] tx-gso-robust: off [fixed] tx-fcoe-segmentation: off [fixed] tx-gre-segmentation: off [fixed] tx-gre-csum-segmentation: off [fixed] tx-ipxip4-segmentation: off [fixed] tx-ipxip6-segmentation: off [fixed] tx-udp_tnl-segmentation: off [fixed] tx-udp_tnl-csum-segmentation: off [fixed] tx-gso-partial: off [fixed] tx-sctp-segmentation: off [fixed] tx-esp-segmentation: off [fixed] tx-udp-segmentation: off [fixed] fcoe-mtu: off [fixed] tx-nocache-copy: off loopback: off [fixed] rx-fcs: off rx-all: off tx-vlan-stag-hw-insert: off [fixed] rx-vlan-stag-hw-parse: off [fixed] rx-vlan-stag-filter: off [fixed] l2-fwd-offload: off [fixed] hw-tc-offload: off [fixed] esp-hw-offload: off [fixed] esp-tx-csum-hw-offload: off [fixed] rx-udp_tunnel-port-offload: off [fixed] tls-hw-tx-offload: off [fixed] tls-hw-rx-offload: off [fixed] rx-gro-hw: off [fixed] tls-hw-record: off [fixed] root@OpenWrt:~# ethtool -K eth1 tx off rx off Actual changes: rx-checksumming: off tx-checksumming: off tx-checksum-ip-generic: off tcp-segmentation-offload: off tx-tcp-segmentation: off [requested on] tx-tcp-mangleid-segmentation: off [requested on] tx-tcp6-segmentation: off [requested on] root@OpenWrt:~# ethtool --show-offload eth1 Features for eth1: rx-checksumming: off tx-checksumming: off tx-checksum-ipv4: off [fixed] tx-checksum-ip-generic: off tx-checksum-ipv6: off [fixed] tx-checksum-fcoe-crc: off [fixed] tx-checksum-sctp: off [fixed] scatter-gather: on tx-scatter-gather: on tx-scatter-gather-fraglist: off [fixed] tcp-segmentation-offload: off tx-tcp-segmentation: off [requested on] tx-tcp-ecn-segmentation: off [fixed] tx-tcp-mangleid-segmentation: off [requested on] tx-tcp6-segmentation: off [requested on] generic-segmentation-offload: on generic-receive-offload: on large-receive-offload: off [fixed] rx-vlan-offload: on tx-vlan-offload: on ntuple-filters: off [fixed] receive-hashing: on highdma: on [fixed] rx-vlan-filter: on [fixed] vlan-challenged: off [fixed] tx-lockless: off [fixed] netns-local: off [fixed] tx-gso-robust: off [fixed] tx-fcoe-segmentation: off [fixed] tx-gre-segmentation: off [fixed] tx-gre-csum-segmentation: off [fixed] tx-ipxip4-segmentation: off [fixed] tx-ipxip6-segmentation: off [fixed] tx-udp_tnl-segmentation: off [fixed] tx-udp_tnl-csum-segmentation: off [fixed] tx-gso-partial: off [fixed] tx-sctp-segmentation: off [fixed] tx-esp-segmentation: off [fixed] tx-udp-segmentation: off [fixed] fcoe-mtu: off [fixed] tx-nocache-copy: off loopback: off [fixed] rx-fcs: off rx-all: off tx-vlan-stag-hw-insert: off [fixed] rx-vlan-stag-hw-parse: off [fixed] rx-vlan-stag-filter: off [fixed] l2-fwd-offload: off [fixed] hw-tc-offload: off [fixed] esp-hw-offload: off [fixed] esp-tx-csum-hw-offload: off [fixed] rx-udp_tunnel-port-offload: off [fixed] tls-hw-tx-offload: off [fixed] tls-hw-rx-offload: off [fixed] rx-gro-hw: off [fixed] tls-hw-record: off [fixed] ethtool -K eth1 gso off gro off tso off

同样是关闭offload,通过这个命令逐个关闭(https://serverfault.com/a/616623、https://web.archive.org/web/20160205153351/http://ehc.ac:80/p/e1000/bugs/378/、https://bbs.archlinux.org/viewtopic.php?id=162841、https://forum.proxmox.com/threads/eno1-detected-hardware-unit-hang.57025/、https://itniels.com/2019/10/28/proxmox-5x-e1000-driver-hang-fix/、https://bbs.ikuai8.com/forum.php?mod=viewthread&tid=106407&ordertype=2、https://www.right.com.cn/forum/thread-4066580-1-1.html),遂尝试,然而并没有效果

root@OpenWrt:~# ethtool --show-offload eth1 Features for eth1: rx-checksumming: on tx-checksumming: on tx-checksum-ipv4: off [fixed] tx-checksum-ip-generic: on tx-checksum-ipv6: off [fixed] tx-checksum-fcoe-crc: off [fixed] tx-checksum-sctp: off [fixed] scatter-gather: on tx-scatter-gather: on tx-scatter-gather-fraglist: off [fixed] tcp-segmentation-offload: on tx-tcp-segmentation: on tx-tcp-ecn-segmentation: off [fixed] tx-tcp-mangleid-segmentation: on tx-tcp6-segmentation: on generic-segmentation-offload: on generic-receive-offload: on large-receive-offload: off [fixed] rx-vlan-offload: on tx-vlan-offload: on ntuple-filters: off [fixed] receive-hashing: on highdma: on [fixed] rx-vlan-filter: on [fixed] vlan-challenged: off [fixed] tx-lockless: off [fixed] netns-local: off [fixed] tx-gso-robust: off [fixed] tx-fcoe-segmentation: off [fixed] tx-gre-segmentation: off [fixed] tx-gre-csum-segmentation: off [fixed] tx-ipxip4-segmentation: off [fixed] tx-ipxip6-segmentation: off [fixed] tx-udp_tnl-segmentation: off [fixed] tx-udp_tnl-csum-segmentation: off [fixed] tx-gso-partial: off [fixed] tx-sctp-segmentation: off [fixed] tx-esp-segmentation: off [fixed] tx-udp-segmentation: off [fixed] fcoe-mtu: off [fixed] tx-nocache-copy: off loopback: off [fixed] rx-fcs: off rx-all: off tx-vlan-stag-hw-insert: off [fixed] rx-vlan-stag-hw-parse: off [fixed] rx-vlan-stag-filter: off [fixed] l2-fwd-offload: off [fixed] hw-tc-offload: off [fixed] esp-hw-offload: off [fixed] esp-tx-csum-hw-offload: off [fixed] rx-udp_tunnel-port-offload: off [fixed] tls-hw-tx-offload: off [fixed] tls-hw-rx-offload: off [fixed] rx-gro-hw: off [fixed] tls-hw-record: off [fixed] root@OpenWrt:~# ethtool -K eth1 gso off gro off tso off root@OpenWrt:~# ethtool --show-offload eth1 Features for eth1: rx-checksumming: on tx-checksumming: on tx-checksum-ipv4: off [fixed] tx-checksum-ip-generic: on tx-checksum-ipv6: off [fixed] tx-checksum-fcoe-crc: off [fixed] tx-checksum-sctp: off [fixed] scatter-gather: on tx-scatter-gather: on tx-scatter-gather-fraglist: off [fixed] tcp-segmentation-offload: off tx-tcp-segmentation: off tx-tcp-ecn-segmentation: off [fixed] tx-tcp-mangleid-segmentation: off tx-tcp6-segmentation: off generic-segmentation-offload: off generic-receive-offload: off large-receive-offload: off [fixed] rx-vlan-offload: on tx-vlan-offload: on ntuple-filters: off [fixed] receive-hashing: on highdma: on [fixed] rx-vlan-filter: on [fixed] vlan-challenged: off [fixed] tx-lockless: off [fixed] netns-local: off [fixed] tx-gso-robust: off [fixed] tx-fcoe-segmentation: off [fixed] tx-gre-segmentation: off [fixed] tx-gre-csum-segmentation: off [fixed] tx-ipxip4-segmentation: off [fixed] tx-ipxip6-segmentation: off [fixed] tx-udp_tnl-segmentation: off [fixed] tx-udp_tnl-csum-segmentation: off [fixed] tx-gso-partial: off [fixed] tx-sctp-segmentation: off [fixed] tx-esp-segmentation: off [fixed] tx-udp-segmentation: off [fixed] fcoe-mtu: off [fixed] tx-nocache-copy: off loopback: off [fixed] rx-fcs: off rx-all: off tx-vlan-stag-hw-insert: off [fixed] rx-vlan-stag-hw-parse: off [fixed] rx-vlan-stag-filter: off [fixed] l2-fwd-offload: off [fixed] hw-tc-offload: off [fixed] esp-hw-offload: off [fixed] esp-tx-csum-hw-offload: off [fixed] rx-udp_tunnel-port-offload: off [fixed] tls-hw-tx-offload: off [fixed] tls-hw-rx-offload: off [fixed] rx-gro-hw: off [fixed] tls-hw-record: off [fixed] 修复EEPROM尝试1

这个方法首先是在这里看到的(https://forum.openwrt.org/t/network-issues-on-new-openwrt-install-on-x86/74678/9)。在翻看Intel官网下载的驱动的README中,也看到Known Issues/Troubleshooting中,有一节叫做82573(V/L/E) TX Unit Hang Messages,看症状很像,网卡型号也很接近,原文如下:

82573(V/L/E) TX Unit Hang Messages Several adapters with the 82573 chipset display "TX unit hang" messages during normal operation with the e1000edriver. The issue appears both with TSO enabled and disabled and is caused by a power management function that is enabled in the EEPROM. Early releases of the chipsets to vendors had the EEPROM bit that enabled the feature. After the issue was discovered newer adapters were released with the feature disabled in the EEPROM. If you encounter the problem in an adapter, and the chipset is an 82573-based one, you can verify that your adapter needs the fix by using ethtool:

ethtool -e eth0

Offset Values

0x0000 00 12 34 56 fe dc 30 0d 46 f7 f4 00 ff ff ff ff 0x0010 ff ff ff ff 6b 02 8c 10 d9 15 8c 10 86 80 de 83 ^^ The value at offset 0x001e (de) has bit 0 unset. This enables the problematic power saving feature. In this case, the EEPROM needs to read "df" at offset 0x001e. A one-time EEPROM fix is available as a shell script. This script will verify that the adapter is applicable to the fix and if the fix is needed or not. If the fix is required, it applies the change to the EEPROM and updates the checksum. The user must reboot the system after applying the fix if changes were made to the EEPROM. Example output of the script: bash fixeep-82573-dspd.sh eth0 eth0: is a "82573E Gigabit Ethernet Controller" This fixup is applicable to your hardware executing command: ethtool -E eth0 magic 0x109a8086 offset 0x1e value 0xdf Change made. You MUST reboot your machine before changes take effect! The script can be downloaded at http://e1000.sourceforge.net/files/fixeep-82573-dspd.sh.

于是把http://e1000.sourceforge.net/files/fixeep-82573-dspd.sh这个地址的sh下载下来看代码,发现有通过设备号判断是否是82573(V/L/E),不是的话不给刷,是的话,通过ethtool -E命令修改EEPROM,代码如下:

#!/bin/bash if [ -z "$1" ]; then echo "Usage: $0 \" echo " i.e. $0 eth0" exit 1 fi if ! ifconfig $1 > /dev/null; then exit 1 fi dev=$(ethtool -e $1 ' grep 0x0010 ' awk '{print "0x"$13$12$15$14}') case $dev in 0x108b8086) echo "$1: is a \"82573V Gigabit Ethernet Controller\"" ;; 0x108c8086) echo "$1: is a \"82573E Gigabit Ethernet Controller\"" ;; 0x109a8086) echo "$1: is a \"82573L Gigabit Ethernet Controller\"" ;; *) echo "No appropriate hardware found for this fixup" exit 1 ;; esac echo "This fixup is applicable to your hardware" var=$(ethtool -e $1 ' grep 0x0010 ' awk '{print $16}') new=$(echo ${var:0:1}`echo ${var:1} ' tr '02468ace' '13579bdf'`) if [ ${var:0:1}${var:1} == $new ]; then echo "Your eeprom is up to date, no changes were made" exit 2 fi echo "executing command: ethtool -E $1 magic $dev offset 0x1e value 0x$new" ethtool -E $1 magic $dev offset 0x1e value 0x$new echo "Change made. You *MUST* reboot your machine before changes take effect!"

原理是取EEPROM中0x1e位置的字节,最右边的bit从0改成1,知道了原理我就可以跳过设备型号验证,自己用命令行尝试。

这里用到的命令行是(https://blog.csdn.net/yiyeshuanglinzui/article/details/98584028):

ethtool -e'-eeprom-dump devname [raw on'off] [offset N] [length N] ethtool -E'-change-eeprom devname [magic N] [offset N] [length N] [value N]

其中magic的参数由DeviceID + VendorID组成,82574L的DeviceID为10d3,Intel的VendorID为8086,所以magic的参数为0x10d38086。

root@OpenWrt:~# ethtool -e eth1 Offset Values ------ ------ 0x0000: 00 e8 4c 68 7d c4 ff ff ff ff 50 00 ff ff ff ff 0x0010: ff ff ff ff 6b 02 40 6c 62 14 d3 10 ff ff d8 83 0x0020: 00 00 01 20 74 7e ff ff 00 00 c8 00 00 00 04 27 0x0030: c9 6c 50 21 3e 07 0b 45 84 2d 40 00 00 f0 06 07 0x0040: 00 60 80 00 04 0f ff 7f 01 4d ec 92 5c fc 83 f0 0x0050: 20 00 83 00 a0 00 1f 7d 61 19 83 01 50 00 ff ff 0x0060: 00 01 00 40 1c 12 07 40 ff ff ff ff ff ff ff ff 0x0070: ff ff ff ff ff ff ff ff ff ff ff ff ff ff 88 df 0x0080: ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff 0x0090: ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff 0x00a0: ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff 0x00b0: ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff 0x00c0: ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff 0x00d0: ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff 0x00e0: ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff 0x00f0: ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff 0x0100: ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff 0x0110: ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff 0x0120: ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff 0x0130: ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff 0x0140: ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff 0x0150: ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff 0x0160: ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff 0x0170: ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff 0x0180: ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff 0x0190: ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff 0x01a0: ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff 0x01b0: ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff 0x01c0: ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff 0x01d0: ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff 0x01e0: ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff 0x01f0: ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff 0x0200: ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff 0x0210: ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff 0x0220: ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff 0x0230: ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff 0x0240: ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff 0x0250: ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff 0x0260: ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff 0x0270: ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff 0x0280: ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff 0x0290: ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff 0x02a0: ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff 0x02b0: ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff 0x02c0: ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff 0x02d0: ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff 0x02e0: ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff 0x02f0: ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff 0x0300: ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff 0x0310: ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff 0x0320: ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff 0x0330: ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff 0x0340: ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff 0x0350: ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff 0x0360: ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff 0x0370: ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff 0x0380: ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff 0x0390: ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff 0x03a0: ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff 0x03b0: ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff 0x03c0: ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff 0x03d0: ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff 0x03e0: ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff 0x03f0: ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff root@OpenWrt:~# ethtool -e eth1 ' grep 0x0010 ' awk '{print "0x"$13$12$15$14}' 0x10d3ffff root@OpenWrt:~# ethtool -e eth1 ' grep 0x0010 ' awk '{print $16}' d8 root@OpenWrt:~# echo 8 ' tr '02468ace' '13579bdf' 9 root@OpenWrt:~# ethtool -E eth1 magic 0x10d38086 offset 0x1e value 0xd9 length 1 root@OpenWrt:~# ethtool -e eth1 Offset Values ------ ------ 0x0000: 00 e8 4c 68 7d c4 ff ff ff ff 50 00 ff ff ff ff 0x0010: ff ff ff ff 6b 02 40 6c 62 14 d3 10 ff ff d9 83 0x0020: 00 00 01 20 74 7e ff ff 00 00 c8 00 00 00 04 27 0x0030: c9 6c 50 21 3e 07 0b 45 84 2d 40 00 00 f0 06 07 0x0040: 00 60 80 00 04 0f ff 7f 01 4d ec 92 5c fc 83 f0 0x0050: 20 00 83 00 a0 00 1f 7d 61 19 83 01 50 00 ff ff 0x0060: 00 01 00 40 1c 12 07 40 ff ff ff ff ff ff ff ff 0x0070: ff ff ff ff ff ff ff ff ff ff ff ff ff ff 87 df 0x0080: ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff 0x0090: ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff 0x00a0: ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff 0x00b0: ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff 0x00c0: ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff 0x00d0: ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff 0x00e0: ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff 0x00f0: ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff 0x0100: ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff 0x0110: ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff 0x0120: ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff 0x0130: ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff 0x0140: ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff 0x0150: ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff 0x0160: ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff 0x0170: ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff 0x0180: ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff 0x0190: ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff 0x01a0: ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff 0x01b0: ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff 0x01c0: ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff 0x01d0: ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff 0x01e0: ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff 0x01f0: ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff 0x0200: ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff 0x0210: ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff 0x0220: ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff 0x0230: ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff 0x0240: ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff 0x0250: ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff 0x0260: ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff 0x0270: ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff 0x0280: ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff 0x0290: ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff 0x02a0: ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff 0x02b0: ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff 0x02c0: ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff 0x02d0: ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff 0x02e0: ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff 0x02f0: ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff 0x0300: ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff 0x0310: ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff 0x0320: ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff 0x0330: ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff 0x0340: ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff 0x0350: ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff 0x0360: ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff 0x0370: ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff 0x0380: ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff 0x0390: ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff 0x03a0: ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff 0x03b0: ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff 0x03c0: ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff 0x03d0: ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff 0x03e0: ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff 0x03f0: ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff

可见原来0x1e位置的值为d8,现在改成d9。由于eth1是直通给OpenWRT,所以改完EEPROM后,我直接重启了OpenWRT,可是几分钟后,竟然直接掉线了,赶紧刷回d8,继续重启,然后又正常了。看来这个方法只适用于82573。

刷的过程中有遇到两个坑:

ethtool -E eth1 magic 0x10d3ffff offset 0x1e value 0xd9 offset & length out of bounds

命令后面加上 length 1就可以了(https://forums.servethehome.com/index.php?threads/patching-intel-x520-eeprom-to-unlock-all-sfp-transceivers.24634/post-324427)

ethtool -E eth1 magic 0x10d3ffff offset 0x1e value 0xd9 length 1 Cannot set EEPROM data: Bad address

看来是设备号错误,设备号由DeviceID + VendorID组成(8086 == Intel, 1019 == 82547EI Gigabit Ethernet Controller in my example) (http://blog.vodkamelone.de/archives/146-Unbricking-an-Intel-Pro1000-e1000-network-interface.html),可见我获取到的DeviceID正常,但是VendorID为ffff导致的,由于Intel的VendorID默认都是8086,于是直接把设备号改成0x10d38086再次尝试,刷写成功。

修复EEPROM尝试2

继续网上搜索,看到了有专门针对82574网卡的修复sh(https://support.unitrends.com/hc/en-us/articles/360013179057-Prevent-Intel-82574-NICs-from-going-offline),于是从文中的地址下载(ftp://ftp.unitrends.com/support/scripts/nic82574.sh),代码如下:

#!/bin/sh log=/var/log/nicfix.log function fix_eeprom() { eth=$1 if [ -z "$eth" ]; then return 1; fi if ! ifconfig $eth > /dev/null; then echo "$eth does not exist" return 1; fi bdf=$(ethtool -i $eth ' grep "bus-info:" ' awk '{print $2}') dev=$(lspci -s $bdf -x ' grep "00: 86 80" ' awk '{print "0x"$5$4$3$2}') case $dev in 0x10d38086) echo "$eth: is a 82574L Gigabit Network Connection" ;; 0x10f68086) echo "$eth: is a 82574L Gigabit Network Connection" ;; 0x150c8086) echo "$eth: is a 82583V Gigabit Network Connection" ;; *) echo "No appropriate hardware found for this fixup" return 2 ;; esac echo "This fixup is applicable to your hardware" var=$(ethtool -e $eth ' grep 0x0010 ' awk '{print $16}') new=$(echo ${var:0:1}`echo ${var:1} ' tr '014589bc' '2367abef'`) if [ ${var:0:1}${var:1} == $new ]; then echo "Your eeprom is up to date, no changes were made" return 0 fi echo "Applying Intel NIC EEPROM fix ..." echo "executing: ethtool -E $eth magic $dev offset 0x1e value 0x$new" ethtool -E $1 magic $dev offset 0x1e value 0x$new echo "Change made. You must reboot before changes take effect." return 0 } function ethmatch() { bdf=$(ethtool -i $1 ' grep "bus-info:" ' awk '{print $2}') dev=$(lspci -s $bdf -x ' grep "00: 86 80" ' awk '{print "0x"$5$4$3$2}') case $dev in 0x10d38086) echo "$1: is a 82574L Gigabit Network Connection" ret=1 ;; 0x10f68086) echo "$1: is a 82574L Gigabit Network Connection" ret=1 ;; 0x150c8086) echo "$1: is a 82583V Gigabit Network Connection" ret=1 ;; *) echo "$1: is not a match" ret=0 ;; esac return $ret } lspci 'grep Eth 'grep -q 82574 i1=$? lspci 'grep Eth 'grep -q 82583 i2=$? if [ $i1 -eq 0 -o $i2 -eq 0 ]; then # found matching NICs, set kernel param grubby --update-kernel="$( grubby --default-kernel )" --args="pcie_aspm=off" # find which eth device matches these NICs doeth=eth0 ethlist=`ifconfig 'grep eth 'awk '{ print $1 }' 'sed -e 's/\n/ /g'` echo "$0 started" >$log for eth in $ethlist do echo "check $eth ..." >>$log ethmatch $eth >>$log if [ $? -eq 1 ]; then echo "ethmatch $eth found" >>$log doeth=$eth break fi done echo "matching eth = $doeth" >>$log # do the EEPROM fixup from Intel fix_eeprom $doeth >>$log fi

可见这个sh是专门修复82574L和82583V的网卡。

由于这个出处不是Intel官方,决定找找官方有没有类似的文件,结果还真有(https://sourceforge.net/projects/e1000/files/e1000e%20historic%20archive/eeprom_fix_82574_or_82583/)。

Packet drop issues may occur in some 82574 and 82583-based adapters. Neither the e1000e driver nor the hardware itself show any packets being dropped, however packets ARE actually being dropped. If you encounter packet drop issues in an 82574 or 82583-based adapter, you can verify that your adapter needs the fix by using ethtool:

ethtool -e eth0

Offset Values

0x0000 00 1b 21 51 39 8c 20 0d 46 f7 a1 10 ff ff ff ff 0x0010 29 e6 02 64 6b 02 00 00 86 80 0c 15 ff ff 58 9c ^^ The value at offset 0x001e (58) has bit 1 unset. This enables the problematic power saving feature. In this case, the EEPROM needs to read "5a" at offset 0x001e. A one-time EEPROM fix is available as a shell script. This script will verify that the adapter is applicable to the fix and whether the fix is needed or not. If the fix is required, it applies the change to the EEPROM and updates the checksum. The user must reboot the system after applying the fix if changes were made to the EEPROM. Example output of the script:

bash fixeep-82574_83.sh eth0

eth0: is a "82583V Gigabit Network Connection" This fixup is applicable to your hardware executing command: ethtool -E eth0 magic 0x150c8086 offset 0x1e value 0x5a Change made. You MUST reboot your machine before changes take effect! The script can be downloaded at [https://sourceforge.net/projects/e1000/files/e1000e%20stable/eeprom_fix_82574_or_82583/fixeep-82574_83.sh]

sh文件跟上述那个非官方文件不大一样,不过核心的地方是一样的:

#!/bin/bash if [ -z "$1" ]; then echo "Usage: $0 \" echo " i.e. $0 eth0" exit 1 fi if ! ifconfig $1 > /dev/null; then exit 1 fi bdf=$(ethtool -i $1 ' grep "bus-info:" ' awk '{print $2}') dev=$(lspci -s $bdf -x ' grep "00: 86 80" ' awk '{print "0x"$5$4$3$2}') case $dev in 0x10d38086) echo "$1: is a \"82574L Gigabit Network Connection\"" ;; 0x10f68086) echo "$1: is a \"82574L Gigabit Network Connection\"" ;; 0x150c8086) echo "$1: is a \"82583V Gigabit Network Connection\"" ;; *) echo "No appropriate hardware found for this fixup" exit 1 ;; esac echo "This fixup is applicable to your hardware" var=$(ethtool -e $1 ' grep 0x0010 ' awk '{print $16}') new=$(echo ${var:0:1}`echo ${var:1} ' tr '014589bc' '2367abef'`) if [ ${var:0:1}${var:1} == $new ]; then echo "Your eeprom is up to date, no changes were made" exit 2 fi echo "executing command: ethtool -E $1 magic $dev offset 0x1e value 0x$new" ethtool -E $1 magic $dev offset 0x1e value 0x$new echo "Change made. You *MUST* reboot your machine before changes take effect!"

仔细看代码,发现与之前尝试失败的82573的脚本有个不同

之前的: new=$(echo ${var:0:1}`echo ${var:1} ' tr '02468ace' '13579bdf'`) 现在的: new=$(echo ${var:0:1}`echo ${var:1} ' tr '014589bc' '2367abef'`)

原来的那份文件是把最右边的那个bit从0改成1,而这个文件是把右边第二个的那个bit从0改成1,看来这是82573和82574的区别,于是继续尝试

root@OpenWrt:~# ethtool -e eth1 Offset Values ------ ------ 0x0000: 00 e8 4c 68 7d c4 ff ff ff ff 50 00 ff ff ff ff 0x0010: ff ff ff ff 6b 02 40 6c 62 14 d3 10 ff ff d8 83 0x0020: 00 00 01 20 74 7e ff ff 00 00 c8 00 00 00 04 27 0x0030: c9 6c 50 21 3e 07 0b 45 84 2d 40 00 00 f0 06 07 0x0040: 00 60 80 00 04 0f ff 7f 01 4d ec 92 5c fc 83 f0 0x0050: 20 00 83 00 a0 00 1f 7d 61 19 83 01 50 00 ff ff 0x0060: 00 01 00 40 1c 12 07 40 ff ff ff ff ff ff ff ff 0x0070: ff ff ff ff ff ff ff ff ff ff ff ff ff ff 88 df 0x0080: ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff 0x0090: ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff 0x00a0: ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff 0x00b0: ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff 0x00c0: ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff 0x00d0: ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff 0x00e0: ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff 0x00f0: ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff 0x0100: ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff 0x0110: ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff 0x0120: ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff 0x0130: ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff 0x0140: ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff 0x0150: ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff 0x0160: ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff 0x0170: ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff 0x0180: ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff 0x0190: ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff 0x01a0: ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff 0x01b0: ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff 0x01c0: ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff 0x01d0: ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff 0x01e0: ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff 0x01f0: ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff 0x0200: ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff 0x0210: ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff 0x0220: ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff 0x0230: ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff 0x0240: ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff 0x0250: ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff 0x0260: ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff 0x0270: ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff 0x0280: ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff 0x0290: ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff 0x02a0: ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff 0x02b0: ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff 0x02c0: ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff 0x02d0: ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff 0x02e0: ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff 0x02f0: ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff 0x0300: ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff 0x0310: ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff 0x0320: ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff 0x0330: ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff 0x0340: ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff 0x0350: ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff 0x0360: ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff 0x0370: ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff 0x0380: ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff 0x0390: ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff 0x03a0: ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff 0x03b0: ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff 0x03c0: ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff 0x03d0: ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff 0x03e0: ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff 0x03f0: ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff root@OpenWrt:~# ethtool -e eth1 ' grep 0x0010 ' awk '{print "0x"$13$12$15$14}' 0x10d3ffff root@OpenWrt:~# ethtool -e eth1 ' grep 0x0010 ' awk '{print $16}' d8 root@OpenWrt:~# echo 8 ' tr '014589bc' '2367abef' a root@OpenWrt:~# ethtool -E eth1 magic 0x10d38086 offset 0x1e value 0xda length 1 root@OpenWrt:~# ethtool -e eth1 Offset Values ------ ------ 0x0000: 00 e8 4c 68 7d c4 ff ff ff ff 50 00 ff ff ff ff 0x0010: ff ff ff ff 6b 02 40 6c 62 14 d3 10 ff ff da 83 0x0020: 00 00 01 20 74 7e ff ff 00 00 c8 00 00 00 04 27 0x0030: c9 6c 50 21 3e 07 0b 45 84 2d 40 00 00 f0 06 07 0x0040: 00 60 80 00 04 0f ff 7f 01 4d ec 92 5c fc 83 f0 0x0050: 20 00 83 00 a0 00 1f 7d 61 19 83 01 50 00 ff ff 0x0060: 00 01 00 40 1c 12 07 40 ff ff ff ff ff ff ff ff 0x0070: ff ff ff ff ff ff ff ff ff ff ff ff ff ff 87 df 0x0080: ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff 0x0090: ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff 0x00a0: ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff 0x00b0: ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff 0x00c0: ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff 0x00d0: ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff 0x00e0: ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff 0x00f0: ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff 0x0100: ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff 0x0110: ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff 0x0120: ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff 0x0130: ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff 0x0140: ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff 0x0150: ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff 0x0160: ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff 0x0170: ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff 0x0180: ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff 0x0190: ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff 0x01a0: ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff 0x01b0: ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff 0x01c0: ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff 0x01d0: ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff 0x01e0: ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff 0x01f0: ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff 0x0200: ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff 0x0210: ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff 0x0220: ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff 0x0230: ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff 0x0240: ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff 0x0250: ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff 0x0260: ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff 0x0270: ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff 0x0280: ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff 0x0290: ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff 0x02a0: ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff 0x02b0: ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff 0x02c0: ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff 0x02d0: ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff 0x02e0: ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff 0x02f0: ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff 0x0300: ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff 0x0310: ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff 0x0320: ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff 0x0330: ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff 0x0340: ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff 0x0350: ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff 0x0360: ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff 0x0370: ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff 0x0380: ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff 0x0390: ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff 0x03a0: ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff 0x03b0: ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff 0x03c0: ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff 0x03d0: ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff 0x03e0: ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff 0x03f0: ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff

使用了19小时,暂时没有出现问题,RX的errors也一直是0

root@OpenWrt:~# ifconfig eth1 eth1 Link encap:Ethernet HWaddr 00:E8:4C:68:7D:C4 inet6 addr: fe80::2e8:4cff:fe68:7dc4/64 Scope:Link UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1 RX packets:68415745 errors:0 dropped:14056 overruns:0 frame:0 TX packets:139180940 errors:0 dropped:0 overruns:0 carrier:0 collisions:0 txqueuelen:1000 RX bytes:23126153714 (21.5 GiB) TX bytes:155759343593 (145.0 GiB) Interrupt:18 Memory:fd4c0000-fd4e0000


【本文地址】

公司简介

联系我们

今日新闻

    推荐新闻

    专题文章
      CopyRight 2018-2019 实验室设备网 版权所有