Lenovo Thinkpad X270: ethernet shows up in dmesg but won't connect

Need help with peripherals or devices?
Post Reply
Message
Author
MassPikeMike
Posts: 2
Joined: 2024-08-16 01:24

Lenovo Thinkpad X270: ethernet shows up in dmesg but won't connect

#1 Post by MassPikeMike »

I installed Debian buster on a Lenovo Thinkpad X270 with the non-free additions. Wireless network works fine, but Ethernet doesn't get an IPv4 address. I see the PCI device:

Code: Select all

# lspci | grep -i eth
00:1f.6 Ethernet controller: Intel Corporation Ethernet Connection I219-LM (rev 21)
I see stuff in dmesg:

Code: Select all

# dmesg | grep e1000e | head
[    2.658336] e1000e: Intel(R) PRO/1000 Network Driver - 3.2.6-k
[    2.658337] e1000e: Copyright(c) 1999 - 2015 Intel Corporation.
[    2.681037] e1000e 0000:00:1f.6: Interrupt Throttling Rate (ints/sec) set to dynamic conservative mode
[    2.876998] e1000e 0000:00:1f.6 0000:00:1f.6 (uninitialized): registered PHC clock
[    2.958740] e1000e 0000:00:1f.6 eth0: (PCI Express:2.5GT/s:Width x1) 8c:16:45:01:ff:92
[    2.958741] e1000e 0000:00:1f.6 eth0: Intel(R) PRO/1000 Network Connection
[    2.958828] e1000e 0000:00:1f.6 eth0: MAC: 12, PHY: 12, PBA No: FFFFFF-0FF
[    2.959443] e1000e 0000:00:1f.6 enp0s31f6: renamed from eth0
I see an entry with an IPv6 address inifconfig:

Code: Select all

# ifconfig
enp0s31f6: flags=4163<UP,BROADCAST,RUNNING,MULTICAST>  mtu 1500
        inet6 fe80::7b2c:5354:80b6:6a8e  prefixlen 64  scopeid 0x20<link>
        ether 8c:16:45:01:ff:92  txqueuelen 1000  (Ethernet)
        RX packets 23  bytes 1808 (1.7 KiB)
        RX errors 286  dropped 0  overruns 0  frame 285
        TX packets 155  bytes 26944 (26.3 KiB)
        TX errors 0  dropped 0 overruns 0  carrier 0  collisions 0
        device interrupt 16  memory 0xe1200000-e1220000  
...but there is no IPv4 address, and I don't know how to interpret what I am seeing from nmcli:

Code: Select all

