Disciplina: Integração Software e Hardware

Professor: Antonio Augusto Fröhlich

Equipe: Claudio Ulisses Nunes Biava

            Felipe de Luca Medeiros

            Leandro Ricardo Orthmann

 

 

Conceitos Básicos

 

 

WaveLan

 

WaveLan é uma tecnologia networking que permite a conexão de computadores sem qualquer cabo e usa tecnologia infra-vermelha principalmente (rádio é incluído no espectro infra-vermelho). Esta tecnologia é chamada LAN porque o alcance de cobertura é pequeno (dentro de um escritório, uma loja de building,a, um campus pequeno).

WaveLAN é uma LAN (Local Area Network) onde a comunicação ocorre por rádio, usando ondas na frequência de 900 MHz ou de 2,4 GHz. Foi pioneiramente construída pela Lucent (formalmente AT&T).

Para o funcionamento de uma rede WaveLAN, cada computador deve possuir uma placa WaveLAN. Estas placas são construídas utilizando o controlador Ethernet como padrão, porém a camada física do padrão Ethernet é substituída por comunicação via rádio. Placas WaveLAN ISA e PCMCIA compartilham a mesma arquitetura básica, tem o mesmo modem (MOdulation/DEModulation), mas têm diferentes controladores Ethernet e interfaces de barramento (o PCMCIA tem somente um buffer de transmissão).

Apesar de usar o mesmo nome, uma WaveLAN IEEE é diferente de uma WaveLAN, e são totalmente incompatíveis em termos de protocolo e interface de hardware. Foi também construído pela Lucent, e ainda opera em 2,4 GHz, mas o novo hardware suporta por completo o protocolo IEEE 802.11 e não é mais baseado num chip Ethernet MAC. Há somente versões PCMCIA (a versão ISA precisa de um bridge ISA para PCMCIA). Recentemente, a Lucent lançou um adaptador USB e uma versão mini-PCI da placa para laptop.
Para confundir ainda mais, a Lucent recentemente renomeou a WaveLAN IEEE para Orinoco. Este novo nome foi criado pela Agere, que é a nova companhia baseada na Lucent.

 

Padrão 802.11b da IEEE 

