1

I have two connected computers. On host A, ethtool shows a speed of 100Mb/s, but host B that is connected to it shows 10Mb/s. Why is this the case? On host B, the link partner advertised link mode is 10baseT/Half, but on host A the advertised link modes include 100baseT/full.

Shouldn't Host A's advertised link modes be the same as Host B's link partner advertised link modes?

Host A ethtool

Advertised link modes: 10baseT/Half to 100baseT/full
Speed: 100Mb/s
Link partner advertised link modes: 10baseT/Half to 100baseT/Full

Host B ethttool

Advertised link modes: 10baseT/Half to 1000baseT/Full
Speed: 10Mb/s
Link partner advertised link modes: 10baseT/Half
placid chat
  • 121
  • 3
  • Additionally, using a different usb ethernet interface, the speed numbers are as they should be, it's just this one usb interface that exhibits this problem. – placid chat Jun 03 '21 at 04:48
  • Perhaps it is configured to only use 10/Half? Are the computers directly connected or via a switch/hub (maybe the computer is interacting badly with the hub or it's faulty [try another port?])? – Mr R Jun 03 '21 at 04:57
  • 1
    Please add the output of `ethtool` to the question. The "ethtool shows a speed of 100Mb/s" statement is vague, since there are multiple fields where speed is shown in `ethtool`, and they have different meanings. – Tero Kilkanen Jun 03 '21 at 05:01
  • They're default installations of linux, so there shouldn't be any tweaks. Also I narrowed the fault down by using another usb interface on host A, and that worked fine. Host A is a SBC, with multiple interfaces. Would an undervoltage situation on host A affect the advertised link modes? What i expected to see on host B is link partner advertised link modes that are the same with host A advertised link modes. – placid chat Jun 03 '21 at 05:06
  • Ethtool shows only one speed result. The others are link modes advertised during speed negotiation. Another strange thing is if i do a "ethtool -s autoneg on" on host A, on Host B i get "link partner advertised auto-negotiation : No". Basically, it seems like the ethtool output on host A is not the same as what is received on Host B is what i'm getting at. – placid chat Jun 03 '21 at 05:21
  • I've replaced the usb ethernet interface with another usb interface, and this works as expected. The advertised options on the upstream host are the same as the link partner advertised options on the downstream host. The recalcitrant usb interface advertises it can do up to 100baseT/Full, but is 10baseT/Half only. – placid chat Jun 03 '21 at 05:37

1 Answers1

1

As far as i can tell, ethtool on both sides should show Speed:<10/100/1000>, and should be the same.

In this case the usb interface on Host A accepts ethtool commands to change auto negotiation, etc, and shows the updated configuration, but on the other end on Host B, it only gets advertised link modes of 10BaseT/Half. I'm not sure if it was that way since I bought it or a gradual failing of the mechanism, but i'm inclined to think that it was built that way.

placid chat
  • 121
  • 3