# nmcli device show enp0s31f6
GENERAL.DEVICE:                         enp0s31f6
GENERAL.TYPE:                           ethernet
GENERAL.HWADDR:                         8C:16:45:01:FF:92
GENERAL.MTU:                            1500
GENERAL.STATE:                          70 (connecting (getting IP configuration
GENERAL.CONNECTION:                     Wired connection 1
GENERAL.CON-PATH:                       /org/freedesktop/NetworkManager/ActiveCo
WIRED-PROPERTIES.CARRIER:               off
Although "WIRED-PROPERTIES.CARRIER: off" appears, at this time the green light was on below the laptop's ethernet connector and on the router port it's connected to.

But then I tried to run nmcli device connect, and things got worse:

Code: Select all

# nmcli device connect enp0s31f6
Error: Connection activation failed: (40) Carrier/link changed.

# nmcli device connect enp0s31f6
Error: Failed to add/activate new connection: Connection 'enp0s31f6' is not available on device enp0s31f6 because device has no carrier
After that, the state shown by nmcli changed from 70 to 20, and the green light went out!

Code: Select all

# nmcli device show enp0s31f6
GENERAL.DEVICE:                         enp0s31f6
GENERAL.TYPE:                           ethernet
GENERAL.HWADDR:                         8C:16:45:01:FF:92
GENERAL.MTU:                            1500
GENERAL.STATE:                          20 (unavailable)
GENERAL.CONNECTION:                     --
GENERAL.CON-PATH:                       --
WIRED-PROPERTIES.CARRIER:               off
However, after a few minutes the green light turned back on, and the GENERAL.STATE returned to being 70.

New messages that seem relevant keep appearing in the log file several times a minute:

Code: Select all

[ 2020.975224] IPv6: ADDRCONF(NETDEV_CHANGE): enp0s31f6: link becomes ready
[ 2024.000228] e1000e: enp0s31f6 NIC Link is Up 10 Mbps Full Duplex, Flow Control: Rx/Tx
[ 2024.000239] e1000e 0000:00:1f.6 enp0s31f6: 10/100 speed: disabling TSO
[ 2066.170972] IPv6: ADDRCONF(NETDEV_UP): enp0s31f6: link is not ready
[ 2101.811538] e1000e: enp0s31f6 NIC Link is Up 10 Mbps Full Duplex, Flow Control: Rx/Tx
[ 2101.811547] e1000e 0000:00:1f.6 enp0s31f6: 10/100 speed: disabling TSO
[ 2101.811661] IPv6: ADDRCONF(NETDEV_CHANGE): enp0s31f6: link becomes ready
[ 2104.845624] e1000e: enp0s31f6 NIC Link is Up 10 Mbps Full Duplex, Flow Control: Rx/Tx
[ 2104.845634] e1000e 0000:00:1f.6 enp0s31f6: 10/100 speed: disabling TSO
I have had no success with two different routers and two different known good Cat6 cables.

Is there anything this could be other than a hardware problem?

User avatar
ruwolf
Posts: 876
Joined: 2008-02-18 05:04
Location: Banovce nad Bebravou
Has thanked: 78 times
Been thanked: 62 times

Re: Lenovo Thinkpad X270: ethernet shows up in dmesg but won't connect

#2 Post by ruwolf »

Can you show exact PCI identifier of the device?

Code: Select all

lspci -nn | grep -i eth
Also Ethernet level state of device?

Code: Select all

sudo ethtool enp0s31f6

MassPikeMike
Posts: 2
Joined: 2024-08-16 01:24

Re: Lenovo Thinkpad X270: ethernet shows up in dmesg but won't connect

#3 Post by MassPikeMike »

Thanks very much for thinking about this!

Code: Select all

# lspci -nn | fgrep -i eth
00:1f.6 Ethernet controller [0200]: Intel Corporation Ethernet Connection I219-LM [8086:156f] (rev 21)
When the green light is on and GENERAL_STATE is 70, ethtool shows:

Code: Select all

# ethtool enp0s31f6
Settings for enp0s31f6:
	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:  10baseT/Half 10baseT/Full 
	                        100baseT/Half 100baseT/Full 
	                        1000baseT/Full 
	Advertised pause frame use: No
	Advertised auto-negotiation: Yes
	Advertised FEC modes: Not reported
	Speed: 10Mb/s
	Duplex: Full
	Port: Twisted Pair
	PHYAD: 1
	Transceiver: internal
	Auto-negotiation: on
	MDI-X: on (auto)
	Supports Wake-on: pumbg
	Wake-on: g
	Current message level: 0x00000007 (7)
			       drv probe link
	Link detected: yes
But once I try and fail to connect and the green light goes off and GENERAL_STATE becomes 20, ethtool instead shows:

Code: Select all

# ethtool enp0s31f6
Settings for enp0s31f6:
	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:  10baseT/Half 10baseT/Full 
	                        100baseT/Half 100baseT/Full 
	                        1000baseT/Full 
	Advertised pause frame use: No
	Advertised auto-negotiation: Yes
	Advertised FEC modes: Not reported
	Speed: Unknown!
	Duplex: Unknown! (255)
	Port: Twisted Pair
	PHYAD: 2
	Transceiver: internal
	Auto-negotiation: on
	MDI-X: Unknown (auto)
	Supports Wake-on: pumbg
	Wake-on: g
	Current message level: 0x00000007 (7)
			       drv probe link
	Link detected: no

User avatar
ruwolf
Posts: 876
Joined: 2008-02-18 05:04
Location: Banovce nad Bebravou
Has thanked: 78 times
Been thanked: 62 times

Re: Lenovo Thinkpad X270: ethernet shows up in dmesg but won't connect

#4 Post by ruwolf »

Maybe more information about your computer could help (BIOS/UEFI version, Linux kernel version, etc.)

Code: Select all

inxi -MrSxz
also, if Energy-Efficient Ethernet is enabled:

Code: Select all

sudo ethtool --show-eee enp0s31f6

Post Reply