У меня возникает эта странная проблема, когда я просыпаюсь с ноутбуком, соединение 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
Пожалуйста, позвольте мне поделиться дополнительной информацией, которая поможет решить проблему, я не знаю, какая именно.
Благодаря
То же самое произошло со мной несколько лет назад на более старом ноутбуке, и я использовал этот сценарий:
#!/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
Перезагрузка и сценарий будут работать автоматически с каждым резюме после того, как приостановят.
В 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