SL-modem HOWTO


Estratto

Utilizzo di un modem slamr con i moduli proprietari ed un BIOS bacato. Questa è una bozza iniziale che presuppone la corretta compilazione dei moduli proprietari, l'installazione e la corretta configurazione del demone slmodemd e dei programmi pppconfig pon poff.


Avviso di Copyright

Copyright © 2005 Johan Haggi

L'AUTORE NON SI ASSUME ALCUNA RESPONSABILITÀ SULL'ESATTEZZA DEL CONTENUTO DI QUESTO DOCUMENTO. QUALUNQUE USO DI CONCETTI, ESEMPI ED ALTRI CONTENUTI DI QUESTO DOCUMENTO È FATTO INTERAMENTE SOTTO LA RESPONSABILITÀ ED A RISCHIO DELL'UTILIZZATORE.

È concesso fare e distribuire copie non modificate di questo documento a condizione che questa licenza sia allegata a tutte le copie.

È concesso fare e distribuire copie modificate (o traduzioni) di questo documento a condizione che siano chiaramente indicati l'autore delle modifiche (o della traduzione) ed il fatto che si tratti di una versione modificata (o tradotta), che l'avviso di copyright includa un riferimento all'autore originale, che sia indicato dove reperire il documento originale, che il documento modificato sia distribuito secondo i termini di una licenza identica a questa o (a vostra scelta) secondo i termini della GNU GPL.


Contenuti


1 - Problemi

Prima di riuscire a far funzionare il modem slamr sul mio portatile ho dovuto penare molto, i suggerimenti elencati nel capitolo successivo sono nati per risolvere questi problemi.

Alcuni dei problemi sono dovuti alla qualità scadente del mio portatile, quindi probabilmente alcune delle cose che ho dovuto fare per farlo funzionare potrebbero essere per voi superflue.

1.1 Baco HW del modem

Spesso dopo l'uso non "attacca" la linea ma bisogna staccare il cavo manualmente (a giudicare dal manuale del portatile il baco è presente anche con Windows).

1.2 Caricamento del modulo slamr

Il modulo (compilato con module-assistent) a volte non funziona se caricato con modprobe ma funziona sempre se caricato con insmod.

1.3 Conflitto incrociato tra i moduli battery e slamr ed il touchpad

Quasi sicuramente causato da un baco nella gestione di ACPI da parte del BIOS del mio portatile.

Se il modulo di ACPI battery è caricato ogni volta che tocco il touchpad ho una serie di mesaggi di errore in /var/log/messages. Se anche il modem è in funzione ho:

1.4 Inizio composizione del numero prima di prendere la linea

Occasionalmente la composizione del numero inizia prima che sia presa la linea telefonica con il risultato: "Telecom avviso gratuito il numero chiamato è inesistente".


2 - Far funzionare il tutto

2.1 Modifiche al file /etc/default/sl-modem-daemon

Rimuovere il caricamento al boot del demone slmodemd impostando la variabile DONTSTART a 1

Verificare che la variabile SLMODEMD_DEVICE sia impostata a slamr0

Verificare che la variabile SLMODEMD_COUNTRY sia impostata a ITALY

2.2 Creazione di /usr/local/bin/modem-on.sh e di /usr/local/bin/modem-off.sh

Questi script sono necessari se si è afflitti da uno o da entrambi i bachi descritti nelle sezioni Caricamento del modulo slamr, Sezione 1.2 e Conflitto incrociato tra i moduli battery e slamr ed il touchpad, Sezione 1.3 o se per altri motivi non si vuole caricare al boot slmodemd.

Ambedue devono essere eseguiti come root (o con su -c o con sudo).

2.2.1 Il listato di /usr/local/bin/modem-on.sh

     #!/bin/sh
     mod_unload() {
       # se il modulo è caricato
       # lo rimuove, in caso di fallimento esce
       if [ "`grep $1 /proc/modules`" ] ; then
         rmmod $1 || exit
       fi
     }
     
     mod_load() {
       # se il modulo non è caricato
       # lo carica, in caso di fallimento esce
       if [ "`grep $1 /proc/modules`" ] ; then
         modprobe $1 || exit
       fi
     }
     
     # chiude eventuali processi di slmodemd
     killall -q -15 slmodemd
     sleep 0.5
     killall -q -9 slmodemd
     sleep 0.5
     
     # rimuove il modulo slamr
     mod_unload slamr
     
     #rimuove il modulo battery
     mod_unload battery
     
     # carica il modulo slamr, e lancia slmodemd
     insmod /lib/modules/`uname -r`/misc/slamr.ko && slmodemd &

