What is the problem your feature is trying to solve?
I have run a number of tests using a specific USB Ethernet adapter that yield the below result. All other aspects of the testing work perfectly (and auto-negotiation does indeed take place, despite what Testrun reports).
In this particular case, it's not that the Ethernet adapter isn't configured for auto-negotiation at all, it's merely that the the generic cdc-ncm driver isn't exposing the PHY layer properties of the USB Ethernet adapter to ethtool in the same way that the vendor-specific driver for the USB Ethernet adapter would do. This behaviour varies between USB Ethernet adapters, and it is not straightforward to 'make it use a vendor-specific driver' when this happens.
Describe the solution you think would solve the problem
Testrun should flag in the combo box below which adapters can expose the relevant auto-negotiation information, by virtue of them indicating support for it to ethtool. This could be captured/gleaned during the existing functionality that presumably removes non-Ethernet interfaces from the combo box.
For context, here is the output for an Ethernet adapter (Realtek Semiconductor Corp. RTL8153) that does expose PHY layer information to ethtool.
oss@oss-Inspiron-3542:~$ ethtool enx3c18a0d57040
Settings for enx3c18a0d57040:
Supported ports: [ TP MII ]
Supported link modes: 10baseT/Half 10baseT/Full
100baseT/Half 100baseT/Full
1000baseT/Half 1000baseT/Full
Supported pause frame use: No
**Supports auto-negotiation: Yes**
Supported FEC modes: Not reported
Advertised link modes: 10baseT/Half 10baseT/Full
100baseT/Half 100baseT/Full
1000baseT/Full
Advertised pause frame use: No
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
Auto-negotiation: on
Port: MII
PHYAD: 32
Transceiver: internal
netlink error: Operation not permitted
Current message level: 0x00007fff (32767)
drv probe link timer ifdown ifup rx_err tx_err tx_queued intr tx_done rx_status pktdata hw wol
Link detected: yes
For context, here is the output for an Ethernet adapter (ASIX Electronics Corp. AX88179) that does not expose all PHY layer information to ethtool. You can tell it's bogus because it's also reporting operating Gigabit Ethernet at half-duplex, which is not possible. The auto-negotiation has taken place, it's just that it's not been exposed to ethtool.
oss@oss-Inspiron-3542:~$ ethtool enxc8a3623d11e5
Settings for enxc8a3623d11e5:
Supported ports: [ ]
Supported link modes: Not reported
Supported pause frame use: No
**Supports auto-negotiation: No**
Supported FEC modes: Not reported
Advertised link modes: Not reported
Advertised pause frame use: No
Advertised auto-negotiation: No
Advertised FEC modes: Not reported
Speed: 1000Mb/s
Duplex: Half
Auto-negotiation: off
Port: Twisted Pair
PHYAD: 0
Transceiver: internal
MDI-X: Unknown
netlink error: Operation not permitted
Current message level: 0x00000007 (7)
drv probe link
Link detected: yes
Additional context
Testrun should highlight to the user during adapter selection whether the above stats are likely to be available to the user. Currently the only way for the user to find out is to wait ~20-30 minutes for a test to complete to find out that it wasn't supported. See somewhat related issue #1014.
What is the problem your feature is trying to solve?
I have run a number of tests using a specific USB Ethernet adapter that yield the below result. All other aspects of the testing work perfectly (and auto-negotiation does indeed take place, despite what Testrun reports).
In this particular case, it's not that the Ethernet adapter isn't configured for auto-negotiation at all, it's merely that the the generic cdc-ncm driver isn't exposing the PHY layer properties of the USB Ethernet adapter to
ethtoolin the same way that the vendor-specific driver for the USB Ethernet adapter would do. This behaviour varies between USB Ethernet adapters, and it is not straightforward to 'make it use a vendor-specific driver' when this happens.Describe the solution you think would solve the problem
Testrun should flag in the combo box below which adapters can expose the relevant auto-negotiation information, by virtue of them indicating support for it to
ethtool. This could be captured/gleaned during the existing functionality that presumably removes non-Ethernet interfaces from the combo box.For context, here is the output for an Ethernet adapter (Realtek Semiconductor Corp. RTL8153) that does expose PHY layer information to
ethtool.For context, here is the output for an Ethernet adapter (ASIX Electronics Corp. AX88179) that does not expose all PHY layer information to
ethtool. You can tell it's bogus because it's also reporting operating Gigabit Ethernet at half-duplex, which is not possible. The auto-negotiation has taken place, it's just that it's not been exposed toethtool.Additional context
Testrun should highlight to the user during adapter selection whether the above stats are likely to be available to the user. Currently the only way for the user to find out is to wait ~20-30 minutes for a test to complete to find out that it wasn't supported. See somewhat related issue #1014.