From 16516e397382ea2010092e1cfa450f914e6fea6c Mon Sep 17 00:00:00 2001 From: Tallagrand Thierry Date: Thu, 24 Sep 2026 12:55:57 +0200 Subject: [PATCH] charger-pilotes.sh : auto-elevation root (tache DSM en utilisateur simple) MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit La tache DSM « Au demarrage » CHARGE_PILOTES a ete creee en owner 1026 (TMZF5455), pas root (verifie en base esynoscheduler). insmod aurait echoue en silence au boot -> pas de /dev/ttyUSB0 -> conteneur bloque. Le script se re-exec via sudo -n (passwordless pour cet utilisateur sur le .17) quand il n'est pas root. Teste en lançant le script sans prefixe sudo : il s'eleve et charge les pilotes. Co-Authored-By: Claude Opus 4.8 Claude-Session: https://claude.ai/code/session_01GwpFpy2aQ2rJok6tNQSbVj --- deploy/releve-cellules/charger-pilotes.sh | 14 ++++++++++++++ 1 file changed, 14 insertions(+) diff --git a/deploy/releve-cellules/charger-pilotes.sh b/deploy/releve-cellules/charger-pilotes.sh index 8361513..d0d2212 100755 --- a/deploy/releve-cellules/charger-pilotes.sh +++ b/deploy/releve-cellules/charger-pilotes.sh @@ -14,6 +14,20 @@ # # Idempotent : relançable sans risque. +# insmod exige root. La tache DSM « Au demarrage » peut tourner en utilisateur +# simple (verifie le 24/09 : owner 1026, pas root) : on s'eleve alors via +# sudo -n, passwordless pour cet utilisateur sur ce NAS. Sans ca, insmod echoue +# en silence au boot et le device n'existe jamais. +if [ "$(id -u)" -ne 0 ]; then + SUDO=$(command -v sudo || echo /usr/bin/sudo) + if "$SUDO" -n true 2>/dev/null; then + exec "$SUDO" -n /bin/sh "$0" "$@" + fi + echo "PAS root et sudo -n indisponible : impossible de charger les pilotes." + echo "Configurer la tache DSM pour tourner en root, ou donner sudo NOPASSWD." + exit 1 +fi + for ko in usbserial ftdi_sio; do if ! /sbin/lsmod | grep -q "^$ko "; then /sbin/insmod "/lib/modules/$ko.ko" 2>/dev/null \