NXP MCU 技术论坛
直播中

李春梅

7年用户 1768经验值
私信 关注
[问答]

imx6网络问题如何解决?

我有一个基于 imx6 的定制板,运行 linux 4.1.15,我发现一个问题,如果我将设备连接到我们的办公室网络一两天,它最终会停止响应 ping。在 ethtool 中,当发生这种情况时,我可以看到 IEEE_rx_macerr 计数开始增加,在问题发生之前,计数为 0。此时 IEEE_rx_frame_ok 也在增加。

root@imx6q-rotork-p2:~# ethtool -S eth0
NIC 统计数据:
     tx_dropped: 0
     tx_packets: 167
     tx_broadcast: 2
     tx_multicast: 8
     tx_crc_errors: 0
     tx_undersize: 0
     tx_oversize
     : 0 tx_fragment: 0
     tx_jabber
     : 0
     tx_collision: 4byte
     tx_65to127byte: 115
     tx_128to255byte: 35
     tx_256to511byte: 4
     tx_512to1023byte: 4
     tx_1024to2047byte: 0
     tx_GTE2048byte: 0
     tx_octets: 24236
     IEEE_tx_drop: 0
     IEEE_tx_frame_ok: 167
     IEEE_tx_1col: 0
     IEEE_tx_mcol: 0
     IEEE_tx_def: 0
     IEEE_tx_lcol: 0
     IEEE_tx_excol: 0
     IEEE_tx_macerr: 0
     IEEE_tx_cserr: 0
     IEEE_tx_sqe: 0
     IEEE_tx_fdxfc: 0
     IEEE_tx_octets_ok: 24236
     rx_packets: 26367
     rx_broadcast: 57490
     rx_multicast: 33103
     rx_crc_errors: 0
     rx_undersize: 0
     rx_oversize: 0
     rx_fragment: 0
     rx_jabber: 0
     rx_64byte: 63356
     rx_65to127byte: 65360
     rx_128to255byte:24564
     rx_256to511byte:59591
     rx_512to1023byte:7342
     rx_1024to2047byte:2762
     rx_GTE2048byte:0
     rx_octets:290435748
     IEEE_rx_drop:0
     IEEE_rx_frame_ok:26367
     IEEE_rx_crc:0
     IEEE_rx_align:0
     IEEE_rx_macerr:63672
     IEEE_rx_fdxfc:0
     IEEE_rx_octets_ok:290435748

在 ifconfig 中,rx 数据包和 rx 字节计数完全停止:

root@imx6q-rotork-p2:~# ifconfig eth0
eth0 Link encap:Ethernet HWaddr 70:b3:d5:06:19:e8
          inet addr:10.1.254.22 Bcast:10.1.255.255 Mask:255.255.0.0
          inet6 addr: fe80: :72b3:d5ff:fe06:19e8/64 范围:链接
          向上广播运行多播 MTU:1500 指标:1
          RX 数据包:1116380 错误:0 丢弃:29330 溢出:0 帧:0
          TX 数据包:167 错误:0 丢弃:0 溢出:0载体:0
          冲突:0 txqueuelen:1000
          RX字节:106022423(101.1 MiB)TX字节:23418(22.8 KiB)

中断也停止:

root@imx6q-rotork-p2:~#cat/proc/interrupts | grep eth
281:810435 0 0 0 GPC 118 级别 2188000.ethernet
282:0 0 0 0 GPC 119 级别 2188000.ethernet

我可以通过从设备发送单个数据包来纠正问题,例如:

平 1.2.3.4

在这种情况下,1.2.3.4 不是有效地址,我用它来生成 ARP 请求。然后它继续按预期接收数据包,并且 IEEE_rx_macerr 停止递增。

关于可能导致此问题的任何想法?

更多回帖

发帖
×
20
完善资料,
赚取积分