34.3. Trasmissione dati a infrarossi

IrDA (Infrared Data Association) è uno standard industriale per la comunicazione wireless a raggi infrarossi. Molti computer portatili attualmente in commercio sono dotati di ricetrasmettitori compatibili IrDA che consentono la comunicazione con altri dispositivi quali ad es. stampanti, modem, LAN o altri computer portatili. La velocità di trasferimento va da 2400 bps a 4 Mbps.

Esistono due modalità di funzionamento IrDA. La modalità standard, SIR, accede alla porta infrarossi tramite interfaccia seriale. Questa modalità funziona su quasi tutti i sistemi ed è sufficiente per la maggior parte dei requisiti. La modalità più veloce, FIR, richiede un driver speciale per il chip IrDA. Non tutti i tipi di chip sono supportati nella modalità FIR poiché mancano driver appropriati. Impostare la modalità IrDA desiderata nel BIOS del computer. Il BIOS indica anche l'interfaccia seriale utilizzata nella modalità SIR.

Ulteriori informazioni su IrDA sono disponibili nel documento IrDA HOWTO di Werner Heuser all'indirizzo http://tuxmobil.org/Infrared-HOWTO/Infrared-HOWTO.html. Fare inoltre riferimento al sito del progetto Linux IrDA all'indirizzo http://irda.sourceforge.net/.

34.3.1. Software

I moduli necessari per il kernel sono inclusi nel pacchetto del kernel. Il pacchetto irda fornisce applicazioni helper per il supporto dell'interfaccia a infrarossi. È possibile consultare la documentazione in /usr/share/doc/packages/irda/README dopo aver installato il pacchetto.

34.3.2. Configurazione

Il servizio del sistema IrDA non viene avviato automaticamente all'avvio del sistema. Utilizzare il modulo IrDA di YaST per l'attivazione. In questo modulo è possibile modificare soltanto un'impostazione: l'interfaccia seriale del dispositivo a infrarossi. La finestra di verifica indica due output. Uno è l'output di irdadump, che registra tutti i pacchetti IrDA inviati e ricevuti. Questo output deve contenere il nome del computer e i nomi di tutti i dispositivi a infrarossi nell'intervallo di trasmissione. Un esempio di questi messaggi viene mostrato nella Sezione 34.3.4, "Risoluzione dei problemi". Tutti i dispositivi per i quali esiste una connessione IrDA sono elencati nella parte inferiore della finestra.

La connessione IrDA consuma una notevole quantità di alimentazione a batteria poiché ogni pochi secondi viene inviato un pacchetto di rilevamento per rilevare altri dispositivi periferici. Perciò, è necessario avviare la connessione IrDA solo se necessario nel caso si utilizzi l'alimentazione a batteria. Immettere il comando rcirda start per attivarla, oppure rcirda stop per disattivarla. Quando si attiva l'interfaccia, vengono caricati automaticamente tutti i moduli del kernel necessari.

È possibile eseguire la configurazione manuale nel file /etc/sysconfig/irda. Questo file contiene una sola variabile, IRDA_PORT, che stabilisce l'interfaccia da utilizzare nella modalità SIR.

34.3.3. Utilizzo

I dati possono essere inviati al file di dispositivo /dev/irlpt0 per la stampa. Il file di dispositivo /dev/irlpt0 funge come la normale interfaccia cablata /dev/lp0, a meno che i dati di stampa siano inviati wireless a raggi infrarossi. Per la stampa, assicurarsi che la stampante si trovi nell'intervallo di visualizzazione dell'interfaccia a infrarossi del computer e che il supporto a infrarossi sia avviato.

Una stampante gestita tramite interfaccia a infrarossi può essere configurata con il modulo stampante di YaST. Poiché non viene rilevata automaticamente, è possibile configurarla facendo clic su Altro (non rilevato). Nella finestra di dialogo seguente, selezionare IrDA printer. In genere, irlpt0 è la connessione giusta. Informazioni dettagliate sul funzionamento delle stampanti in Linux sono disponibili nel Capitolo 11, Uso della stampante.

La comunicazione con altri host e con i cellulari o con altri dispositivi simili viene effettuata tramite il file dispositivo /dev/ircomm0. I cellulari Siemens S25 e Nokia 6210, ad esempio, possono eseguire la connessione a Internet con l'applicazione wvdial utilizzando l'interfaccia a infrarossi. È anche possibile la sincronizzazione dei dati con un Palm Pilot, a condizione che l'impostazione del dispositivo dell'applicazione corrispondente sia stata configurata su /dev/ircomm0.

Se lo si desidera, è possibile indicare soltanto dispositivi che supportano la stampante o i protocolli IrCOMM. È possibile accedere con applicazioni speciali, quali ad esempio irobexpalm e irobexreceive, a dispositivi che supportano il protocollo IROBEX, quali ad esempio il Palm Pilot di 3Com. Per ulteriori informazioni, fare riferimento a IR-HOWTO (http://tldp.org/HOWTO/Infrared-HOWTO/). I protocolli supportati dal dispositivo sono elencati in parentesi dopo il nome del dispositivo nell'output di irdadump. Il supporto del protocollo IrLAN è ancora "in fase di sviluppo."

34.3.4. Risoluzione dei problemi

Se i dispositivi connessi alla porta a infrarossi non rispondono, utilizzare il comando irdadump (come radice) verificare se l'altro dispositivo viene riconosciuto dal computer. Viene visualizzato regolarmente un messaggio simile all'Esempio 34.1, "Output di irdadump" quando nell'intervallo di visualizzazione è presente la stampante Canon BJC-80:

Esempio 34.1. Output di irdadump

21:41:38.435239 xid:cmd 5b62bed5 > ffffffff S=6 s=0 (14) 
21:41:38.525167 xid:cmd 5b62bed5 > ffffffff S=6 s=1 (14)
21:41:38.615159 xid:cmd 5b62bed5 > ffffffff S=6 s=2 (14)
21:41:38.705178 xid:cmd 5b62bed5 > ffffffff S=6 s=3 (14)
21:41:38.795198 xid:cmd 5b62bed5 > ffffffff S=6 s=4 (14)
21:41:38.885163 xid:cmd 5b62bed5 > ffffffff S=6 s=5 (14)
21:41:38.965133 xid:rsp 5b62bed5 < 6cac38dc S=6 s=5 BJC-80 
                        hint=8804 [Printer IrCOMM ] (23) 
21:41:38.975176 xid:cmd 5b62bed5 > ffffffff S=6 s=* earth 
                        hint=0500 [ PnP Computer ] (21)

Verificare che nella configurazione dell'interfaccia non vi sia alcun output o che l'altro dispositivo non risponda. Verificare che sia utilizzata l'interfaccia corretta. L'interfaccia a infrarossi viene ubicata talvolta in /dev/ttyS2 oppure in /dev/ttyS3 e a volte viene utilizzata un'interruzione diversa da IRQ 3. Queste impostazioni possono essere verificate e modificate nel menu di configurazione del BIOS di quasi tutti i computer portatili.

Per stabilire se le luci della spia a infrarossi si accendono può essere sufficiente anche una semplice videocamera. La maggior parte delle videocamere sono in grado di vedere la luce a infrarossi che sfugge all'occhio umano.