Ubuntu 18.04 - Ethernet terputus setelah ditangguhkan


29

Ethernet tidak melanjutkan setelah ditunda.

sudo service network-manager restart

tidak bekerja. Hanya restart yang memecahkan masalah.


Masalah ini kembali pada saya di Xubuntu 18.04.2, kernel 4.15.0-54
HEKTO

Jawaban:


45

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-sleepsebelum dan setelah menangguhkan, melewati 2 parameter, $1adalah negara ( pre, sebelum menangguhkan, atau post, setelah suspend), dan $2merupakan 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/syslogditandai dengan nama skrip dan PID-nya. Dengan cara ini Anda dapat memeriksa apakah skrip memuat ulang modul kernel:

grep r8169-refresh /var/log/syslog

madzohan , saya merasa mungkin berlebihan untuk menambahkan suntingan Anda, karena saya menyebutkan dua kali dalam jawaban bahwa skrip harus dapat dieksekusi: "systemd menjalankan semua skrip yang dapat dieksekusi di bawah / lib / systemd / system-sleep", dan juga "Saya buat dan membuat skrip yang dapat dieksekusi / lib / systemd / system-sleep / r8169-refresh "
Paulo Marcel Coelho Aragão

Ini diperbaiki di kernel 4.15.0-24.26, dirilis pada 07/01/2018, sehingga solusi tidak diperlukan lagi.
Paulo Marcel Coelho Aragão

1
Saya memiliki masalah ini di laptop saya sejak menginstal beberapa pembaruan beberapa hari yang lalu. Solusi yang diberikan di atas masih menyelesaikan masalah. Terima kasih banyak!
Daniel

@Aniel, dapatkah Anda memposting output dari: apt policy linux-image-generic? Masalah ini seharusnya sudah dipecahkan sejak 07/01/2018, solusi ini seharusnya tidak diperlukan lagi.
Paulo Marcel Coelho Aragão

Bukan hanya 18,04. Pada 16.04 driver kernel rtl8169 harus diturunkan dan dimuat setelah ditangguhkan juga: askubuntu.com/questions/950871/…
WinEunuuchs2Unix

8

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!


3

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.


sudo modprobe -i r8169
aaaa

bekerja! apakah saya harus melakukan ini secara manual sekarang sepanjang waktu saya melanjutkan?
aaaa

Ini sama dengan solusi yang diterima, tetapi tanpa memasukkannya ke dalam skrip yang akan dieksekusi pada resume dan tanpa fungsi logging.
Dominic108

3

Saya memiliki masalah yang sama dan saya menemukan solusi ini.

  1. jalankan: sudo lshw -C network
    untuk menemukan modul kernel kartu jaringan Anda

    Di * -network, keterangan: Antarmuka Ethernet, dalam bidang konfigurasi ditemukan
    driver=sky2untuk saya. sky2 adalah modul kernel jaringan ethernet untuk laptop saya.

  2. 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.


Ini sama dengan solusi yang diterima, tanpa fungsi logging.
Dominic108

1

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

plugins [utama] = ifupdown, keyfile [ifupdown] berhasil = true [perangkat] wifi.scan-rand-mac-address = no
aaaa

inilah yang saya miliki dalam file ....
aaaa

Apakah Anda memperbarui file conf sebelumnya? jika ya reboot & centang
Santhosh Veer

Saya mencoba memperbaiki Anda Santhosh Veer. Masih abu-abu. Ethernet.
aaaa

jalankan perintah ini systemctl status NetworkManager.serviceuntuk memeriksa kesalahan
Santhosh Veer

1

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

0

Tekan Ctrl+ Alt+ Tuntuk pergi ke terminal dan ketik:

sudo apt-get purge tlp

atau

edit /etc/default/tlpdan ubah:

WOL_DISABLE = NO

untuk

WOL_DISABLE = YES

Selamat Datang di Tanya Ubuntu! ;-) Bisakah Anda meninjau suntingan saya dan juga meninjau bantuan pengeditan untuk meningkatkan keterbacaan jawaban Anda di masa depan ... ;-)
Fabby

0

Saya tidak memiliki reputasi yang cukup untuk mengomentari atau membatalkan jawaban yang diterima (yang sekarang sudah usang)

Jika Anda menjalankan lsmod | grep r8169dan 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

0

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.


0

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 networkmenunjukkan 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.


0

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


1
Ini sebenarnya bukan jawaban, kecuali Anda menyarankan untuk menggunakan kernel 4.13.
wjandrea

0

Hal pertama yang harus diperiksa: mulai ulang pengelola jaringan / layanan:

sudo service network-manager restart

Jika tidak berhasil, periksa jawaban lain di pos ini


0

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.


0

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.

Dengan menggunakan situs kami, Anda mengakui telah membaca dan memahami Kebijakan Cookie dan Kebijakan Privasi kami.
Licensed under cc by-sa 3.0 with attribution required.