Files
carinha-control-panel/sistema/wifi/instalar.sh
T
julioandClaude Opus 5.5 f8d2ebf705 fix(placa): Wi-Fi só vale se alcança o roteador da casa
Associar numa rede que não é a da casa fazia o serviço dar o Wi-Fi como
conectado, mover o cabo para .34 e responder pelo wlan0: a placa sumia da
rede. Agora:
- a conexão só conta quando o gateway responde pelo wlan0;
- falha com mensagem "conectei em X, mas não chego ao roteador";
- rotas do wlan0 com métrica 600 (o cabo continua preferido);
- ignore_routes_with_linkdown: cabo desligado não segura rota.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-08 03:17:28 -03:00

21 lines
1.1 KiB
Bash

#!/bin/sh
# Instala o Wi-Fi com modo de configuração na placa (rodar como root, a partir desta pasta).
# Seguro com o cabo ligado: sem rede salva, o serviço só sobe o ponto de acesso no wlan0 e não mexe no cabo.
set -e
cd "$(dirname "$0")"
apt-get install -y --no-install-recommends hostapd dnsmasq-base
# hostapd e dnsmasq rodam como filhos do serviço, nunca sozinhos
systemctl disable --now hostapd 2>/dev/null || true
systemctl mask hostapd 2>/dev/null || true
install -d -m 700 /etc/carinha-wifi
install -m 755 carinha_wifi.py /usr/local/sbin/carinha-wifi
install -m 644 carinha-wifi.service /etc/systemd/system/carinha-wifi.service
# Cabo e Wi-Fi na mesma rede: cada placa de rede só responde pelo próprio endereço (sem "ARP flux")
# e cabo desconectado não segura rota: o tráfego passa direto para o Wi-Fi
printf 'net.ipv4.conf.all.arp_ignore=1\nnet.ipv4.conf.all.arp_announce=2\nnet.ipv4.conf.all.ignore_routes_with_linkdown=1\nnet.ipv4.conf.default.ignore_routes_with_linkdown=1\n' > /etc/sysctl.d/90-carinha-arp.conf
sysctl -q --system
systemctl daemon-reload
systemctl enable carinha-wifi
systemctl restart carinha-wifi
echo "carinha-wifi instalado"