Ubuntu 18.04-一時停止後にイーサネットが切断される


29

中断後、イーサネットは再開しません。

sudo service network-manager restart

動作しません。問題を解決するのは再起動のみです。


この問題は、Xubuntu 18.04.2、カーネル4.15.0-54
HEKTO

回答:


45

少なくともネットワークカーネルモジュールr8169の場合、この問題を追跡するUbuntuの主なバグは次のようです。

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

この問題の影響を受けているすべての人がそこに行き、それがあなたに影響していることをマークすることをお勧めします。

Xubuntu 18.04の新規インストールを実行していますが、イーサネットインターフェースはカーネルモジュールr8169を使用しています。

sudo lshw -C network

情報の2グループ、1から始まる存在になるだろう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アクションです(suspendhibernatehybrid-state、またはsuspend-then-hibernate)。これはのmanページに記載されています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の名前とそのPIDでタグ付けされます。これにより、スクリプトがカーネルモジュールをリロードしたかどうかを確認できます。

grep r8169-refresh /var/log/syslog

madzohan、スクリプトを実行可能にする必要があるという答えで2回言及したので、編集を追加するのは冗長かもしれません: "systemdはすべての実行可能スクリプトを/ lib / systemd / system-sleepの下で実行します"および実行可能なスクリプト/ libに/にsystemd /システムスリープ/ r8169-リフレッシュ」製
パウロ・コエーリョマルセルAragão

これは、2018年7月1日にリリースされたカーネル4.15.0-24.26で修正されたため、回避策は必要ありません。
パウロマルセルコエーリョアラガオ

1
数日前にいくつかのアップデートをインストールしてから、ラップトップでこの問題が発生しています。上記の解決策でも問題は解決します。どうもありがとう!
ダニエル

@Daniel、次の出力を投稿してください:apt policy linux-image-generic?この問題は2018年7月1日以降に解決されているはずです。この回避策はもう必要ありません。
パウロマルセルコエーリョアラガオ

18.04だけではありません。16.04でRTL8169カーネルドライバをアンロードする必要がありましたし、後にあまりにも一時停止ロードさ:askubuntu.com/questions/950871/...
WinEunuuchs2Unix

8

別の単純な(r?)ソリューションを次に示します。サスペンドサイクル後にモジュールをアンロード/リロードするだけのsystemdサービスを作成します(名前は/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なので、(ルートとして):(手で入力したので、遅延がありました)

sudo modprobe -r r8169
sudo modprobe -i r8169

最初の試行でmiiも削除しました。必要ありません。


sudo modprobe -i r8169
aaaa

働いた!再開するたびに手動でこれを行う必要がありますか?
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

[メイン] plugins = ifupdown、keyfile [ifupdown] managed = true [デバイス] wifi.scan-rand-mac-address = no
aaaa

これは私がファイルに持っているものです
....-aaaa

以前にconfファイルを更新しましたか?もしそうリブート&チェック
Santhoshヴィール

Santhosh Veerの修正を試みました。まだグレーアウトされています。イーサネット。
AAAA

このコマンドsystemctl status NetworkManager.serviceを実行し てエラーを確認します
Santhosh Veer

1

UKUUを使用してカーネルを4.15から4.20(2019年1月16日の最新版)に更新することにより、Ubuntu 18.04 Bionicでこの問題を解決しました

最新のカーネルをインストールするには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

私は同じ問題を抱えていましたが、ここでの解決策はうまくいきませんでした。私はこのテーマについていくつかのフォーラムを数日かけて過ごし、あらゆることを試しました。カーネルをアップグレードするか、以前のモジュールドライバーをインストールするという2つの代替ソリューションが記載されています。後者を選択し、r8168ドライバーをインストールしました。最初は、それも失敗しました。しかし、私は機能する何かを発見し、それをパウロのソリューションに適合させました。

Kernel 4.15.0-24-genericで(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をインストールしましたが、それでは十分ではありませんでした。さらに2つのステップが必要でした。

ステップ1)を編集し、ファイル/etc/modprobe.d/r8168-dkms.confとラインを有効にする(つまり、コメントを削除する)ブラックリストr8169

ステップ2) Pauloのソリューションに基づいて、次のスクリプト/ lib / systemd / system-sleep / r8168-refreshを作成しました

#!/ bin / bash

PROGNAME = $(ベース名「$ 0」)
state = $ 1
action = $ 2

関数ログ{
    ロガー-i -t "$ PROGNAME" "$ *"
}

ログ「Running $ action $ state」

if [[$ state == post]]; それから
     ログ「ifconfig down enp5s0」
     ifconfig enp5s0 down
     ログ「ifconfig up enp5s0」
     ifconfig enp5s0 192.168.10.213
fi

このコードは、もちろん私のマシン(デバイス名とIPアドレス)に固有のものです。確かに改善できますが、現時点では私のニーズを満たしています。

これはNetworkManagerで機能します。


0

これは、2018年7月28日にUbuntu 16.04から18.04にアップグレードした後、Gigabyte-B250M-DS3Hマザーボードでも発生しました。カーネルは4.15.0-29-genericです。

結果は、sudo lshw -C networkそれがr8169を使用するドライバであることを示しながら、RTL8111 / 8411分の8168 PCI Expressのギガビットイーサネットコントローラを示しました。

最終的に機能したのは、イーサネットコントローラー専用のドライバーをインストールすることでした(大きな驚き)。

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

同じ問題(driver = r8169)があります。サスペンドから再開した後、イーサネットが機能しません。

カーネル4.13.0-31で完全に機能します。つまり、イーサネットはサスペンドから再開した後も引き続き機能します。

しかし、カーネル4.15.0-32では、サスペンドから再開した後にイーサネットが機能しません。私は修正を試みました

modprobe -r r8169
modprobe -i r8169

しかし、これは効果がありません。

これをhttps://bugs.launchpad.net/ubuntu/+source/linux/+bug/1752772に報告しました


1
カーネル4.13の使用を提案していない限り、これは実際には答えではありません。
wjandrea

0

最初に確認すること:ネットワークマネージャー/サービスを再起動します:

sudo service network-manager restart

うまくいかない場合は、この投稿の他の回答を確認してください


0

私は、いくつかの修正ファイルスクリプト(イーサネットアダプターに変更)が/lib/systemd/system-sleep/それぞれ動作することを示します!

それでも、サスペンド後にケーブルモデムデバイスがオフになり、システムの再開後にこれが返されると、Ubuntuベースのシステムは、ネットワークアイコン(通知領域)に接続が表示されているにもかかわらず、インターネットに再接続できません。

再度修正するには、ネットワークアイコン»イーサネット接続をクリックする必要があります。したがって、接続が正常に更新されます。バツ-

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いくつかのvpnのCLIは、サスペンドから戻った後に機能しなくなるようです。


0

Dell Inspiron 15でも同じ問題が発生しました。再起動またはサスペンド後に有線ネットワークがありません。

BIOSの設定を変更することでこれを修正したようです。

詳細設定-> Intel(R)Smart Connect Technology->無効

(デフォルトは有効です)

副作用として、すべての設定をデフォルト値にリセットすると、メニュー項目が消えて再び表示されます。

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.