Jawaban:
Bug utama Ubuntu yang melacak masalah ini, setidaknya untuk modul kernel jaringan r8169, tampaknya:
https://bugs.launchpad.net/ubuntu/+source/linux/+bug/1752772
Saya mendorong semua orang yang terpengaruh oleh masalah ini untuk pergi ke sana dan menandai bahwa itu memengaruhi Anda, sehingga pengelola memiliki pemahaman yang lebih baik tentang seberapa seriusnya masalah ini.
Saya sedang menjalankan instalasi baru Xubuntu 18.04, dan antarmuka Ethernet saya menggunakan modul kernel r8169 , yang saya temukan berjalan:
sudo lshw -C network
Akan ada 2 grup info, satu dimulai dengan description: Ethernet interface
, dan yang lain dengan description: Wireless interface
. Di bawah description: Ethernet interface
, cari garis yang dimulai dengan configuration:
, seperti ini:
configuration: autonegotiation=on broadcast=yes driver=r8169 driverversion=2.3LK-NAPI duplex=full firmware=rtl_nic/rtl8105e-1.fw ip=192.168.100.6 latency=0 link=yes multicast=yes port=MII speed=100Mbit/s
Sopir akan berada di sini: driver=
.
Systemd menjalankan semua skrip dieksekusi di bawah /lib/systemd/system-sleep
sebelum dan setelah menangguhkan, melewati 2 parameter, $1
adalah negara ( pre
, sebelum menangguhkan, atau post
, setelah suspend), dan $2
merupakan tindakan ( suspend
, hibernate
, hybrid-state
, atau suspend-then-hibernate
). Ini didokumentasikan di halaman manual untuk systemd-suspend.service
.
Kita perlu memuat ulang modul untuk antarmuka Ethernet saat melanjutkan dari penangguhan, setelah penangguhan. Jadi saya membuat skrip /lib/systemd/system-sleep/r8169-refresh
:
#!/bin/bash
PROGNAME=$(basename "$0")
state=$1
action=$2
function log {
logger -i -t "$PROGNAME" "$*"
}
log "Running $action $state"
if [[ $state == post ]]; then
modprobe -r r8169 \
&& log "Removed r8169" \
&& modprobe -i r8169 \
&& log "Inserted r8169"
fi
dan membuatnya dapat dieksekusi:
chmod +x /lib/systemd/system-sleep/r8169-refresh
Pesan-pesan yang dicatat dari skrip akan /var/log/syslog
ditandai dengan nama skrip dan PID-nya. Dengan cara ini Anda dapat memeriksa apakah skrip memuat ulang modul kernel:
grep r8169-refresh /var/log/syslog
Berikut ini solusi sederhana (r?): Buat layanan systemd yang tugasnya hanya membongkar / memuat kembali modul setelah siklus penangguhan (saya menamakannya /etc/systemd/system/fix-r8169.service ):
[Unit]
Description=Fix RTL-8169 Driver on resume from suspend
After=suspend.target
[Service]
User=root
Type=oneshot
ExecStartPre=/sbin/modprobe -r r8169
ExecStart=/sbin/modprobe r8169
TimeoutSec=0
StandardOutput=syslog
[Install]
WantedBy=suspend.target
Maka jalankan saja systemctl enable fix-r8169.service
, dan Anda harus diatur !! Systemd sekarang akan secara otomatis membongkar dan memuat kembali modul Anda setelah bangun dari penundaan.
Tepuk tangan!
Ini terjadi pada saya juga.
Bongkar / muat ulang modul / driver kernel jaringan berfungsi.
Milik saya adalah r8169, jadi (sebagai root): (Saya mengetik dengan tangan, jadi ada penundaan)
sudo modprobe -r r8169
sudo modprobe -i r8169
Saya juga menghapus mii selama percobaan pertama saya. Tapi tidak perlu.
Saya memiliki masalah yang sama dan saya menemukan solusi ini.
jalankan: sudo lshw -C network
untuk menemukan modul kernel kartu jaringan Anda
Di * -network, keterangan: Antarmuka Ethernet, dalam bidang konfigurasi ditemukan
driver=sky2
untuk saya. sky2 adalah modul kernel jaringan ethernet untuk laptop saya.
Saya membuat file sky2.sh menjadi: /lib/systemd/system-sleep/
folder with
#!/bin/bash
modprobe -r sky2 # unload sky2 kernel module
modprobe -i sky2 # reload sky2 kernel module
dan ubah izin dengan:
sudo chmod a+x sky2.sh
Setelah itu masalah terpecahkan.
Mendeteksi Koneksi Ethernet?
kemudian
Buka NetworkManager.conf
sudo nano /etc/NetworkManager/NetworkManager.conf
Komentar (Tambahkan #) itu dns=dnsmasq
[main]
plugins=ifupdown,keyfile,ofono
#dns=dnsmasq
[ifupdown]
managed=true
Mulai ulang manajer Jaringan
sudo service network-manager restart
systemctl status NetworkManager.service
untuk memeriksa kesalahan
saya memecahkan masalah ini pada Ubuntu 18.04 Bionic saya dengan memperbarui kernel dari 4.15 ke 4.20 (terbaru pada 16.01.2019) menggunakan UKUU
untuk menginstal kernel terbaru, instal Utilitas Pembaruan Kernel Ubuntu
sudo add-apt-repository ppa:teejee2008/ppa
sudo apt-get install ukuu
nonaktifkan kontrol akses dengan perintah berikut:
sudo xhost +
lalu instal dengan ukuu
sudo ukuu
sudo ukuu --install-latest
dan reboot
sudo reboot
Tekan Ctrl+ Alt+ Tuntuk pergi ke terminal dan ketik:
sudo apt-get purge tlp
atau
edit /etc/default/tlp
dan ubah:
WOL_DISABLE = NO
untuk
WOL_DISABLE = YES
Saya tidak memiliki reputasi yang cukup untuk mengomentari atau membatalkan jawaban yang diterima (yang sekarang sudah usang)
Jika Anda menjalankan lsmod | grep r8169
dan ini menunjukkan bahwa Anda memiliki modul kernel r8169 yang dimuat, dan kernel Anda lebih tua dari 4.15.0-24-generik maka kemungkinan besar Anda dipengaruhi oleh bug yang tertaut dalam jawaban yang diterima
https: //bugs.launchpad. net / ubuntu / + source / linux / + bug / 1752772
BTW saya mengalami bug ini dan untuk saya lspci | grep 'Gigabit Ethernet'
tunjukkan
RTL8111/8168/8411 PCI Express Gigabit Ethernet Controller
bug ini telah diperbaiki.
Jika kernel Anda lebih tua dari 4.15.0-24-generik, jalankan saja
apt-get update
apt-get upgrade
apt-get dist-upgrade
reboot
Saya memiliki masalah yang sama tetapi solusi di sini tidak bekerja untuk saya. Saya menghabiskan waktu berhari-hari mempelajari beberapa forum tentang hal ini dan mencoba hampir segalanya. Dua solusi alternatif disebutkan, tingkatkan Kernel atau instal driver modul sebelumnya. Saya memilih yang terakhir dan menginstal driver r8168. Awalnya, itu juga gagal. Namun, saya menemukan sesuatu yang berfungsi dan mengadaptasinya ke solusi dari Paulo.
Saya menjalankan (K) ubuntu 18.04 dengan Kernel 4.15.0-24-generik.
Output dari jaringan lshw -C termasuk ...
description: Ethernet interface
product: RTL8111/8168/8411 PCI Express Gigabit Ethernet Controller
vendor: Realtek Semiconductor Co., Ltd.
physical id: 0
bus info: pci@0000:05:00.0
logical name: enp5s0
version: 0c
serial: 80:fa:5b:49:69:b3
size: 1Gbit/s
capacity: 1Gbit/s
width: 64 bits
clock: 33MHz
capabilities: pm msi pciexpress msix vpd bus_master cap_list ethernet physical tp 10bt 10bt-fd 100bt 100bt-fd 1000bt-fd autonegotiation
configuration: autonegotiation=on broadcast=yes driver=r8168 driverversion=8.045.08-NAPI duplex=full ip=192.168.10.213 latency=0 link=yes multicast=yes port=twisted pair speed=1Gbit/s
resources: irq:133 ioport:e000(size=256) memory:df000000-df000fff memory:d0000000-d0003fff
Saya menginstal paket r8168-dkms , namun itu tidak cukup. Diperlukan dua langkah lebih lanjut.
Langkah 1) Edit file /etc/modprobe.d/r8168-dkms.conf dan aktifkan baris (mis. Hapus komentar) daftar hitam r8169
Langkah 2) Berdasarkan solusi dari Paulo saya membuat skrip berikut / lib / systemd / system-sleep / r8168-refresh
#! / bin / bash PROGNAME = $ (nama samaran "$ 0") state = $ 1 action = $ 2 log fungsi { logger -i -t "$ PROGNAME" "$ *" } log "Menjalankan $ action $ state" if [[$ state == post]]; kemudian log "ifconfig down enp5s0" ifconfig enp5s0 down log "ifconfig up enp5s0" ifconfig enp5s0 192.168.10.213 fi
Kode ini tentu saja khusus untuk mesin saya (nama perangkat dan alamat IP). Memang bisa ditingkatkan tetapi memenuhi kebutuhan saya saat ini.
Ini akan bekerja dengan NetworkManager.
Ini terjadi pada saya juga dengan motherboard Gigabyte-B250M-DS3H setelah memutakhirkan dari Ubuntu 16.04 ke 18.04 pada 28 Juli 2018. Kernelnya adalah 4.15.0-29-generik.
Hasil sudo lshw -C network
menunjukkan menunjukkan PCIL Gigabit Ethernet Controller RTL8111 / 8168/8411, sementara itu menunjukkan bahwa r8169 adalah driver yang digunakan.
Apa yang akhirnya berhasil adalah menginstal driver khusus untuk pengontrol Ethernet (kejutan besar):
sudo apt install r8168-dkms
dan kemudian me-restart komputer (Terima kasih dan foto). Saya tidak perlu daftar hitam r8169, tetapi saya masih harus membuat skrip /lib/systemd/system-sleep/
yang saya sebut r8168-refresh-after-suspend
(saran ala Paulo) yang akan menghapus dan memasukkan kembali r8168:
#!/bin/bash
# $1 is the state (pre or post)
# $2 is the action (suspend)
case $1/$2 in
pre/suspend)
modprobe -r r8168
;;
post/suspend)
modprobe -i r8168
;;
esac
dan, tentu saja, membuatnya dapat dieksekusi dengan:
sudo chmod +x /lib/systemd/system-sleep/r8168-refresh-after-suspend
Ini bekerja seperti pesona. Jadi, ini masih merupakan masalah di kernel 4.15.0-29, tetapi perbaikan band-aid masih berfungsi.
Saya memiliki masalah yang sama (driver = r8169), Ethernet tidak berfungsi setelah melanjutkan dari penundaan.
Ini bekerja dengan sangat baik dengan kernel 4.13.0-31. Dengan kata lain, Ethernet akan terus bekerja setelah melanjutkan dari penangguhan.
Tetapi dengan kernel 4.15.0-32 Ethernet tidak berfungsi setelah melanjutkan dari penundaan. Saya sudah mencoba memperbaikinya
modprobe -r r8169
modprobe -i r8169
tetapi ini tidak berpengaruh.
Saya telah melaporkan ini ke https://bugs.launchpad.net/ubuntu/+source/linux/+bug/1752772
Saya menyatakan bahwa beberapa skrip file Fix (dimodifikasi untuk adaptor Ethernet saya) pada /lib/systemd/system-sleep/
setiap karya!
Namun demikian, jika perangkat Cable-Modem dimatikan setelah Suspend, dan ini dikembalikan-On setelah Resume system, sistem berbasis Ubuntu tidak dapat menyambung kembali ke Internet, terlepas dari ikon jaringan (di area notifikasi) menunjukkan koneksi On.
Untuk memperbaikinya lagi, saya harus mengklik ikon jaringan »koneksi Ethernet. Dengan demikian, koneksi berhasil disegarkan. x-¿
Ethernet controller: VIA Technologies, Inc. VT6105/VT6106S [Rhine-III]
Subsystem: D-Link System Inc DFE-520TX Fast Ethernet PCI Adapter
Kernel driver in use: via-rhine
Kernel modules: via_rhine
PS Tampaknya beberapa CLI vpn berhenti bekerja setelah kembali dari Penangguhan.
Punya masalah yang sama dengan Dell Inspiron 15 saya: tidak ada jaringan kabel setelah reboot atau menangguhkan.
Saya tampaknya telah memperbaiki ini dengan mengubah pengaturan di BIOS:
Advanced -> Intel (R) Smart Connect Technology -> Disabled
(standar Diaktifkan)
Sebagai efek samping, item menu telah menghilang, muncul lagi setelah mengatur ulang semua pengaturan ke nilai default.