web-dev-qa-db-ja.com

起動/再開後にNetwork ManagerにWiFi設定が表示されない

私はDebian 10 Cinnamonを実行しています。最近、NetworkManager(nm-applet)内のWiFi設定が、NetworkManagerを手動で再起動しない限り、サスペンドからのすべてのブート/再開で完全に失われていることに気付きました。以前は、ページの右下にあるネットワークアイコンをクリックして[ネットワーク設定]をクリックすると、さまざまなインターフェイス(この場合は有線とワイヤレス)を一覧表示するメニューが表示されました。現在、「有線」と「ネットワークプロキシ」のみが表示されています。以前に保存したすべてのWiFi設定はまだ機能していますが、以前と同じように設定を変更することはできません。 nm-connection-editorは正常に動作します。保存されたワイヤレス接続は自動接続でき、バックグラウンドで正常に機能しますが、新しいネットワークを追加したり、nmアプレットを介してネットワークのワイヤレス設定を簡単に制御したりする方法はありません。

ブーツ/レジュメでこのメニューが消えるのはなぜですか?どうすれば修正できますか?不足しているメニューの画像です。 enter image description here 注、左側の列に「Wired」と表示されている場合、Debianが最初にインストールされたときと同じように、「WiFi」には別のオプションがあるはずです。

Sudo pgrep NetworkManager | xargs Sudo kill -9;問題は修正されましたが、根本的な原因は何ですか?これは、新規インストールでは発生していませんでした。また、すべての起動時またはサスペンドからの再開時に発生することもわかりましたが、手動での起動/サスペンドからの再開後にNetworkManagerを再起動すると、問題は修正されます。

さらに、私はcat ~/.xsession-errors、ワイヤレスおよびNetworkManagerに関連する次のような多くのエラーがあります。

Cjs-Message: 11:08:41.602: JS LOG: An active wireless connection, in infrastructure mode, involves no access point?

nm-tray: void NmModelPrivate::onConnectionAdded(const QString&) /org/freedesktop/NetworkManager/Settings/6  is currently invalid...

Cjs-Message: 11:09:21.384: JS LOG: [LookingGlass/error] a.connection is null

(cinnamon:1364): Cjs-WARNING **: 11:08:45.677: JS ERROR: TypeError: apObj.item.updateAccessPoints is not a function
anonymous/NMDeviceWireless.prototype._accessPointRemoved@/usr/share/cinnamon/applets/[email protected]/applet.js:1387:13

(cinnamon:1364): Cjs-WARNING **: 11:08:46.750: JS ERROR: TypeError: ssid is null
ssidToLabel@/usr/share/cinnamon/applets/[email protected]/applet.js:66:9

非表示のssidでWifi APを使用しています。これにより、これらのエラーの一部が発生するようです。非表示ではないssidを使用し、非表示のssidに関連するすべてのプロファイルを削除しても問題は解決しません。

4
john doe

すばやく簡単な解決策として、自動修正するサービスを作成できます。

サービスを作成します:Sudo touch /lib/systemd/system/wifi-autofix.service

お好みのエディターで以下を追加します:

[Unit]
Description=Auto-fix NetworkManager after suspend
After=suspend.target
After=hibernate.target
After=hybrid-sleep.target 

[Service]
Type=oneshot
ExecStart=/usr/bin/killall -s SIGKILL NetworkManager

[Install]
WantedBy=suspend.target
WantedBy=hibernate.target
WantedBy=hybrid-sleep.target

サービスを有効にして開始します。

Sudo systemctl enable /lib/systemd/system/wifi-autofix.service
Sudo systemctl start /lib/systemd/system/wifi-autofix.service

WiFiドライバーを削除して有効にすることもお勧めします。実行:

Sudo lspci -v

探す Kernel driver in use: WiFiコントローラー用。次に実行します:

modprobe -r <wifi_driver>
modprobe <wifi_driver>

どこ <wifi_driver>はWiFiドライバーの名前です。

お役に立てば幸い...

1
mraxn

元の投稿を更新して、以下の出力を含めることはできますか?システムアプローチを採用しているので、ハードウェアの起動の問題とドライバーを除外します。

  1. lspci -nnこれにより、システムが認識するハードウェアがわかります
  2. ip linkは、存在するネットワークリンクを通知します
  3. rfkill listは、ワイヤレスデバイスが構成される別の方法を説明します

または、何をすべきかわかっている場合は、dmesg | grep -iC 3 <linkname>カーネルログから得られるすべての情報を識別します。

1
Nathan Smith