Ubuntu 18.04 - Ethernet відключений після призупинення


29

Ethernet не відновлюється після призупинення.

sudo service network-manager restart

не працює. Тільки перезапуск вирішує проблему.


Ця проблема повернулася до мене в Xubuntu 18.04.2, ядро ​​4.15.0-54
HEKTO

Відповіді:


45

Основна помилка Ubuntu, яка відстежує цю проблему, принаймні для мережевого модуля ядра r8169, здається, така:

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

Я б закликав усіх, хто стосується цього питання, поїхати туди і зазначити, що він впливає на вас, щоб ті, хто зачепив, краще зрозуміли, наскільки це серйозно.

Я запускаю нову інсталяцію Xubuntu 18.04, і мій інтерфейс Ethernet використовує модуль ядра 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). Це задокументовано на сторінці man для systemd-suspend.service.

Нам потрібно перезавантажити модуль для інтерфейсу Ethernet при поновленні з призупинення, після призупинення. Тому я створив сценарій /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тегів із назвою сценарію та його PID. Таким чином ви можете перевірити, чи скрипт перезавантажив модуль ядра:

grep r8169-refresh /var/log/syslog

madzohan , я вважаю, що може бути зайвим додавати свої зміни, оскільки я двічі згадував у відповіді, що сценарій повинен бути виконаним: "systemd запускає всі виконувані сценарії під / lib / systemd / system-sleep", а також "я створив і зробив виконуваний сценарій / lib / systemd / system-sleep / r8169-refresh "
Paulo Marcel Coelho Aragão

Це було виправлено у ядрі 4.15.0-24.26, випущеному 01.07.2018, тому вирішення проблем більше не потрібно.
Пауло Марсель Коельо Арагоо

1
У мене ця проблема є на моєму ноутбуці з моменту встановлення деяких оновлень кілька днів тому. Наведене вище рішення все ще вирішує це питання. Дуже дякую!
Даніель

@Daniel, чи можете ви опублікувати вихід: apt policy linux-image-generic? Цю проблему слід було вирішити з 01.07.2018, це рішення більше не потрібно.
Paulo Marcel Coelho Aragão

Це не просто 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, і вам слід встановити !! Тепер Systemd автоматично автоматично вивантажує та перезавантажить ваш модуль після зупинки з призупинення.

Ура!


3

Це сталося і зі мною.

Вивантажує / перезавантажує мережеві модулі / драйвери ядра.

Моє r8169, так (як root): (Я вводив вручну, тому сталася затримка)

sudo modprobe -r r8169
sudo modprobe -i r8169

Я також видалив міі під час моєї першої спроби. Не потрібно, хоча.


sudo modprobe -i r8169
aaaa

працювали! чи потрібно це робити вручну, весь час я поновлююсь?
aaaa

Це те саме, що прийняте рішення, але без його введення в сценарій, який буде виконуватися при резюме та без функції реєстрації.
Dominic108

3

У мене була така ж проблема, і я знайшов це рішення.

  1. запустити: sudo lshw -C network
    щоб знайти модуль ядра вашої мережевої карти

    У * -мережі, опис: Інтерфейс Ethernet, у конфігураційному полі, знайденому
    driver=sky2для мене. sky2 - це модуль ядра Ethernet для мого ноутбука.

  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
    

Після цього проблема вирішена.


Це те саме, що прийняте рішення, без функції ведення журналу.
Dominic108

1

Він виявляє підключення до Ethernet?

потім

відчинено 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, keyfile [ifupdown] управляється = вірно [пристрій] wifi.scan-rand-mac-address = ні
aaaa

це те, що я маю у файлі ....
aaaa

Ви оновлювали конф-файл раніше? якщо так, перезавантажте і перевіряйте
Santhosh Veer,

Я спробував виправити Santhosh Veer. Досі сірий. Ethernet.
aaaa

запустіть цю команду, systemctl status NetworkManager.serviceщоб перевірити помилку
Santhosh Veer,

1

Я вирішив цю проблему на моєму Ubuntu 18.04 Bionic, оновивши ядро ​​з 4.15 до 4.20 (останнє 16.01.2019) за допомогою UKUU

щоб встановити останню установку ядра Ubuntu Kernel Update Utility

sudo add-apt-repository ppa:teejee2008/ppa

sudo apt-get install ukuu

відключити контроль доступу за допомогою наступної команди:

sudo xhost +

потім встановити з ukuu

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

Ласкаво просимо до Ask Ubuntu! ;-) Чи можете ви, будь ласка, переглянути мої зміни, а також переглянути допомогу щодо редагування, щоб поліпшити читабельність ваших відповідей у ​​майбутньому ... ;-)
Fabby

