Os chipsets IPW2100 e IPW2200 são fabricados pela Intel e vendidos na forma de placas mini-PCI destinadas a notebooks. Elas são encontradas em notebooks com a tecnologia Centrino.
Trata-se na verdade de um golpe de marketing da Intel para vender mais placas, chipsets e processadores. Para usar a marca "Centrino", um notebook precisa usar um processador Pentium M, um chipset Intel e uma placa wireless IPW2100 ou IPW2200. Os fabricantes acabam comprando então os três componentes da Intel, ao invés de usar uma placa wireless ou chipset de outro fabricante. Note que existem muitos notebooks com processadores Pentium M ou Celeron M e placas wireless de outros fabricantes, mas eles não são "Centrino".
Embora raro, é possível comprar as placas separadamente para uso em outros modelos que possuam um slot mini-PCI livre (neste caso, as placas são vendidas sem a marca "Centrino"). Embora a foto não dê uma boa noção de perspectiva, as placas mini-PCI são realmente pequenas, quase do tamanho de uma caixa de fósforos.
Você pode verificar o modelo correto usando o lspci e em seguida baixar o driver no:
http://ipw2100.sourceforge.net/
ou
http://ipw2200.sourceforge.net/
Em ambos os casos, você precisará de dois arquivos. O driver propriamente dito e o firmware, novamente um arquivo separado. Como de praxe, os drivers são de código aberto mas o firmware não.
O driver em si já vem pré-instalado na maioria das distribuições e foi incluído oficialmente no Kernel a partir do 2.6.14, de forma que você já o encontrará pré-instalado em praticamente qualquer versão atual.
De qualquer forma, se você precisar instalá-lo ou atualizá-lo manualmente, basta baixar e descompactar o arquivo e rodar os comandos:
# make
# make install
# make install
Isto gerará e copiará os módulos ipw2200.ko, ieee80211.ko, ieee80211_crypt.ko e ieee80211_crypt_wep.ko para a pasta "/lib/modules/2.6.x/kernel/drivers/net/wireless/".
Em seguida vem o passo que é quase sempre necessário: baixar o arquivo com o firmware ("ipw2200-fw-2.4.tgz", no meu caso), descompactar e copiar os arquivos para dentro da pasta "/lib/firmware" (em distribuições que usam o udev) ou "/usr/lib/hotplug/firmware/" (nas distribuições que ainda usam o hotplug), como em:
# cp -a ipw2200-fw-2.4.tgz /lib/firmware/
# cd /lib/firmware/
# tar -zxvf ipw2200-fw-2.4.tgz
# cd /lib/firmware/
# tar -zxvf ipw2200-fw-2.4.tgz
A partir daí, a placa deve ser ativada automaticamente durante o boot. Caso você queira ativar e desativar o suporte manualmente, use os comandos:
# modprobe ipw2200 (para carregar)
# modprobe -r ipw2200 (para desativar)
Caso não tenha certeza sobre o uso do hotplug ou udev, não existe problema em copiar os arquivos para ambas as pastas, ou criar um link apontando para a outra. Ao ser carregado, o módulo procura os arquivos na pasta correta.
Uma pegadinha, é que existem várias versões do firmware disponíveis no http://ipw2200.sourceforge.net/firmware.php, acompanhando as diferentes versões do driver. A versão 2.4 funciona em conjunto com o driver de versão 1.07 até 1.10 (usado no Kurumin 6.0, por exemplo), enquanto o firmware versão 3.0 funciona em conjunto com o 1.11 em diante. Ao instalar uma nova versão do driver, lembre-se também de checar e, se necessário, atualizar também o firmware.
Você pode checar qual é a versão instalada usando o comando:
# modinfo ipw2200(ou modinfo ipw2100)
Ao instalar uma nova versão do firmware, tome sempre o cuidado de primeiro remover os arquivos da anterior, pois em muitos casos os nomes dos arquivos mudam de uma versão para a outra, fazendo com que os arquivos fiquem duplicados ao instalar por cima.
Se você estiver usando uma distribuição recente, que utilize o udev, pode existir um complicador a mais. O hotplug carrega automaticamente o firmware a partir da pasta "/usr/lib/hotplug/hotplug/firmware" quando o módulo é carregado. O udev também pode fazer isso automaticamente, desde que exista uma regra apropriada dentro do diretório "/etc/udev/rules.d" e que o executável "/sbin/firmware_helper" esteja disponível.
O grande problema é que muitas distribuições, com destaque para o Debian, propositalmente não incluem os dois componentes, talvez com o objetivo de dificultar a vida de quem quer carregar os "firmwares proprietários do mal". Neste caso, você vai precisar instalar manualmente.
Comece baixando o código fonte do udev no http://www.us.kernel.org/pub/linux/utils/kernel/hotplug/. No meu caso, baixei o arquivo "udev-081.tar.gz".
Descompacte o arquivo e, dentro da pasta que será criada, rode o comando:
# make EXTRAS=extras/firmware
Isso vai compilar apenas o firmware_helper, dentro da pasta "extras/firmware/", sem compilar o udev inteiro. O próximo passo é copiá-lo para dentro da pasta "/sbin/".Verifique também se ele está com a permissão de execução ativa:
# cp -a extras/firmware/firmware_helper /sbin/
# chmod +x /sbin/firmware_helper
# chmod +x /sbin/firmware_helper
Falta agora criar a regra que instrui o udev a usá-lo. Acesse a pasta "/etc/udev/rules.d" e crie o arquivo "z99_firmware", contendo a linha:
ACTION=="add", SUBSYSTEM=="firmware", RUN+="/sbin/firmware_helper"
ACTION=="add", SUBSYSTEM=="firmware", RUN+="/sbin/firmware_helper"
Esta regra diz que sempre que for encontrado um dispositivo cujo módulo precise carregar um determinado firmware, o udev deve executar o "/sbin/firmware_helper", que se encarrega de fazer o carregamento. Para que a regra entre em vigor, reinicie o udev com o comando "/etc/init.d/udev/restart".
Um último complicador, desta vez não relacionado com o driver é que em muitos notebooks o atalho de teclado para ativar e desativar o transmissor wireless é controlado via software e só funciona em conjunto com um driver específico. Você encontra uma lista detalhada dos notebooks problemáticos e dicas para ativar o transmissor em cada um no: http://rfswitch.sourceforge.net/?page=laptop_matrix.
Em alguns casos, é necessário carregar um módulo adicional, em outros é necessário alterar manualmente algum parâmetro do ACPI, enquanto em alguns (como no Asus M5) a única opção é dar um boot no Windows e ativar o transmissor usando o utilitário do fabricante. Estranhamente, neste caso a configuração é salva em algum lugar no CMOS, tornando-se definitiva.
Com os arquivos do firmware no local correto e o hotplug/udev funcionando corretamente, o driver vai funcionar corretamente. Você pode verificar as mensagens de inicialização usando o comando "dmesg | grep ipw", como em:
# dmesg | grep ipw
ipw2200: Intel(R) PRO/Wireless 2200/2915 Network Driver, 1.0.8
ipw2200: Copyright(c) 2003-2005 Intel Corporation
ipw2200: Detected Intel PRO/Wireless 2200BG Network Connection
ipw2200: Copyright(c) 2003-2005 Intel Corporation
ipw2200: Detected Intel PRO/Wireless 2200BG Network Connection
Se, por outro lado, o comando exibir algo como:
ipw2200: Intel(R) PRO/Wireless 2200/2915 Network Driver, 1.0.8
ipw2200: Copyright(c) 2003-2005 Intel Corporation
ipw2200: Detected Intel PRO/Wireless 2200BG Network Connection
ipw2200: Unable to load ucode: -62
ipw2200: Unable to load firmware: -62
ipw2200: failed to register network device
ipw2200: probe of 0000:01:05.0 failed with error -5
ipw2200: Copyright(c) 2003-2005 Intel Corporation
ipw2200: Detected Intel PRO/Wireless 2200BG Network Connection
ipw2200: Unable to load ucode: -62
ipw2200: Unable to load firmware: -62
ipw2200: failed to register network device
ipw2200: probe of 0000:01:05.0 failed with error -5
... rode os comandos abaixo para recarregar o driver:
# echo 100 > /sys/class/firmware/timeout
# modprobe -r ipw2200
# modprobe ipw2200
# modprobe -r ipw2200
# modprobe ipw2200
A partir daí a placa passará a funcionar normalmente. Você pode incluir os comandos no final do arquivo "/etc/init.d/bootmisc.sh", ou "/etc/rc.d/rc.local" para que eles sejam executados automaticamente durante o boot.
O primeiro comando aumenta o tempo de espera do Kernel na hora de carregar o firmware. O default são 10 milessegundos, o que não é suficiente em algumas versões do driver. Aumentando o tempo de espera, o driver passa a carregar corretamente.
Postar um comentário
0 comentários