Ubuntu 18.04 - Askıya alındıktan sonra Ethernet bağlantısı kesildi


29

Ethernet askıya alındıktan sonra devam etmiyor.

sudo service network-manager restart

çalışmıyor. Sadece yeniden başlatma problemi çözer.


Bu sorun Xubuntu 18.04.2, kernel 4.15.0-54 benim için geri döndü
HEKTO

Yanıtlar:


45

En azından ağ çekirdeği modülü r8169 için bu sorunu izleyen ana Ubuntu hatası şöyle görünüyor:

https://bugs.launchpad.net/ubuntu/+source/linux/+bug/1752772

Bu sorundan etkilenen herkesi oraya gitmeye ve sizi etkilediğine işaret etmeye teşvik ediyorum, böylece bakanlar bunun ne kadar ciddi olduğu konusunda daha iyi bir anlayışa sahipler.

Yeni bir Xubuntu 18.04 kurulumu çalıştırıyorum ve Ethernet arayüzüm çalıştığını keşfettiğim çekirdek modül r8169'u kullanıyor :

sudo lshw -C network

Biri ile description: Ethernet interfacediğeriyle başlayan 2 bilgi grubu olacak description: Wireless interface. Altında description: Ethernet interface, şöyle başlayan bir çizgi arayın configuration::

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

Sürücü burada olacak: driver=.

Systemd altındaki tüm çalıştırılabilir komut dosyalarını çalıştırır /lib/systemd/system-sleep, 2 parametreleri geçen ve sonrasında askıya önce $1devlet (ise pre, daha önce askıya alma veya postsonra askıya) ve $2eylemdir ( suspend, hibernate, hybrid-state, veya suspend-then-hibernate). Bu, man sayfasındaki belgelenmiştir systemd-suspend.service.

Askıya alındıktan sonra askıya alındıktan sonra Ethernet arayüzü için modülü yeniden yüklememiz gerekir . Böylece komut dosyası yarattım /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

ve çalıştırılabilir hale getirdi:

chmod +x /lib/systemd/system-sleep/r8169-refresh

Komut dosyasından kaydedilen mesajlar, komut dosyasının /var/log/syslogadı ve PID'si ile etiketlenecektir. Bu şekilde, betiğin çekirdek modülünü yeniden yükleyip yüklemediğini kontrol edebilirsiniz:

grep r8169-refresh /var/log/syslog

madzohan , betiğin çalıştırılabilir olması gerektiğinin cevabını iki kez belirttiğimden, düzenlemenizi eklemenin gereksiz olabileceğini düşünüyorum: "systemd, / lib / systemd / system-sleep altındaki tüm çalıştırılabilir komut dosyalarını çalıştırır" ve ayrıca "oluşturdum ve çalıştırılabilir komut dosyası / lib / systemd / system-sleep / r8169-refresh "yaptı
Paulo Marcel Coelho Aragão

Bu, 07/01/2018 tarihinde yayınlanan 4.15.0-24.26 numaralı çekirdekte düzeltildi, böylece geçici çözüm artık gerekli değil.
Paulo Marcel Coelho Aragão,

1
Birkaç gün önce bazı güncelleştirmeleri yüklediğimden beri dizüstü bilgisayarımda bu sorunu yaşıyorum. Yukarıda verilen çözüm hala sorunu çözüyor. Çok teşekkürler!
Daniel,

@ Daniel, çıktısını yayınlayabilir misiniz: apt policy linux-image-generic? Bu sorun 07.01.2018'den beri çözülmüş olmalı, bu geçici çözüme artık ihtiyaç duyulmamalıdır.
Paulo Marcel Coelho Aragão

Sadece 18.04 değil. 16.04 yılında rtl8169 : çekirdek sürücüsü kaldırıldı ve çok askıya sonra yüklenecek zorunda askubuntu.com/questions/950871/...
WinEunuuchs2Unix

8

İşte başka bir basit (r?) Çözümü: tek görevi bir askıya alma döngüsünden sonra modülü kaldırmak / yeniden yüklemek olan bir sistemd hizmeti oluşturun ( /etc/systemd/system/fix-r8169.service olarak adlandırdım ):

