Realtek RTL8187SE no Fedora 15

Publicado por Ednilton Santos de Oliveira em 03/09/2011

[ Hits: 7.587 ]

Blog: http://lattes.cnpq.br/8995731908274747

 


Realtek RTL8187SE no Fedora 15



Logo quando o Fedora 15 foi lançado, instalei no meu laptop que é equipado com o adaptador wireless rtl8187se.

Diferentemente do Ubuntu, que reconhece este adaptador automaticamente, é necessário compilar o kernel marcando a opção, referente a este adaptador, como driver para que ele funcione no Fedora 15.

Uma alternativa é esperar que o pacote kmod-staging do repositório rpm-fusion esteja disponível para o kernel instalado no seu sistema. Infelizmente, este pacote demora a ser compilado para o kernel atualizado. Por exemplo, atualmente estamos no kernel 2.6.40-4 no Fedora 15, mas a versão atual do kmod-staging é para o kernel 2.6.38.8-35.

Mais uma alternativa é usar o driver do Windows com o Ndiswrapper. Entretatdo, essa opção nunca funcionou pra mim em sistemas de 64 bits e também não gosto da possibilidade de ter algo da Microsoft instalado no meu sistema :-)

O que eu fiz, logo que instalei o Fedora 15 fui compilar o kernel estável mais novo e ativar a opção do adaptador rtl8187se como driver (não módulo). Atualmente estou utilizando o kernel 3.0, e então o procedimento mostrado aqui será para o mesmo.

Primeiro, baixe o kernel de http://kernel.org. Descompacte em uma pasta de sua escolha e, pelo terminal, entre nesta pasta.

Por exemplo, se descompactou na sua pasta home, então execute:

cd ~/linux-3.0/

Execute depois:

make mrproper
E então

make menuconfig

Os comandos acima podem não funcionar se você não tiver o make, o gcc ou outro pacote da qual a compilação do kernel dependa.

Em geral, quando algo dá errado na compilação, uma das linhas de mensagem diz pra você qual arquivo está faltando. Sendo assim, procure este arquivo com:

# yum provides */nome_do_arquivo

Assim, o yum lhe retornará os pacotes que possuem o aquivo procurado. Logo que você instale o pacote (com atenção para instalar o pacote da arquitetura correta), retorne à compilação e veja se funciona. Se não funcionar, procure o novo arquivo que está faltando até que o comando funcione perfeitamente. E claro, uma busca no Google deve sempre ajudar muito para encontrar os pacotes necessários.

Se tudo deu certo, vai aparecer para você um menu no terminal com várias opções. Usando as teclas direcionais, procure a opção:

Device Drivers --->

Pressionando "Enter" você entrará nela. Uma vez dentro, procure por:

Staging drivers (NEW) --->

Que provavelmente estará desmarcada. Para acioná-la, pressione 'y' e depois entre nela. Agora, procure a opção:

RealTek RTL8187SE Wireless LAN NIC driver (NEW)

E tente marcá-la teclando 'y'. Você verá a seguinte mensagem:

This feature depends on another which has been configured as a module.
As a result, this feature will be built as a module.

Que traduzindo é (mais ou menos):

Este recurso depende de outro que está configurado como módulo.
Assim, este recurso será compilado como um módulo.

Para resolver este problema, saia do menu de compilação teclando 'ESC' duas vezes rápido, quantas vezes forem necessárias e salvando suas configurações quando lhe for perguntado. Entre na pasta drivers/staging/rtl8187se/. Você pode simplesmente executar:

cd drivers/staging/rtl8187se/

Edite o arquivo Kconfig que está nesta pasta, removendo a linha:

depends on m

Depois disso, volte à pasta do kernel e execute novamente:

make menuconfig

Siga novamente para o menu "RealTek RTL8187SE Wireless LAN NIC driver", como explicado acima.

Agora você verá que pode marcá-la como driver teclando 'y' (aparece '*' em vez de 'M').

Depois disso, você pode sair da configuração do kernel, ou se desejar pode fazer todas as alterações que julgar necessárias (com cuidado).

Depois de salvar e sair do menu de configuração do kernel, execute

make

Se tiver um processador com dois núcleos, pode executar "make -j4" para a compilação ser mais rápida. Depois de terminada a compilação, execute:

make modules

Assim que terminado, acesse o terminal como root, e ainda na mesma pasta (~/linux-3.0/), execute:

# make modules_install

E depois:

# make install

Pronto! Uma vez que você reiniciar o sistema no novo kernel, verá que o seu adaptador de rede estará funcionando perfeitamente.

Nota: Em geral, a atualização do Fedora traz novos kernels. Assim, se em alguma reinicialização do sistema o wireless não funcionar, verifique qual kernel o sistema está usando (com "uname -a", por exemplo). Portanto, a cada atualização do sistema, você deve editar o seu "/boot/grub/menu.lst" para que a inicialização do sistema ocorra no kernel compilado.

Para evitar isso, você pode adicionar a linha "exclude=kernel*" ao arquivo "/etc/yum.conf" para que o sistema mantenha o kernel sempre na sua versão atual.

Palpite: É possível ainda que este mesmo procedimento seja válido para os adaptadores RTL8192U, RTL8192E e RTL8712U, desde que você troque a opção "RealTek RTL8187SE Wireless LAN NIC driver" pela opção correspondente.

Boa sorte.

Obs.: Assim como o teste de distribuições, a compilação do kernel pode ser viciante. Portanto, aprecie com moderação. ;-)

Outras dicas deste autor

Instalando o Skype no Debian Lenny 64 bits

Não compre hardware que não seja suportado pelo Linux

Leitura recomendada

Driver Nvidia v367.27 no Linux Mint 18 Cinnamon

Dlink DWL G122 Rev. C

Overclock de maneira rápida e prática pelo nvclock (texto)

Slackware: melhor distro para notebook Dell Inspiron N4030?

Instalando Encore ENL832-TX-ICNT no Slackware

  

Comentários
[1] Comentário enviado por alemachados em 03/09/2011 - 21:48h

Ednilton, parabéns pelo post! Claro e objetivo. Eu enfrento esse problema com um PHILCO PHN 10107. O Projeto Fedora deveria passar a suportar melhor essa família RealTek como fazem as outras grandes Distribuições Linux - mas isso é outro assunto. O bom do Linux é isso; temos sempre alguém compartilhando seu conhecimento. Sucesso!



Contribuir com comentário




Patrocínio

Site hospedado pelo provedor RedeHost.
Linux banner

Destaques

Artigos

Dicas

Tópicos

Top 10 do mês

Scripts