Bonjour,
J'ai eu récemment un truc très louche. Un fantôme? Mon serveur, un Raspberry Pi 4 sous Raspberry pi OS Bullseye (donc Debian) s'est subitement arrêté. Il tourne H24 depuis 2 ans avec 0 problème. Tout est très standard dessus (samba, nfs, cups, lighttpd..) rien d'éxotique. J'ai d'abord cru qu'il avait planté. Mais non, l'analyse des journaux montre un arrêt normal, suite à un appui sur le "powerkey"!.. Hors il N'y a PAS de powerkey sur cette machine. Pas de powerkey sur Raspberry pi 4. Je précise tout de suite qu'il existe une option sur Raspberry pi permettant de rajouter un bouton et de l'activer via le device-tree et un fichier de conf mais que je n'utilise pas cette option.
Ceci ne s'est jamais produit en 2 ans et ne s'est pas reproduit depuis.
Voici le journal qui montre l'événement:
Apr 20 09:28:11 NewBox systemd-logind[427]: Power key pressed.
Apr 20 09:28:11 NewBox systemd-logind[427]: Powering Off...
Apr 20 09:28:11 NewBox systemd-logind[427]: System is powering down.
Apr 20 09:28:11 NewBox systemd[1]: Stopping Sess
Apr 20 09:28:11 NewBox systemd[1]: Removed slice system-modprobe.slice.
Apr 20 09:28:11 NewBox systemd[1]: Stopped target Multi-User System.
Apr 20 09:28:11 NewBox systemd[1]: Stopped target Login Prompts.
Apr 20 09:28:11 NewBox systemd[1]: Stopped target RPC Port Mapper.
Apr 20 09:28:11 NewBox systemd[1]: Stopped target Sound Card.
Apr 20 09:28:11 NewBox systemd[1]: Stopped target Timers.
Apr 20 09:28:11 NewBox systemd[1]: apt-daily-upgrade.timer: Succeeded.
Apr 20 09:28:11 NewBox systemd[1]: Stopped Daily apt upgrade and clean activities.
Apr 20 09:28:11 NewBox systemd[1]: apt-daily.timer: Succeeded. |
Avec un peu de lecture de la doc de systemd j'ai compris que je pouvais changer le défaut de /etc/systemd/logind.conf
HandlePowerKey=poweroff
pour
HandlePowerKey=ignore
Je ne l'ai pas encore fait, je vais le faire mais j'aimerai bien comprendre avant ce qui a provoqué celà.
La doc de systemd dit:
Citation :
Only input devices with the "power-switch" udev tag will be watched for key/lid switch events.
|
si je regarde ma règle udev associée je trouve ça:
$ cat /usr/lib/udev/rules.d/70-power-switch.rules
# SPDX-License-Identifier: LGPL-2.1-or-later
#
# This file is part of systemd.
#
# systemd is free software; you can redistribute it and/or modify it
# under the terms of the GNU Lesser General Public License as published by
# the Free Software Foundation; either version 2.1 of the License, or
# (at your option) any later version.
ACTION=="remove", GOTO="power_switch_end"
SUBSYSTEM=="input", KERNEL=="event*", ENV{ID_INPUT_SWITCH}=="1", TAG+="power-switch"
SUBSYSTEM=="input", KERNEL=="event*", ENV{ID_INPUT_KEY}=="1", TAG+="power-switch"
LABEL="power_switch_end"
|
Mais je n'est pas d'event qui corresponde. D'après journalctl -u systemd-logind.service j'ai 5 events:
Apr 20 09:28:25 NewBox systemd-logind[432]: Watching system buttons on /dev/input/event0 (MOSART Semi. 2.4G Keyboard Mouse)
Apr 20 09:28:25 NewBox systemd-logind[432]: Watching system buttons on /dev/input/event2 (MOSART Semi. 2.4G Keyboard Mouse Consumer Control)
Apr 20 09:28:25 NewBox systemd-logind[432]: Watching system buttons on /dev/input/event3 (MOSART Semi. 2.4G Keyboard Mouse System Control)
Apr 20 09:28:25 NewBox systemd-logind[432]: Watching system buttons on /dev/input/event5 (vc4-hdmi-0)
Apr 20 09:28:25 NewBox systemd-logind[432]: Watching system buttons on /dev/input/event6 (vc4-hdmi-1) |
Que je retouve bien dans /dev/input :
$ ls -l /dev/input/by-id/
total 0
lrwxrwxrwx 1 root root 9 Apr 20 09:28 usb-MOSART_Semi._2.4G_Keyboard_Mouse-event-if01 -> ../event4
lrwxrwxrwx 1 root root 9 Apr 20 09:28 usb-MOSART_Semi._2.4G_Keyboard_Mouse-event-kbd -> ../event0
lrwxrwxrwx 1 root root 9 Apr 20 09:28 usb-MOSART_Semi._2.4G_Keyboard_Mouse-if01-event-mouse -> ../event1
lrwxrwxrwx 1 root root 9 Apr 20 09:28 usb-MOSART_Semi._2.4G_Keyboard_Mouse-if01-mouse -> ../mouse0
$ ls -l /dev/input/by-path/
total 0
lrwxrwxrwx 1 root root 9 Apr 20 09:28 platform-fd500000.pcie-pci-0000:01:00.0-usb-0:1.3:1.0-event-kbd -> ../event0
lrwxrwxrwx 1 root root 9 Apr 20 09:28 platform-fd500000.pcie-pci-0000:01:00.0-usb-0:1.3:1.1-event -> ../event4
lrwxrwxrwx 1 root root 9 Apr 20 09:28 platform-fd500000.pcie-pci-0000:01:00.0-usb-0:1.3:1.1-event-mouse -> ../event1
lrwxrwxrwx 1 root root 9 Apr 20 09:28 platform-fd500000.pcie-pci-0000:01:00.0-usb-0:1.3:1.1-mouse -> ../mouse0
lrwxrwxrwx 1 root root 9 Apr 20 09:28 platform-fef00700.hdmi-event -> ../event5
lrwxrwxrwx 1 root root 9 Apr 20 09:28 platform-fef05700.hdmi-event -> ../event6 |
Mais c'est clavier, souris et hdmi. Les ID ne correspondent pas à la régle udev.
Qui donc, quel event, peut bien avoir un ID qui correspond et avoir déclenché un shutdown?
Si vous avez des idées, je suis preneur.
Merci
---------------
La différence entre la théorie et la pratique? En théorie c'est la même chose, mais en pratique c'est différent.