Ethernet Giving error on custom carrier card

Does anybody have a clue what this is complaining about? Where to look?

My ethernet is obviously not coming up. We are using the same components and routing as on the devkit. Thanks

[  204.747184] eqos 2490000.ether_qos eth0: Link is Down
[  204.753110] eqos 2490000.ether_qos: EQOS ISO BW 0 reservation failed with 0
[  207.498320] eqos 2490000.ether_qos eth0: Link is Up - 1Gbps/Full - flow control rx/tx
[  207.508072] eqos 2490000.ether_qos: EQOS ISO BW 81920 reservation failed with 0
[  208.605935] eqos 2490000.ether_qos eth0: Link is Down
[  208.611294] eqos 2490000.ether_qos: EQOS ISO BW 0 reservation failed with 0
[  213.730216] eqos 2490000.ether_qos eth0: Link is Up - 1Gbps/Full - flow control rx/tx
[  213.740056] eqos 2490000.ether_qos: EQOS ISO BW 81920 reservation failed with 0
[  214.813534] eqos 2490000.ether_qos eth0: Link is Down
[  214.819478] eqos 2490000.ether_qos: EQOS ISO BW 0 reservation failed with 0
[  217.583632] eqos 2490000.ether_qos eth0: Link is Up - 1Gbps/Full - flow control rx/tx
[  217.597069] eqos 2490000.ether_qos: EQOS ISO BW 81920 reservation failed with 0
[  218.672161] eqos 2490000.ether_qos eth0: Link is Down

I think I found a forum thread where the same problem is present. The choosen answer was to disable ethernet ISO.

Please try to disable eth_iso_enable in device tree
- nvidia,eth_iso_enable = <1>; /*1=enable, 0=disable */
+ nvidia,eth_iso_enable = <0>; /*1=enable, 0=disable */

However I can not find nvidia,eth_iso_enable in any of the dts or dtsi files.

Can somebody point me to the correct location?

Ok, I narrowed down the problem. After scouring through lots of other posts I found out that my board designer had hooked up one of the UARTs to a level driver which was causing issues with the EMC strap.

Specifically it was UART1_TX. In the OEM_Product_DesignGuide It says this…

If UART1_TX or UART0_RTS are used in a design, they must not be driven or pulled high or low during power-on.
Violating this requirement can change the RAM_CODE strapping & result in functional failures

So we removed that connection so it could float.

Now the ISO BW error is gone. However I am seeing this repeatedly…

[  303.747918] eqos 2490000.ether_qos eth0: Link is Up - 1Gbps/Full - flow control rx/tx
[  304.890596] eqos 2490000.ether_qos eth0: Link is Down
[  307.606580] eqos 2490000.ether_qos eth0: Link is Up - 1Gbps/Full - flow control rx/tx
[  308.749323] eqos 2490000.ether_qos eth0: Link is Down
[  311.465311] eqos 2490000.ether_qos eth0: Link is Up - 1Gbps/Full - flow control rx/tx
[  312.608324] eqos 2490000.ether_qos eth0: Link is Down
[  321.628488] eqos 2490000.ether_qos eth0: Link is Up - 1Gbps/Full - flow control rx/tx
[  322.674294] eqos 2490000.ether_qos eth0: Link is Down
[  325.390049] eqos 2490000.ether_qos eth0: Link is Up - 1Gbps/Full - flow control rx/tx
[  326.533009] eqos 2490000.ether_qos eth0: Link is Down

Any thoughts?

Ok if I force it to be 100 Mbit it works just great, but its only at 100 Mbit obviously.

ethtool -s eth0 speed 100 duplex full

Any reason why it would be throwing this up and down when its at 1 Gbps? The same cable, ethernet switch, TX2 module work just fine on the dev kit at 1 Gbps. Then I move it to our custom carrier card and it’s having issues.

Hi GimpMater, did you check the VDD_3V3_SLP of connector to see if it is normal? You might need to compare the whole your board to that of dev kit to check if any violation.

Thank you. We just discovered a couple hours ago that our OLD version 1 carrier card is working fine. This new version has some regression. Thank you for responding back.

Just giving feedback for someone searching. We were able to solve the Eth up and down by eliminating the ferrite beads that were inline with the Ethernet data lines. The interesting thing is that the devkit was able to use ferrite beads with no issue. Once we replaced them with 0 ohm resistors the problem went away and we got great gigabit ethernet speeds.

Hi GimpMaster, glad to hear this and thank you for the sharing. I’m a little curious that In fact devkit board has no ferrite beads on data lines, you mean you mounted beads to devkit board and tested pass?

Your right. The devkit has a common mode choke on it in addition to the magnetic transformers. My hardware developer replaced the CMC with some ferrite beads as this has worked with other Gigabit connections in the past. Clearly didn’t work for us here.