Dave Barnard

FEC works with crossover, corrupt through hub.

Discussion created by Dave Barnard on Mar 1, 2012
Latest reply on Mar 8, 2012 by Dave Barnard

Hello,

I've encountered a very strange problem.  I debugged and tested an Ethernet driver on M54455EVB, FEC0 using a crossover cable to a PC.  This works very well, and there are no issues.

 

However, when I replace the crossover connection with a switch, everything falls apart.  Transmitted packets (from the EVB) are not received on the PC.  Packets sent from the PC (ie ARP) do get received by the EVB, but they are corrupted.

 

For example, a transmission from the PC might look like this;

 

ff ff ff ff ff ff 5c 26  0a 08 c7 5c 08 06 00 01   08 00 06 04 00 01 5c 26  0a 08 c7 5c 0a 01 0a 06   00 00 00 00 00 00 0a 01  0a 0a   

 

Whereas the receive buffer is a little more like;

ff ff ff ff ff ff ff ffff ff ff ff ff ff ff ffff ff ff ff ff ff ff ffff ff ff ff ff ff ff ffff ff ff ff ff ff ff ffff ff ff ff ff ff ff ffff ff ff ff ff ff ff ffff ff ff ff ff ff 03 00c0 ff ff 57 55 55 55 55a9 aa 6a 55 55 a9 aa 2a00 00 a8 aa aa aa aa 0200 00 00 00 00 00 80 aaaa 02 00 00 00 00 fc ff7f 55 55 01 00 c0 ff ff03 00 c0 ff ff 57 55 5555 55 01 00 80 aa aa 0200 00 00 00 a8 aa 6a 55

 ... and goes on for 600-odd bytes. 

 

The Rx buffer 'NO' flag (not octet aligned, failed CRC) is set, and the data posted above is copied from the Rx buffer, which implies the error might be in the initialisation, perhaps.

 

The hubs & switches I have tried all work.  Other devices work with them & all hardware variables have been tested (different switches, hubs & cables).

 

I really dont know where to start debugging this.  Any ideas?

 

Kind Regards.

Outcomes