GulP! GulP!
Benvenuti dal Gruppo Utenti Linux Piombino!

Questa pagina non utilizza frames per massima compatibilità con tutti i browser
e minimizza l'utilizzo di immagini per velocizzare il caricamento. Enjoy!

Ruler
Menu

Home
lo Statuto
Pagine Personali
Documentazione
Software
i Link


Ruler

Una Rete a Costo Zero (o quasi...)

Come forse non tutti sanno, lo scambio dei dati tra due macchine Linux sprovviste di scheda di rete non deve forzatamente essere demandato al trasferimento via floppy (che magari risultano un po' scomodi quando la dimensione dei dati da trasferire comincia a farsi considerevole...). Le macchine in questione, infatti, possono essere facilmente essere messe in rete con l'ausilio di un cavo null-printer e senza dover installare nessun software aggiuntivo. Sui PC basati su DOS/Windows, infatti, la stessa soluzione è vincolata all'utilizzo di un apposito programma di comunicazione chiamato Laplink e distribuito dalla Traveling Software.
Per noi linuxiani, invece, sono sufficienti le flessibili potenzialità del kernel e cinque minuti di tempo per avere una rete PLIP velocissima (anche 50 e più KBytes/sec) al semplice costo di acquisto del cavo.

Il cavo

Veniamo al dunque: il cavo che si richiede è un cavo null-printer, o cavo PLIP, o come dicono alcuni (ahimè, la potenza del commercio ha colpito ancora...) un Laplink Parallelo. Ciò che conta è che NON si tratta di un normale cavo parallelo di quelli che si usano per le stampanti, ad esempio. Il cavo null-printer ha i contatti ribaltati ad uno dei capi, cosa che ne rende impossibile l'utilizzo con una periferica parallela. Tale cavo può essere facilmente acquistato nei negozi di hardware, spesso venduto proprio come "cavo Laplink parallelo" ad una cifra ridicolmente bassa, ossia meno di diecimila lire. Per i fanatici del saldatore a stagno, è necessario dire che tale cavo può essere fabbricato in casa ad una spesa di poco inferiore seguendo gli schemi facilmente reperibili in rete; sarà utile anche dare un'occhiata ai files /usr/src/linux/drivers/net/README1.PLIP e README2.PLIP. Per quanto riguarda la lunghezza del cavo, il PLIP Mini-Howto consiglia di non superare i tre metri, per evitare delle dispersioni.

Il kernel

Altro importante requisito è che nel nostro kernel sia presente il supporto per il PLIP, o integrato o come modulo. ATTENZIONE! L'unico sistema per poter utilizzare alternativamente una stampante e una connessione PLIP è che entrambi siano supportati tramite moduli. Un kernel che integra il supporto per la stampante, infatti, non riuscirà in alcun modo ad usare il PLIP. Quindi, visto che una stampante la usano tutti, la cosa migliore da fare è utilizzare i moduli. Come al solito, in /usr/src/linux facciamo un bel "make menuconfig" (o xconfig) e scegliamo tra le opzioni almeno:

Loadable module support -------->

[*] Enable loadable module support
[*] Kernel module loader support

General Setup ------------------>

[*] Networking Support
[M] Parallel-port support

Networking options ------------->

[*] TCP/IP networking

(per lo più conviene lasciare tutto il resto come si trova, basta assicurarsi del supporto TCP/IP)

Network device support --------->

[*] Network device support?
[M] PLIP (parallel port) support

E perchè continui a funzionare anche la stampante,
Character devices -------------->

[M] Parallel printer support

Fatto. Con questo abbiamo finito, e non resta che il solito make dep; make bzImage; make modules; make modules_install per ricompilare kernel e moduli. Non scordiamoci di ri-eseguire LILO dopo aver installato il nuovo kernel.

Accorgimenti

Perchè una connessione PLIP possa funzionare è necessario verificare un'altro importante particolare, che spesso lascia scoraggiati tutti: la porta parallela deve essere settata in una delle modalità bi-direzionali, come ECP o EPP, per permettere il flusso dei dati in entrambi i sensi!!! Questo lo si fa dall'utility di setup del bios senza nessuna difficoltà.

Attivare la connessione

Tutto è pronto per partire; quello che manca è l'attivazione manuale della connessione, che può essere riassunta nei seguenti passi:

- accertamento dell'assenza dell'lpd e di un eventuale modulo lp
- inserimento dei moduli per la porta parallela
- assegnazione dell'irq alla porta parallela (se non automatico)
- inserimento del modulo plip
- assegnazione dell'ip address alla macchina
- connessione
- aggiunta della macchina al routing

Il tutto ovviamente sarà tanto più comodo farlo fare a uno script da lanciare su ciascuna delle macchine, come il seguente:

--------------------------------------------------------------------------
#!/bin/bash
#Sigmund Baginov's Plip Connect Script - plip1to2
echo "--=*#Connessione PLIP in corso#*=--"
echo "     Coded by  Sigmund Baginov"
echo "-----Rimozione di un eventuale lp module"
rmmod lp
echo "-----Inserimento dei moduli per Parport"
insmod parport
insmod parport_pc
echo "-----Ora setto l'irq della porta parallela al valore 7"
echo 7 > /proc/parport/0/irq
echo "Eccoti i tuoi settaggi:"
echo ""
cat /proc/parport/0/hardware
echo ""
echo "-----Ora carico il PLIP"
insmod plip
echo "-----Ora attivo la connessione PLIP dall'host 1 al 2"
ifconfig plip0 192.168.0.1 pointopoint 192.168.0.2 up
echo "-----E ora aggiungo 2 al routing:"
route add 192.168.0.2 plip0
echo ""
echo "Ecco Fatto!!!!"
echo "Se il PLIP è attivo su entrambe le macchine, godetevi l'FTP!!!"
------------------------------------------------------------------------

che sì, è un po' brutale, ma efficace.

ATTENZIONE!!! io chiamo questo script "plip1to2"; sull'altra macchina, lo script da eseguire (che chiamo "plip2to1") ha gli IP-address SCAMBIATI!!! (e quindi anche i commenti tipo "attivo la connessione PLIP dall'host FOO all'host BAR" ;-))
E' indifferente l'ordine con il quale si eseguono gli script; una volta attivata la connessione da entrambe le parti, le due macchine si comporteranno come se fossero in una LAN, riferendosi a vicenda tramite gli ip-address scelti.
A proposito degli ip: gli indirizzi scelti sono del tutto arbitrari, ma per evitare problemi  nell'eventualità che una delle due fosse connessa ad internet, è preferibile utilizzare ip riservati appositamente per queste cose ossia quelli che sono nei seguenti range:

10.0.0.0     -  10.255.255.255
172.16.0.0   -  172.31.255.255
192.168.0.0  -  192.168.255.255

Per verificare il corretto funzionamento della rete PLIP adesso è sufficiente un ping all'altra macchina.

Cosa ci faccio?

Gli utilizzi sono molti e spesso divertenti; tempo fa ho installato sul mio portatile un ftp server (ProFTPD) e l'ho utilizzato per trasferire oltre 200 MBytes di dati su un'altra macchina dotata di masterizzatore; oppure per passare un programma troppo grande ad un amico; può essere utilizzato per installare linux su computer senza cdrom e infine, per giocare a FreeCiv 1.10 (naturalmente ;-P) con un amico. Insomma, la fantasia è libera di esprimersi e trovare nuovi utilizzi, o magari risolvere problemi che non si pensava avessero soluzione.

Le prestazioni

La velocità di un PLIP dipende essenzialmente dai seguenti fattori:

- Utilizzo che se ne fa
- Carico del sistema
- Impedenza del cavo e disturbi (per gioco, si veda la voce "fat electrons" sul jargon file)

Personalmente sono riuscito a trasferire tra due portatili (il mio Extensa 355 e un Toshiba Satellite) un unico file di 30 MBytes a una velocità di 52 Kbytes/sec, che non è niente male. I due utilizzavano ProFTPD e IglooFTP sotto Windowmaker. Ho notato che la velocità diminuisce decisamente, nonostante mi fossi collegato con una macchina ben più potente, utilizzando il KDE, quindi consiglio, per utilizzi che non implicano il divertimento, di rimanere in console e rinunciare (per quanto possibile) alla superficie grafica.

Enjoy!