Если у вас несколько точек доступа с одним SSID, но система не переключается на точку с лучшим сигналом, можно автоматизировать этот процесс с помощью простого скрипта.
🌟 Как узнать текущий сигнал Wi-Fi?
iwconfig wlan0 | grep -i --color signal
Где wlan0 - имя вашего Wi-Fi-интерфейса.
Важен параметр Signal level, измеряется в dBm (чем ближе к 0, тем лучше).
📱 Автоматическое переключение Wi-Fi. Создадим скрипт
wifi-switch.sh, который будет мониторить сигнал и при необходимости переподключаться:
#!/bin/bash
INTERFACE="wlan0" # Название Wi-Fi интерфейса
SSID="HomeWiFi" # Имя вашей сети (SSID)
THRESHOLD=-70 # Порог переключения (в dBm)
while true; do
# Получаем текущий уровень сигнала
SIGNAL=$(iwconfig $INTERFACE | grep -i --color signal | awk '{print $4}' | cut -d '=' -f2)
# Если сигнал слабый, перезапускаем Wi-Fi
if [[ $SIGNAL -lt $THRESHOLD ]]; then
echo "Слабый сигнал ($SIGNAL dBm), переподключение..."
nmcli device wifi rescan
nmcli device disconnect $INTERFACE
nmcli device connect $INTERFACE
fi
sleep 10 # Проверяем каждые 10 секунд
done
▪️ Как запустить скрипт в фоновом режиме?
1️⃣ Дать права на выполнение:
chmod +x wifi-switch.sh
2️⃣ Запустить в фоне:
nohup ./wifi-switch.sh > /dev/null 2>&1 &
3️⃣ Добавить в автозапуск:
echo "@reboot /path/to/wifi-switch.sh" | crontab -
BashTex 📱 #bash #utils