Traducido del English por IA ·
El apagado de pantalla no es la causa. Es el ahorro de energía clásico del Wi-Fi en el chip Broadcom de la Pi; me pasó lo mismo con una Pi 3B+ en una caseta de bombeo. La Pi no duerme, lo que duerme es el Wi-Fi, y los paquetes entrantes se retrasan o se pierden. Tu cliente paho envía un ping cada 60 s, la respuesta no llega a tiempo, Hermetry no ve nada dentro del keepalive y cierra la sesión, de ahí keepalive_timeout. Tu SSH despierta la radio, por eso todo vuelve en ese momento.
Compruébalo:
iw wlan0 get power_save
Power save: on
Para desactivarlo de forma permanente en Bookworm con NetworkManager:
sudo tee /etc/NetworkManager/conf.d/wifi-powersave.conf <<EOF
[connection]
wifi.powersave = 2
EOF
sudo systemctl restart NetworkManager
(2 significa desactivado.) Si estás en una imagen antigua con dhcpcd, pon iw wlan0 set power_save off en un script que se ejecute después de que la red esté activa.
Además, haz que tu cliente se reconecte solo: client.reconnect_delay_set(1, 120) y loop_forever o loop_start, para que una desconexión breve se solucione sola.
Screen blanking won’t do it. Classic Wi-Fi power saving on the Pi’s Broadcom chip, I had the same with a Pi 3B+ in a pump house. The Pi doesn’t sleep, the Wi-Fi does, and incoming packets get delayed or lost. Your paho client sends a ping every 60 s, the answer doesn’t come back in time, Hermetry sees nothing within the keepalive and closes the session, hence keepalive_timeout. Your SSH wakes the radio up, which is why everything comes back then.
Check it:
iw wlan0 get power_save
Power save: on
Turn it off for good on Bookworm with NetworkManager:
sudo tee /etc/NetworkManager/conf.d/wifi-powersave.conf <<EOF
[connection]
wifi.powersave = 2
EOF
sudo systemctl restart NetworkManager
(2 means disabled.) If you’re on an older image with dhcpcd, put iw wlan0 set power_save off in a script that runs after the network is up.
Also make your client reconnect on its own: client.reconnect_delay_set(1, 120) and loop_forever or loop_start, so a short drop fixes itself.

