Avanti Indietro Indice

8. Come posso impostare un terminale connesso al mio PC?

Leggete il Text-Terminal-HOWTO per informazioni più dettagliate sui terminali. Le istruzioni in questa sezione descrivono come connettere un terminale, così come altri computer al vostro sistema Linux.

8.1 Requisiti Hardware

Assicuratevi di avere il cablaggio corretto. Un cavo null-modem comprato in un negozio di informatica può funzionare, ma quasi sicuramente non funzionerà il controllo di flusso hardware. Ma deve essere un cavo null modem! Molti negozi di computer lo chiamano cavo per stampanti seriali. Assicuratevi inoltre di stare usando la porta seriale, una DB25 o DB9 maschio, non la quella parallela ( femmina, DB25 o Centronics ).

Per il connettore DB25, avete bisogno al minino di questo:

 
PC maschio DB25                         Terminale DB25
        TxD   Transmit Data         2 --> 3     RxD   Receive Data
        RxD   Receive Data          3 <-- 2  TxD   Transmit Data
        SG    Signal Ground         7 --- 7     SG    Signal Ground

Questo cavo null modem funziona fra due computer che utilizzano il signale di handshake hardware RTS/CTS, ma molti terminali utilizzano l'handshake DTR che non può essere impostato con linux tramite "stty". Una soluzione è di impostare stty crtscts e connettere il pin 20 del terminale (DTR) con il pin 5 del computer (CTS).

PC male DB25                            Terminal DB25
TxD   Transmit Data         2 --> 3     RxD   Receive Data
RxD   Receive Data          3 <-- 2     TxD   Transmit Data
RTS   Request To Send       4 --> 5     CTS   Clear To Send
CTS   Clear To Send         5 <-- 4     RTS   Request To Send
DSR   Data Set Ready        6
                            |
DCD   Carrier Detect        8 <-- 20    DTR   Data Terminal Ready
SG    Signal Ground         7 --- 7     SG    Signal Ground
                                  6     DSR   Data Set Ready
                                  |
DTR   Data Terminal Ready  20 --> 8     DCD   Carrier Detect

Se sulla propria porta seriale si ha un connettore DB9, si provi quanto segue:

PC DB9                                  Terminal DB25 
        RxD   Receive Data          2 <-- 2  TxD   Transmit Data
        TxD   Transmit Data         3 --> 3     RxD   Receive Data
        SG    Signal Ground         5 --- 7     SG    Signal Ground

In alternativa, un cavo null modem DB9-DB25 (come detto non può operare con un terminale con handshake hardware):

PC DB9                                  Terminal DB25
RxD   Receive Data          2 <-- 2     TxD   Transmit Data
TxD   Transmit Data         3 --> 3     RxD   Receive Data
                                  6     DSR   Data Set Ready
                                  |
DTR   Data Terminal Ready   4 --> 8     DCD   Carrier Detect
GND   Signal Ground         5 --- 7     GND   Signal Ground
DCD   Carrier Detect        1
               
DSR   Data Set Ready        6 <-- 20    DTR   Data Terminal Ready
RTS   Request To Send       7 --> 5     CTS   Clear To Send
CTS   Clear To Send         8 <-- 4     RTS   Request To Send
(RI   Ring Indicator        9 not needed)
(Sì, i pin 2 e 4 hanno veramente significati opposti tra i connettori DB9 e quelli DB25!)

Se non state utilizzando un cavo completamente null modem, forse potete utilizzare il seguente trucchetto: sul connettore dalla parte del vostro computer collegate il RTS e il CTS assieme, e collegate anche DSR, DCD e DTR assieme. In questo modo, quando uno dei due computer richiede un signal di handshake lo otterrà ( da se stesso! ).

Adesso che avete il cavo giusto, collegate il vostro terminale al vostro computer. Se potete, impostate il terminale in modo da ignorare i segnali di controllo del modem. Provate ad usare 9600 bps, 8 data bits, 1 stop bit, no parità nella configurazione del terminale (oppure attivate la parità se volete essere un po' più sofisticati).

8.2 Impostare getty (componente di getty_ps)

Consultate il vostro manuale di getty per altre applicazioni come ad esempio agetty. Aggiungete le impostazioni per il vostro terminale per getty se non sono già esistenti in /etc/gettydefs:

 
# Terminale Stupido a 38400 bps 
DT38400# B38400 CS8 CLOCAL # B38400 SANE -ISTRIP CLOCAL #@S @L login: #DT38400

# Terminale Stupido a 19200 bps 
DT19200# B19200 CS8 CLOCAL # B19200 SANE -ISTRIP CLOCAL #@S @L login: #DT19200

# Terminale Stupido a 9600 bps 
DT9600# B9600 CS8 CLOCAL # B9600 SANE -ISTRIP CLOCAL #@S @L login: #DT9600

Se lo desiderate potete far stampare a video da getty informazioni interessanti sul login. Nel mio esempio ho inserito il nome del sistema e la porta seriale. Potete aggiungere molte altre cose:

@B    La velocità corrente in bps.
@D    La data corrente, nel formato MM/DD/YY.
@L    La porta seriale sulla quale è in esecuzione getty.
@S    Il nome del sistema.
@T    l'ora corrente, nel formato HH:MM:SS ( 24 ore ).
@U    IL numero degli utenti attualmente collegati.
@V    Il valore di VERSION.

Per visualizzare un singolo carattere '@', potete usare 
sia '\@' sia '@@'.

Una volta modificato /etc/gettydefs, potete verificare che la sintassi sia corretta digitando:

linux# getty -c /etc/gettydefs

Assicuratevi che non vi siano file di configurazione di getty oppure uugetty per la porta seriale alla quale il vostro terminale è collegato (/etc/default/{uu}getty.ttySN oppure /etc/conf.{uu}getty.ttySN), poiché può molto probabilmente interferire nell'esecuzione di getty su un terminale. Rimuovere questi file se esistono.

Editate il vostro file /etc/inittab per lanciare getty sulla porta seriale ( sostituendo con le corrette informazioni sul vostro sistema - porta, velocità e tipologia del terminale):

S1:456:respawn:/sbin/getty ttyS1 DT9600 vt100
Riavviate init:
linux# init q 

A questo punto dovreste essere in grado di vedere un prompt di login sul terminale. Probabilmente dovrete premere invio per ottenere l'attenzione del terminale.

8.3 Suggerimenti per configurare un PC come terminale seriale

Molte persone configurano i loro PC come terminali connessi a un box linux. Per esempio, dei vecchi PC 8088 o 80286 sono perfetti per questo scopo. Tutto ciò di cui avete bisogno è un disco di boot DOS adatto al vostro tipo di terminale, e un programma di comunicazione da avviare. kermit è ideale a questo scopo. Potete trovare versioni precompilate di kermit per ogni sistema operativo esistente a http://www.columbia.edu/kermit/. Altri programmi DOS molto popolari come procomm funzionano molto bene. Assicuratevi di impostare corretamente le informazioni sulla porta seriale nelle impostazioni del programma di comunicazione del vostro terminale.


Avanti Indietro Indice