We are using the TQMa28 Module from TQ-Systems with an i.MX28 processor and Linux 3.4.14. For communicating with the host and other subdevices we use the two ethernet controller "eth0" and "eth1" both in 100 Mbps/Full-duplex mode . On "eth0" everything works fine, but on "eth1" I always get ethernet frame errors when receiving data. Transmitting data over the same interface does not produce any errors. We can ignore these errors, all data received are complete and correct. But I want to know the reason for these frame errors.
The frame errors are shown in the output of the "ifconfig" command:
RX packets:60 errors:60 dropped:0 overruns:0 frame:60
Further analysis with the "ethtool -S eth1" command shows the following:
The last one should be 60. This means that Bit 2 [CR] of the Legacy FEC Receive Buffer Descriptor is set (see Table 26-1 in the [i.MX28 Applications Processor Reference Manual, Rev 1, 2010]). Chapter 22.214.171.124.1.13 says that a Rx CRC or Rx Frame error occured, but the ethtool does not show any CRC error. Therefore I believe in a frame error.
My question: what causes the i.MX28 ENET to set this frame error bit?