Gentoo Forums
Gentoo Forums
Gentoo Forums
Quick Search: in
I219-LM networking failure on resume from suspend to RAM
View unanswered posts
View posts from last 24 hours

 
Reply to topic    Gentoo Forums Forum Index Kernel & Hardware
View previous topic :: View next topic  
Author Message
markord
n00b
n00b


Joined: 01 Jan 2014
Posts: 3

PostPosted: Fri Dec 08, 2023 5:04 pm    Post subject: I219-LM networking failure on resume from suspend to RAM Reply with quote

While setting up a new Dell Optiplex Micro 7010 I have a problem that the NIC does not appear to work after resuming from suspend to RAM.

After resuming, everything seems to look fine (ifconfig shows ens0p31f6 and it's up), but nothing on the network can be reached.

Code:

Kernel: 6.1.57-gentoo #10 SMP PREEMPT_DYNAMIC
NIC: 00:1f.6 Ethernet controller: Intel Corporation Ethernet Connection (17) I219-LM (rev 11)


Initially I had e100e compiled into kernel. I changed it to a module, but that did not help. Restarting the network interface, unloading/reloading the e1000e module and even removing the device from the bus and re-scanning does not restore it to a working the state.

Code:

echo 1 > /sys/bus/pci/devices/0000\:00\:1f.6/remove
echo 1 > /sys/bus/pci/rescan
/etc/init.d/net.enp0s31f6 restart


The only way I can get it working again is to reboot the computer - both rebooting, and hibernating to disk then powering back on fix it.

After resuming from suspend to RAM the network lights illuminate, Everything looks pretty much normal, but it's not possible to ping any other machine. Obviously because the network is not working, DHCP fails, but for debugging purposes I've changed it to use a static IP, though that doesn't help the situation.

When it's not working, the arp table seems inconsistent - when pinging local machines or the broadcast address, some invocations of arp show the other machine's mac addresses, some times it shows them as (incomplete). Even when the mac do addresses appear in the arp table, they're still inaccessible.

The output from ethtool is the same in the working state and non working state:

Code:

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: 1000Mb/s
        Duplex: Full
        Auto-negotiation: on
        Port: Twisted Pair
        PHYAD: 1
        Transceiver: internal
        MDI-X: off (auto)
        Supports Wake-on: pumbg
        Wake-on: g
        Current message level: 0x00000007 (7)
                               drv probe link
        Link detected: yes


ethtool -d reports some differences between the working and non working state, though not sure if this difference is meaningful or not:

Code:

--- dump-working   2023-12-08 09:41:14.000000000 -0000
+++ dump-notworking   2023-12-08 09:42:59.000000000 -0000
@@ -34,8 +34,8 @@ MAC Registers
       Pass MAC control frames:           don't pass
       Receive buffer size:               2048
 0x02808: RDLEN (Receive desc length)     0x00001000
-0x02810: RDH   (Receive desc head)       0x00000048
-0x02818: RDT   (Receive desc tail)       0x00000040
+0x02810: RDH   (Receive desc head)       0x00000088
+0x02818: RDT   (Receive desc tail)       0x00000080
 0x02820: RDTR  (Receive delay timer)     0x00000000
 0x00400: TCTL (Transmit ctrl register)   0x3103F0FA
       Transmitter:                       enabled
@@ -43,7 +43,7 @@ MAC Registers
       Software XOFF Transmission:        disabled
       Re-transmit on late collision:     enabled
 0x03808: TDLEN (Transmit desc length)    0x00001000
-0x03810: TDH   (Transmit desc head)      0x00000086
-0x03818: TDT   (Transmit desc tail)      0x00000086
+0x03810: TDH   (Transmit desc head)      0x00000021
+0x03818: TDT   (Transmit desc tail)      0x00000021
 0x03820: TIDV  (Transmit delay timer)    0x00000008
 PHY type:                                unknown


I'm at a loss with this - does anyone have any ideas?
Back to top
View user's profile Send private message
Display posts from previous:   
Reply to topic    Gentoo Forums Forum Index Kernel & Hardware All times are GMT
Page 1 of 1

 
Jump to:  
You cannot post new topics in this forum
You cannot reply to topics in this forum
You cannot edit your posts in this forum
You cannot delete your posts in this forum
You cannot vote in polls in this forum