Driver seriale su dispositivo Ethernet

Creare dispositivi seriali virtuali e teletype (tty) nel sistema operativo AIX® utilizzando l'EDS (Ethernet Device Server) supportato dal protocollo Richiesta commenti (RFC) 2217.

Con il driver di periferica Serial over Ethernet (SoE), è possibile creare periferiche seriali virtuali e periferiche tty (teletype) nel sistema operativo AIX utilizzando il server di periferica Ethernet (EDS) supportato dal protocollo RFC (Request for Comments) 2217. Esempi di EDS includono i dispositivi Digi e Perle . Le funzioni del programma di controllo unità SoE sono simili a una porta COM (communication) reale, ad esempio, adattatori a 2 porte, 8 porte e 128 porte.

EDS è anche noto come Ethernet Serial Server o Ethernet Terminal Server. Una EDS è un'apparecchiatura esterna nonIBM® a cui è collegata Ethernet e l'apparecchiatura contiene una o più porte seriali (RS/232) a cui possono essere collegate modem esterni. Un EDS è compatibile se supporta RFC 2217 (Telnet Com Port Control Protocol), ovvero un'estensione del protocollo Telnet. Utilizzando questo protocollo, le funzioni EDS come server RFC 2217. Un EDS può accettare le sessioni Telnet dal sistema client RFC 2217 e inviare i dati Telnet ricevuti ad una porta COM. I dati ricevuti alla porta COM vengono inviati al sistema client RFC 2217.

Un EDS può anche inviare informazioni sulle modifiche dello stato dei dispositivi seriali al sistema client RFC 2217. Il sistema client RFC 2217 gestisce il controllo di flusso con l'EDS e invia le informazioni di configurazione all'EDS utilizzando questo protocollo.

La di AIX funge da sistema client RFC 2217. La di AIX stabilisce una sessione Telnet ad un EDS, ovvero un server RFC 2217. La seguente figura mostra come una AIX comunica con un EDS per fornire una porta seriale virtuale:

Figura 1. Configurazione del server Driver Ethernet
Configurazione del server Driver Ethernet

Configurazione del server di periferiche Ethernet

Ethernet Device Server (EDS) di solito fornisce un'interfaccia basata sul web per la configurazione e la gestione. Ad esempio, se un Digi PortServer dispositivo ha un indirizzo IP di 9.5.80.73, è possibile accedere all'interfaccia di configurazione e gestione URLhttp://9.5.80.73 inserendo in un browser web. Ogni porta seriale su un EDS ha un numero di porta TCP assegnato. È possibile accedere ad una specifica porta seriale stabilendo una sessione Telnet all'indirizzo IP EDS e al numero di porta TCP assegnato alla porta seriale, ad esempio 9.5.80.73:2001. Questa sessione Telnet viene creata internamente dal SoE driver.

Configurazione della funzione AIX per creare porta seriale virtuale

Il programma di controllo unità SoE conserva la semantica per la creazione di unità adattatore SoE (sa) e teletype (tty) in un modo simile in cui viene creato un dispositivo per un dispositivo seriale fisico.

Per creare una porta seriale virtuale su una piattaforma AIX , completare i seguenti passaggi inserendo i seguenti comandi o utilizzando le opzioni di menu smit soe .

  1. Creare un dispositivo sa eseguendo il seguente comando. Specificare l'indirizzo IP di un EDS.
    # mkdev -c adapter -s pseudo -t soe -a netaddr=EDS_IP_address
    Esempio:
    # mkdev -c adapter -s pseudo -t soe -a netaddr=9.126.88.123
    sa2 Available
  2. Creare un dispositivo tty eseguendo il seguente comando. Specificare il dispositivo SoE adapter (sa) visualizzato nell'output del comando dal passo 1 e una porta TCP.
    # mkdev -t tty -s rs232 -p sa_device -w tty_port_number -a -a port_num=TCP_port
    Esempio:
    # mkdev -t tty -s rs232 -p sa2 -w 0 -a port_num=2002
    tty1 Available
    Questo comando crea un'unità tty nella directory /dev . Qualsiasi applicazione può utilizzare il dispositivo tty appena creato per comunicare con il dispositivo di destinazione collegato alla porta seriale su un EDS.
