Ubuntu 18.04 - सस्पेंड के बाद ईथरनेट डिस्कनेक्ट हो गया


29

ईथरनेट सस्पेंड के बाद फिर से शुरू नहीं होता है।

sudo service network-manager restart

काम नहीं करता। केवल समस्या हल करती है।


यह समस्या मेरे लिए Xubuntu 18.04.2, कर्नेल 4.15.0-54
HEKTO

जवाबों:


45

कम से कम नेटवर्क कर्नेल मॉड्यूल r8169 के लिए इस समस्या को ट्रैक करने वाला मुख्य उबंटू बग लगता है:

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

मैं इस मुद्दे से प्रभावित होने वाले सभी लोगों को वहाँ जाने के लिए प्रोत्साहित करता हूँ और यह चिन्हित करता हूँ कि यह आपको प्रभावित करता है, ताकि अनुरक्षकों को इस बात की बेहतर समझ हो कि यह कितना गंभीर है।

मैं Xubuntu 18.04 की एक नई स्थापना चला रहा हूं, और मेरा ईथरनेट इंटरफ़ेस कर्नेल मॉड्यूल r8169 का उपयोग करता है , जिसे मैंने रन किया था:

sudo lshw -C network

जानकारी के 2 समूह होंगे, एक के साथ शुरू description: Ethernet interface, और दूसरे के साथ description: Wireless interface। इसके तहत description: Ethernet interface, 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

चालक यहाँ हो जाएगा: driver=

Systemd के तहत सभी निष्पादन स्क्रिप्ट चलाता है /lib/systemd/system-sleep, पहले और बाद में निलंबित 2 पैरामीटर प्रदान करने, $1राज्य (है pre, इससे पहले कि निलंबित, या post, के बाद निलंबित), और $2कार्रवाई है ( suspend, hibernate, hybrid-state, या suspend-then-hibernate)। यह के लिए आदमी पृष्ठ में प्रलेखित है systemd-suspend.service

हमें सस्पेंड के बाद , फिर से शुरू होने पर ईथरनेट इंटरफेस के लिए मॉड्यूल को फिर से लोड करना होगा। इसलिए मैंने स्क्रिप्ट बनाई /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

और इसे निष्पादन योग्य बनाया:

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

स्क्रिप्ट से लॉग किए गए संदेश /var/log/syslogस्क्रिप्ट और उसके पीआईडी ​​के नाम के साथ टैग किए जाएंगे । इस तरह आप जाँच सकते हैं कि स्क्रिप्ट ने कर्नेल मॉड्यूल को पुनः लोड किया है या नहीं:

grep r8169-refresh /var/log/syslog

Madzohan , मुझे लगता है कि आपके संपादन को जोड़ना निरर्थक हो सकता है, क्योंकि मैंने दो बार उत्तर में उल्लेख किया है कि स्क्रिप्ट को निष्पादन योग्य होना है: "systemd सभी निष्पादन योग्य स्क्रिप्ट / lib / systemd / system-sleep" के तहत चलाता है, और "भी" और निष्पादन योग्य स्क्रिप्ट / लिब / सिस्टमड / सिस्टम-स्लीप / r8169-ताज़ा करें "
पाउलो मार्सेल कोल्हो अर्गाओ

यह दिनांक 07/01/2018 को जारी कर्नेल 4.15.0-24.26 में तय किया गया था, इसलिए वर्कअराउंड की आवश्यकता नहीं है।
पाउलो मार्सेल कोल्हो अर्गाओ

1
मुझे कुछ दिनों पहले कुछ अपडेट इंस्टॉल करने के बाद से मेरे लैपटॉप पर यह समस्या है। ऊपर दिया गया समाधान अभी भी समस्या को हल करता है। आपका बहुत बहुत धन्यवाद!
डैनियल

@ डैनियल, क्या आप इसका उत्पादन पोस्ट कर सकते हैं: उपयुक्त नीति लिनक्स-छवि-जेनेरिक? यह समस्या 07/01/2018 से हल हो जानी चाहिए, इस समाधान की अब और आवश्यकता नहीं होनी चाहिए।
पाउलो मार्सेल कोल्हो अर्गाओ

यह सिर्फ 18.04 नहीं है। 16.04 में rtl8169 कर्नेल ड्राइवर को सस्पेंड होने के बाद भी उतारना और लोड करना पड़ा: askubuntu.com/questions/950871/…
WinEunuuchs2Unix

