ノートパソコンのカバーを閉じたりサスペンドしたりすると Wi-Fi が切断される

ノートパソコンのカバーを閉じたりサスペンドしたりすると Wi-Fi が切断される

ノートパソコンのカバーを閉じると (定義された動作はサスペンド)、Wi-Fi が完全に切断されるという問題があります。Arch と Ubuntu の両方で試しましたが、同じ問題が発生します。NetworkManager を再起動しようとしましたが、効果がありません。ワイヤレス インターフェイスがダウン状態に設定されているようですが、再起動せずに元に戻すことはできないようです。

Ubuntu 21.04 を使用しています。

Huawei Matebook 2020 (Ryzen 4500U)

出力sudo lshw -c network:

*-network                 
       description: Wireless interface
       product: RTL8822CE 802.11ac PCIe Wireless Network Adapter
       vendor: Realtek Semiconductor Co., Ltd.
       physical id: 0
       bus info: pci@0000:01:00.0
       logical name: wlp1s0
       version: 00
       serial: 80:30:49:37:ce:cf
       width: 64 bits
       clock: 33MHz
       capabilities: pm msi pciexpress bus_master cap_list ethernet physical wireless
       configuration: broadcast=yes driver=rtw_8822ce driverversion=5.11.0-37-generic firmware=N/A ip=138.38.187.118 latency=0 link=yes multicast=yes wireless=IEEE 802.11
       resources: irq:69 ioport:2000(size=256) memory:d0500000-d050ffff

更新: 昨日はずっと Wi-Fi は期待通りに動作していました (つまり、一時停止後すぐに再接続しました)。しかし、今日はいつもの問題に戻ってしまいました。何か変更した点が思い浮かばないので、原因を特定するのは困難です。

\lib\systemd\system-sleep 更新 #2:ルートとして実行されるスクリプトを配置することで回避策を試しました:

#!/bin/sh
case $1 in
  post)
    ifconfig wlp1s0 up
  ;;
esac

これは一時的には機能しましたが、2 回目にラップトップを起動したときに停止しました。スクリプトからコマンドを手動で入力すると、次のエラーが発生します SIOCSIFFLAGS: Operation already in progress

Wi-Fi が動作していて、インターフェイスを手動でダウンに設定してから再度アップに設定した場合は、このエラーは発生しないことに注意してください。これは、再開後にスクリプトがこのコマンドでハングしていることを示しています。

関連情報