My laptop (Thinkpad T450s) with Debian 10 only connects with 100Mbit/s instead of Gigabit through ethernet, although the network card should be capable of Gigabit LAN (see #2 below). I tried a machine running Ubuntu 18.04 on the same cable (see #5 below) and it got Gigabit.
If I manually set link speed to 1000Mbit/s, nothing changes. If I enable auto-negotiation, it won't even connect and after disabling auto-negotiation again it can't connect anymore. I then have to delete the ethernet-connection in the network manager GUI and create a new one with auto-negotiation disabled.
How do I configure my network settings correctly in order to use Gigabit LAN?
These are the diagnostic steps I've run so far:
sudo ethtool enp0s25
:
Settings for enp0s25:
Supported ports: [ TP ]
Supported link modes: 10baseT/Half 10baseT/Full
100baseT/Half 100baseT/Full
1000baseT/Full
Supported pause frame use: No
Supports auto-negotiation: Yes
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: 100Mb/s
Duplex: Full
Port: Twisted Pair
PHYAD: 1
Transceiver: internal
Auto-negotiation: off
MDI-X: on (auto)
Supports Wake-on: pumbg
Wake-on: g
Current message level: 0x00000007 (7)
drv probe link
Link detected: yes
lscpi
:
00:19.0 Ethernet controller: Intel Corporation Ethernet Connection (3) I218-LM (rev 03)
According to Intel, the card supports Gigabit LAN (see here) and there seems to be no firmware missing. I checked with dmesg | grep -i firm
and it says (Bluetooth edited out):
[254037.281327] (NULL device *): firmware: direct-loading firmware intel/ibt-hw-37.8.10-fw-1.10.3.11.e.bseq
[254037.281525] (NULL device *): firmware: direct-loading firmware iwlwifi-7265D-29.ucode
[255529.699990] (NULL device *): firmware: direct-loading firmware iwlwifi-7265D-29.ucode
[259054.226196] (NULL device *): firmware: direct-loading firmware intel/ibt-hw-37.8.10-fw-1.10.3.11.e.bseq
[259054.229879] (NULL device *): firmware: direct-loading firmware iwlwifi-7265D-29.ucode
[269591.798078] (NULL device *): firmware: direct-loading firmware iwlwifi-7265D-29.ucode
sudo lspci -k -nn -s 00:19.0
:
00:19.0 Ethernet controller [0200]:
Intel Corporation Ethernet Connection (3) I218-LM [8086:15a2] (rev 03)
Subsystem: Lenovo Ethernet Connection (3) I218-LM [17aa:2226]
Kernel driver in use: e1000e
Kernel modules: e1000e
sudo modinfo e1000e | grep -e ^filename -e ^vermagic -e ^parm
:
filename: /lib/modules/4.19.0-8-amd64/kernel/drivers/net/ethernet/intel/e1000e/e1000e.ko
vermagic: 4.19.0-8-amd64 SMP mod_unload modversions
parm: debug:Debug level (0=none,...,16=all) (int)
parm: copybreak:Maximum size of packet that is copied to a new buffer on receive (uint)
parm: TxIntDelay:Transmit Interrupt Delay (array of int)
parm: TxAbsIntDelay:Transmit Absolute Interrupt Delay (array of int)
parm: RxIntDelay:Receive Interrupt Delay (array of int)
parm: RxAbsIntDelay:Receive Absolute Interrupt Delay (array of int)
parm: InterruptThrottleRate:Interrupt Throttling Rate (array of int)
parm: IntMode:Interrupt Mode (array of int)
parm: SmartPowerDownEnable:Enable PHY smart power down (array of int)
parm: KumeranLockLoss:Enable Kumeran lock loss workaround (array of int)
parm: WriteProtectNVM:Write-protect NVM [WARNING: disabling this can lead to corrupted NVM] (array of int)
parm: CrcStripping:Enable CRC Stripping, disable if your BMC needs the CRC (array of int)
ethtool
reported link speed 100Mbit/s with auto-negotiation enabled (by default, not manually set by me), and sudo ethtool -s enp0s25 speed 1000
reported cannot advertise link speed 1000
I used the same cable (15m CAT6) on another machine, running Ubuntu 18.04 with auto-negotiation enabled, and Gigabit worked (confirmed it with a speed test). LED on the access point was flashing green, instead of yellow, as is the case with my machine. The report of the speed test was 250/84Mbps down/up on the Ubuntu machine vs 90/40Mbps down/up on the Debian one.
ethtool
: (Ubuntu machine)
Settings for enx00e04c6845e0:
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: Symmetric Receive-only
Advertised auto-negotiation: Yes
Advertised FEC modes: Not reported
Link partner advertised link modes: 10baseT/Half 10baseT/Full
100baseT/Half 100baseT/Full
1000baseT/Full
Link partner advertised pause frame use: Symmetric
Link partner advertised auto-negotiation: Yes
Link partner advertised FEC modes: Not reported
Speed: 1000Mb/s
Duplex: Full
Port: MII
PHYAD: 32
Transceiver: internal
Auto-negotiation: on
Supports Wake-on: pumbg
Wake-on: d
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
Link partner advertised
is missing from my output; Is it possible my machine doesn't understand the advertisement of auto-negotiation from the AP?ethtool --set-eee eth0 eee off
, as described here, but nothing changed.User contributions licensed under CC BY-SA 3.0