8

यहां एक और सरल (r) समाधान है: एक सिस्टमड सर्विस बनाएं, जिसका एकमात्र कार्य एक निलंबित चक्र के बाद मॉड्यूल को अनलोड / रीलोड करना है (मैंने इसे /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

तो बस निष्पादित करें systemctl enable fix-r8169.service, और आपको सेट किया जाना चाहिए !! सिस्टमड अब सस्पेंड से उठने पर अपने मॉड्यूल को स्वचालित रूप से अनलोड-एंड-रीलोड करेगा।

चीयर्स!


3

वह मेरे साथ भी हुआ।

नेटवर्क कर्नेल मॉड्यूल / ड्राइवर को लोड / पुनः लोड करें / ड्राइवर काम करता है।

मेरा r8169 है, इसलिए (रूट के रूप में): (मैंने हाथ से टाइप किया, इसलिए देरी हुई)

sudo modprobe -r r8169
sudo modprobe -i r8169

मैंने अपनी पहली कोशिश के दौरान mii को भी हटा दिया। हालांकि आवश्यक नहीं है।


sudo modprobe मैं r8169
aaaa

काम किया! क्या मुझे यह सब मैन्युअल रूप से अब करना होगा जब मैं फिर से शुरू करूँ?
आहा

यह स्वीकृत समाधान के समान है, लेकिन इसे बिना स्क्रिप्ट में डाले जिसे फिर से शुरू किया जाएगा और लॉगिंग फ़ंक्शन के बिना।
डोमिनिक108

3

मुझे भी यही समस्या थी और मुझे इसका समाधान मिला।

  1. रन: sudo lshw -C network
    अपने नेटवर्क कार्ड कर्नेल मॉड्यूल को खोजने के लिए

    * -Network, विवरण में: ईथरनेट इंटरफ़ेस, कॉन्फ़िगरेशन फ़ील्ड में
    driver=sky2मेरे लिए मिला । Sky2 मेरे लैपटॉप के लिए एक ईथरनेट नेटवर्क कर्नेल मॉड्यूल है।

  2. मैं एक फ़ाइल बना रहा हूँ Sky2.sh में: /lib/systemd/system-sleep/ फ़ोल्डर के साथ

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

    और अनुमतियाँ बदलें:

    sudo chmod a+x sky2.sh
    

उसके बाद समस्या हल हुई।


यह लॉगिंग फ़ंक्शन के बिना स्वीकृत समाधान के समान है।
डोमिनिक108

1

यह ईथरनेट कनेक्शन का पता लगाता है?

फिर

खुला NetworkManager.conf

sudo nano /etc/NetworkManager/NetworkManager.conf

टिप्पणी (# जोड़ें) dns=dnsmasq

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

[ifupdown]
managed=true

नेटवर्क प्रबंधक को पुनरारंभ करें

sudo service network-manager restart

[मुख्य] ​​प्लगइन्स = ifupdown, कीफाइल [ifupdown] प्रबंधित = true [डिवाइस] wifi.scan-rand-mac-address = नहीं
आआआआ

यह मेरे पास फाइल में है ....
आआआह

क्या आपने पहले फ़ाइल को अद्यतन किया था? अगर हाँ रिबूट और जाँच करें
संतोष वीर

मैंने आपके संतोष संतोष को ठीक करने की कोशिश की। फिर भी बाहर निकाल दिया। ईथरनेट।
आहा

इस कमांड systemctl status NetworkManager.serviceको चलाने के लिए त्रुटि की जाँच करें
संतोष वीर

1

मैंने अपने Ubuntu 18.04 बायोनिक पर इस ब्रोल्म को 4.15 से 4.20 तक (16.01.2019 को नवीनतम) UKUU का उपयोग करके अद्यतन करके हल किया।

नवीनतम कर्नेल स्थापित करने के लिए Ubuntu कर्नेल अद्यतन उपयोगिता स्थापित करें

sudo add-apt-repository ppa:teejee2008/ppa

sudo apt-get install ukuu

निम्न आदेश के साथ पहुँच नियंत्रण अक्षम करें:

sudo xhost +

फिर uku के साथ स्थापित करें

sudo ukuu

sudo ukuu --install-latest

और रिबूट

sudo reboot

0

प्रेस Ctrl+ Alt+ Tएक टर्मिनल और प्रकार में जाने के लिए:

sudo apt-get purge tlp

या

संपादित करें /etc/default/tlpऔर बदलें:

WOL_DISABLE = NO

सेवा मेरे

WOL_DISABLE = YES

उबंटू पूछने के लिए आपका स्वागत है! ;-) क्या आप मेरे संपादन की समीक्षा कर सकते हैं और भविष्य में आपके उत्तरों की पठनीयता को बेहतर बनाने के लिए संपादन सहायता की भी समीक्षा कर सकते हैं? ;-)
Fabby

