You are not logged in.
# lspci | grep Ethernet
02:00.0 Ethernet controller: Qualcomm Atheros Killer E2400 Gigabit Ethernet Controller (rev 10)
# dmesg | grep enp2s0
[ 5.829055] alx 0000:02:00.0 enp2s0: renamed from eth0
[ 17.818452] alx 0000:02:00.0 enp2s0: NIC Up: 100 Mbps Full
# ethtool enp2s0
Settings for enp2s0:
Supported ports: [ TP ]
Supported link modes: 10baseT/Half 10baseT/Full
100baseT/Half 100baseT/Full
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/Full
Advertised pause frame use: Symmetric
Advertised auto-negotiation: Yes
Advertised FEC modes: Not reported
Speed: 100Mb/s
Duplex: Full
Auto-negotiation: on
Port: Twisted Pair
PHYAD: 0
Transceiver: internal
MDI-X: Unknown
Current message level: 0x000060e4 (24804)
link ifup rx_err tx_err hw wol
Link detected: yes
I tried swaping patch cables with another box off same switch, same cable works fine for other box in full 1000Mb/s but not the box with my issue so I can rule out faulty cable.
When I try to manually set it... it get the following...
# ethtool -s enp2s0 speed 1000 duplex full
netlink error: link settings update failed
netlink error: Invalid argument
Its a dumb switch, and I power cycled, etc... 4 other boxes are in 1000Mb/s mode just fine off the switch so... I am a bit stumped with this one...
Offline
Auto-negotiation: on
First ensure to bring the NIC down, then try
# ethtool -s enp2s0 autoneg offf speed 1000 duplex full
Offline
I tried that via this first....
ip link set dev enp2s0 down
Then attempting any form / combination of ethtool -s results in the same message
# ethtool -s enp2s0 speed 1000 duplex full autoneg off
netlink error: link settings update failed
netlink error: Invalid argument
....
# ethtool -s enp2s0 speed 10 duplex full autoneg off
netlink error: link settings update failed
netlink error: Invalid argument
I also tried creating a NetworkManager system-connections for the named connection... which seems to have "NO" effect as well...
[connection]
id=Wired connection 1
uuid=4462661f-a2b5-3105-bd77-2d06938f770d
type=ethernet
autoconnect-priority=-999
interface-name=enp2s0
permissions=
timestamp=1609735993
[ethernet]
auto-negotiate=false
duplex=full
speed=1000
mac-address-blacklist=
[ipv4]
dns-search=
method=auto
[ipv6]
addr-gen-mode=stable-privacy
dns-search=
method=auto
Offline
creating a NetworkManager system-connections
If NM is still running, attempts to bring the NIC down will likely fail.
=> First stop NM and ensure no other NIC controlling service is running - in doubt post the output of
find /etc/systemd -type l -exec test -f {} \; -print | awk -F'/' '{ printf ("%-40s | %s\n", $(NF-0), $(NF-1)) }' | sort -f
to list enabled ones
Offline
I disabled NetworkManager, rebooted and captured the following outputs
# dmesg | grep enp2s0
[ 5.596209] alx 0000:02:00.0 enp2s0: renamed from eth0
# find /etc/systemd -type l -exec test -f {} \; -print | awk -F'/' '{ printf ("%-40s | %s\n", $(NF-0), $(NF-1)) }' | sort -f
dirmngr.socket | sockets.target.wants
getty@tty1.service | getty.target.wants
gpg-agent-browser.socket | sockets.target.wants
gpg-agent-extra.socket | sockets.target.wants
gpg-agent.socket | sockets.target.wants
gpg-agent-ssh.socket | sockets.target.wants
mssql-server.service | multi-user.target.wants
nginx.service | multi-user.target.wants
p11-kit-server.socket | sockets.target.wants
php-fpm.service | multi-user.target.wants
remote-fs.target | multi-user.target.wants
smb.service | multi-user.target.wants
sshd.service | multi-user.target.wants
wsdd.service | multi-user.target.wants
# ip link
1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 qdisc noqueue state UNKNOWN mode DEFAULT group default qlen 1000
link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00
2: enp2s0: <BROADCAST,MULTICAST> mtu 1500 qdisc noop state DOWN mode DEFAULT group default qlen 1000
link/ether d8:cb:8a:9f:46:7a brd ff:ff:ff:ff:ff:ff
# ethtool -s enp2s0 speed 1000 duplex full autoneg off
netlink error: link settings update failed
netlink error: Invalid argument
Offline
Didn't completely read the thread, but seems related, https://www.mail-archive.com/netdev@vge … 58204.html
Did you try the lts kernel?
Offline
have not tried lts... but another odd behavior I am getting is that I realized by accident when I logged in via a sudoer account vs root.... ethtool -s seems to work as long as I do not specify speed 1000... meaning I can sudo ethtool -s enp2s0 speed 10 duplex full autoneg off etc... but gets the error if I try to specify speed 1000...
But when logged in as root at tty1... ethtool returns the invalid argument "period" no matter what.
Offline
I installed lts and get the same end result, however the error response from ethtool/netlink is formatted differently ...
# ethtool -s enp2s0 speed 1000 duplex full autoneg off
Cannot set new settings: Invalid argument
not setting speed
not setting duplex
not setting autoneg
under lts.... I also tried this
# ethtool -s enp2s0 speed 1000
Cannot advertise speed 1000
Cannot set new settings: Invalid argument
not setting speed
better verbose under lts.... anyway.....
Last edited by grininmonkey (2021-01-04 15:27:52)
Offline
Ok... I am both happy and puzzled...
Settings for enp2s0:
Supported ports: [ TP ]
Supported link modes: 10baseT/Half 10baseT/Full
100baseT/Half 100baseT/Full
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/Full
Advertised pause frame use: Symmetric
Advertised auto-negotiation: Yes
Advertised FEC modes: Not reported
Speed: 1000Mb/s
Duplex: Full
Port: Twisted Pair
PHYAD: 0
Transceiver: internal
Auto-negotiation: on
MDI-X: Unknown
Current message level: 0x000060e4 (24804)
link ifup rx_err tx_err hw wol
Link detected: yes
I repeated the following with consistent results and I don't understand it.... my only assumption is that the NIC on the MB is simply a cable snob of some sorts and is extremely picky.
I have 5 devices with 1G nics plugged into my dumb switch... all using 6ft 5e patch cables. 4 ( original ) have had no issue linking at 1000, never once messed with this. The new box is a repurpose older MB/CPU that I originally ran Arch on more than a year ago before new hardware... just dusted it off and decided to do something with it...
So anyway... I was unplugging from my main computer and plugging that cable into this box with this issue and same with others... after just trying lts I thought... hey.. I do have a Cat6 cable... let me try for giggles and why not.... [ pow ] it linked @ 1000... so I then decided to reboot into mainline kernel... [ rut row ] will only link @ 100 with new Cat6 cable... reboot into lts and it links @ 1000 with Cat6 cable.... plug in any of the other 4 in use and working fine @ 1000 Cat5e cables... and nope.. only links @ 100...
This is the oddest network experience I have had so far.... its a 2016 MB i7 6700K and going to be a dev LEMP box.. so LTS is fine... but very weird none the less..
Last edited by grininmonkey (2021-01-04 16:01:05)
Offline