charger-pilotes.sh : recherche dynamique des modules (mise a jour DSM 7.4)
Le .17 passe en DSM 7.4.1 (saut majeur, noyau potentiellement different). Les .ko etaient charges par chemin fixe /lib/modules/ ; si 7.4.1 les deplace, insmod echouait. Desormais : modprobe si dispo (gere les dependances), sinon find du .ko dans /lib/modules et /usr/lib/modules. usbserial reste charge avant ftdi_sio. Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01GwpFpy2aQ2rJok6tNQSbVj
This commit is contained in:
@@ -28,13 +28,24 @@ if [ "$(id -u)" -ne 0 ]; then
|
|||||||
exit 1
|
exit 1
|
||||||
fi
|
fi
|
||||||
|
|
||||||
|
# usbserial AVANT ftdi_sio (dependance). On ne code PAS le chemin en dur : une
|
||||||
|
# mise a jour DSM majeure (7.3 -> 7.4, 24/09) peut deplacer ou renommer les .ko.
|
||||||
|
# On tente modprobe (gere les dependances), sinon on cherche le .ko dans les
|
||||||
|
# arborescences de modules connues.
|
||||||
for ko in usbserial ftdi_sio; do
|
for ko in usbserial ftdi_sio; do
|
||||||
if ! /sbin/lsmod | grep -q "^$ko "; then
|
if /sbin/lsmod | grep -q "^$ko "; then
|
||||||
/sbin/insmod "/lib/modules/$ko.ko" 2>/dev/null \
|
|
||||||
&& echo "$ko charge" \
|
|
||||||
|| echo "$ko : insmod en echec (deja charge ? autre pilote ?)"
|
|
||||||
else
|
|
||||||
echo "$ko deja charge"
|
echo "$ko deja charge"
|
||||||
|
continue
|
||||||
|
fi
|
||||||
|
if command -v modprobe >/dev/null 2>&1 && modprobe "$ko" 2>/dev/null; then
|
||||||
|
echo "$ko charge (modprobe)"
|
||||||
|
continue
|
||||||
|
fi
|
||||||
|
kof=$(find /lib/modules /usr/lib/modules -name "$ko.ko" 2>/dev/null | head -1)
|
||||||
|
if [ -n "$kof" ] && /sbin/insmod "$kof" 2>/dev/null; then
|
||||||
|
echo "$ko charge ($kof)"
|
||||||
|
else
|
||||||
|
echo "$ko : introuvable ou insmod en echec (pilote absent de ce DSM ?)"
|
||||||
fi
|
fi
|
||||||
done
|
done
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user