Accesso via modem ad un server Linux: Difference between revisions

From RVM Wiki
Jump to navigation Jump to search
mNo edit summary
mNo edit summary
Line 1: Line 1:
In questo modo si può accedere via modem alla console Linux di una macchina.
==Configurazione Server==


Collegare il modem alla seriale (COM2=ttyS1)
*Collegare il modem alla seriale  
COM1=ttyS0
COM2=ttyS1


Installare mgetty
*Installare mgetty
  sudo apt-get install mgetty
  sudo apt-get install mgetty


Abilitare il modem:
*Abilitare l'execuzione di mgetty da inittab:


  sudoedit /etc/inittab
  sudoedit /etc/inittab
  ...
  ...
T3:23:respawn:/sbin/mgetty -x9 -s 57600 -m '"" AT&F OK AT&C1 OK AT&D3 OK' -D ttyS0
  T0:2345:respawn:/sbin/mgetty ttyS0


#x9 :debug (mettere x0 quando in produzione)
*Impostare la configurazione del Modem. È importante usare un baudrate di 38400, non superiore, altrimenti al login si ricevono dei garbage:
#s 57600 :velocità seriale
#-m '"" AT&F OK AT&C1 OK AT&D3 OK' : stringa inizializzazione, rest to factory default, più vedi man mgetty
#-D :disabilita risposta fax (altrimenti a volte non ci si collega e si ricevono caratteri spurii


Attivare la configurazione:
sudoedit /etc/mgetty/mgetty.config
<pre>
...
port ttyS0
  debug 9
  data-only y
  init-chat "" AT&F OK AT&C1 OK AT&D3 OK ATV1 OK ATS0=0 OK ATE1 OK ATL3 OK ATM1
  speed 38400
  modem-type data
  autobauding no
...
</pre>


*Far rileggere la configurazione di inittab:
  sudo init q
  sudo init q


Settare una connesione con Minicom e chiamare il numero a cui è collegato il modem. Si ottiene la schermata di login.
* Killare mgetty, che verrà riavviato da inittab:
sudo kill $(pidof mgetty)
 
* Il log dirà:
<pre>
--
08/14 13:21:34 yS0  mgetty: interim release 1.1.36-Jun15
08/14 13:21:34 yS0  check for lockfiles
08/14 13:21:34 yS0  checklock: stat failed, no file
08/14 13:21:34 yS0  locking the line
08/14 13:21:34 yS0  makelock(ttyS0) called
08/14 13:21:34 yS0  do_makelock: lock='/var/lock/LCK..ttyS0'
08/14 13:21:34 yS0  lock made
08/14 13:21:34 yS0  tio_get_rs232_lines: status: RTS CTS DSR DTR
08/14 13:21:34 yS0  lowering DTR to reset Modem
08/14 13:21:35 yS0  tss: set speed to 38400 (017)
08/14 13:21:35 yS0  tio_set_flow_control( HARD )
08/14 13:21:35 yS0  waiting for line to clear (VTIME=1), read:
08/14 13:21:35 yS0  send: AT&F[0d]
08/14 13:21:35 yS0  waiting for ``OK''
08/14 13:21:35 yS0  got: AT&F[0d]
08/14 13:21:35 yS0    CND: AT&F[0d][0a]OK ** found **
08/14 13:21:35 yS0  send: AT&C1[0d]
08/14 13:21:35 yS0  waiting for ``OK''
08/14 13:21:35 yS0  got: [0d]
08/14 13:21:35 yS0    CND: OK[0a]AT&C1[0d]
08/14 13:21:35 yS0    CND: AT&C1[0d][0a]OK ** found **
08/14 13:21:35 yS0  send: AT&D3[0d]
08/14 13:21:35 yS0  waiting for ``OK''
08/14 13:21:35 yS0  got: [0d]
08/14 13:21:35 yS0    CND: OK[0a]AT&D3[0d]
08/14 13:21:35 yS0    CND: AT&D3[0d][0a]OK ** found **
08/14 13:21:35 yS0  send: ATV1[0d]
08/14 13:21:35 yS0  waiting for ``OK''
08/14 13:21:35 yS0  got: [0d]
08/14 13:21:35 yS0    CND: OK[0a]ATV1[0d]
08/14 13:21:35 yS0    CND: ATV1[0d][0a]OK ** found **
08/14 13:21:36 yS0  send: ATS0=0[0d]
08/14 13:21:36 yS0  waiting for ``OK''
08/14 13:21:36 yS0  got: [0d]
08/14 13:21:36 yS0    CND: ATS0=0[0d][0a]OK ** found **
08/14 13:21:36 yS0  send: ATE1[0d]
08/14 13:21:36 yS0  waiting for ``OK''
08/14 13:21:36 yS0  got: [0d]
08/14 13:21:36 yS0    CND: OK[0a]ATE1[0d]
08/14 13:21:36 yS0    CND: ATE1[0d][0a]OK ** found **
08/14 13:21:36 yS0  send: ATL3[0d]
08/14 13:21:36 yS0  waiting for ``OK''
08/14 13:21:36 yS0  got: [0d]
08/14 13:21:36 yS0    CND: OK[0a]ATL3[0d]
08/14 13:21:36 yS0    CND: ATL3[0d][0a]OK ** found **
08/14 13:21:36 yS0  send: ATM1[0d]
08/14 13:21:36 yS0  waiting for ``OK''
08/14 13:21:36 yS0  got: [0d]
08/14 13:21:36 yS0    CND: OK[0a]ATM1[0d]
08/14 13:21:36 yS0    CND: ATM1[0d][0a]OK ** found **
08/14 13:21:36 yS0  send: ATX0[0d]
08/14 13:21:36 yS0  waiting for ``OK''
08/14 13:21:36 yS0  got: [0d]
08/14 13:21:36 yS0    CND: OK[0a]ATX0[0d]
08/14 13:21:36 yS0    CND: ATX0[0d][0a]OK ** found **
08/14 13:21:36 yS0  waiting for line to clear (VTIME=3), read: [0d][0a]
08/14 13:21:37 yS0  removing lock file
08/14 13:21:37 yS0  waiting...
</pre>
 
