Ethernet «кабель отключен» при выходе ноутбука из спящего режима

У меня возникает эта странная проблема, когда я просыпаюсь с ноутбуком, соединение Ethernet не может быть обнаружено. Мне удалось заставить его работать, удалив сетевой модуль и добавив его снова.

rmmod r8169
modprobe r8169

Однако я хочу, чтобы эти пробуждения происходили без проблем, я не хочу вручную запускать эти команды при пробуждении на коленях, чтобы иметь соединение Ethernet.

uname -a
Linux pc-name 4.16.0-041600-generic #201804012230 SMP Sun Apr 1 22:31:39 UTC 2018 x86_64 x86_64 x86_64 GNU/Linux

ifconfig -a
enp2s0: flags=4163<UP,BROADCAST,RUNNING,MULTICAST>  mtu 1500
        inet 192.168.1.50  netmask 255.255.255.0  broadcast 192.168.1.255
        inet6 fe80::7020:d2e9:225b:9004  prefixlen 64  scopeid 0x20<link>
        ether 54:48:10:e3:a3:56  txqueuelen 1000  (Ethernet)
        RX packets 5919  bytes 3436132 (3.4 MB)
        RX errors 0  dropped 0  overruns 0  frame 0
        TX packets 5752  bytes 667433 (667.4 KB)
        TX errors 0  dropped 0 overruns 0  carrier 0  collisions 0

lo: flags=73<UP,LOOPBACK,RUNNING>  mtu 65536
        inet 127.0.0.1  netmask 255.0.0.0
        inet6 ::1  prefixlen 128  scopeid 0x10<host>
        loop  txqueuelen 1000  (Local Loopback)
        RX packets 8101  bytes 610092 (610.0 KB)
        RX errors 0  dropped 0  overruns 0  frame 0
        TX packets 8101  bytes 610092 (610.0 KB)
        TX errors 0  dropped 0 overruns 0  carrier 0  collisions 0

wlp3s0: flags=4163<UP,BROADCAST,RUNNING,MULTICAST>  mtu 1500
        inet 192.168.1.114  netmask 255.255.255.0  broadcast 192.168.1.255
        inet6 fe80::392d:4fdb:372f:3381  prefixlen 64  scopeid 0x20<link>
        ether 34:e1:2d:f8:1d:f3  txqueuelen 1000  (Ethernet)
        RX packets 9592  bytes 4262963 (4.2 MB)
        RX errors 0  dropped 0  overruns 0  frame 0
        TX packets 6766  bytes 1125519 (1.1 MB)
        TX errors 0  dropped 0 overruns 0  carrier 0  collisions 0

Пожалуйста, позвольте мне поделиться дополнительной информацией, которая поможет решить проблему, я не знаю, какая именно.

Благодаря

2
задан 5 July 2019 в 00:08

2 ответа

То же самое произошло со мной несколько лет назад на более старом ноутбуке, и я использовал этот сценарий:

#!/bin/bash

# NAME: r8169-reset
# PATH: /lib/systemd/system-sleep
# DESC: Reset Ethernet card after suspend, not working automatically
# DATE: Feb ?? 2017. Modified: Aug 5, 2018.

MYNAME=$0

restart_ethernet() {
   /usr/bin/logger $MYNAME 'restart_ethernet(r8169) BEGIN'
   /sbin/modprobe -v -r r8169
   /sbin/modprobe -v r8169
   /usr/bin/logger 'systemctl restart NetworkManager.service (SUPPRESED)'
   /usr/bin/logger $MYNAME 'restart_ethernet(r8169) END'
}

/usr/bin/logger $MYNAME 'case=[' ${1}' ]'
case "${1}/${2}" in
   hibernate|suspend|pre*)
      ;;
   resume|thaw|post*)
      restart_ethernet;;
esac

Поместите сценарий в каталог /lib/systemd/system-sleep с именем r8169-reset. Mark исполняемый файл сценария с командой

sudo chmod a+x /lib/systemd/system-sleep/r8169-reset

Перезагрузка и сценарий будут работать автоматически с каждым резюме после того, как приостановят.

1
ответ дан 5 July 2019 в 00:08

В terminal введите sudo lshw -C network и найдите строку, которая выглядит следующим образом:

product: RTL8111/8168/8411 PCI Express Gigabit Ethernet Controller

Обратите внимание на 8168.

Если у вас есть аналогичный контроллер, вы можете попробовать установить этот драйвер, чтобы посмотреть, решит ли он вашу проблему.

sudo apt-get update
sudo apt-get install dkms r8168-dkms
0
ответ дан 5 July 2019 в 00:08

Другие вопросы по тегам:

Похожие вопросы: