Instalando Placas RTL8139D no Linux

Apesar de placas com o chipset Realtek RTL8139D terem suporte no kernel, outros fabricantes fazem cópias falsas destas placas.

Se você não conseguiu funcionar a sua placa com os módulos 8139too ou 8139cp, então o procedimento abaixo pode te ajudar.

Este procedimento funcionou para o seguinte modelo de placa:

Hangzhou Silan Microelectronics Co., Ltd. RTL8139D [Realtek] PCI 10/100BaseTX ethernet adaptor (rev 01)

Obrigado ao LonelySpooky

'''Obs. 1:''' Você tem que ter o kernel-headers ou linux-headers e o kernel-devel instalado '''Obs. 2:''' É necessário ter o driver de instalação no Windows XP

Verificando o modelo da placa
1. Inicialmente iremos examinar o modelo da nossa placa

00:08.0 Ethernet controller: Hangzhou Silan Microelectronics Co., Ltd. RTL8139D [Realtek] PCI 10/100BaseTX ethernet adaptor (rev 01) Flags: bus master, medium devsel, latency 32, IRQ 193 Memory at df000000 (32-bit, non-prefetchable) [size=256] I/O ports at 9000 [size=256] [virtual] Expansion ROM at 10000000 [disabled] [size=128K] Capabilities: [50] Power Management version 2 Capabilities: [60] Vital Product Data
 * 1) lspci -v

Instalando o NDISWrapper
Aqui iremos utilizar o NDISwrapper, que é um projeto que implementa a API NDIS no linux.

2. Baixe o NDISwrapper:

http://sourceforge.net/project/showfiles.php?group_id=93482 ou wget http://ufpr.dl.sourceforge.net/sourceforge/ndiswrapper/ndiswrapper-1.53.tar.gz

3. Descompacte o arquivo:


 * 1) tar -xzvf ndiswrapper-1.53.tar.gz

4. Entre no diretório:


 * 1) cd ndiswrapper-1.53

5. Compilando


 * 1) make

6. Instalando o NDISwrapper


 * 1) make install

Instalando o Driver NDIS da Placa
7. Crie o diretório


 * 1) mkdir -p /usr/local/sbin/driversxp/

e copie os drivers do Windows XP para ele. Arquivos netslnt.inf, readme.txt, slnt.sys

8. Instale o driver do Windows XP com o comando


 * 1) ndiswrapper -i /usr/local/sbin/driverxp/netslnt.inf

9. Execute o depmod


 * 1) depmod -a

10. Carregando o módulo NDISwrapper


 * 1) modprobe ndiswrapper

Configurando a placa
11. Configure a interface:


 * 1) ifconfig wlan0 

ex.: ifconfig wlan0 192.168.1.10

12. Execute o ndiswrapper -m


 * 1) ndiswrapper -m 

13. Verificando

wlan0   Link encap:Ethernet  HWaddr 00:E0:4E:21:F8:29 inet addr:192.168.1.10 Bcast:192.168.1.255  Mask:255.255.255.0 inet6 addr: fe80::2e0:4eff:fe21:f829/64 Scope:Link UP BROADCAST RUNNING MULTICAST MTU:1500  Metric:1 RX packets:118815 errors:0 dropped:0 overruns:0 frame:0 TX packets:103442 errors:0 dropped:0 overruns:0 carrier:0 collisions:0 txqueuelen:1000 RX bytes:85109884 (81.1 MiB) TX bytes:17099046 (16.3 MiB) Interrupt:193 Memory:df000000-df000100
 * 1) ifconfig wlan0

14. Para que o módulo seja carregado na inicialização, adicione no arquivo modprobe.conf a linha:

alias wlan0 ndiswrapper

Exemplo do arquivo /etc/sysconfig/network-scripts/ifcfg-wlan0
TYPE=Ethernet DEVICE=wlan0 BOOTPROTO=none NETMASK=255.255.255.0 IPADDR=192.168.1.10 GATEWAY=192.168.1.254 ONBOOT=yes

tags: rtl8139 rtl8139d linux driver