Nota: ciascuna porta seriale su un EDS deve essere configurata con una porta TCP univoca e ogni dispositivo tty configurato utilizzando il driver di periferica SoE deve essere associato a questa porta univoca. Una porta tty su un EDS non può essere condivisa da più unità tty su AIX LPAR.

Spostamento dei dispositivi terminali tty attraverso il dispositivo seriale asincrono

Un'unità terminale tty (teletype) può essere spostata da un'unità seriale (unità di supporto) dell'adattatore SoE asincrona ad un'altra unità asincrona. Può anche essere spostato da una porta fisica ad un'altra porta fisica sullo stesso dispositivo asincrono. Il sistema operativo AIX supporta sia le opzioni di riga comandi che smitty per lo spostamento dell'unità terminale tty.
Nota:
  • Le impostazioni di configurazione specifiche del dispositivo terminale, come ad esempio la velocità di baud e le modalità di esecuzione non cambieranno dopo il movimento ad un dispositivo asincrono.
  • Un dispositivo terminale tty non può essere aperto da un'applicazione o utilizzato quando è in corso l'operazione di spostamento.

I dispositivi asincroni possono essere una vera e propria porta di comunicazione come gli adattatori PCI 2-port, 8-port e 128 porte o un driver di porta di comunicazione compatibile RFC2217 . Il driver di periferica SoE è un'enumerazione di EDS.

Un'unità tty da un adattatore asincrono fisico basato su PCI può essere spostata su un'altra periferica fisica basata su PCI o da un'unità asincrona fisica basata su PCI a una periferica SoE o viceversa oppure può essere spostata da un tipo di periferica SoE ad un altro tipo di unità SoE .

Considerare lo scenario in cui le periferiche terminali tty di un programma di controllo unità SoE hanno un indirizzo IP 192.168.1.1 e si desidera modificare l'indirizzo IP del programma di controllo unità SoE in indirizzo IP 10.1.1.1. Non è possibile eseguire il comando chdev per modificare l'indirizzo IP del programma di controllo unità SoE fino a quando tutte le unità terminali tty associate non vengono rimosse completamente eseguendo il comando rmdev o fino a quando tutte le unità terminali tty associate non vengono spostate in uno stato definito eseguendo il comando rmdev . Per modificare l'indirizzo IP di un driver di periferica SoE supportato da un EDS, è possibile spostare l'unità terminale tty su un'unità seriale asincrona.

Per modificare l'indirizzo IP di un driver di dispositivo SoE , completare la seguente procedura:
  1. Creare un programma di controllo unità SoE con l'indirizzo IP 10.1.1.1.
  2. Spostare tutti i driver di periferica del terminale tty nella periferica SoE con indirizzo IP 192.1681.1 nella nuova periferica SoE con indirizzo IP 10.1.1.1 utilizzando smitty o il comando chdev .
  3. Assicurarsi che nessuno dei dispositivi terminali tty sia in uso o in uno stato aperto. Per spostare un terminale tty da una porta a un'altra porta dello stesso dispositivo SA, eseguire il comando chdev con il nuovo numero di porta come opzione nel flag -w. Di seguito è riportata la sintassi del comando chdev :
    chdev -1 <tty device> -w <destionation port number>

Ad esempio, per spostare un dispositivo terminale tty dalla porta 0 alla porta 1, inserire il seguente comando:

chdev -1 ttyX -w 1

Per spostare un dispositivo terminale tty da un dispositivo di supporto ad un altro dispositivo di supporto, il nome del nome del dispositivo di destinazione deve essere specificato come opzione per la bandiera -p . Di seguito è riportata la sintassi del comando chdev :

chdev -1 <tty device> -p <destination parent>

Ad esempio, per spostare un dispositivo terminale tty tty0 da un dispositivo seriale SA1 ad un dispositivo seriale SA3 , inserire il seguente comando:

chdev -1 tty0 -p sa2

Per spostare un'unità terminale tty da un'unità adattatore fisico come gli adattatori PCI a 2, 8 o 128 porte a un programma di controllo unità SoE (conforme aRFC2217 ), è necessario specificare un numero di porta TCP mediante l'indicatore -a come attributo port_num .

Ad esempio, per spostare un dispositivo terminale tty tty0 da un dispositivo seriale SA2 ad un dispositivo seriale SA3 , inserire il seguente comando:

chdev -1 tty0 -p sa3 -a 2001

La sintassi del comando per spostare una periferica terminale tty da un driver periferica SoE supportato da un EDS a un'altra periferica SoE supportata da un altro EDS è riportata di seguito:

chdev -1 <tty device> -p <destination parent>

Ad esempio, per spostare un dispositivo terminale tty da un dispositivo seriale SA1 (supportato da EDS1) ad un dispositivo seriale SA2 (supportato da EDS2), inserire il seguente comando:

chdev -1 tty0 -p sa2

Parametri regolabili

I seguenti parametri ottimizzabili sono disponibili per ottimizzare alcuni degli attributi utilizzati dal programma di controllo unità SoE :
  • idle_timeout: specifica la quantità di tempo, misurata in mezzo secondo, per cui la connessione TCP tra un driver di periferica SoE ed EDS è inattiva prima che i probe TCP keepalive vengano inviati alla periferica. Questo valore corrisponde all'opzione di rete TCP tcp_keepidle impostata da un programma di controllo SoE per questa connessione TCP. Il valore predefinito è 360.
  • probe_interval: Specifica l'intervallo, misurato in mezzo secondi, tra i pacchetti TCP keepalive inviati per convalidare la connessione TCP stabilita in EDS. Questo valore corrisponde all'opzione di rete TCP tcp_keepintvl impostata da un programma di controllo SoE per questa connessione TCP. Il valore predefinito è 10.
  • probe_count: Specifica il numero di probabili keepalive TCP che possono essere inviate al dispositivo prima di terminare la connessione TCP stabilita con l'EDS. Questo valore corrisponde all'opzione di rete TCP tcp_keepcnt impostata da un driver SoE per questa connessione TCP. Il valore predefinito è 24.

Risoluzione degli errori comuni

Se il driver di periferica SoE o EDS non è configurato correttamente, quando il dispositivo tty viene creato sulla LPAR AIX , lo stato del dispositivo tty potrebbe passare allo stato DOWN o ERROR . Se il driver del dispositivo è configurato correttamente, lo stato del dispositivo tty deve essere UP. Lo stato dell'unità tty viene visualizzato dal comando soestat che può essere utilizzato per risolvere i problemi.

Lo stato del dispositivo tty può essere DOWN a causa dei seguenti motivi:
  • L'indirizzo IP o il numero di porta potrebbero non essere corretti su un driver di dispositivo SoE o su un EDS.
  • EDS potrebbe non essere raggiungibile dalla LPAR AIX in cui è configurato un driver di periferica SoE a causa di una configurazione di rete non corretta o di una topologia di rete non corretta.
  • Più dispositivi tty vengono creati utilizzando lo stesso numero di porta TCP su un EDS.
Lo stato del dispositivo tty può essere ERROR a causa dei seguenti motivi:
  • La modalità RFC 2217 non è selezionata in un EDS. Fare riferimento al documento del produttore EDS per identificare come configurare la modalità RFC 2217.
  • L'indirizzo IP fornito non è di un EDS, ma di un'altra macchina, che è raggiungibile dalla LPAR AIX in cui è configurato il driver di periferica SoE .
Nota: Un dispositivo tty non può essere recuperato da uno stato ERROR e utilizzato ulteriormente. Dopo aver risolto il problema, è necessario rimuovere manualmente il dispositivo tty che si trova nello stato ERROR e ricreare un dispositivo tty oppure spostare il tty sullo stato defined e spostarlo nuovamente nello stato available .