O padrão 802.11 da IEEE (Instituto de Engenheiros Elétricos e Eletrônicos dos EUA - www.ieee.org definiram uma tecnologia de rede local, com taxa de transmissão de até 2 Mbps, para as faixas não licenciadas acima mencionadas. Várias fabricantes lançaram produtos para este padrão, inclusive a Apple, a Lucent, a Cisco e a Bay Networks (agora Nortel Networks). O produto da Lucent era chamado de Wavelan, e este nome se tornou sinônimo da tecnologia. As vantagens destes produtos, do ponto de vista de quem monta redes, é a dispensa de cabeamento, o que pode apresentar vantagens com computadores fixos em prédios onde fica inconveniente a passagem de cabos, e especialmente quando a rede se estende por mais de um prédio. Normalmente o alcance de uma rede destas é da ordem de 100 metros, mas pode ser estendido pelo uso de antenas com maior ganho do que aquelas embutidas nas placas de rede. No caso específico de antenas direcionais, a tecnologia pode ser usada para implementar enlaces ponto a ponto, e tem casos documentados do seu uso no País para distâncias de mais de 40 km (www.rnp.br/newsgen/9806/wireless-wan.shtml ).

O padrão 802.11b da IEEE, que eleva de 2 para 11 Mbps a taxa de transmissão, e parece ser fadado de se tornar o padrão do mercado de redes locais de rádio, em competição direta com redes Ethernet de 10 Mbps. O grande tcham desta solução é a aplicabilidade para equipamentos portáteis, e a principal apresentação dos novos produtos 802.11b é em forma de cartões PCMCIA, para uso em notebooks.

 

PCMCIA

 

Associação Internacional de Cartões de Memória de Computadores Pessoais (PCMCIA) é um padrão sem fins lucrativos com o objetivo de estabelecer, comercializar e manter padrões para cartões de PC de circuito integrado com as dimensões de um cartão de crédito.

Os benefícios dos Cartões PCMCIA são: - Pequenas dimensões - Fácil inserção - Alto desempenho - Tecnologia Execute no Lugar (XIP - Execute in Pace) - Hot Swap.

 A tecnologia PCMCIA coloca poderosos periféricos na palma de sua mão - literalmente! Estes cartões, com a dimensão de cartões de crédito, são as conexões dos computadores portáteis ao mundo externo. O padrão PCMCIA especifica as medidas do dispositivo removível (5,4 x 8,6 cm). Basicamente, estas são as dimensões de três cartões de créditos empilhados. Cartões PCMCIA possuem 68 pinos e uma interface com barramento de 8 e 16 bits. Eles também suportam acesso físico para até 64 Mb de memória. Cartões PCMCIA lhe fornecem uma capacidade de expansão universal para computadores móveis, e eles podem suportar uma série de funções, incluindo capacidade de fax e modem baseadas via fio ou via rádio, armazenamento em massa e extensão de memória para máquinas host Referências:

 

PDA(Personal Digital Assistant)

 

É um potente computador portátil, do tamanho de um bloco de anotações, que não tem teclado. A entrada de dados e de comandos pode ser feito de duas maneiras: escrevendo-se à mão livre com uma caneta sobre a tela de cristal líquido (que ocupa quase toda a frente do computador), ou falando-se em um microfone embutido. O software (programa) embutido no PDA reconhece automaticamente a letra ou a voz do usuário e converte para texto computadorizado normal (ASCII). O usuário também pode desenhar figuras geométricas à mão livre, que são convertidas automaticamente em círculos, retângulos, etc., perfeitos.

Outra característica importante do PDA é o software operacional, ou seja, o programa responsável pela operação de rotina do computador. Ele procura aproveitar as características do modo de interação do usuário com a máquina, que recebe o nome técnico de "pen-based computing" em inglês, ou seja, computação baseada em caneta. É uma interface gráfica, de uso muito fácil e intuitivo, que tem características semelhantes às do Windows (um software operacional): uso de "menus" (listas de coisas para fazer), de "janelas" (a tela é dividida em áreas retangulares, cada uma contendo um programa aplicativo ou informação), ícones, etc. Para certas aplicações, os PDAs utilizam bastante o conceito de formulário, ou seja, aparecem áreas (campos) na tela, específicos para o ingresso de determinadas informações pelo usuário, usando a caneta.

A portabilidade dos PDAs e a sua facilidade de uso, são dois dos seus maiores trunfos. Não cabem exatamente no bolso da camisa, mas se encaixam no bolso do avental ou do paletó, e são facilmente transportados em maletas de executivos (pesam pouco mais de 1,5 kg). São energizados por meio de baterias recarregáveis, de longa duração.

Uma das áreas em que os PDAs vem encontrando crescente aplicação é a Medicina. Nos últimos dois anos surgiram nos EUA diversos tipos de programas para dotar o médico e a enfermeira de um verdadeiro "arsenal" de informações portáteis sobre seus pacientes, as doenças e seus tratamentos. Ao que tudo indica, eles estão adorando. Em um PDA, por exemplo, o médico pode fazer anotações sobre os pacientes internados, quando passa a visita toda manhã. Se for necessário, pode acionar programas que auxiliam o tratamento, como listas de antibióticos e sua dosagem, programas que recomendam a melhor terapia, fazem cálculos complexos ou ajudam a "fechar" um diagnóstico, etc. Se ligar o PDA a um soquete telefônico, poderá ter acesso instantâneo a outros computadores, como o do próprio hospital, ou então enviar correio eletrônico para um colega de outra cidade, estado ou país. Poderá, também, realizar uma pesquisa bibliográfica, usando bancos de dados remotos, e localizar artigos importantes para orientar o tratamento de um determinado paciente. Alguns PDAs podem ser acoplados a telefones celulares, dando uma portabilidade maior ainda. Podem funcionar como máquinas de fax portáteis, também. Esse tipo de aplicação do PDA está sendo chamado de "computação ubíqua", ou

seja, o computador anda junto com você, está em todo lugar.

 

Comunicação de Socket e E/S do UNIX

Como os sockets foram originalmente desenvolvidos como parte do sistema operacional UNIX, eles empregam muitos conceitos encontrados em outras partes do UNIX. Em particular, sockets são integrados com a E/S - uma aplicação se comunica através de uma rotina similar ao socket que forma um caminho para a aplicação transferir dados para um arquivo. Deste modo, compreender sockets exige que se entenda as facilidades de E/S do UNIX.
UNIX usa um paradigma open-read-write-close para toda E/S; o nome é derivado das operações de E/S básicas que se aplicam tanto a dispositivos como a arquivos. Por exemplo, um aplicativo deve primeiro chamar open para preparar um arquivo para acesso. O aplicativo então chama read ou write para recuperar dados do arquivo ou armazenar dados no arquivo. Finalmente, o aplicativo chama close para especificar que terminou de usar o arquivo.
Quando um aplicativo abre um arquivo ou dispositivo, a chamada open retorna um descritor, um inteiro pequeno que identifica o arquivo; o aplicativo deve especificar o descritor ao solicitar transferência de dados (isto é, o descritor é um argumento para o procedimento de read ou write). Por exemplo, se um aplicativo chama open para acessar um arquivo de nome foobar, o procedimento de abertura poderia retornar o descritor 4. Uma chamada subsequente para write que especifica o descritor 4 fará com que sejam escritos dados no arquivo foobar; o nome de arquivo não aparece na chamada para write.

Sockets, Descritores e E/S de Rede

A comunicação de sockets usa também a abordagem de descritor. Antes de uma aplicativo poder usar protocolos para se comunicar, o aplicativo deve solicitar ao sistema operacional que crie um socket que será usado para comunicação. O aplicativo passa o descritor como argumento quando ele chama procedimentos para transferir dados através da rede; o aplicativo não precisa especificar detalhes sobre o destino remoto cada vez que transfere dados.
Em uma implementação UNIX, os sockets são completamente integrados com o restante da E/S. O sistema operacional fornece um único conjunto de descritores para arquivos, dispositivos, comunicação entre processos e comunicação de rede. Como resultado, procedimentos como read e write são bastante gerais - uma aplicação pode usar o mesmo procedimento para enviar dados para outro programa, um arquivo ou através de uma rede. Em terminologia corrente, o descritor representa um objeto, e o procedimento write representa o método aplicado àquele objeto. O objeto subjacente determina como o método é aplicado.
A vantagem principal de um sistema integrado reside em sua flexibilidade: pode ser escrito um único aplicativo que transfira dados para uma localização arbitrária. Se o aplicativo recebe um descritor que corresponde a um dispositivo, o aplicativo envia dados para o dispositivo. Se o aplicativo recebe um descritor que corresponde a um arquivo, o aplicativo armazena dados no arquivo. Se o aplicativo recebe um descritor que corresponde a um socket, o aplicativo envia dados através de uma inter-rede para uma máquina remota. Para resumir:
Quando um aplicativo cria um socket, o aplicativo recebe um descritor; um inteiro pequeno, usado para referenciar o socket. Se um sistema usa o mesmo espaço de descritores para sockets e demais E/S, pode ser usado um único aplicativo para comunicação de rede bem como para transferência local de dados.

Estudo de Viabilidade

 

A implementação deste trabalho torna-se viável devido ao vasto suporte (manuais, tutoriais, etc) espalhado pela Internet para o desenvolvimento de software para o Linux. Existem inclusive tutoriais específicos para a construção de drivers para um dispositivo PCMCIA para WaveLAN (que é o nosso objetivo) e diversas implementações para tal já feitas que podem servir de exemplo.


Análise de Requisitos

 

Objetivos

 

 Integração do driver para placa Wavelan (IEEE802.11b) com o sistema operacional Linux 2.4.18-rmk3

 

Características relevantes do iPaq:

 

Fabricante: .. Compaq

Modelo: iPaq H3600

Processador: Intel StrongARM SA-1110 

 

Dispositivo WaveLAN utilizado: 


Fabricante: ..

Chipset: ..

Interface: PCMCIA

 

Construção do Driver


O driver será construído numa plataforma Linux para PC's convencionais, e o código-fonte do driver será compilado para código de máquina iPaq. Este processo de compilação de um código numa máquina para código executável de outra máquina será feito por um compilador cross-over.

A implementação deste driver pode ser dividida em duas partes:

 

1) Hardware: Fazer com que o Linux seja capaz de se comunicar com o dispositivo WaveLAN. Isto é feito através da implementação das funções básicas que o Linux exige para comunicação com um dispositivo: send, recv, open, close, etc.
 

2)Software: Após fazer com que o driver consiga se comunicar com o hardware, fazer com que este driver possa se comunicar com um outro computador através do protocolo TCP/IP.

Resumindo a funcionalidade do driver, ele deve ser desenvolvido de modo que o Linux consiga estabelecer um Socket para se comunicar com um computador remoto, utilizando como dispositivo uma placa PCMCIA para WaveLAN.

 

Implementação

 

Código Fonte

 

Referências

 

http://www.cs.umd.edu/~moustafa/mwavelan/mwavelan.html  (wavelan)

http://www.hpl.hp.com/personal/Jean_Tourrilhes/Linux/Linux.Wireless.drivers.html#WavelanIEEE  (wavelan)

http:/www.wavelan.com/  (wavelan)

http://www.agere.com/client/wlan.html (wavelan)

http://www.eacnet.com.br/newsletterMAIOJUNHO/pagina04.html (pcmcia)

http://www.handhelds.org/Compaq/iPAQH3600/iPAQ_H3600.html

http://www.sycard.com/pcard_qa.html

http://pcmcia-cs.sourceforge.net/ftp/doc/PCMCIA-PROG.html (pcmcia)

http://www2.fundao.pro.br/articles.asp?cod=121 (socket)