web-dev-qa-db-ja.com

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

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

Sudo service network-manager restart

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

28
aaaa

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

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

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

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

Sudo lshw -C network

情報グループは2つあり、1つはdescription: Ethernet interfaceで始まり、もう1つは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)。これは、systemd-suspend.serviceのマニュアルページに記載されています。

サスペンドから再開する場合、イーサネットインターフェイスのモジュールをリロードする必要があります。afterサスペンド。そこで、スクリプト/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

スクリプトから記録されたメッセージは、スクリプトの名前とそのPIDでタグ付けされた/var/log/syslogに送られます。これにより、スクリプトがカーネルモジュールをリロードしたかどうかを確認できます。

grep r8169-refresh /var/log/syslog

もう1つの単純な(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は、サスペンドからの復帰時にモジュールを自動的にアンロードおよびリロードします。

乾杯!

7
Diego Rivera

それは私にも起こりました。

ネットワークカーネルモジュール/ドライバーのアンロード/リロードが機能します。

私はr8169なので、(ルートとして):(手で入力したので、遅延がありました)

Sudo modprobe -r r8169
Sudo modprobe -i r8169

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

3
MAguest

私は同じ問題を抱えていたので、この解決策を見つけました。

  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
    

その後、問題は解決しました。

3
Kostas Vekrakis

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
1
Vitaliy LiBrus

イーサネット接続を検出しますか?

それから

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
1
Santhosh Veer

押す Ctrl+Alt+T ターミナルに移動して次のように入力します:

Sudo apt-get purge tlp

または

/etc/default/tlpを編集して変更:

WOL_DISABLE = NO

WOL_DISABLE = YES
0
갤럭시제로

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

Sudoサービスネットワークマネージャーの再起動

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

0
sangorys

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

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

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

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

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

0
Willem Vermin

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

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

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

Sudo apt install r8168-dkms

その後、コンピューターを再起動します(andypotterに感謝します)。 r8169をブラックリストに登録する必要はありませんでしたが、/lib/systemd/system-sleep/(Pauloのアドバイス)を呼び出してr8168を削除して再挿入するスクリプトをr8168-refresh-after-suspendで作成する必要がありました。

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

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

Kernel 4.15.0-24-genericで(K)ubuntu 18.04を実行しています。

lshw -C networkからの出力にはこれが含まれています...

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そして行を有効にします(すなわちコメントを削除します)blacklist r8169 =

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

#!/ bin/bash 
 
 PROGNAME = $(basename "$ 0")
 state = $ 1 
 action = $ 2 
 
 function log {
 logger -i -t "$ PROGNAME" "$ *" 
} 
 
 log "Running $ action $ state" 
 
 if [[$ state == post]]; then 
 log "ifconfig down enp5s0" 
 ifconfig enp5s0 down 
 log "ifconfig up enp5s0" 
 ifconfig enp5s0 192.168.10.213 
 fi

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

これはNetworkManagerで機能します。

0
andypotter

/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

追伸一部のvpnのCLIは、サスペンドから戻った後に機能しなくなるようです。

0
channel unknown

同じ問題(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 に報告しました

0
labnut

受け入れられた回答(現在は古くなっています)にコメントしたり、賛成したりするほどの評判がありません

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
Lope