sábado, 7 de março de 2009

Configurando uma rede ad-hoc no Windows XP sem programas






Após apanhar um pouco descobri uma maneira interessante de se compartilhar internet entre dois notebooks no windows xp sem necessidade de instalar qualquer programa. Isso foi feito utilizando o Windows XP service pack 2


Muito bem vamos nessa:

Entre nas configurações de rede em iniciar>meus locais de rede (botao direito > propriedades)



Clique com o botao direito e em cima da rede wireless e vá em propriedades

Selecione a aba Redes sem fio e clique em avançado.

Marque a opção: Apenas redes de computador a computador (ad hoc)

Clique em ok.

Na mesma aba Redes sem Fio clique em adicionar repare que a opção "Esta é uma rede de computador a computador (ad hoc)... " vai estar marcada e cinza

Digite o nome da rede em "Nome da rede (SSID)". Este é o nome que irá aparecer ao scannear a rede

Desmarque a opção "Chave fornecida automaticamente"

Digite a chave no local especificado e confirme-a (A chave tem que ter uns 5 caracteres exatamente). Dê ok

Sua rede ad-hoc está criada

Agora vá no outro notebook e procure a rede sem fio normalmente que ela irá aparecer com um icone de dois notebook. Forneça a chave que escolheu anteriormente e pronto
Na proxima publicação irei ensinar como compartilhar a rede entre dois computadores windows uma continuação desse tutorial.

Até

Instalando drivers no Linux: Placa wireless Atheros para notebooks


Introdução

Apesar do suporte a hardware das distribuições estar aumentando constantemente, uma hora ou outra temos que instalar um driver de um hardware em específico, um exemplo é a placa de rede Atheros AR242x ou outros modelos, que apesar de vir com driver no Ubuntu Linux, este não funciona.

Baixar e compilar o driver não é um bicho de sete cabeças e como verá é realmente muito simples.

Um driver no Linux, assim como em qualquer outro sistema operacional, é a chave para acessar o dispositivo. Pense nessa chave como um manual de instruções que diz ao sistema como usar o hardware.

Usuários do Windows estão acostumados com os arquivos .inf e com a palavra "driver". Quando estamos usando sistemas baseados em Unix como o Linux, chamaremos driver de "módulo".

Um módulo no Linux é um pedaço do kernel.

Se a palavra kernel é grego para você, saiba que kernel é o núcleo, o cérebro de um sistema operacional, é ele quem entra em contato direto com sua máquina e provê recursos para os outros programas como memória, acesso ao disco, acesso a placa de vídeo, de som etc. O Windows também tem um kernel, o Solaris, o DOS e qualquer outro SO (Sistema Operacional).

O kernel do Linux possui uma enorme vantagem sobre o kernel de outros sistemas: ele está acessível a qualquer mortal que seja curioso e estude bastante!

Isso faz com que drivers sejam desenvolvidos mesmo sem suporte dos fabricantes, um trabalho duro que muita gente tem feito, há uma comunidade muito forte neste sentido.

Aqui cabe a mim descrever uma diferença entre Linux e GNU/Linux: com certeza você usa GNU/Linux e não Linux! Linux é o kernel do sistema.

GNU é um projeto de software livre que se juntou ao Linux para formar um SO. Como você não vive só com o kernel, precisa de um editor de textos, de um programa para cópia de arquivos, um navegador etc.

Para mais informações acesse GNU.org e GNU - Wikipédia.

Agora que você já sabe o que é um módulo, vamos ao que interessa: instalar um!


Identificando o seu hardware

Existe um utilitário muito bom para isso, simples e direto. Digite em um terminal:

$ lspci

Caso você não tenha-o instalado, o que é muito difícil pois quase todas as distribuições Linux o trazem, mas por exemplo o Debian na instalação minima não o tem, o nome do pacote para instalação é pciutils.

Debian:

# apt-get install pciutils

Abaixo a saída em meu notebook LG R405:
Linux: comando lspci
Podemos ver que eu tenho um HD sata, uma placa de áudio Intel HDA, uma placa de vídeo Radeon Xpress 1250, uma placa de rede da Marvell e uma placa de rede Wireless Atheros AR242x, que será o nosso alvo para instalação.

Podemos verificar os módulos carregados em memória através do utilitário lsmod:
Linux: comando lsmod
Agora que já sabemos qual é o nosso hardware, vamos procurar o driver e instalá-lo.

O melhor lugar para procurar drivers, ou melhor, módulos para Linux, é no Google. Na pesquisa use a palavra driver mesmo, que é mais comum, mas você já sabe falar corretamente, pode dar uma de nerd ;-) (leia a introdução deste artigo para mais informações).

Peraí, o site do fabricante não é um bom lugar? Sim, mas em muitos casos você não vai encontrar nada lá.

Os fabricantes em sua maioria não apóiam o desenvolvimento de drivers para Linux, isso pode parecer um ponto fraco só do Linux, mas hoje em dia alguns fabricantes não fazem drivers nem para XP, só para o Windows Vista. Heroicamente linuxistas criam seus próprios drivers e disponibilizam para comunidade, já viu algum usuário, mesmo avançado, do Windows fazer isso?

Mas a boa notícia é que bons fabricantes tem desenvolvido seus drivers para Linux, ou mesmo abrindo suas especificações para que comunidades de usuários possam desenvolver módulos melhores e compatíveis com todos os recursos. É o caso da fabricantes de notebooks Dell, que possui drivers em seu site tanto para Windows quanto para Linux.

Se você possui a placa wireless Atheros vou lhe poupar esforço e lhe dizer que existe um driver sendo desenvolvido por uma comunidade de usuários que suporta quase todos os modelos dessa placa. Acesse o site do projeto madwifi e baixe a última versão do driver.

