サスペンド後、wifiに問題があるとここに投稿しています。
最近、新しいpcie wifiカード(TP-LINK TL-WN881N)を購入しました。残念ながら、コンピューターをスリープ状態にすると、Wi-Fiが目覚めた後に適切に機能しなくなるため、事態は悪化するようです。
直面して、問題は奇妙です。 Wi-Fiネットワークに接続し、nm-appletで接続が表示され、ifconfigで接続は大丈夫だと思われますが、ルートは問題ありませんが、ドライバーはバグがあるモードになり、ゲートウェイまたはその他の場所。
ここ 16.04アップグレード後のサスペンド後にWifiが機能しない またはここ buntu 14.04で再開後にワイヤレスネットワークが機能しない など、さまざまな修正を試しましたが、いずれも機能しませんでした。最も奇妙なことは、ネットワークマネージャーサービスを手動で再起動しようとしても、問題は解決せず、Wi-Fiネットワークのリストに問題が発生することです。これまでのところ、再起動が問題を解決する唯一の方法のようです。
ここに私のカードとドライバーに関する詳細があります:
$Sudo lshw -class network
*-network
description: Wireless interface
product: RTL8192EE PCIe Wireless Network Adapter
vendor: Realtek Semiconductor Co., Ltd.
physical id: 0
bus info: pci@0000:02:00.0
logical name: wlp2s0
version: 00
serial: 30:b4:9e:72:08:78
width: 64 bits
clock: 33MHz
capabilities: pm msi pciexpress bus_master cap_list ethernet physical wireless
configuration: broadcast=yes driver=rtl8192ee driverversion=4.10.0-32-generic firmware=N/A ip=192.168.2.2 latency=0 link=yes multicast=yes wireless=IEEE 802.11
resources: irq:127 ioport:d000(size=256) memory:f7100000-f7103fff
ありがとう!
編集:
解決しました! @ WinEunuuchs2Unixに感謝します。ここで説明した方法と同様の方法を適用することで、 WiFi信号アイコンがサスペンド後にイーサネットアイコンに変わります(上向き矢印)? 、問題を解決できたようです。
条件はまったく同じではなく、ソリューションを適応させる必要がありました。基本的に、ネットワークマネージャーを再起動しても問題は解決しませんが、カーネルモジュールの再読み込みをアンロードできました!スクリプトをどのように適合させたかは次のとおりです。
#!/bin/sh
# NAME: /lib/systemd/system-sleep/wifi-reset
# DESC: Resets Realtek WiFi after a long suspend.
# DATE: Aug 25, 2017. Modified Aug 25, 2017.
MYNAME=$0
DRIVER=rtl8192ee
restart_wifi() {
/usr/bin/logger $MYNAME 'restart_wifi BEGIN'
/sbin/modprobe -v -r $DRIVER # This removes the driver
/sbin/modprobe -v $DRIVER # This starts the driver
#systemctl restart NetworkManager.service # network manager restart disabled as not needed
/usr/bin/logger $MYNAME 'restart_wifi END'
}
/usr/bin/logger $MYNAME 'case=[' ${1}' ]'
case "${1}/${2}" in
hibernate|suspend|pre*)
;;
resume|thaw|post*)
restart_wifi;;
esac
今では完全に動作します:)
みんなありがとう!
解決しました! @ WinEunuuchs2Unixのおかげで、ここで説明した方法と同様の方法を適用することで WiFi信号アイコンがサスペンド後にイーサネットアイコン(上向き矢印)に切り替わります で、問題を解決できたようです。
条件はまったく同じではなく、ソリューションを適応させる必要がありました。基本的に、network-managerを再起動しても問題は解決しませんが、カーネルモジュールのリロードをアンロードすることはできました!スクリプトをどのように適合させたかは次のとおりです。
#!/bin/sh
# NAME: /lib/systemd/system-sleep/wifi-reset
# DESC: Resets Realtek WiFi after a long suspend.
# DATE: Aug 25, 2017. Modified Aug 25, 2017.
MYNAME=$0
DRIVER=rtl8192ee
restart_wifi() {
/usr/bin/logger $MYNAME 'restart_wifi BEGIN'
/sbin/modprobe -v -r $DRIVER # This removes the driver
/sbin/modprobe -v $DRIVER # This starts the driver
#systemctl restart NetworkManager.service # network manager restart disabled as not needed
/usr/bin/logger $MYNAME 'restart_wifi END'
}
/usr/bin/logger $MYNAME 'case=[' ${1}' ]'
case "${1}/${2}" in
hibernate|suspend|pre*)
;;
resume|thaw|post*)
restart_wifi;;
esac
今では完全に動作します:)
みんなありがとう!
私は同様の問題を抱えていましたが、いくつかの違いがありました。
私のラップトップはUbuntu 16.04.4 LTS(xenial)を実行しているLenovo ThinkPad T470sです。
中断して再開した後、次の動作が発生しました。
ネットワークマネージャー(Sudo systemctl restart network-manager.service
)を再起動しても問題は解決しません。それを停止し、しばらく待ってから再起動しても、修正されません。
手動で修正するには、次の作業が必要でした。
私のwifiドライバーを決定します:
$ Sudo lshw -C network
*-network
description: Wireless interface
product: Intel Corporation
vendor: Intel Corporation
physical id: 0
bus info: pci@0000:3a:00.0
logical name: wlp58s0
version: 78
serial: 00:e1:8c:dc:8c:7d
width: 64 bits
clock: 33MHz
capabilities: pm msi pciexpress bus_master cap_list ethernet physical wireless
configuration: broadcast=yes driver=iwlwifi driverversion=4.13.0-43-generic firmware=31.560484.0 ip=192.168.0.9 latency=0 link=yes multicast=yes wireless=IEEE 802.11
resources: irq:128 memory:ec100000-ec101fff
ドライバーを再起動します。
$ Sudo /sbin/modprobe -r iwlwifi
$ Sudo /sbin/modprobe iwlwifi
システムの再開後にドライバーを自動的に再起動するには、次のようなことをしました
サスペンド後にWiFi信号アイコンがイーサネットアイコンに変わります(上向き矢印)
つまり、次のスクリプトiwlwifi-reset
を/lib/systemd/system-sleep/
に作成し、実行可能にしました。
#!/bin/sh
# NAME: /lib/systemd/system-sleep/iwlwifi-reset
# DESC: Resets Intel WiFi after suspend.
# DATE: Jun 3, 2018.
MYNAME=$0
restart_wifi() {
/usr/bin/logger $MYNAME 'restart_wifi BEGIN'
/sbin/modprobe -r iwlwifi
/sbin/modprobe iwlwifi
/usr/bin/logger $MYNAME 'restart_wifi END'
}
/usr/bin/logger $MYNAME 'case=[' ${1}' ]'
case "${1}/${2}" in
hibernate|suspend|pre*)
;;
resume|thaw|post*)
restart_wifi;;
esac
Ubuntu 18.04では、システムの再開時にスクリプトを呼び出すために、次の追加手順を実行する必要がありました(古いEdimax USB WiFiアダプターを使用しているため、/lib/systemd/system-sleep/
という名前を付けました- edimax_wifi_wakeup
):
Sudo vi /etc/systemd/system/sleep-resume.service
その内容:
[Unit]
Description=Edimax USB WiFi system suspend/resume handling
Before=sleep.target
StopWhenUnneeded=yes
[Service]
Type=simple
RemainAfterExit=yes
ExecStart=-/lib/systemd/system-sleep/edimax_wifi_wakeup suspend
ExecStop=-/lib/systemd/system-sleep/edimax_wifi_wakeup resume
[Install]
WantedBy=sleep.target
Sudo systemctl enable sleep-resume
でサービスを有効にします