スリープ状態から復帰すると、Linux ラップトップが Wi-Fi インターネット接続を再確立しないことがあります。
興味深いことに、再起動すると直りますただし、完全なシャットダウン/再起動を実行する必要があるのは少し面倒です。
つまり、スリープ状態から復帰するときに、HP Debian Buster v10.4 ラップトップが自宅のアクセス ポイントに再接続できないことがあります。これは、おおよそ 6 回の外泊のうち 1 回程度の割合で発生します。
Wi-Fi がダウンしていることに気付いた後、 をクリックしてもrescan for wireless networks
問題は解決しません。また、iw wlan0 scan
(または明示的にiw dev wlan0 scan
)は、「コマンドが失敗しました: ネットワークがダウンしています (-100)」というメッセージを表示します。
の出力を注意深く観察するとjournalctl -n 1000 -u NetworkManager -u wpa_supplicant
、「NetworkManager の状態は現在 ASLEEP です」(つまり、起動時) のすぐ後に、最初の問題は次の行にあることがわかります。デバイス (wlan0): サプリカント インターフェースの状態: 完了 -> 無効「」。
これはむしろ、「... 完了 -> 切断」であるべきだったと思います。これは、起動が機能しているとき、つまり起動後に Wi-Fi が再び正常に機能しているときに表示されます。
解決しない点:
- ログアウトして再度ログインします。
- 眠ってまた目覚めて、
- 冬眠して、それから目覚める
- ネットワークマネージャを再起動する(
$ sudo systemctl restart NetworkManager.service
) - ランニング
$ sudo nmcli networking on
- 次のようにしてネットワーク デバイスを削除して再作成します
wlan0
:iw dev wlan0 del
、次にiw phy phy0 interface add wlan0 type managed addr ca:xxx:4b
。これは機能しているように見えますが、Wi-Fi はまだ機能しません。
$ rfkill list
また、詰まりが報告されていないことも確認しました。
nmcliからのステータスレポートは次のとおりです。失敗した(インターネットがダウン)状態です。一般.州下に。 (実際の住所は隠してあります。)
$ nmcli device show wlan0
GENERAL.DEVICE: wlan0
GENERAL.TYPE: wifi
GENERAL.HWADDR: 00:26:##:##:##:2A
GENERAL.MTU: 1500
GENERAL.STATE: 20 (unavailable) <-- this is not right
GENERAL.CONNECTION: --
GENERAL.CON-PATH: --
...
また、こちらは普通動作するWi-Fi接続:
$ nmcli device show wlan0
GENERAL.DEVICE: wlan0
GENERAL.TYPE: wifi
GENERAL.HWADDR: 00:26:##:##:##:2A
GENERAL.MTU: 1500
GENERAL.STATE: 100 (connected) <--- this is when it works
GENERAL.CONNECTION: Auto NETGEAR14
GENERAL.CON-PATH: /org/freedesktop/NetworkManager/ActiveConnection/1
IP4.ADDRESS[1]: 192.168.1.128/32
IP4.GATEWAY: 192.168.1.1
IP4.ROUTE[1]: dst = 192.168.1.128/32, nh = 0.0.0.0, mt = 600
IP4.ROUTE[2]: dst = 192.168.1.1/32, nh = 0.0.0.0, mt = 600
IP4.ROUTE[3]: dst = 169.254.0.0/16, nh = 0.0.0.0, mt = 1000
IP4.ROUTE[4]: dst = 0.0.0.0/0, nh = 192.168.1.1, mt = 600
IP4.DNS[1]: 192.168.1.1
IP6.ADDRESS[1]: fe80::...:7f2a/64
IP6.GATEWAY: --
IP6.ROUTE[1]: dst = fe80::/64, nh = ::, mt = 600
IP6.ROUTE[2]: dst = ff00::/8, nh = ::, mt = 256, table=255
何かアイデアはありますか?フィ0ラジオドライバー?
答え1
これをデバッグする最良の方法は、接続が消えた頃のシステム ログ メッセージを確認することです。
journalctl -n 1000 -u NetworkManager -u wpa_supplicant
NetworkManagerはカーネルのWi-Fi APIを直接使用せず、wpa_supplicantに依存しています。これがwpa_supplicant.service
詰まったり、クラッシュし続けたり、競合したりする可能性があります。別のWi-Fi ツール (例: iwd、connman、または別のアプリによって誤って起動された別の wpa_supplicant インスタンス)。
次のコマンドを実行すると、NetworkManager の詳細度を上げることができます。
nmcli gen log level debug
次のコマンドを実行して wpa_supplicant を実行します。
busctl set-property fi.w1.wpa_supplicant1 \
/fi/w1/wpa_supplicant1 \
fi.w1.wpa_supplicant1 DebugLevel s debug
さらに、NM と w_s を完全にバイパスして、カーネルに直接ネットワークをスキャンするように要求してみてください。これが機能する場合は、問題はユーザー空間側にある可能性があります。機能しない場合は、ドライバー/ハードウェア側にある可能性があります。
iw wlan0 scan