Я не знаю чому, але, як ви зазначаєте, іноді, коли Wi-Fi виходить з ладу, мережевий менеджер знову не знаходить мережу.
Я думаю, що проблема полягає в тому, що мережевий менеджер після відмови підключення до wifi не оновлює список wifi (і, здається, менеджер мережі приховує проблемну мережу). Менеджер мереж не має опції меню повторного сканування, а вимкнення та включення бездротової галочки в меню мережевого менеджера не змушує нового сканування Wi-Fi (як це робиться при перезапуску служби).
Коли менеджер мережі втрачає моє провідне з'єднання, і він знову не знаходить мій wifi (і я знав, що wifi працює), я виконую команду:
sudo iwlist wlan0 scan
Він виконує сканування Wi-Fi на інтерфейсі wlan0 (wlan0 - назва бездротового інтерфейсу на моєму ноутбуці), і він показує доступні бездротові мережі, але як побічний ефект мережевий менеджер автоматично оновлює його список і знаходить втрачену мережу.
Я вважаю за краще виконувати команду вручну, коли трапляється ця проблема (повторне підключення до мережі не забезпечує відновлення зв'язку, і деякі програми потрібно буде перезапустити).
Але, як ви вже згадували, ви можете зафіксувати це, і ви можете це зробити без тестування підключення (процес сканування оновлює ваш список Wi-Fi, але він не закриває поточне бездротове з'єднання, якщо ви підключені).
Якщо ви віддаєте перевагу, ви можете перевірити спільність за допомогою ping або iwconfig, а якщо ви не підключені, то запустіть сканування.
Щось на зразок:
#!/bin/bash
if ! ping -c 1 -W 1 your_router_ip &> /dev/null
then
iwlist wlan0 scan
fi
Але пам’ятайте, що цей сценарій повинен бути застосований або виконаний з привілеями root. Він надсилає лише 1 пінг з таймаутом 1 секунди.