0

У мене недостатньо репутації, щоб коментувати або підтверджувати прийняту відповідь (яка зараз застаріла)

Якщо ви запускаєте, lsmod | grep r8169і це показує, що у вас завантажений модуль ядра r8169, а ваше ядро ​​старше 4.15.0-24-generic, то, швидше за все, вас постраждає помилка, пов'язана у прийнятій відповіді https: //bugs.launchpad. net / ubuntu / + source / linux / + bug / 1752772

До речі, я пережив цю помилку і для мене lspci | grep 'Gigabit Ethernet'показує RTL8111/8168/8411 PCI Express Gigabit Ethernet Controller

Цю помилку виправлено.

Якщо ваше ядро ​​старше 4.15.0-24-generic, просто запустіть

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

0

У мене була така ж проблема, але рішення тут не працювали для мене. Я витрачав дні на декількох форумах на цю тему і спробував майже все. Згадуються два альтернативних рішення: оновити ядро ​​або встановити попередній драйвер модуля. Я вибрав останнє та встановив драйвер r8168. Спочатку це теж не вдалося. Однак я виявив щось, що працює, і адаптував це до рішення з Паулу.

Я працюю (K) ubuntu 18.04 з ядром 4.15.0-24-generic.

Вихід з мережі 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) На основі рішення від Paulo я створив наступний сценарій / lib / systemd / system-sleep / r8168-refresh

#! / бін / баш

PROGNAME = $ (базове ім'я "$ 0")
стан = 1 дол
дія = 2 дол

журнал функцій {
    logger -i -t "$ PROGNAME" "$ *"
}

журнал "Запуск $ action $ state"

if [[$ state == post]]; потім
     журнал "ifconfig down enp5s0"
     ifconfig enp5s0 вниз
     журнал "ifconfig up enp5s0"
     ifconfig enp5s0 192.168.10.213
фі

Цей код, звичайно, специфічний для моєї машини (назва пристрою та IP-адреса). Це, безумовно, можна вдосконалити, але він відповідає моїм потребам на даний момент.

Це буде працювати з NetworkManager.


0

Це трапилось і у мене з материнською платою Gigabyte-B250M-DS3H після оновлення з Ubuntu 16.04 до 18.04 28 липня 2018 року. Ядро має загальну форму 4.15.0-29.

Результат sudo lshw -C networkпоказав RTL8111 / 8168/8411 PCI Express Gigabit Ethernet Controller, в той час як він показав, що r8169 - це драйвер, який використовується.

Нарешті вдалося встановити драйвер, характерний для контролера Ethernet (великий сюрприз):

sudo apt install r8168-dkms

а потім перезавантажте комп'ютер (спасибі andypotter). Мені не довелося вносити в чорний список 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), Ethernet не працює після відновлення з призупинення.

Він прекрасно працює з ядром 4.13.0-31. Іншими словами, Ethernet продовжує працювати після відновлення призупинення.

Але з ядром 4.15.0-32 Ethernet не працює після відновлення з призупинення. Я спробував виправити

modprobe -r r8169
modprobe -i r8169

але це не впливає.

Я повідомив про це https://bugs.launchpad.net/ubuntu/+source/linux/+bug/1752772


1
Це насправді не відповідь, якщо ви не пропонуєте використовувати ядро ​​4.13.
wjandrea

0

Перше, що потрібно перевірити: перезавантажте мережевий менеджер / службу:

перезапуск мережевого менеджера служби sudo

Якщо це не працює, перевірте інші відповіді в цій публікації


0

Я позначаю, що кілька скриптів файлів виправлень (модифікованих на мій адаптер Ethernet) на /lib/systemd/system-sleep/кожному працює!

Тим не менш, якщо пристрій кабельного модему вимкнено після призупинення, і це повернуто увімкнено після відновлення системи, система на базі Ubuntu не зможе знову підключитися до Інтернету, незважаючи на піктограму мережі (в області повідомлень), підключення увімкнено.

Щоб виправити це ще раз, я повинен натиснути піктограму мережі »Ethernet з'єднання. Таким чином, він успішно оновлює з'єднання. 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 Здається, що CLI деяких vpn припиняють свою роботу після повернення з підвіски.


0

Були ті самі проблеми з моїм Dell Inspiron 15: відсутня провідна мережа після перезавантаження або призупинення роботи.

Здається, виправили це, змінивши налаштування в BIOS:

Додатково -> Технологія Smart Connect Intel (R) -> Відключена

(за замовчуванням увімкнено)

Як побічний ефект, пункт меню зник, щоб з’явитися знову після скидання всіх параметрів до значень за замовчуванням.

Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.