ethtool output lacks supported mode info, causes network test wonkiness.
Bug #1627084 reported by
Rod Smith
This bug affects 1 person
Affects | Status | Importance | Assigned to | Milestone | |
---|---|---|---|---|---|
Checkbox Provider - Base |
Fix Released
|
Undecided
|
Rod Smith |
Bug Description
Two submissions, both on ARM64 hardware, appear superficially to have passed, but this is only because the ethernet/
* https:/
* https:/
Note that the ethernet/
Also (perhaps related, perhaps not), the test output does not show the CPU load imposed by the test, as it should.
Related branches
lp:~rodsmith/checkbox/fix-net-speed-detection
- Jeff Lane : Approve
- Sylvain Pineau (community): Approve
-
Diff: 20 lines (+2/-2)1 file modifiedproviders/plainbox-provider-checkbox/bin/network (+2/-2)
Changed in checkbox-ng: | |
assignee: | nobody → Rod Smith (rodsmith) |
affects: | checkbox-ng → plainbox-provider-checkbox |
Changed in plainbox-provider-checkbox: | |
status: | New → Fix Committed |
Changed in plainbox-provider-checkbox: | |
milestone: | none → 0.34.0 |
Changed in plainbox-provider-checkbox: | |
status: | Fix Committed → Fix Released |
To post a comment you must log in.
Note that this is how the network script determines the max speed: net/DEV/ speed only
def max_speed(self):
# Parse ethtool data for max speed since /sys/class/
# reports link speed.
# Search for things that look like 100baseSX, ['ethtool' , self.interface],
universal_ newlines= True,
stderr= STDOUT) .split( ' ')
logging. warning( 'ethtool not found! Unable to get max speed')
logging. error(' ethtool returned an error!')
logging. error(e. output)
expression = '(\\d+) (base)( [A-Z]+) ' expression)
hit = regex.search(i)
if hit:
speeds. append( int(hit. group(1) ))
# 40000baseNX, 10000baseT
try:
ethinfo = check_output(
except FileNotFoundError:
ethinfo = None
except CalledProcessError as e:
ethinfo = None
finally:
regex = re.compile(
speeds = [0]
if ethinfo:
for i in ethinfo:
return max(speeds)
Also, on those systems, ethtool is not showing the advertised speeds:
Settings for enP2p1s0f2:
Supported ports: [ ]
Supported link modes: Not reported
Supported pause frame use: No
Supports auto-negotiation: No
Advertised link modes: Not reported
Advertised pause frame use: No
Advertised auto-negotiation: No
Speed: 10000Mb/s
Duplex: Full
Port: FIBRE
PHYAD: 0
Transceiver: external
Auto-negotiation: off
Current message level: 0x00000000 (0)
Link detected: yes
and compare to this from an x86 system:
Settings for enP2p1s0f0:
10000baseT/ Full
10000baseT/ Full
Supported ports: [ TP ]
Supported link modes: 1000baseT/Full
Supported pause frame use: Symmetric
Supports auto-negotiation: Yes
Advertised link modes: 1000baseT/Full
Advertised pause frame use: No
Advertised auto-negotiation: Yes
Speed: 10000Mb/s
Duplex: Full
Port: Twisted Pair
PHYAD: 0
Transceiver: external
Auto-negotiation: on
MDI-X: Unknown
Current message level: 0x0000000f (15)
drv probe link timer
Link detected: yes
So the bug is actually in the output of ethtool, in that there is no evidence of the supported modes in ethtool output.