I’m trying to interfacing Xavier AGX through its adapter board (Stock board from devkit) to a 100Mbit Ethernet.
In order to meet the need of the industry-standard we are working in. We are trying to build a adapter like This One (Datasheet) to conver a RJ45 Ethernet Interface to 4-Pol M12 Connector.
Our final Ethernet Adapter Prototype is some how like: on one side is a RJ45 male-plug connects to Xavier, on the other side is a M12 Socket, which will connect to other devices on ethernet.
The Problem is: This adapter works well with some switch (Netgear GS108, and 3 other switches). But it can not work with a Netgear GS108PE or even the company switch.
How can this happens, and how to deal with it. Is there some compatibility issue there?
P.s.:
I’ve tried to connecting a Crossover adapter into the test stil without luck.
Settings for eth0:
Supported ports: [ TP MII ]
Supported link modes: 10baseT/Half 10baseT/Full
100baseT/Half 100baseT/Full
1000baseT/Half 1000baseT/Full
Supported pause frame use: Symmetric Receive-only
Supports auto-negotiation: Yes
Supported FEC modes: Not reported
Advertised link modes: 10baseT/Half 10baseT/Full
100baseT/Half 100baseT/Full
1000baseT/Half 1000baseT/Full
Advertised pause frame use: Symmetric Receive-only
Advertised auto-negotiation: Yes
Advertised FEC modes: Not reported
Link partner advertised link modes: 10baseT/Half 10baseT/Full
100baseT/Half 100baseT/Full
1000baseT/Half 1000baseT/Full
Link partner advertised pause frame use: Symmetric Receive-only
Link partner advertised auto-negotiation: Yes
Link partner advertised FEC modes: Not reported
Speed: 1000Mb/s
Duplex: Full
Port: MII
PHYAD: 0
Transceiver: external
Auto-negotiation: on
Supports Wake-on: g
Wake-on: d
Link detected: yes
Through command
dmesg | grep "eth0"
I got the following log:
[ 11.695768] IPv6: ADDRCONF(NETDEV_UP): eth0: link is not ready
[ 11.769350] IPv6: ADDRCONF(NETDEV_UP): eth0: link is not ready
[ 24.791618] eqos 2490000.ether_qos eth0: Link is Up - 100Mbps/Full - flow control rx/tx
[ 24.792335] IPv6: ADDRCONF(NETDEV_CHANGE): eth0: link becomes ready
The Error log with not working Switches will be postet later. Thank you again.
I think what it comes down to is that the PHY thinks it is standard, but really is not (one wire pair is missing…the PHY does not know this and software is trying to be too smart). To work correctly the PHY has to be told to hold back its speed to a lower 100Mbit/s as if it is not standard, but some form of auto detect is getting in the way. The real answer would be to provide all of the ethernet wires, but barring that any method of forcing 100Mbit/s with auto negotiation disabled would work.
I’m back. Thank you for your “100Mbit/s Forcing” suggestion. It looks for me also kinda failure from auto-negotiation. I will investegate time on this possible solution.