Possible PHY issue on hAP ax S - ports 2–5 require forced 10BASE-T

After 4 hours of debugging, replacing cables, playing with configs, I can conclude that:

  1. When I connect a Samsung TV (2020) to ether2, 3, 4, 5 on my hAP ax S, the connection works only if I force it on 10M-baseT-full from the router’s config. 10M-baseT-half also works, but with lots of warnings.
  2. When I connect the same TV with the same cable on ether1, it works as expected on 100M-baseT-full.

Looking at the block diagram of hAP ax S, it is clear that ports 2-5 are connected to the CPU via x4 Gigabit PHY, while port 1 is directly connected to the CPU.

Guys, can you advice what might be the problem? Should I file a bug?

Yes, definitely file a bug report. Preferably with supout.rif made when TV is connected to ether2-5.

This is a new device but it surprises me how much issues there are being reported since it has been released ... I'm sure the wrinkles will be ironed out but this could have been done better.

1 Like

If you have a moment (and haven't already tried) can you configure one of the ports 2-5 to auto-negotiate and leave only 100M-baseT-* in the advertised speed/duplex and check if your TV connects?

Thank you, yes, I’ve tested that. The port says “Connected”, the auto negotiation says “Done”, the port even receives DHCP requests from the TV, but the DHCP replies (apparently) never reach the TV and the DHCP lease remains in status “Offered”. Setting a static IP doesn’t work.

Do the rx/tx counters on the interface (mikrotik side) increase? Can you post your config?

/interface ethernet
set [ find default-name=ether1 ] advertise=10M-baseT-half,10M-baseT-full,100M-baseT-half,100M-baseT-full,1G-baseT-half,1G-baseT-full arp=enabled arp-timeout=auto
auto-negotiation=yes bandwidth=unlimited/unlimited disabled=no l2mtu=1600 loop-protect=default loop-protect-disable-time=5m loop-protect-send-interval=5s mac-address=
04:F4:1C:__:__:_A mtu=1500 name=ether1 orig-mac-address=04:F4:1C:__:__:_A rx-flow-control=off tx-flow-control=off

Above is the working config on ether1.
Below is the non working config on ether4.

set [ find default-name=ether4 ] advertise=10M-baseT-half,10M-baseT-full,100M-baseT-half,100M-baseT-full,1G-baseT-half,1G-baseT-full arp=enabled arp-timeout=auto
auto-negotiation=yes bandwidth=unlimited/unlimited disabled=no l2mtu=1600 loop-protect=default loop-protect-disable-time=5m loop-protect-send-interval=5s mac-address=
04:F4:1C:__:__:_D mtu=1500 name=ether4 orig-mac-address=04:F4:1C:__:__:_D rx-flow-control=off tx-flow-control=off

And here is what works on ether4:

set [ find default-name=ether4 ] advertise=10M-baseT-half,10M-baseT-full,1G-baseT-half,1G-baseT-full arp=enabled arp-timeout=auto auto-negotiation=yes bandwidth=
unlimited/unlimited disabled=no l2mtu=1600 loop-protect=default loop-protect-disable-time=5m loop-protect-send-interval=5s mac-address=04:F4:1C:__:__:_D mtu=1500 name=
ether4 orig-mac-address=04:F4:1C:__:__:_D rx-flow-control=off tx-flow-control=off

The TV has 100Mbps port.

Both ether1 and ether4 are not in a bridge and when testing each one I use:

/ip address
add address=192.168.1.1/24 interface=ether1 network=192.168.1.0
or
add address=192.168.1.1/24 interface=ether4 network=192.168.1.0

The configuration that works on ether4 actually removes 100M-baseT-* from the advertised speed. Can you try the following? This will set the advertised speed and duplex to 10/100Mb, half/full.

/interface/ethernet/set [find default-name=ether4] advertise=10M-baseT-half,10M-baseT-full,100M-baseT-half,100M-baseT-full

The problem of the interface coming up but DHCP responses getting lost is interesting: the last time I saw such a behavior was when a port was defined both as switch member and as an L3 interface (with an IP address), but that contradicts your statement that the port is removed from the switch prior to the test - can you try again (remove the port, add the IP address/DHCP pool-network-server)? If that still doesn't work, can you post the configuration minus the sensitive parts?

Alternatively, if you have vlan-filtering set to yes on your switch, you can add a VLAN on the bridge, set ether4's pvid to that new VLAN, add a VLAN interface with an IP address and attach the DHCP server to that interface.