Le contenu du script, que vous pouvez trouver un peu partout sur internet, est le suivant ;

#!/bin/sh

MODULES_DIR="/opt/lib/modules/2.6.32"
MAINMODULE="usbserial.ko"
SUBMODULES="ftdi_sio.ko"

start_modules(){
        echo "--- Load modules ---"
        for i in $MAINMODULE $SUBMODULES; do
                echo "Loading $i"
                insmod $MODULES_DIR/$i
        done
        sleep 1

        # Create the ttyUSB
        if [ ! -c /dev/ttyUSB0 ]; then
                mknod /dev/ttyUSB0 c 188 0
        fi
        sleep 1

        stty -F /dev/ttyUSB0 1200 sane evenp parenb cs7 -crtscts
        sleep 1

}

stop_modules(){
        echo "--- Unload modules ---"
        for i in $SUBMODULES $MAINMODULE; do
                echo "Unloading $i"
                rmmod $MODULES_DIR/$i
        done
}

case "$1" in
start)
        start_modules
        ;;
stop)
        stop_modules
        ;;
*)
        echo "usage: $0 { start | stop }" >&2
        exit 1
        ;;

Quelques explications :

  • Pour rappel, nous travaillons sur le device ttyUSB0 dans cet exemple, il faut l'adapter chez vous en fonction du numéro de device que le NAS attribuera à votre modem de téléinformation.
  • MODULES_DIR : indique le répertoire dans lequel se trouve les drivers que vous avez ajouté. A adapter si besoin chez vous.
  • stty -F /dev/ttyUSB0 1200 sane evenp parenb cs7 -crtscts : cette ligne permet d'indiquer les caractéristiques de cette liaison série (taux de transfert, bit de parité...). Adapter le nom du device si besoin.

Avec ce script, les drivers sont chargés et déchargés correctement à chaque reboot de votre système. Faite le test en rebootant votre NAS, on n'est jamais à l'abris d'une faute de frappe dans le script.

La suite bientôt : la création de la base de donnée pour stocker les relevés de consommation que votre NAS arrive à lire.