* Controllare che ci si possa loggare dalla seriale utilizzata:
sudoedit /etc/securetty
 
...
ttyS0
...
 
* Controllare che mgetty lanci il programma di login corretto:


Se la sconda volta nn si risce a collegarsi, o si blocca appena fatto login, può essere il cavo o il &D3 che non viene mantenuto (Vedi man mgetty)
sudoedit /etc/mgetty/login.config


Sul server si può debuggare mgetty con:
...
*      -      -      /bin/login @
...


sudo tail -f /var/log/mgetty/mg_ttyS0.log
==Configurazione Client==


Se si hanno difficoltà a collegarsi, usare questo file di config per minicom.
* Si utilizza minicom per connettersi:


'''QUESTO FILE IMPOSTA ANCHE LA HOTKEY PER I MENU DI MINICOM A'''
  sudo apt-get install minicom
  CTRL-P


* Impostare le permission della seriale usata:
sudo chmod 0664 /dev/ttyS0
sudo chown :dialout /dev/ttyS0
* Assegnare il gruppo dialout al proprio utente:
sudo gpasswd -a mnt.vvngrl dialout
* Sloggarsi e riloggarsi per attivare l'appartenenza al gruppo.
*Impostare la configurazione di minicom:
<pre>
<pre>
cat > $HOME/.minirc.dfl <<EOFile
cat > $HOME/.minirc.dfl <<EOFile
# Machine-generated file - use setup menu in minicom to change parameters.
# Machine-generated file - use setup menu in minicom to change parameters.
pu escape-key      ^P
pu port            /dev/ttyS0
pu baudrate        115200
pu baudrate        38400
pu bits            8
pu parity          N
pu stopbits        1
pu minit            ~^M~AT S7=120 S0=0 L1 V1 X4 &c1 E1 Q0^M
pu minit            ~^M~AT S7=120 S0=0 L1 V1 X4 &c1 E1 Q0^M
# nota S7=120, che è il timeout di connessione
pu mdialpre        ATDT0,
pu mdialtime        120
pu mdialtime        120
pu backspace       BS
pu mautobaud       Yes
pu escape-key      ^P
EOFile
EOFile
</pre>
</pre>