Após baixar o driver não coloque-o na área de trabalho, em algumas versões do Ubuntu onde o caminho para área de trabalho é "Área de trabalho" e não "Desktop" isso gerou problemas na compilação do driver. Sugiro manter salvo na sua pasta pessoal mesmo.


Instalar driver madwifi

Descompacte o driver com o seguinte comando:

$ tar -zxvf madwifi-hal-*

Onde * é o restante do nome do arquivo, que pode variar conforme a versão.

Se você baixou um arquivo bzip2, cujo a extensão é .bz2, troque o "z" do comando por um "j", ficando assim:

$ tar -jxvf madwifi-hal-*

Explicando o comando:

"tar" descompacta arquivos que estão agrupados com esse algorítimo (extensão para os leigos geralmente .tar), porém nossos arquivos não são compactados com o tar, são apenas agrupados em um só, o tar junta vários arquivos em um único, quem compacta na verdade é o gzip ou bzip2, daí a extensão ser .tar.gz ou .tar.bz2.

Para que não seja necessário descompactar e depois "desagrupar" nosso arquivo em dois comandos, nós simplesmente dizemos ao tar que nosso arquivo está compactado no formado gzip (parâmetro "z") ou bzip2 (parâmetro "j"), logo em seguida dizemos que queremos extrair o conteúdo (parâmetro "x"), mostrar na tela o que esta acontecendo (parâmetro "v") e por último mas importante dizemos que estamos descompactando para um arquivo e não para a tela (parâmetro "f").

Bom, se apareceu um monte de arquivo na tela sendo descompactado e foi criada uma pasta chamada "madwifi-algumacoisa" no diretório corrente com todos os arquivos, então tudo bem. Se deu alguma mensagem de erro então ou o arquivo está corrompido ou você usou o parâmetro errado, "z" ao invés de "j" ou vice versa.

Entre na pasta:

$ cd madwifi-"um monte de coisa"

Antes de compilarmos teremos certeza que as ferramentas necessárias estão instaladas:

$ sudo apt-get install build-essential linux-headers-`uname -r`

Ok, compile o driver:

Em alguns programas fonte existe um arquivo que é um script chamado "configure", esse script verifica se o sistema cumpre todas as dependências para compilação do pacote, qual arquitetura do sistema, se existem bibliotecas necessárias etc. Não é o nosso caso, então não vamos precisar executar esse script, mas se fosse o caso, rode esse comando de dentro da pasta fonte:

$ ./configure

Compilar:

$ make

Agora instalar:

$ sudo make install

Legal, o driver está compilado e pronto para ser usado, vamos carregá-lo na memória. Caso ocorra algum erro o mais comum é não ter as ferramentas necessárias para compilar o driver, que são os fontes do kernel e os pacotes gcc, g++, make etc. Em ambientes Debian o apt-get que mostrei resolve esses problemas.

Certa vez não consegui compilar o driver e nem mesmo com os pacotes, baixei a versão mais nova do driver e o problema foi resolvido. Bom, o Google é um ótimo lugar para se resolver problemas!

Em todo caso há 97% de chance de esses passos derem certo. Então vamos continuar...


Ajustes finais

Para carregar um módulo na memória é muito simples:

modprobe "nome-do-modulo"

Em nosso caso:

# modprobe ath-pci

Você pode verificar o módulo carregado com o comando:

$ lsmod

Saída:
Linux: modprobe/lsmod
Pronto, sua placa estará funcionando, agora só alguns ajustes. No Ubuntu desabilite o driver que vem com ele para placas Atheros:

Vá em Sistema > Administração > Drivers de Hardware

E desative esse driver.

Vai pedir para reiniciar, mas não reinicie ainda.

Edite o seguinte arquivo como root:

$ sudo gedit /etc/modules

Adicione a linha:

ath-pci

Como exemplo:
Linux: arquivo /etc/modules
Isso serve para que nosso módulo seja carregado na memória ao reiniciar o computador.


Resumo genérico dos passos executados / conclusões / referências

  • Identificar a placa;
  • Achar o fonte do driver;
  • Descompactá-lo;
  • Entrar na pasta;
  • Instalar os compiladores e o fonte do kernel (chamado dux-headers);
  • Verificar se existe um arquivo chamado configure e executá-lo ./configure;
  • Compilar o driver com o comando "make";
  • Instalar o driver com o comando "make install". Necessário permissão de root;
  • Carregar módulo na memória ;
  • Configurar o arquivo /etc/modules (pode ser outro dependendo da distribuição) com o módulo a ser carregado na inicialização.

Conclusões finais

Instalar um driver no Linux não é uma tarefa "cabulosa", a principal dificuldade pode estar em achar o driver.

Depois de achá-lo sempre há um arquivo que ensina a instá-lo, isso todos os bons programas em código fonte tem e não é diferente dos drivers. Os passos descritos aqui foram retirados do próprio arquivo "INSTALL" do driver. Geralmente os aquivos README e INSTALL possuem informações interessantes e completas sobre a instalação e utilização do programa ou módulo, em sua grande maioria em inglês.

Felizmente o kernel do Linux está evoluindo juntamente com as distribuições e esses problemas estão ficando para trás. Cada vez mais fabricantes dão suporte a Linux e isso é um caminho para liberdade de escolha e para o crescimento do GNU/Linux.

Por favor, deixem suas sugestões e críticas sobre o artigo, isso só faz com que ele melhore. ;-)

Espero ter ajudado.

Referência

http://madwifi.org/
Acessado em 22 de novembro de 2008

O próprio arquivo INSTALL dentro do driver.

Confira também este mesmo artigo no site vivaolinux.com.br Referencia: http://www.vivaolinux.com.br/artigo/Instalando-drivers-no-Linux-Placa-wireless-Atheros-para-notebooks/