[Lugge] Re: Comandi AT a modem 56k?

  • From: Matteo Ianeselli <matteo.ianeselli@xxxxxxxxxxxxxxxx>
  • To: lugge@xxxxxxxxxxxxx
  • Date: Wed, 5 Mar 2003 10:24:15 +0100

Usando la tastiera di Andrea De Gaetano, uno sconosciuto ha scritto:

 > Qualcuno è in grado di creare un programma per inviare
 > comandi AT a un modem 56k?

In teoria basta aprirsi /dev/modem (per convenzione, link simbolico
alla seriale a cui e` attaccato il modem) e spedir comandi, del tipo

   echo "ATZATDT123456789" > /dev/modem 

ma in pratica poi devi anche:

1) Regolare la velocita` e modalita` di comunicazione tra modem e
   computer, e il tipo di "traduzione" di quello che spedisci (la
   cosiddetta "terminal discipline"): faccio infatti notare che
   "normalmente" i sistemi Unix assumono che attaccato alle seriali ci
   siano dei terminali testuali, e che per default i dati trasmessi e
   ricevuti vadan manipolati, ad esempio traducendo i LF in CR LF o
   che in ricezione, un ^C va tradotto in un segnale SIGTSTP da
   mandare al processo che tiene aperto il device lato "master".

   Forse te la cavi da shell usando solamente "setserial" (per le
   velocita`) e "stty" (per la "discipline"), ma non ne sono
   assolutamente certo.

   La Text-Terminal-HOWTO dovrebbe essere illuminante sotto questo
   aspetto.

2) Leggere le risposte (testuali) del modem (che puo` dare errore in
   seguito ad un comando).

Per far entrambe queste cose puoi anche usare il buon vecchio zio
"chat": gli dai (come file, o mi pare anche su standard input) un
elenco di coppie risposta_attesa->testo_da_spedire e gli dici dove sta
la seriale attaccata al modem. Esempio:

    TIMEOUT 60
    ""          ATZ
    OK          ATDT1234567
    CONNECT     ""

(TIMEOUT e` speciale, dice che "chat" deve chiuder baracca se il
modem non risponde in 60 secondi, mentre le altre sono le coppie
risposte attese->testo da spedire).

Prima di Kppp, Wvdial e tanti altri, chat era il classico programma
usato in coppia con pppd per avviare il link seriale con un altro
modem. Poi pppd prendeva il sopravvento e iniziava a parlare
PPP con l'altro estremo.

 > Secondo voi, inviando informazioni sulla seriale a un
 > modem esterno riesco a inviare i comandi AT al modem?

Si. Le cose sono un poco piu` complicate del previsto (i.e. aprir la
seriale e scriverci e leggerci sopra senza far altro) unicamente
perche` c'e` un pregresso molto lungo di terminali seriali connessi a
dei server unix via modem.
-- 
 |   \    \  | ___|_  |_  | matteo.ianeselli AT telecomitalia.it
 |  _ \  | \ | _|    /   /  Visita il LinuxTrent a
_|_/  _\_|  _|____|___|___| http://www.linuxtrent.it

========---------- 
  
 Prima di scrivere in m-list per favore leggi il regolamento 
 http://www.lugge.net/soci/index.php?link=manifesto.htm#list 
 
 Archivio delle e-mail postate in lista 
 http://www.freelists.org/archives/lugge/ 
 
 Modifica dell'account su freelists 
 http://www.freelists.org/cgi-bin/lsg2.cgi  
 
----------======== 
 
 Orari di apertura della sede e come arrivarci: 
 http://www.lugge.net/soci/index.php?link=sede.htm 
  
 
 
  

Other related posts: