Instalando Placas RTL8139D no Linux

From Wiki

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

# lspci -v 

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


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:

# tar -xzvf ndiswrapper-1.53.tar.gz


4. Entre no diretório:

# cd ndiswrapper-1.53


5. Compilando

# make

6. Instalando o NDISwrapper

# make install


Instalando o Driver NDIS da Placa

7. Crie o diretório

# 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

# ndiswrapper -i /usr/local/sbin/driverxp/netslnt.inf

9. Execute o depmod

# depmod -a


10. Carregando o módulo NDISwrapper

# modprobe ndiswrapper


Configurando a placa

11. Configure a interface:

# ifconfig wlan0 <enderecoip>

ex.: ifconfig wlan0 192.168.1.10


12. Execute o ndiswrapper -m

# ndiswrapper -m 

13. Verificando

# ifconfig wlan0

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 


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

Ver também