0

मेरे पास स्वीकृत उत्तर को टिप्पणी करने या उभारने के लिए पर्याप्त प्रतिष्ठा नहीं है (जो अब पुराना हो चुका है)

यदि आप चलाते हैं lsmod | grep r8169और यह दर्शाता है कि आपके पास r8169 कर्नेल मॉड्यूल लोड है, और आपकी कर्नेल 4.15.0-24-जेनेरिक से पुरानी है, तो आप स्वीकृत उत्तर https: //bugs.launchpad से जुड़े बग से सबसे अधिक प्रभावित होते हैं। शुद्ध / Ubuntu / + स्रोत / linux / + बग / 1,752,772

BTW मैं इस बग का अनुभव किया और मेरे लिए lspci | grep 'Gigabit Ethernet'दिखाता है RTL8111/8168/8411 PCI Express Gigabit Ethernet Controller

इस बग को ठीक कर दिया गया है।

यदि आपका कर्नेल 4.15.0-24-जेनेरिक से पुराना है, तो बस चलाएं

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

0

मुझे भी यही समस्या थी लेकिन यहाँ समाधान मेरे काम नहीं आया। मैंने इस विषय पर कई मंचों से गुजरते हुए दिन बिताए और हर चीज के बारे में कोशिश की। दो वैकल्पिक समाधानों का उल्लेख किया गया है, कर्नेल को अपग्रेड करें या पिछले मॉड्यूल ड्राइवर को स्थापित करें। मैंने बाद वाला चुना और r8168 ड्राइवर स्थापित किया। शुरू में, वह भी असफल रहा। हालांकि, मैंने कुछ ऐसा खोजा जो काम करता है और इसे पाउलो से समाधान के लिए अनुकूलित किया।

मैं कर्नेल 4.15.0-24-जेनेरिक के साथ (K) ubuntu 18.04 चला रहा हूं।

Lshw -C नेटवर्क से आउटपुट में यह शामिल है ...

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 को स्थापित किया , हालांकि यह पर्याप्त नहीं था। दो और कदमों की आवश्यकता थी।

चरण 1) फ़ाइल संपादित करें /etc/modprobe.d/r8168-dkms.conf और लाइन सक्षम करें (यानी टिप्पणी हटा दें) ब्लैकलिस्ट r8169

चरण 2) पाउलो से समाधान के आधार पर मैंने निम्नलिखित लिपि / लिब / सिस्टमड / सिस्टम-स्लीप / r8162-रिफ्रेश बनाया

#! / Bin / bash

PROGNAME = $ (बेसन "$ 0")
राज्य = $ 1
कार्रवाई = $ 2

फ़ंक्शन लॉग {
    लकड़हारा -i -t "$ PROGNAME" "$ *"
}

लॉग "$ कार्रवाई $ राज्य चल रहा है"

अगर [[$ राज्य == पोस्ट]]; फिर
     लॉग करें "ifconfig down enp5s0"
     ifconfig enp5s0 नीचे
     "ifconfig up enp5s0" लॉग करें
     ifconfig enp5s0 192.168.10.213
फाई

यह कोड निश्चित रूप से मेरी मशीन (डिवाइस का नाम और आईपी-पता) के लिए विशिष्ट है। यह निश्चित रूप से सुधार किया जा सकता है, लेकिन यह इस समय मेरी जरूरतों को पूरा करता है।

यह NetworkManager के साथ काम करेगा।


0

यह 28 जुलाई, 2018 को Ubuntu 16.04 से 18.04 तक अपग्रेड करने के बाद गीगाबाइट-B250M-DS3H मदरबोर्ड के साथ मेरे साथ हुआ। कर्नेल 4.15.0-29-जेनेरिक है।