NOTA: '''Se si lancia minicom da una schermata screen, E NON SI CAMBIA LA HOTKEY IN ctrl-p, per fare ctrl-A-o fare  
Questo file imposta le velocità corrette della seriale, inizilizza il modem, ed '''IMPOSTA ANCHE LA HOTKEY PER I MENU DI MINICOM A CTRL-P IN MODO CHE SI POSSA USARE MINICOM DA SCREEN'''.
ctrl-a-a
Se si lancia minicom da una schermata screen, E NON SI CAMBIA LA HOTKEY IN ctrl-p, per fare ctrl-a-o fare ctrl-a-a-o.
 
* Chiamare il numero:
atdt0,0123456789
 
* Si ottiene la schermata di login:
Debian GNU/Linux ttyS0 38400 ()                                               
                                                                               
firess login:
 
* Se si vuole si può settare una connesione con Minicom e chiamare il numero a cui è collegato il modem.
 
* Se la seconda volta non si riesce a collegarsi, o si blocca appena fatto login, può essere il cavo o il &D3 che non viene mantenuto (Vedi man mgetty)
 
* Se tutto è corretto, abbassare sul server il debug di mgetty
sudoedit /etc/mgetty/mgetty.config; sudo init q; sudo kill $(pidof mgetty)
 
port ttyS0
  debug 3
  ...


== Riferimenti ==
== Riferimenti ==


*[http://www.totse.com/en/technology/telecommunications/at-cmds.html totse.com | The AT command set]
*[http://mgetty.greenie.net/ Mgetty + Sendfax Documentation Centre]
*[http://markmail.org/message/wks44bymu5dhd3k7#query:mgetty%20garbage+page:1+mid:uzy5sssmhoa4nh2t+state:results Re: PPPD + Mgetty stopped working - Richard Wackerbarth - org.freebsd.freebsd-stable - MarkMail]

Revision as of 11:48, 14 August 2009

Configurazione Server

  • Collegare il modem alla seriale
COM1=ttyS0
COM2=ttyS1
  • Installare mgetty
sudo apt-get install mgetty
  • Abilitare l'execuzione di mgetty da inittab:
sudoedit /etc/inittab
...
 T0:2345:respawn:/sbin/mgetty ttyS0
  • Impostare la configurazione del Modem. È importante usare un baudrate di 38400, non superiore, altrimenti al login si ricevono dei garbage:
sudoedit /etc/mgetty/mgetty.config
...
port ttyS0
  debug 9
  data-only y
  init-chat "" AT&F OK AT&C1 OK AT&D3 OK ATV1 OK ATS0=0 OK ATE1 OK ATL3 OK ATM1
  speed 38400
  modem-type data
  autobauding no
...
  • Far rileggere la configurazione di inittab:
sudo init q
  • Killare mgetty, che verrà riavviato da inittab:
sudo kill $(pidof mgetty)
  • Il log dirà:
--
08/14 13:21:34 yS0  mgetty: interim release 1.1.36-Jun15
08/14 13:21:34 yS0  check for lockfiles
08/14 13:21:34 yS0   checklock: stat failed, no file
08/14 13:21:34 yS0  locking the line
08/14 13:21:34 yS0   makelock(ttyS0) called
08/14 13:21:34 yS0   do_makelock: lock='/var/lock/LCK..ttyS0'
08/14 13:21:34 yS0   lock made
08/14 13:21:34 yS0   tio_get_rs232_lines: status: RTS CTS DSR DTR
08/14 13:21:34 yS0  lowering DTR to reset Modem
08/14 13:21:35 yS0   tss: set speed to 38400 (017)
08/14 13:21:35 yS0   tio_set_flow_control( HARD )
08/14 13:21:35 yS0   waiting for line to clear (VTIME=1), read:
08/14 13:21:35 yS0  send: AT&F[0d]
08/14 13:21:35 yS0  waiting for ``OK''
08/14 13:21:35 yS0   got: AT&F[0d]
08/14 13:21:35 yS0    CND: AT&F[0d][0a]OK ** found **
08/14 13:21:35 yS0  send: AT&C1[0d]
08/14 13:21:35 yS0  waiting for ``OK''
08/14 13:21:35 yS0   got: [0d]
08/14 13:21:35 yS0    CND: OK[0a]AT&C1[0d]
08/14 13:21:35 yS0    CND: AT&C1[0d][0a]OK ** found **
08/14 13:21:35 yS0  send: AT&D3[0d]
08/14 13:21:35 yS0  waiting for ``OK''
08/14 13:21:35 yS0   got: [0d]
08/14 13:21:35 yS0    CND: OK[0a]AT&D3[0d]
08/14 13:21:35 yS0    CND: AT&D3[0d][0a]OK ** found **
08/14 13:21:35 yS0  send: ATV1[0d]
08/14 13:21:35 yS0  waiting for ``OK''
08/14 13:21:35 yS0   got: [0d]
08/14 13:21:35 yS0    CND: OK[0a]ATV1[0d]
08/14 13:21:35 yS0    CND: ATV1[0d][0a]OK ** found **
08/14 13:21:36 yS0  send: ATS0=0[0d]
08/14 13:21:36 yS0  waiting for ``OK''
08/14 13:21:36 yS0   got: [0d]
08/14 13:21:36 yS0    CND: ATS0=0[0d][0a]OK ** found **
08/14 13:21:36 yS0  send: ATE1[0d]
08/14 13:21:36 yS0  waiting for ``OK''
08/14 13:21:36 yS0   got: [0d]
08/14 13:21:36 yS0    CND: OK[0a]ATE1[0d]
08/14 13:21:36 yS0    CND: ATE1[0d][0a]OK ** found **
08/14 13:21:36 yS0  send: ATL3[0d]
08/14 13:21:36 yS0  waiting for ``OK''
08/14 13:21:36 yS0   got: [0d]
08/14 13:21:36 yS0    CND: OK[0a]ATL3[0d]
08/14 13:21:36 yS0    CND: ATL3[0d][0a]OK ** found **
08/14 13:21:36 yS0  send: ATM1[0d]
08/14 13:21:36 yS0  waiting for ``OK''
08/14 13:21:36 yS0   got: [0d]
08/14 13:21:36 yS0    CND: OK[0a]ATM1[0d]
08/14 13:21:36 yS0    CND: ATM1[0d][0a]OK ** found **
08/14 13:21:36 yS0  send: ATX0[0d]
08/14 13:21:36 yS0  waiting for ``OK''
08/14 13:21:36 yS0   got: [0d]
08/14 13:21:36 yS0    CND: OK[0a]ATX0[0d]
08/14 13:21:36 yS0    CND: ATX0[0d][0a]OK ** found **
08/14 13:21:36 yS0   waiting for line to clear (VTIME=3), read: [0d][0a]
08/14 13:21:37 yS0   removing lock file
08/14 13:21:37 yS0  waiting... 
  • Controllare che ci si possa loggare dalla seriale utilizzata:
sudoedit /etc/securetty
...
ttyS0
...
  • Controllare che mgetty lanci il programma di login corretto:
sudoedit /etc/mgetty/login.config
...
*       -       -       /bin/login @
...

Configurazione Client

  • Si utilizza minicom per connettersi:
sudo apt-get install minicom
  • Impostare le permission della seriale usata:
sudo chmod 0664 /dev/ttyS0
sudo chown :dialout /dev/ttyS0
  • Assegnare il gruppo dialout al proprio utente:
sudo gpasswd -a mnt.vvngrl dialout
  • Sloggarsi e riloggarsi per attivare l'appartenenza al gruppo.
  • Impostare la configurazione di minicom:
cat > $HOME/.minirc.dfl <<EOFile
# Machine-generated file - use setup menu in minicom to change parameters.
pu port             /dev/ttyS0
pu baudrate         38400
pu bits             8
pu parity           N
pu stopbits         1
pu minit            ~^M~AT S7=120 S0=0 L1 V1 X4 &c1 E1 Q0^M
pu mdialpre         ATDT0,
pu mdialtime        120
pu mautobaud        Yes
pu escape-key       ^P
EOFile

Questo file imposta le velocità corrette della seriale, inizilizza il modem, ed IMPOSTA ANCHE LA HOTKEY PER I MENU DI MINICOM A CTRL-P IN MODO CHE SI POSSA USARE MINICOM DA SCREEN. Se si lancia minicom da una schermata screen, E NON SI CAMBIA LA HOTKEY IN ctrl-p, per fare ctrl-a-o fare ctrl-a-a-o.

  • Chiamare il numero:
atdt0,0123456789
  • Si ottiene la schermata di login:
Debian GNU/Linux ttyS0 38400 ()                                                
                                                                               
firess login: 
  • Se si vuole si può settare una connesione con Minicom e chiamare il numero a cui è collegato il modem.
  • Se la seconda volta non si riesce a collegarsi, o si blocca appena fatto login, può essere il cavo o il &D3 che non viene mantenuto (Vedi man mgetty)
  • Se tutto è corretto, abbassare sul server il debug di mgetty
sudoedit /etc/mgetty/mgetty.config; sudo init q; sudo kill $(pidof mgetty)
port ttyS0
  debug 3
  ...

Riferimenti