17.3. IrDA – Infrared Data Association

IrDA (ingl.Infrared Data Association) è uno standard industriale per la comunicazione wireless tramite i raggi a infrarossi. Oggi sono molti i portatili che permettono di comunicare, basandosi sullo standard IrDA, per esempio con stampanti, modem, LAN o altri portatili. La trasmissione avviene in un range tra i 2400 bps ed i 4 Mbps.

IrDA ha due modi di funzionamento. Nella modalità standard SIR, la porta a infrarossi viene indirizzata tramite una interfaccia seriale. Questa modalità funziona su quasi tutti i dispositivi. La modalità più veloce FIR necessita di un driver speciale per il chip IrDA. Comunque non vi è un driver per ogni di questi chip. Inoltre va impostato la modalità desiderata nel BIOS setup del computer. Lì si vede anche quale interfaccia seriale viene utilizzata per la modalità SIR.

Ulteriori informazioni su IrDA si trovano nell'IrDA-Howto di Werner Heuser sotto http://tuxmobil.org/Infrared-HOWTO/Infrared-HOWTO.html e sulla home page del Linux IrDA Project: http://irda.sourceforge.net/

17.3.1. Software

I moduli del kernel necessari sono contenuti nel pacchetto del kernel. Il pacchetto irda mette a disposizione le utility necessarie al supporto della porta ad infrarossi. Dopo aver installato il pacchetto, trovate la documentazione sotto /usr/share/doc/packages/irda/README.

17.3.2. Configurazione

Il sistema di servizio IrDA non viene avviato automaticamente al boot. Usate il modulo IrDA di ai fini dell'abilitazione che presenta solo una impostazione da poter modificare: l'interfaccia seriale del dispositivo a infrarossi. Nella finestra di test vi sono due output. Una volta quello del programma irdadump che protocolla tutti i pacchetti IrDA inviati e ricevuti. In questo output dovrebbe essere indicato il nome del sistema ed il nome di tutti i dispositivi a infrarossi che si trovano nei suoi pressi. Un esempio di questi messaggi sono reperibili nella sezione Section 17.3.4, “Troubleshooting”. Tutti i dispositivi connessi via IrDA vengono elencati nella parte inferiore della finestra.

Purtroppo il consumo energetico (alimentazione a batteria) di IrDA è elevato, poichè a intervalli di pochissimi secondi viene inviato un pacchetto cosiddetto discovery per il rilevamento automatico delle altre periferiche. Così si consiglia, soprattutto se è la batteria ad alimentare il sistema, di avviare IrDA solo nel caso di necessità; con il comando rcirda start attivate l'interfaccia manualmente e con il parametro stop la disabilitate. Quando attivate l'interfaccia, tutti i moduli del kernel necessari vengono caricati automaticamente.

La configurazione manuale va eseguita nel file /etc/sysconfig/irda dove trovate una variabile IRDA_PORT con la quale determinare quale interfaccia debba venire usata nella modalità SIR.

17.3.3. Uso

Se volete stampare servendovi dei raggi infrarossi, potete inviare i dati tramite il file di dispositivo /dev/irlpt0. Il file di dispositivo /dev/irlpt0 si comporta come un'interfaccia connessa via cavo /dev/lp0, con la sola differenza che i dati da stampare vengono inviati wireless tramite i raggi ad infrarossi. Quanto stampate, tenete presente che la stampante debba essere visibile per l'interfaccia a infrarossi e che venga avviato il supporto della funzionalità a infrarossi.

Una stampante che viene usata tramite una porta ad infrarossi, si lascia configurare tramite Visto che la stampante non viene rilevata automaticamente, iniziate il processo di configurazione conAltre (non rilevate). Nel prossimo dialogo potete selezionare Stampante tramite IrDA. Come collegamento irlpt0 va quasi sempre bene. Per dei dettagli che riguardano il processo di stampa sotto Linux rimandiamo al capitolo Chapter 12, Processo di stampa.

Se volete comunicare tramite la porta ad infrarossi con altri computer, con telefonini o dispositivi simili, potete farlo con il file di dispositivo /dev/ircomm0. Con il telefonino S25 della Siemens per esempio potete collegarvi, grazie ai raggi infrarossi, senza aver bisogno dei cavi ovvero wireless ad Internet tramite il programma wvdial. Potete anche allineare i vostri dati con il Palm Pilot, basta immettere nel rispettivo programma /dev/ircomm0 come dispositivo.

Tenete presente che potete indirizzare solo dispositivi che supportano i protocolli Printer o IrCOMM. Grazie a programmi particolari come irobexpalm3, irobexreceive, potete indirizzare anche dispositivi che utilizzano il protocollo IROBEX (3Com Palm Pilot). Maggiori dettagli sono reperibili nell'IR-HOWTO (http://tldp.org/HOWTO/Infrared-HOWTO/). I protocolli supportati dal dispositivo vengono indicati nella parentesi quadra dopo i nomi dei dispositivi nell' output di irdadump. Il supporto del protocollo IrLAN si trova in fase di sviluppo.

17.3.4. Troubleshooting

Se i dispositivi alla porta ad infrarossi non dovessero reagire, controllate come root, con il comando irdadump se vengono rilevati altri dispositivi dal computer:

Nel caso di una stampante Canon BJC-80 nei pressi del computer si ha un output simile al seguente ripetuto più volte (cfr. output Example 17.1, “Output di irdadump”.

Example 17.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=* terra 
                        hint=0500 [ PnP Computer ] (21)

Se non si ha alcun output o l'altro dispositivo non risponde, controllate la configurazione della porta. State utilizzando la porta giusta? A volte la porta ad infrarossi si trova anche sotto /dev/ttyS2 o /dev/ttyS3, o stato usando un interrupt diverso da Interrupt 3. Queste impostazioni si lasciano configurare su quasi ogni portatile nel BIOS setup.

Con una semplice videocamera potete anche controllare se si accende il LED a infrarossi – a differenza dell'occhio umano la maggior parte delle videocamere riesce a captare i raggi infrarossi.