Alguns dispositivos wireless ainda pertencem ao grupo cada vez menor dos que dão um pouco mais de trabalho para funcionar em computadores que rodam
Linux. Um desses casos é a controladora
Realtek RTL8187SE, que até possui drivers nativos para Linux, porém estão na árvore "staging" do kernel, que não são incluídas por padrão por algumas distribuições, como é o caso do
Fedora.
Até a versão 14 do Fedora, havia uma solução simples para esse problema: utilizar o repositório RPM Fusion e instalar o pacote
kmod-staging-[versão], que instala os módulos do kernel que estão na árvores "staging", incluindo o famigerado rtl8187se.
Após atualizar para o Fedora 15, porém, descobri que o RPM Fusion ainda não possuía o pacote kmod-staging para o kernel mais recente. Então, fui obrigado a recorrer ao método mais radical para colocar a controladora wireless funcionando no kernel do Fedora 15: compilar o módulo "na unha".
Primeiro, é preciso dar um jeito de conectar o computador à internet. Você pode utilizar a rede via cabo ou então aproveitar que o Fedora sempre deixa instaladas por padrão três versões do kernel, a mais recente e as duas anteriores, e reiniciar o sistema usando o kernel antigo, onde a controladora wireless funcionava.
Uma vez que o computador esteja conectado à internet, certifique-se de que os pacotes
yum-utils,
make,
gcc,
kernel-devel e
kernel-headers estejam instalados em suas versões mais recentes.
su -c "yum -y install yum-utils make gcc kernel-devel kernel-headers"
Depois, faça o download do pacote que contém o código-fonte do kernel mais recente que está instalado em seu computador, usando o yumdownloader:
yumdownloader --source kernel
Agora, se você estiver utilizando uma versão antiga do kernel, é hora de reiniciar o computador usando a versão mais recente do kernel. Se já estiver usando a versão mais recente, é só seguir em frente.
Acesse o diretório onde o código-fonte do kernel foi salvo e extraia o seu conteúdo para dentro de um diretório temporário criado previamente:
$ mkdir temp
$ cd temp
$ rpm2cpio ../kernel-[versão].src.rpm | cpio -idv
$ tar xf linux-2.6.38.tar.bz2
Em seguida, acesse o diretório onde está o código-fonte do módulo rtl8187se e edite o arquivo Makefile (use o editor de textos de sua preferência. Eu uso o vim):
$ cd linux-2.6.38/drivers/staging/rtl8187se
$ vim Makefile
Basta acrescentar as linhas abaixo no final do arquivo.
obj-m:= r8187se.o
KDIR := /lib/modules/$(shell uname -r)/build
PWD := $(shell pwd)
default:
$(MAKE) -C $(KDIR) M=$(PWD) modules
Agora é só compilar o módulo, copiá-lo para o diretório adequado dentro da árvore do kernel atual e carregá-lo no sistema.
$ make
$ su
# mkdir /lib/modules/$(uname -r)/kernel/drivers/staging/rtl8187se
# cp r8187se.ko /lib/modules/$(uname -r)/kernel/drivers/staging/rtl8187se
# /sbin/depmod -a
# /sbin/modprobe r8187se
A compilação é bem rápida, afinal somente um módulo é compilado.
Gostou? Então deixe seu comentário. Um grande abraço e até a próxima.
Fonte:
Wireless rt8187se no Fedora 15 - davidsonpaulo.com