2.2.2 Il listato di /usr/local/bin/modem-off.sh

     #!/bin/sh
     mod_unload() {
       # se il modulo è caricato
       # lo rimuove, in caso di fallimento esce
       if [ "`grep $1 /proc/modules`" ] ; then
         rmmod $1 || exit
       fi
     }
     
     mod_load() {
       # se il modulo non è caricato
       # lo carica, in caso di fallimento esce
       if [ "`grep $1 /proc/modules`" ] ; then
         modprobe $1 || exit
       fi
     }
     
     # chiude eventuali processi di slmodemd
     killall -q -15 slmodemd
     sleep 0.5
     killall -q -9 slmodemd
     sleep 0.5
     
     # rimuove il modulo slamr
     mod_unload slamr
     
     # carica il modulo battery
     modprobe battery

2.2.3 Personalizzazioni

Se non si è afflitti dal baco descritto in Caricamento del modulo slamr, Sezione 1.2:

Se non si è afflitti dal baco descritto in Conflitto incrociato tra i moduli battery e slamr ed il touchpad, Sezione 1.3:

2.3 Modifiche a /etc/chatscripts/mio_provider

     # ispnumber
     OK-AT-OK "ATL1M1X3DT,0000"

ispnumber è composto da:

L1M1
opzionale, imposta il volume del modem a basso fino all'avvenuta connessione;
X3
per le linee telefoniche italiane;
,
la virgola introduce una breve pausa prima della composizione del numero (è possibile ometterla se non si è afflitti dal baco descritto in Inizio composizione del numero prima di prendere la linea, Sezione 1.4);
0000
il numero del proprio provider.

2.4 Creazione di /usr/local/bin/poff.sh (opzionale)

Se non si è afflitti dal baco descritto in Inizio composizione del numero prima di prendere la linea, Sezione 1.4, questo script non è necessario.

     #!/bin/sh
     # chiude il collegamento
     /usr/bin/poff
     
     echo -n "Attendo 3 secondi "
     sleep 0.5 ; echo -n "." ; sleep 0.5 ; echo -n "."
     sleep 0.5 ; echo -n "." ; sleep 0.5 ; echo -n "."
     sleep 0.5 ; echo -n "." ; sleep 0.5 ; echo    "."
     
     # Imposta il volume a medio ed aggancia
     echo "ATL2M2H0" > /dev/ttySL0
     echo -n "modem agganciato (forse). Attendo 1 secondo "
     sleep 0.5 ; echo -n "." ; sleep 0.5 ; echo    "."
     
     # Imposta il volume a medio ed aggancia
     echo "ATL2M2H1" > /dev/ttySL0
     
     echo -n "modem rialzato. Attendo 3 secondi, senti il segnale di libero? "
     sleep 0.5 ; echo -n "." ; sleep 0.5 ; echo -n "."
     sleep 0.5 ; echo -n "." ; sleep 0.5 ; echo -n "."
     sleep 0.5 ; echo -n "." ; sleep 0.5 ; echo    "."
     
     # Imposta il volume a medio ed aggancia
     echo "ATL2M2H0" > /dev/ttySL0
     echo "Se non hai sentito il segnale di libero, stacca il filo manualmente!"

2.5 Creazione alias in ~/.bashrc (opzionale)

Usando su -c:

     alias pon='su -c "/usr/local/bin/modem-on.sh" ; /usr/bin/pon'
     alias poff='/usr/local/bin/poff.sh ; su -c "/usr/local/bin/modem-off.sh"'

Usando sudo:

     alias pon='sudo "/usr/local/bin/modem-on.sh" ; /usr/bin/pon'
     alias poff='/usr/local/bin/poff.sh ; sudo "/usr/local/bin/modem-off.sh"'

SL-modem HOWTO

Versione 0.01.00 ~~ 12 dicembre 2005

Johan Haggi (jh AT orsobruno . net)

Valid HTML 4.01 Transitional Valid CSS!

E-mail: Per contattare l'autore scrivere a:
jh@orsobruno.net

Ultima modifica: 12 novembre 2006