34.3. Transmissão de dados infravermelhos

A IrDA (Infrared Data Association - Associação de Dados Infravermelhos) é um padrão da indústria para comunicação sem fio com luz infravermelha. Muitos laptops vendidos atualmente são equipados com um transceptor compatível com IrDA que permite a comunicação com outros dispositivos, como impressoras, modems, LANs ou outros laptops. A velocidade de transferência varia de 2.400 bps a 4 Mbps.

Há dois modos de operação IrDA. O modo padrão, SIR, acessa a porta infravermelha por meio de uma interface serial. Esse modo funciona em quase todos os sistemas, sendo suficiente para a maioria dos requisitos. O modo mais rápido, FIR, requer um driver especial para o chip do IrDA. Nem todos os tipos de chip são suportados no modo FIR, devido à ausência de drivers apropriados. Defina o modo de IrDA desejado no BIOS de seu computador. O BIOS também mostra que interface serial é usada no modo SIR.

É possível encontrar informações sobre o IrDA no guia do IrDA da Werner Heuser, em http://tuxmobil.org/Infrared-HOWTO/Infrared-HOWTO.html. Além disso, consulte o site da Web do Projeto IrDA do Linux, em http://irda.sourceforge.net/.

34.3.1. Software

Os módulos de kernel necessários são incluídos no pacote do kernel. O pacote irda fornece os aplicativos ajudantes necessários para suportar a interface infravermelha. A documentação pode ser encontrada em /usr/share/doc/packages/irda/README, depois da instalação do pacote.

34.3.2. Configuração

O serviço do sistema IrDA não é iniciado automaticamente quando o sistema é iniciado. Use o módulo IrDA do YaST para a ativação. Só é possível modificar uma configuração neste módulo: a interface serial do dispositivo infravermelho. A janela de teste mostra duas saídas. Uma é a saída de irdadump, que registra todos os pacotes de IrDA enviados e recebidos. Essa saída deve conter o nome do computador e os nomes de todos os dispositivos infravermelhos da faixa de transmissão. Há um exemplo dessas mensagens na Seção 34.3.4, “Solução de problemas”. Todos os dispositivos para os quais existe uma conexão IrDA são relacionados na parte inferior da janela.

O IrDA consome uma quantidade considerável de energia da bateria, pois pacotes de descoberta são enviados com um intervalo de poucos segundos para detectar outros dispositivos periféricos. Portanto, caso você dependa da energia da bateria, o IrDA só deverá ser iniciado quando necessário. Digite o comando rcirda start para ativá-lo ou rcirda stop para encerrá-lo. Todos os módulos de kernel necessários serão carregados automaticamente quando a interface for ativada.

A configuração manual pode ser executada no arquivo /etc/sysconfig/irda. O arquivo contém apenas uma variável, IRDA_PORT, que determina a interface a ser usada no modo SIR.

34.3.3. Uso

Os dados podem ser enviados para o arquivo de dispositivo /dev/irlpt0 para impressão. O arquivo do dispositivo /dev/irlpt0 age como a interface cabeada /dev/lp0 normal, sendo que os dados de impressão são enviados em modo sem fio com a luz infravermelha. Para imprimir, verifique se a impressora está dentro da faixa visual da interface infravermelha do computador e se o suporte a infravermelho foi iniciado.

Uma impressora operada pela interface infravermelha pode ser configurada com o módulo Impressora do YaST. Como ela não é detectada automaticamente, configure-a manualmente clicando em Outro (não detectado). Na caixa de diálogo seguinte, selecione Impressora IrDA. Normalmente, a conexão correta é irlpt0. Os detalhes sobre as impressoras em operação no Linux estão disponíveis no Capítulo 11, Operação da impressora.

A comunicação com outros hosts e com telefones celulares ou dispositivos semelhantes é conduzida por meio do arquivo de dispositivo /dev/ircomm0. Os telefones celulares Siemens S25 e Nokia 6210, por exemplo, podem discar e se conectar com a Internet com o aplicativo wvdial, usando a interface infravermelha. A sincronização de dados com um Palm Pilot também é possível, desde que a configuração do dispositivo do aplicativo correspondente seja definida como /dev/ircomm0.

Se desejar, você poderá usar apenas dispositivos que suportem os protocolos da impressora ou IrCOMM. Dispositivos que suportam o protocolo IROBEX, como 3Com Palm Pilot, podem ser acessados com aplicativos especiais, como irobexpalm e irobexreceive. Consulte IR-HOWTO (http://tldp.org/HOWTO/Infrared-HOWTO/) para obter mais informações. Os protocolos suportados pelo dispositivo são relacionados entre colchetes depois do nome do dispositivo, na saída de irdadump. O suporte ao protocolo rLAN ainda está “em andamento”.

34.3.4. Solução de problemas

Se os dispositivos conectados à porta infravermelha não responderem, use o comando irdadump (como root) para verificar se o outro dispositivo é reconhecido pelo computador. Algo semelhante ao Exemplo 34.1, “Saída de irdadump” será exibido regularmente, quando uma impressora Canon BJC-80 estiver dentro de uma faixa visível do computador:

Exemplo 34.1. Saída de 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 [IrCOMM de impressora] (23) 
21:41:38.975176 xid:cmd 5b62bed5 > ffffffff S=6 s=* earth 
						hint=0500 [ Computador PnP ] (21)

Verifique a configuração da interface se não houver saída ou se o outro dispositivo não responder. Verifique se a interface correta está sendo usada. Algumas vezes, a interface infravermelha está localizada em /dev/ttyS2 ou em /dev/ttyS3, e interrupções diferentes de IRQ 3 são usadas ocasionalmente. Essas configurações podem ser verificadas e modificadas no menu de configuração do BIOS de quase todos os laptops.

Uma simples câmera de vídeo também pode ajudar a determinar se o LED infravermelho está acendendo. A maioria das câmeras de vídeo pode ver a luz infravermelha, que nossos olhos não vêem.