[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

O zaman sadece yürütün systemctl enable fix-r8169.serviceve ayarlanması gerekir !! Systemd şimdi askıya alındıktan sonra modülünüzü otomatik olarak kaldıracak ve yeniden yükleyecektir.

Şerefe!


3

Bana da oldu.

Ağ çekirdek modülleri / sürücüleri kaldırma / yeniden yükleme işleri.

Benimki r8169, öyleyse (root olarak): (Elle yazdım, bir gecikme oldu)

sudo modprobe -r r8169
sudo modprobe -i r8169

Ayrıca ilk denemem sırasında Mii'yi de kaldırdım. Yine de gerekli değil.


sudo modprobe -i r8169
aaaa

çalıştı! devam ettiğimde bunu şimdi manuel olarak yapmak zorunda mıyım?
aaaa

Bu kabul edilen çözümle aynıdır, ancak özgeçmişinde çalıştırılacak olan bir betiğe koymadan ve günlüğe kaydetme işlevi olmadan gerçekleştirilir.
Dominic108

3

Aynı problemi yaşadım ve bu çözümü buldum.

  1. run: sudo lshw -C network
    ağ kartı çekirdek modülünüzü bulmak için

    * -Network'te, açıklama: Ethernet arayüzü,
    driver=sky2benim için bulunan yapılandırma alanında . sky2 dizüstü bilgisayarım için bir ethernet ağ çekirdek modülüdür.

  2. Bir dosya sky2.sh içine oluşturun: /lib/systemd/system-sleep/ klasör

    #!/bin/bash 
    modprobe -r sky2 # unload sky2 kernel module 
    modprobe -i sky2 # reload sky2 kernel module 
    

    ve izinleri aşağıdakilerle değiştirin:

    sudo chmod a+x sky2.sh
    

Bundan sonra sorun çözüldü.


Bu, kayıt işlevi olmadan kabul edilen çözümle aynıdır.
Dominic108

1

Ethernet Bağlantısını algılıyor mu?

sonra

açık NetworkManager.conf

sudo nano /etc/NetworkManager/NetworkManager.conf

Yorum Yap (# Ekle) dns=dnsmasq

[main]
plugins=ifupdown,keyfile,ofono
#dns=dnsmasq

[ifupdown]
managed=true

Ağ yöneticisini yeniden başlatın

sudo service network-manager restart

[ana] eklentiler = ifupdown, keyfile [ifupdown]] = gerçek [cihaz] wifi.scan-rand-mac-address = hayır
aaaa

bu dosyada ne var ....
aaaa

conf dosyasını daha önce güncellediniz mi? eğer evet, yeniden
Santhosh Veer

Senin fikrin Santhosh Veer'i denedim. Hala gri. Ethernet.
aaaa

systemctl status NetworkManager.servicehatayı kontrol etmek için bu komutu çalıştırın
Santhosh Veer

1

Bu broşu Ubuntu 18.04 Bionic'imde çekirdeği 4.15'ten 4.20'ye (en son 16.01.2019 tarihinde) UKUU kullanarak güncelleyerek çözdüm.

son çekirdek Ubuntu Çekirdek Güncelleme Programı'nı yüklemek için

sudo add-apt-repository ppa:teejee2008/ppa

sudo apt-get install ukuu

Aşağıdaki komutu kullanarak erişim kontrolünü devre dışı bırakın:

sudo xhost +

sonra ukuu ile kurun

sudo ukuu

sudo ukuu --install-latest

ve yeniden başlat

sudo reboot

0

Bir terminale gitmek için Ctrl+ Alt+ tuşlarına basın Tve şunu yazın:

sudo apt-get purge tlp

veya

düzenle /etc/default/tlpve değiştir:

WOL_DISABLE = NO

için

WOL_DISABLE = YES

Ubuntu'ya Sormaya Hoş Geldiniz! ;-) Lütfen düzenlemelerimi gözden
geçirebilir

0

Kabul edilen cevabı yorumlamak veya değiştirmek için yeterli saygınlığım yok (ki şu anda modası geçmiş)

Çalıştırırsanız lsmod | grep r8169ve yüklü olan r8169 çekirdek modülüne sahip olduğunuzu ve çekirdeğinizin 4.15.0-24 genelinden daha eski olduğunu gösterirse, büyük olasılıkla kabul edilen yanıt https: //bugs.launchpad'de bulunan hatadan etkileneceksiniz . net / ubuntu / + kaynak / linux / + böcek / 1752772

Btw bu hatayı yaşadım ve benim için lspci | grep 'Gigabit Ethernet'gösterir RTL8111/8168/8411 PCI Express Gigabit Ethernet Controller

Bu sorun çözüldü.

Eğer çekirdeğiniz 4.15.0-24-generic'den büyükse, sadece çalıştırın

apt-get update
apt-get upgrade
apt-get dist-upgrade
reboot

0

Aynı problemi yaşadım ama buradaki çözümler benim için işe yaramadı. Günleri bu konuda birkaç forumda geçirdim ve hemen hemen her şeyi denedim. İki alternatif çözümden bahsedilir, Çekirdeği yükseltin veya önceki modül sürücüsünü yükleyin. Ben ikincisini seçtim ve r8168 sürücüsünü kurdum. Başlangıçta, bu da başarısız oldu. Ancak, çalışan ve onu Paulo'nun çözümüne uyarlayan bir şey keşfettim.

(K) ubuntu 18.04'ü Kernel 4.15.0-24-generic ile çalıştırıyorum.

Lshw -C ağından çıkan çıktı bu ...

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

R8168-dkms paketini kurdum , ancak bu yeterli değildi. İki adım daha gerekiyordu.

Adım 1) /etc/modprobe.d/r8168-dkms.conf dosyasını düzenleyin ve satırı etkinleştirin (örn. Yorumu kaldırın) kara liste r8169

