回答:
少なくともネットワークカーネルモジュール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
アクションです(suspend
、hibernate
、hybrid-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
別の単純な(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は、サスペンドからの復帰時にモジュールを自動的にアンロードおよびリロードします。
乾杯!
私は同じ問題を抱えていて、この解決策を見つけました。
実行:sudo lshw -C network
ネットワークカードカーネルモジュールを見つける
* -network、説明:イーサネットインターフェイス、設定フィールドで見つけ
driver=sky2
た。sky2は、私のラップトップ用のイーサネットネットワークカーネルモジュールです。
ファイル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
その後、問題は解決しました。
イーサネット接続を検出しますか?
それから
開いた 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
systemctl status NetworkManager.service
を実行し てエラーを確認します
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
受け入れられた回答(現在は古くなっています)にコメントしたり、投票したりするほどの評判がありません
実行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
私は同じ問題を抱えていましたが、ここでの解決策はうまくいきませんでした。私はこのテーマについていくつかのフォーラムを数日かけて過ごし、あらゆることを試しました。カーネルをアップグレードするか、以前のモジュールドライバーをインストールするという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で機能します。
これは、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カーネルの問題ですが、バンドエイドの修正は引き続き機能します。
同じ問題(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に報告しました
私は、いくつかの修正ファイルスクリプト(イーサネットアダプターに変更)が/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は、サスペンドから戻った後に機能しなくなるようです。
Dell Inspiron 15でも同じ問題が発生しました。再起動またはサスペンド後に有線ネットワークがありません。
BIOSの設定を変更することでこれを修正したようです。
詳細設定-> Intel(R)Smart Connect Technology->無効
(デフォルトは有効です)
副作用として、すべての設定をデフォルト値にリセットすると、メニュー項目が消えて再び表示されます。