Mvneta ... ethernet eth1: bad rx status

Hi!

I get a lot of the following kernel messages (1000/hour):

2017-10-24T21:25:31+02:00 err kernel[]: [496506.899704] mvneta f1034000.ethernet eth1: bad rx status 0fa10000 (crc error), size=1437
2017-10-24T21:25:37+02:00 err kernel[]: [496510.438878] mvneta f1034000.ethernet eth1: bad rx status 0fa10000 (crc error), size=1398
2017-10-24T21:25:38+02:00 err kernel[]: [496485.750253] mvneta f1034000.ethernet eth1: bad rx status 0f810000 (crc error), size=938
2017-10-24T21:25:41+02:00 err kernel[]: [494054.516096] mvneta f1034000.ethernet eth1: bad rx status 4f810000 (crc error), size=219
2017-10-24T21:25:43+02:00 err kernel[]: [496338.853626] mvneta f1034000.ethernet eth1: bad rx status 0f810000 (crc error), size=1520

As you can see the size varies and is smaller than MTU (=1500), but sometimes larger than MTU.
I tried different MTU settings without success.
I changed cables => no change

Below I add a few more diagnostics (ifconfig, ethtool). Ifconfig shows only rx errors, but a lot of them.
Please I really I am out of ideas to what can cause this error. Any help/ideas are welcome!

Kind regards

Ulrich

# ifconfig eth1
eth1      Link encap:Ethernet  HWaddr D8:58:D7:00:34:1B  
          inet addr:217.211.243.192  Bcast:217.211.243.255  Mask:255.255.255.0
          inet6 addr: fe80::da58:d7ff:fe00:341b/64 Scope:Link
          UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1
          RX packets:134943244 errors:69846 dropped:0 overruns:0 frame:0
          TX packets:69896899 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:532 
          RX bytes:107824132224 (100.4 GiB)  TX bytes:141854998143 (132.1 GiB)
          Interrupt:38 

# ethtool eth1
Settings for eth1:
        Supported ports: [ TP MII ]
        Supported link modes:   10baseT/Half 10baseT/Full 
                                100baseT/Half 100baseT/Full 
                                1000baseT/Half 1000baseT/Full 
        Supported pause frame use: No
        Supports auto-negotiation: Yes
        Advertised link modes:  10baseT/Half 10baseT/Full 
                                100baseT/Half 100baseT/Full 
                                1000baseT/Half 1000baseT/Full 
        Advertised pause frame use: No
        Advertised auto-negotiation: Yes
        Link partner advertised link modes:  10baseT/Half 10baseT/Full 
                                             100baseT/Half 100baseT/Full 
        Link partner advertised pause frame use: No
        Link partner advertised auto-negotiation: Yes
        Speed: 100Mb/s
        Duplex: Full
        Port: MII
        PHYAD: 1
        Transceiver: external
        Auto-negotiation: on
        Link detected: yes

I know topic is old but I started getting this same messages as well on my 2nd Omnia configured AP only.

check with ethtool -S eth2 | grep crc , substitute the interface with the one that exhibits the error.

root@ap:~# ethtool -S eth2 | grep crc
bad_crc_event: 51028
Could it be cable problem?

I also get mac_receive_error: 6583

Not sure, just reckon rather not but you try and change the cable and see if it makes a difference.

Else it could be a hardware problem with the TO’s ethernet port or some bad frames coming down the line from the upstream device.

This looks like some serious trouble.

Just as general note to check more comprehensively for other bad | error counts - ethtool -S eth2 | grep 'bad\|error'

As I expected! I’ve replaced patch-cord cables with new ones and errors are definitely gone.

1 Like

I started having flood of messages about crc errors again. What do I do? Is it physically broken?

Some other user is having the same problems on Omnia running vanilla OpenWRT:

Hello,
can you please send the output of ip -s link show <name of problematic interface> and more details like the version of TOS?

It was something OSI physical level.

I disconnected all the RJ-45 plug and connected them a few times to scratch a bit the connection. Moved cables around rebooted Omnia and voila! No longer any errors. It was weird because it negotiated Full 1Gbps when there were errors.

I think the cause was just a bad connection somewhere:
root@ap:~# ip -s link show eth2
4: eth2: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc mq master br-lan state UP
mode DEFAULT group default qlen 532
link/ether d8:58:d7:00:3d:9f brd ff:ff:ff:ff:ff:ff
RX: bytes packets errors dropped overrun mcast
394805449 540555 0 0 0 0
TX: bytes packets errors dropped carrier collsns
1151369657 150644 0 0 0 0

root@ap:~# ethtool -S eth2 | grep ‘bad|error’
bad_octets_received: 0
bad_frames_received: 0
bad_fc_received: 0
mac_receive_error: 0
bad_crc_event: 0
eee_wakeup_errors: 0

I was getting mac_receive_error: over9k and bad_crc_event: also_alot. For now its fixed.

1 Like

No I am still getting errors. Its definetely better then before but still nothing more I can do with cables in the walls.

root@ap:~# ip -s link show eth2
4: eth2: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc mq master br-lan state UP
mode DEFAULT group default qlen 532
link/ether d8:58:d7:00:3d:9f brd ff:ff:ff:ff:ff:ff
RX: bytes packets errors dropped overrun mcast
521637175 670072 2 0 0 0
TX: bytes packets errors dropped carrier collsns
1160679343 195601 0 0 0 0

And two times in dmesg since reboot.

Hello,
I suggest to check the remote side, too. Maybe the remote device is dying?

That would be not good. Remote device is second Omnia:

root@router:~# ethtool -S lan4
NIC statistics:
in_rx_error: 8
in_fcs_error: 27
out_pause: 0
excessive: 0
collisions: 0
deferred: 0
out_fcs_error: 0

root@router:~# ip -s link show lan4
9: lan4@eth0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc noqueue master br-la
n state UP mode DEFAULT group default qlen 1000
link/ether d8:58:d7:00:20:ae brd ff:ff:ff:ff:ff:ff
RX: bytes packets errors dropped overrun mcast
1195600209 992798 0 0 0 0
TX: bytes packets errors dropped carrier collsns
671512493 773288 0 0 0 0

I am quite confident its cabling problem. Its a bit better then before but still I get packet loss between devices.

Okay, now we are getting somewhere. You can try to manually set both ports to link on 100Mbit/s speed and see the difference.

[66068.453007] mvneta f1034000.ethernet eth2: Link is Up - 100Mbps/Full - flow cont

I saved number of errors and with 100Mb they dont appear. But how come the link was gigabit capable and suddenly its not. It was running error free since I connected everything up.