Newsgroup: it.comp.os.linux.software
Titolo: [LONG-POST] Dove ho sbagliato?

Ciao a tutto il n.g. (tra l'altro non so se sono IT qui o se devo
traslocare).
Possiedo un modem rockwell. Al di là del bidone, vorrei farlo funzionare!!
Mi scarico i driver dal sito smlink, make make install, prova da riga di
comando:
#modprobe slamr
#/usr/sbin/slmodemd -c ITALY /dev/slamr0
tutto ok.
Vorrei automatizzare la faccenda, di modo che non mi debba loggare come root
per caricare il modulo e far partire il software.
Che bello!! Nella tarpalla dei driver c'è lo script da mettere in etc/init.d
per debian!!
Eccolo:
serena@Serena:~$ cat /etc/init.d/slm*
#!/bin/sh
#
# slmodemd:    Starts the SmartLink Modem Daemon
#
# chkconfig: 345 90 10
# description: This is the user space part of the SmartLink Modem driver
# processname: slmodemd
# config: /etc/sysconfig/slmodem
# Source function library.
#. /etc/init.d/functions
NAME=slmodemd
DAEMON=/usr/sbin/slmodemd
PIDFILE=/var/run/$NAME.pid
RETVAL=0
# Default configuration
SLMODEMD_DEVICE=slamr0
SLMODEMD_COUNTRY=ITALY
# Test presence of daemon binary
test -f $DAEMON || exit 0
# Source configuration
CONFIG=/etc/default/$NAME
if [ -f $CONFIG ]; then
        . $CONFIG
else
  echo "
#
# This is the default configuration for the slmodem driver daemon
# running on Debian systems.
#
# Edit device node and country code here ...
#
# possible country codes are:
#
#
#   GERMANY
#   BELGIUM
#   etc.
#
#  use \'$DAEMON --countrylist\' to check out other countries
#
SLMODEMD_DEVICE=$SLMODEMD_DEVICE
SLMODEMD_COUNTRY=$SLMODEMD_COUNTRY
" > $CONFIG
fi
# uncomment this if you want this feature (if necessary edit module
pattern):
# do not try to start on a kernel which does not support it
grep 'slamr\..*o' /lib/modules/`uname -r`/modules.dep > /dev/null || { \
  echo "SmartLink modem driver not supported by Kernel `uname -r`.
Exiting ..."
  exit 0
}
start() {
        cat /proc/modules | grep 'slamr' >/dev/null || {
          echo -n "Loading SmartLink Modem driver into kernel ... "
          modprobe slamr && echo "done." || { i
            echo "failed."
            exit -1
          }
        }
        echo -n "Starting SmartLink Modem driver for: $SLMODEMD_DEVICE"
        start-stop-daemon --start --pidfile $PIDFILE --exec $DAEMON
--make-pidfi
le --background --quiet -- -c $SLMODEMD_COUNTRY /dev/$SLMODEMD_DEVICE
        RETVAL=$?
}
stop() {
        echo -n "Shutting down SmartLink Modem driver normally"
        ps -A | grep $NAME >/dev/null 2>/dev/null && {
          start-stop-daemon --stop --quiet --pidfile $PIDFILE --exec $DAEMON
||
          {
            echo " probably failed."
            echo -n "Trying it the hard way (send SIGKILL all $NAME
processes):
"
            killall -KILL $NAME
            /bin/true
            RETVAL=0
          }
        } || { echo -n " ... no $NAME daemon running"; RETVAL=0; }
}
# See how we were called.
case "$1" in
  start)
        start
        ;;
  stop)
        stop
        ;;
  restart|reload)
        stop
        echo ""
        rm $PIDFILE
        start
        ;;
  *)
        echo "Usage: /etc/init.d/$NAME {start|stop|restart}"
        exit 1
esac
if [ $? == 0 ]; then
  echo "."
  if [ $1 == "stop" ]; then
    rm $PIDFILE &>/dev/null
  fi
  exit 0
else
  echo " failed."
  exit -1
fi
Felice, rcconf, et voilà. Purtroppo, come spesso accade, non sempre le
ciambelle riescono col buco! Avvio kppp da utente (link
a /dev/slmr0 /dev/modem + chown root.dip a entrambe le dev + aggiunto user
a dip) e che mi trovo su "interroga modem"?
ATI:SmartLink Soft Modem
ATI 1:SmartLink Soft Modem, 2.9.10  Smart Link Ltd
ATI 2:SmartLink Soft Modem, 2.9.10  Smart Link Ltd
ATI 3:/dev/slamr0  modemap driver
ATI 4:s00=000 s01=000 s02=043 s03=013 s04=010 s05=008 s06=002 s07=060  
s08=002 s09=006 s10=007 s11=100 s12=050 s13=000 s14=001 s15=001   s16=001
s17=000 s18=000 s19=000 s20=000 s21=000 s22=000 s23=000
ATI 5:Stored Profile 0:
ATI 6:Stored Profile 1:
ATI 7:Country: USA
... USA???????????????????? Ma come USA!!!! Io volevo ITALY!! 
Perchè non mi carica il paese giusto? C'è qualcosa che non va nello script?
Dovevo fare qualcosa che non sapevo di dover fare?
Ciao e grazie di aver letto tutta questa pappardella!! :))!

 script? Dovevo fare qualcosa che non sapevo di dover fare?
Non è che devi impostare SLMODEMD_COUNTRY in /etc/default/slmodemd o
in /etc/sysconfig/slmodem ?
-- 
Faber
http://www.faberbox.com
Don't code today what you can't debug tomorrow. -- Ariya Hidayat

 script? Dovevo fare qualcosa che non sapevo di dover fare?
Non è che devi impostare SLMODEMD_COUNTRY in /etc/default/slmodemd o


 
Bingo! In etc/default/slmodemd, country era IT, e non ITALY. Ecco perchč
caricava il default USA!
Ciao e grazie!!