का परिणाम sudo lshw -C networkसे पता चला है RTL8111 / 8168/8411 पीसीआई एक्सप्रेस ईथरनेट नियंत्रक, जबकि यह है कि r8169 दिखाया इस्तेमाल किया ड्राइवर है।

अंत में काम करने वाले ने ईथरनेट नियंत्रक (बड़ा आश्चर्य) के लिए ड्राइवर को स्थापित किया था:

sudo apt install r8168-dkms

और फिर कंप्यूटर को पुनः आरंभ करना (धन्यवाद औरypotter)। मुझे r8169 को ब्लैकलिस्ट नहीं करना था, लेकिन मुझे अभी भी एक स्क्रिप्ट बनानी थी, /lib/systemd/system-sleep/जिसमें मैंने कॉल किया r8168-refresh-after-suspend(एक ला पाउलो की सलाह) जो 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

और, ज़ाहिर है, इसके साथ निष्पादन योग्य बनाएं:

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

इसने एकदम जादू की तरह काम किया। तो, यह अभी भी 4.15.0-29 कर्नेल में एक मुद्दा है, लेकिन बैंड-सहायता फिक्स अभी भी काम करता है।


0

मेरे पास एक ही समस्या है (ड्राइवर = r8169), ईथरनेट सस्पेंड से फिर से शुरू होने के बाद काम नहीं करता है।

यह कर्नेल 4.13.0-31 के साथ पूरी तरह से अच्छी तरह से काम करता है। दूसरे शब्दों में, ईथरनेट सस्पेंड से फिर से शुरू होने के बाद काम करना जारी रखता है।

लेकिन कर्नेल के साथ 4.15.0-32 ईथरनेट सस्पेंड से फिर से शुरू होने के बाद काम नहीं करता है। मैंने ठीक करने की कोशिश की है

modprobe -r r8169
modprobe -i r8169

लेकिन इसका कोई असर नहीं हुआ।

मैंने इसे https://bugs.launchpad.net/ubuntu/+source/linux/+bug/1752777 पर सूचित किया है


1
यह वास्तव में एक उत्तर नहीं है, जब तक आप कर्नेल 4.13 का उपयोग करने का सुझाव नहीं दे रहे हैं।
वेजेंड्रिया

0

जांच करने के लिए पहली बात: नेटवर्क प्रबंधक / सेवा को फिर से शुरू करें:

sudo सेवा नेटवर्क-प्रबंधक पुनरारंभ

यदि यह काम नहीं करता है, तो इस पोस्ट में अन्य उत्तरों की जांच करें


0

मैं निरूपित करता हूं कि /lib/systemd/system-sleep/प्रत्येक कार्य पर कई फिक्स फ़ाइल स्क्रिप्ट (मेरे ईथरनेट एडाप्टर के लिए संशोधित) !

फिर भी, यदि केबल-मॉडेम डिवाइस को सस्पेंड के बाद बंद कर दिया जाता है, और इसे लौटा दिया जाता है, तो रेज्यूमे सिस्टम के बाद, उबंटू आधारित सिस्टम नेटवर्क आइकन (अधिसूचना क्षेत्र में) के बावजूद, इंटरनेट से कनेक्ट नहीं कर सकता है।

इसे फिर से ठीक करने के लिए, मुझे नेटवर्क आइकन »ईथरनेट कनेक्शन पर क्लिक करना होगा। इस प्रकार, यह कनेक्शन को सफलतापूर्वक ताज़ा करता है। एक्स-

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 ऐसा लगता है कि सस्पेंशन से लौटने के बाद कुछ वीपीएन का सीएलआई काम करना बंद कर देता है।


0

मेरे डेल इंस्पिरॉन 15 के साथ भी यही समस्या थी: रिबूट या सस्पेंड के बाद कोई वायर्ड नेटवर्क नहीं।

मुझे लगता है कि यह BIOS में एक सेटिंग को बदलकर तय किया गया है:

उन्नत -> इंटेल (आर) स्मार्ट कनेक्ट टेक्नोलॉजी -> अक्षम

(डिफ़ॉल्ट सक्षम है)

साइड इफेक्ट के रूप में, मेनू आइटम गायब हो गया है, डिफ़ॉल्ट मानों के लिए सभी सेटिंग्स को रीसेट करने के बाद फिर से प्रकट होने के लिए।

हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.