From f13c4fb03e43492d4034b96c3200fd292bc6547d Mon Sep 17 00:00:00 2001 From: "tiago.aica" Date: Sun, 15 Feb 2026 14:28:08 +0000 Subject: [PATCH] =?UTF-8?q?adicionado=20verifica=C3=A7=C3=A3o=20para=20des?= =?UTF-8?q?ativar=20wifi=20se=20tiver=20eth0=20ligado=20com=20ip?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- debian/set_mac_wifi.sh | 45 ++++++++++++++++++++++++++++++++---------- 1 file changed, 35 insertions(+), 10 deletions(-) diff --git a/debian/set_mac_wifi.sh b/debian/set_mac_wifi.sh index 2636d70..14403aa 100644 --- a/debian/set_mac_wifi.sh +++ b/debian/set_mac_wifi.sh @@ -196,20 +196,45 @@ disable_wifi() { # Tarefa em Background para monitorizar rede monitor_network_task() { - log "Monitor: A iniciar verificação de rede (aguardando 60s)..." - sleep 60 + log "Monitor: A iniciar monitorização contínua da rede..." - if ip link show "$IFACE" &> /dev/null; then - if ip link show "$IFACE" | grep -q "NO-CARRIER"; then - log "Monitor: Interface $IFACE sem cabo (NO-CARRIER). A ativar Wi-Fi..." - if ip link show "$WLAN_IFACE" &> /dev/null; then - ip link set "$WLAN_IFACE" up - log "Monitor: Wi-Fi ($WLAN_IFACE) ativado." + while true; do + sleep 60 # Verifica a cada 60 segundos + + if ip link show "$IFACE" &> /dev/null; then + # Verifica se eth0 está sem cabo (NO-CARRIER) + if ip link show "$IFACE" | grep -q "NO-CARRIER"; then + log "Monitor: Interface $IFACE sem cabo (NO-CARRIER). A ativar Wi-Fi..." + if ip link show "$WLAN_IFACE" &> /dev/null; then + if ip link set "$WLAN_IFACE" up; then + log "Monitor: Wi-Fi ($WLAN_IFACE) ativado com sucesso." + else + log "Monitor: Falha ao ativar Wi-Fi ($WLAN_IFACE)." + fi + else + log "Monitor: Interface $WLAN_IFACE não encontrada." + fi + else + # eth0 está com cabo, verifica se tem IP + if has_ip_address "$IFACE"; then + log "Monitor: Interface $IFACE ativa e com IP. A verificar Wi-Fi..." + if ip link show "$WLAN_IFACE" &> /dev/null && ip link show "$WLAN_IFACE" | grep -q "UP"; then + if ip link set "$WLAN_IFACE" down; then + log "Monitor: Wi-Fi ($WLAN_IFACE) desativado (eth0 tem IP)." + else + log "Monitor: Falha ao desativar Wi-Fi ($WLAN_IFACE)." + fi + else + log "Monitor: Wi-Fi ($WLAN_IFACE) já está desativado ou não encontrado." + fi + else + log "Monitor: Interface $IFACE ativa mas sem IP. Wi-Fi permanece ativo." + fi fi else - log "Monitor: Interface $IFACE ativa. Nenhuma ação necessária." + log "Monitor: Interface $IFACE não encontrada." fi - fi + done } # Função principal para configurar MAC