[Giochi] [About] [Copertina] [Intervista a D. Miller]

Articoli



Le schede multiseriali Cyclades


Non posso cominciare questo articolo se non con le scuse per il ritardo con cui e' stato realizzato. La scheda in prova (una cyclom-8yo) e' stata gentilmente donata dalla Cybernet di Pozzuoli al gruppo Pluto al termine delle giornate del raduno i2u, ma purtroppo solo ora sono riuscito a fare una prova di una certa serieta' (almeno spero). Ne approfitto inoltre per inviare i miei saluti ai due responsabili della Cybernet che hanno partecipato con incredibile entusiasmo alle iniziative dello stand Linux, contribuendo molto al successo delle giornate e della convention.

Uno degli usi principali del linux in una azienda e' quello di server, sia esso impiegato come file server (tramite samba o MARS), print server (ad esempio per consentire la stampa in postscript da qualunque stampante) o per gestire un pool di modem (tipico il caso di un Internet Provider). In quest'ultimo caso si presenta spontaneamente la necessita' di disporre di un numero consistente di porte seriali e di gestire la comunicazione su queste seriali in modo efficiente. La risposta a questo problema viene dalle schede multiseriali, che sono generalmente divise in due categorie: intelligenti e "stupide". Le schede stupide non solo altro che una raccolta di interfacce seriali (di solito le classiche 16550) su una unica scheda ISA o PCI. Tali schede solitamente sono molto economiche, sono semplici da pilotare (visto che i drivers di gestione sono identici ai drivers delle seriali standard del PC, le famose porte COM) ma presentano il serio inconveniente di non gestire in modo affidabile molte comunicazioni contemporanee ad alta velocita' (115.200 baud, tipico dei modem recenti con compressione).

Per questo motivo quando le linee modem cominciano a diventare molte, spesso la scelta ricade sulle schede intelligenti. Le schede di questo tipo solitamente hanno un processore dedicato che si occupa di gestire e bufferare i vari flussi di informazione per evitare che il processore del server venga sovraccaricato di interrupts e quindi per garantire sia una migliore risposta e un minor carico di CPU. D'altro canto le schede intelligenti richiedono un driver specifico (che spesso risulta gia' integrato nel kernel) e sono solitamente piu' costose.

Le schede della Cyclades sono tutte schede intelligenti, basate su un processore RISC interno e disponibili in diverse versioni (con connettore RJ12, DB25 o RJ45). Il driver per la gestione della scheda e' parte integrante del kernel Linux, per cui non vengono forniti drivers esterni insieme alla scheda. La prova e' stata effettuata su una Cyclom 8Yo (connettore DB25), la macchina usata per la prova e' un normalissimo pentium 90 con linux 2.0.6, a cui ho collegato per il periodo della prova 5 modem a 28.8 kbps della zyxel.

Per l'installazione della scheda e' sufficiente disporre di un indirizzo di IRQ libero e cercare un'area di memoria di 8Kbyte disponibile per il trasferimento dei dati. La scheda arriva preconfigurata in modo corretto per la maggior parte delle configurazioni hardware, solitamente i problemi possono sorgere per un conflitto di IRQ facilmente risolvibile (basta spostare i dip switch della scheda per cercare un altro indirizzo libero). Il supporto per la scheda cyclades deve essere integrato nel kernel - questo significa che in molti casi e' necessario ricompilare il kernel aggiungendo il supporto per la scheda stessa. Al reboot successivo dovrebbe comparire la riga:
Cyclom driver $Revision: 1.1.1.1 $$Date: 2001/08/19 11:23:54 $
e una riga successiva in cui identifica l'IRQ su cui la scheda lavora.

Una importante avvertenza: nei kernel recenti (2.0 e successivi) il formato per la numerazione dei devices (quei files fittizi che si trovano nella directory /dev) e' cambiata; in /usr/src/linux/drivers/char esiste un file chiamato README.cyclomY che contiene le modifiche da effettuare al file MAKEDEV che si trova in /dev e che serve a creare dei devices nuovi. La modifica puo' essere fatta anche a mano, e' sufficiente andare alle righe 209 e 210 del file MAKEDEV e cambiare le righe
makedev ttyC$i c $major1 `expr 32 + $i` $tty
makedev cub$i c $major2 `expr 32 + $i` $dialout
con:
makedev ttyC$i c $major1 $i $tty
makedev cub$i c $major2 $i $dialout
A questo punto e' sufficiente andare nella directory /dev e eseguire il comando:
./MAKEDEV cyclades
e la scheda e' pronta per funzionare.

Per quello che riguarda poi l'utilizzo reale, solitamente si aggiungono alcune righe nel file /etc/inittab in modo da far eseguire una getty (o meglio una mgetty) per ogni linea seriale su cui sia collegato un modem, in modo da consentire il login dei clienti e la loro identificazione, oppure se le seriali vengono utilizzate per gestire delle linee dedicate analogiche si puo' impiegare il programma slattach per consentire l'utilizzo dello SLIP o PPP sulla seriale.

Dopo un uso continuato non abbiamo riscontrato alcun problema o irregolarita'. Il driver ha funzionato correttamente al primo colpo, e il carico di CPU risulta effettivamente molto piu' basso con la scheda cyclades. Complessivamente, la scheda funziona veramente bene e nell'uso si dimostra davvero molto affidabile. Per informazioni ulteriori il distributore italiano e' la Cybernet srl, http://www.cybernet.it, email: info@cyber-net.net

di Carlo Daffara


[Giochi] [About] [Copertina] [Intervista a D.Miller]