Adım 2) Paulo’nun çözümüne dayanarak aşağıdaki senaryoyu oluşturdum / lib / systemd / system-sleep / r8168-refresh

#! / Bin / bash

PROGNAME = $ (temel ad "$ 0")
devlet = $ 1
action = $ 2

işlev günlüğü {
    günlüğü -i -t "$ PROGNAME" "$ *"
}

log "Çalışan $ action $ state"

eğer [[$ state == mesaj]]; sonra
     log "ifconfig down enp5s0"
     ifconfig enp5s0 aşağı
     log "ifconfig up enp5s0"
     ifconfig enp5s0 192.168.10.213
fi

Bu kod elbette makineme özel (cihaz adı ve IP adresi). Kesinlikle geliştirilebilir, ancak şu anda ihtiyaçlarımı karşılıyor.

Bu NetworkManager ile çalışır.


0

Bu, 28 Temmuz 2018 tarihinde Ubuntu 16.04'ten 18.04'e yükselttikten sonra Gigabyte-B250M-DS3H anakartta da oldu. Çekirdek 4.15.0-29-jenerik.

Sonucu sudo lshw -C networko r8169 gösterirken gösterdi RTL8111 / / 8411 8168 PCI Express Gigabit Ethernet Denetleyicisi, kullanılan sürücüdür.

Sonunda neyin çalıştığı Ethernet denetleyicisine özgü sürücüyü yüklemekti (büyük sürpriz):

sudo apt install r8168-dkms

ve sonra bilgisayarı yeniden başlatın (Thanks andypotter). Ben kara liste r8169 yoktu, ama yine de bir komut dosyası oluşturmak zorunda mı /lib/systemd/system-sleep/aradığımı r8168-refresh-after-suspendçıkarın ve tekrar takın r8168 olur (a la Paulo'nun tavsiyesi):

#!/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

ve tabii ki, çalıştırılabilir olmasını sağlayın:

sudo chmod +x /lib/systemd/system-sleep/r8168-refresh-after-suspend

Bu bir cazibe gibi çalıştı. Yani, bu hala 4.15.0-29 çekirdeğindeki bir konudur, fakat yara bandı düzeltme hala çalışmaktadır.


0

Aynı sorun var (sürücü = r8169), Ethernet askıya alındıktan sonra çalışmıyor.

Çekirdek 4.13.0-31 ile mükemmel çalışır. Başka bir deyişle, Ethernet askıya alındıktan sonra çalışmaya devam eder.

Ancak çekirdek 4.15.0-32 ile Ethernet askıya alındıktan sonra çalışmaz. Düzeltmeyi denedim

modprobe -r r8169
modprobe -i r8169

ama bunun bir etkisi yok.

Bunu https://bugs.launchpad.net/ubuntu/+source/linux/+bug/1752772 adresine bildirdim.


1
Çekirdek 4.13 kullanmanızı önermiyorsanız, bu gerçekten bir cevap değil.
wjandrea

0

İlk kontrol edilecek şey: ağ yöneticisini / servisi yeniden başlatın:

sudo servis ağ yöneticisi yeniden başlatma

Çalışmazsa, bu gönderideki diğer cevapları kontrol edin.


0

/lib/systemd/system-sleep/Her eserde birkaç Fix dosya betiğinin (benim Ethernet adaptörüme göre değiştirilmiş olduğunu) belirtiyorum !

Yine de, kablo Modem cihazı Askıya Aldıktan sonra kapatılırsa ve bu, Devam ettirme sistemi sonrasında Açıksa, Ubuntu tabanlı sistem, ağ simgesine rağmen (bildirim alanında) bağlantıyı Açık gösterir.

Tekrar düzeltmek için, ağ simgesine »Ethernet bağlantısı tıklamanız gerekir. Böylece, bağlantıyı başarıyla yeniler. 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 Bazı vpn'lerin CLI'sinin Suspension'tan döndükten sonra çalışmayı bıraktığı görülüyor.


0

Dell Inspiron 15 ile aynı sorunları yaşıyordum: yeniden başlatma veya askıya alma sonrasında kablolu ağ yok.

BIOS'ta bir ayarı değiştirerek bunu düzelttiğimi düşünüyorum:

Gelişmiş -> Intel (R) Smart Connect Teknolojisi -> Devre Dışı

(varsayılan etkindir)

Bir yan etki olarak, tüm ayarların varsayılan değerlere sıfırlanmasından sonra tekrar görünmesi için menü öğesi kayboldu.

Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.