📶 metal: el enlace WiFi se caía solo y cortaba la depuración remota a mitad
Depurando la OptiPlex por SSH sobre un hotspot, la máquina desaparecía de la red cada
pocos minutos. No es «la WiFi anda mal»: son dos causas que se suman y ninguna deja
rastro en dmesg.
- `udhcpc -q` (el que usa wifi-up) pide la dirección UNA vez y termina. Nadie renueva
el lease.
- el AP olvida a los clientes ociosos y deja de contestar ARP. Desde fuera se ve «No
route to host» mientras la máquina se cree perfectamente conectada.
El síntoma engaña justo en la dirección peor: la máquina no reporta nada, así que parece
que se colgó lo que estabas depurando.
`wifi-keep` hace ping al gateway cada 10s, que resuelve las dos a la vez — detecta la
caída para reasociar Y mantiene viva la entrada del cliente en la tabla del AP.
Sin esto cada sesión remota se interrumpe sola y hay que volver físicamente al teclado,
que es exactamente lo que la red venía a evitar.
Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
This commit is contained in:
@@ -293,6 +293,37 @@ echo "== desde el laptop: ssh -i ~/.ssh/hammer-metal root@<la IP de arriba> =="
|
||||
WIFI
|
||||
chmod 0755 "$MERGED/usr/bin/wifi-up"
|
||||
|
||||
# ── el enlace WiFi se caía solo y cortaba la depuración a mitad ─────────────────────────────────
|
||||
# Medido el 2026-08-06 depurando la OptiPlex por SSH sobre un hotspot: la máquina desaparecía de la
|
||||
# red cada pocos minutos. Dos causas que se suman, y ninguna es «la WiFi anda mal»:
|
||||
# - `udhcpc -q` (el que usa wifi-up) pide la dirección UNA vez y termina: nadie renueva el lease.
|
||||
# - el AP olvida a los clientes ociosos y deja de contestar ARP ⇒ «No route to host» desde fuera,
|
||||
# mientras la máquina se cree perfectamente conectada. El síntoma engaña: no hay nada en dmesg.
|
||||
# El ping periódico resuelve las dos a la vez — detecta la caída Y mantiene viva la entrada en el AP.
|
||||
# Sin esto, cada sesión de depuración remota se interrumpe sola y hay que volver físicamente al
|
||||
# teclado, que es justo lo que la red venía a evitar.
|
||||
cat > "$MERGED/usr/bin/wifi-keep" <<'KEEP'
|
||||
#!/bin/sh
|
||||
# wifi-keep <gateway> <SSID> <clave> — mantiene el enlace vivo y reasocia si se cae.
|
||||
export PATH=/usr/bin:/bin:/usr/sbin:/sbin
|
||||
GW="$1"; SSID="$2"; PSK="$3"
|
||||
[ -n "$PSK" ] || { echo "uso: wifi-keep <gateway> <SSID> <clave>"; exit 1; }
|
||||
L=/var/log/wifi-keep.log
|
||||
echo "$(date): vigilante arriba (gw=$GW ssid=$SSID)" >> $L
|
||||
while :; do
|
||||
if ping -c1 -W3 "$GW" >/dev/null 2>&1; then
|
||||
sleep 10
|
||||
else
|
||||
echo "$(date): sin respuesta del gateway — reasociando" >> $L
|
||||
pkill wpa_supplicant 2>/dev/null
|
||||
sleep 2
|
||||
wifi-up "$SSID" "$PSK" >> $L 2>&1
|
||||
sleep 10
|
||||
fi
|
||||
done
|
||||
KEEP
|
||||
chmod 0755 "$MERGED/usr/bin/wifi-keep"
|
||||
|
||||
# ── getty en tty1: el prompt TIENE que salir por la PANTALLA ────────────────────────────────────
|
||||
# Lección del 1er viaje físico de KDE, que costó un USB quemado: el CMDLINE horneado es
|
||||
# `console=tty0 console=ttyS0,115200 …` y el kernel hace /dev/console = la ÚLTIMA `console=` ⇒ ttyS0.
|
||||
@@ -382,6 +413,8 @@ cat > "$MERGED/etc/motd" <<'MOTD'
|
||||
GPU detectada: ls /dev/dri ; dmesg | grep -iE 'i915|drm'
|
||||
Logs (en DISCO, sobreviven al apagón): /var/log/cosmic/
|
||||
Red y SSH: netup-wait ; ip addr (root por clave, sin password)
|
||||
WiFi: wifi-up <SSID> <clave>
|
||||
WiFi que no se cae: wifi-keep <gateway> <SSID> <clave> & (reasocia sola)
|
||||
---------------------------------------------------------------------------
|
||||
|
||||
MOTD
|
||||
|
||||
Reference in New Issue
Block a user