Instalando RTL8187 com Ndiswrapper

Baixe o driver para XP dessa placa: ftp://210.51.181.211/cn/wlan/RTL8187B_driver_only.zip

Segundo comentários de alguns usuários desta placa, o driver do XP não funcionou, então recorreram ao driver do win98 e a placa funcionou perfeitamente, logo, se o driver para XP não funcionar, tente o driver do win98. No site do fabricante existem três tipos:

RTL8187B

RTL8187L

RTL8187SE

Portanto, confira se está instalando o driver correto.

Antes de começar a instalar o driver, prepare o sistema para iniciar a instalação que desejamos, instale o pacote build-essential e linux-headers pelo synaptic antes de compilar o ndiswrapper.

Baixe a última versão (stable) do Ndiswrapper.

obs: os comandos de instalação no Debian Lenny devem ser feitos como root, e para se tornar root no sistema, rode o comando “su” (sem aspas) e aperte <enter>, o sudo é usado no Ubuntu por padrão, no Debian ele não vêm configurado, mas você poderá configurar se desejar. Para usar o comando iwlist é necessário instalar o pacote wireless-tools, disponível no repositório.

Terminado o download do Ndiswrapper descompacte-o, entre na pasta descompactada e rode os comandos para instalação: (para descompactar é so clicar com o direito em cima, mandar descompactar e arrastar a pasta descompactada para a pasta que você quiser).

No terminal, entra na pasta descompactada e digita:

$ sudo make uninstall
$ make
$ sudo make install

Coloque os drivers nativos na blacklist

$ sudo gedit /etc/modprobe.d/blacklist

Acrescente estas três linhas:

blacklist r818x

blacklist r8180

blacklist rtl8180

Salve e feche o arquivo.

Eu salvei o driver na pasta Documentos e ficou assim: /home/guevara/Documentos/RTL8187B/WinXP (navega pelo terminal até chegar na pasta WinXP)

Lá dentro da pasta WinXP rode o comando:

$ ndiswrapper -i net8187b.inf

Confira se o driver foi instalado:

$ ndiswrapper -l

Se aparecer “driver present”, é porque foi instalado corretamente.

Coloque o ndiswrapper no módulo e na inicialização desta forma:

$ sudo modprobe ndiswrapper
$ ndiswrapper -m (este comando não é necessário rodar no Hardy Heron nem no Debian Lenny)

Digite o sequinte comando para escanear a rede e verificar que a placa está captando sinal:

$ iwlist wlan0 scan

Se achar sinal sua placa está ativa e funcionando, no Debian escaneie como root, su <enter> digite a senha do usuário e rode o referido comando, se aparecer o essid do seu provedor e o resto dos dados, está tudo correto, então só falta configurar a conexão.

Neste blog existe o passo a passo para configurar, inclusive a dica do gerenciador wireless WICD, é possível instalar tanto no Ubuntu 8.04 e no Debian Lenny perfeitamente acrescentando o repositório do programa na sources.list, a propósito, recebi recentemente atualização do WICD e melhorou na aparência e em alguns detalhes de configuração.

Boa sorte!

~ por guevara2012 em Maio 29, 2008.

9 Respostas to “Instalando RTL8187 com Ndiswrapper”

  1. meu nao funciono.
    o driver do WinXP nao conecta nunca !

    e o do Win98 conecta + cai mt rapido

  2. Rodolfo, faça o seguinte:
    Desinstale o Ndiswrapper, entre na pasta dele e rode o comando:

    $ sudo make uninstall

    Depois instale o ndiswrapper-utils e ndiswrapper-commom pelo Synaptic, feito isso instale o Ndiswrapper 1.53(stable) baixado pelo site do Ndiswrapper.

    Rode os três comandos na sequência:

    $ sudo make uninstall
    $ make
    $ sudo make install

    Instale agora o driver para XP da placa:

    $ sudo ndiswrapper -i net8187b.inf

    Confere se o rtl8187.sys ou rtl8187b.sys está presente com o net8187b.inf dentro da pasta do driver, pois na instalação é necessário que o .sys esteja presente na mesma pasta do .inf.

    Boa sorte!

  3. kra nao consegui compila o ndiswrapper nao.
    primero q nao consegui instala o build-essential e o linux-headers
    to no ubuntu 7.10 e ele nao consegue resolve as dependencias :(

    da erro na hora da faze u make

    make -C driver
    make[1]: Entrando no diretório `/home/rodolfo/desktop/ndiswrapper-1.53/driver’
    make -C /usr/src/linux-headers-2.6.22-15-generic M=/home/rodolfo/desktop/ndiswrapper-1.53/driver
    make[2]: Entrando no diretório `/usr/src/linux-headers-2.6.22-15-generic’
    Building modules, stage 2.
    MODPOST 1 modules
    make[2]: Saindo do diretório `/usr/src/linux-headers-2.6.22-15-generic’
    make[1]: Saindo do diretório `/home/rodolfo/desktop/ndiswrapper-1.53/driver’
    make -C utils
    make[1]: Entrando no diretório `/home/rodolfo/desktop/ndiswrapper-1.53/utils’
    gcc -g -Wall -I../driver -o loadndisdriver loadndisdriver.c
    loadndisdriver.c:15:20: erro: stdlib.h: Arquivo ou diretório inexistente
    loadndisdriver.c:16:19: erro: stdio.h: Arquivo ou diretório inexistente
    loadndisdriver.c:17:19: erro: errno.h: Arquivo ou diretório inexistente
    loadndisdriver.c:18:20: erro: string.h: Arquivo ou diretório inexistente
    loadndisdriver.c:19:20: erro: libgen.h: Arquivo ou diretório inexistente
    loadndisdriver.c:21:22: erro: sys/mman.h: Arquivo ou diretório inexistente
    loadndisdriver.c:23:23: erro: sys/types.h: Arquivo ou diretório inexistente
    loadndisdriver.c:24:23: erro: sys/ioctl.h: Arquivo ou diretório inexistente
    loadndisdriver.c:25:22: erro: sys/stat.h: Arquivo ou diretório inexistente
    loadndisdriver.c:26:20: erro: unistd.h: Arquivo ou diretório inexistente
    loadndisdriver.c:27:19: erro: fcntl.h: Arquivo ou diretório inexistente
    Em arquivo incluído de /usr/lib/gcc/i486-linux-gnu/4.1.3/include/syslimits.h:7,
    do /usr/lib/gcc/i486-linux-gnu/4.1.3/include/limits.h:11,
    do loadndisdriver.c:28:
    /usr/lib/gcc/i486-linux-gnu/4.1.3/include/limits.h:122:61: erro: limits.h: Arquivo ou diretório inexistente
    loadndisdriver.c:29:19: erro: ctype.h: Arquivo ou diretório inexistente
    loadndisdriver.c:30:20: erro: dirent.h: Arquivo ou diretório inexistente
    loadndisdriver.c:31:20: erro: syslog.h: Arquivo ou diretório inexistente
    loadndisdriver.c:34:25: erro: linux/major.h: Arquivo ou diretório inexistente
    loadndisdriver.c:35:25: erro: linux/ioctl.h: Arquivo ou diretório inexistente
    In file included from loadndisdriver.c:37:
    ../driver/loader.h:28: error: expected specifier-qualifier-list before ‘size_t’
    loadndisdriver.c: In function ‘load_file’:
    loadndisdriver.c:67: error: ‘size_t’ undeclared (first use in this function)
    loadndisdriver.c:67: error: (Each undeclared identifier is reported only once
    loadndisdriver.c:67: error: for each function it appears in.)
    loadndisdriver.c:67: error: expected ‘;’ before ‘size’
    loadndisdriver.c:68: error: ‘NULL’ undeclared (first use in this function)
    loadndisdriver.c:69: error: storage size of ‘statbuf’ isn’t known
    loadndisdriver.c:71: warning: implicit declaration of function ‘basename’
    loadndisdriver.c:71: warning: initialization makes pointer from integer without a cast
    loadndisdriver.c:73: warning: implicit declaration of function ‘open’
    loadndisdriver.c:73: error: ‘O_RDONLY’ undeclared (first use in this function)
    loadndisdriver.c:75: warning: implicit declaration of function ‘syslog’
    loadndisdriver.c:75: error: ‘LOG_KERN’ undeclared (first use in this function)
    loadndisdriver.c:75: error: ‘LOG_INFO’ undeclared (first use in this function)
    loadndisdriver.c:75: warning: implicit declaration of function ‘strerror’
    loadndisdriver.c:75: error: ‘errno’ undeclared (first use in this function)
    loadndisdriver.c:76: error: ‘EINVAL’ undeclared (first use in this function)
    loadndisdriver.c:79: warning: implicit declaration of function ‘fstat’
    loadndisdriver.c:81: warning: implicit declaration of function ‘close’
    loadndisdriver.c:84: error: ‘size’ undeclared (first use in this function)
    loadndisdriver.c:86: warning: implicit declaration of function ‘mmap’
    loadndisdriver.c:86: error: ‘PROT_READ’ undeclared (first use in this function)
    loadndisdriver.c:86: error: ‘MAP_PRIVATE’ undeclared (first use in this function)
    loadndisdriver.c:86: warning: assignment makes pointer from integer without a cast
    loadndisdriver.c:87: error: ‘MAP_FAILED’ undeclared (first use in this function)
    loadndisdriver.c:93: warning: implicit declaration of function ‘strncpy’
    loadndisdriver.c:93: warning: incompatible implicit declaration of built-in function ‘strncpy’
    loadndisdriver.c:95: error: ‘struct load_driver_file’ has no member named ‘size’
    loadndisdriver.c:96: error: ‘struct load_driver_file’ has no member named ‘data’
    loadndisdriver.c:69: warning: unused variable ‘statbuf’
    loadndisdriver.c: In function ‘parse_setting_line’:
    loadndisdriver.c:109: warning: implicit declaration of function ‘isspace’
    loadndisdriver.c:115: warning: implicit declaration of function ‘strchr’
    loadndisdriver.c:115: warning: incompatible implicit declaration of built-in function ‘strchr’
    loadndisdriver.c:115: error: ‘NULL’ undeclared (first use in this function)
    loadndisdriver.c:117: error: ‘LOG_KERN’ undeclared (first use in this function)
    loadndisdriver.c:117: error: ‘LOG_INFO’ undeclared (first use in this function)
    loadndisdriver.c:118: error: ‘EINVAL’ undeclared (first use in this function)
    loadndisdriver.c:138: warning: implicit declaration of function ‘strlen’
    loadndisdriver.c:138: warning: incompatible implicit declaration of built-in function ‘strlen’
    loadndisdriver.c: In function ‘read_conf_file’:
    loadndisdriver.c:150: error: storage size of ‘statbuf’ isn’t known
    loadndisdriver.c:151: error: ‘FILE’ undeclared (first use in this function)
    loadndisdriver.c:151: error: ‘config’ undeclared (first use in this function)
    loadndisdriver.c:157: warning: implicit declaration of function ‘lstat’
    loadndisdriver.c:158: error: ‘LOG_KERN’ undeclared (first use in this function)
    loadndisdriver.c:158: error: ‘LOG_INFO’ undeclared (first use in this function)
    loadndisdriver.c:158: error: ‘errno’ undeclared (first use in this function)
    loadndisdriver.c:160: error: ‘EINVAL’ undeclared (first use in this function)
    loadndisdriver.c:163: warning: implicit declaration of function ‘sscanf’
    loadndisdriver.c:163: warning: incompatible implicit declaration of built-in function ‘sscanf’
    loadndisdriver.c:178: warning: implicit declaration of function ‘fopen’
    loadndisdriver.c:178: error: ‘NULL’ undeclared (first use in this function)
    loadndisdriver.c:182: warning: implicit declaration of function ‘fgets’
    loadndisdriver.c:194: warning: incompatible implicit declaration of built-in function ‘strncpy’
    loadndisdriver.c:205: warning: implicit declaration of function ‘fclose’
    loadndisdriver.c:150: warning: unused variable ‘statbuf’
    loadndisdriver.c: In function ‘load_bin_file’:
    loadndisdriver.c:217: error: ‘LOG_KERN’ undeclared (first use in this function)
    loadndisdriver.c:217: error: ‘LOG_INFO’ undeclared (first use in this function)
    loadndisdriver.c:219: warning: implicit declaration of function ‘tolower’
    loadndisdriver.c:221: warning: implicit declaration of function ‘chdir’
    loadndisdriver.c:222: error: ‘errno’ undeclared (first use in this function)
    loadndisdriver.c:224: error: ‘EINVAL’ undeclared (first use in this function)
    loadndisdriver.c:230: warning: incompatible implicit declaration of built-in function ‘strncpy’
    loadndisdriver.c:232: warning: implicit declaration of function ‘ioctl’
    loadndisdriver.c:232: warning: implicit declaration of function ‘_IOW’
    loadndisdriver.c:232: error: expected expression before ‘struct’
    loadndisdriver.c: In function ‘load_driver’:
    loadndisdriver.c:249: error: ‘DIR’ undeclared (first use in this function)
    loadndisdriver.c:249: error: ‘driver_dir’ undeclared (first use in this function)
    loadndisdriver.c:251: error: ‘NULL’ undeclared (first use in this function)
    loadndisdriver.c:255: error: ‘LOG_KERN’ undeclared (first use in this function)
    loadndisdriver.c:255: error: ‘LOG_INFO’ undeclared (first use in this function)
    loadndisdriver.c:257: error: ‘errno’ undeclared (first use in this function)
    loadndisdriver.c:259: error: ‘EINVAL’ undeclared (first use in this function)
    loadndisdriver.c:261: warning: implicit declaration of function ‘opendir’
    loadndisdriver.c:267: warning: implicit declaration of function ‘malloc’
    loadndisdriver.c:267: warning: incompatible implicit declaration of built-in function ‘malloc’
    loadndisdriver.c:271: warning: implicit declaration of function ‘memset’
    loadndisdriver.c:271: warning: incompatible implicit declaration of built-in function ‘memset’
    loadndisdriver.c:272: warning: incompatible implicit declaration of built-in function ‘strncpy’
    loadndisdriver.c:280: warning: implicit declaration of function ‘readdir’
    loadndisdriver.c:280: warning: assignment makes pointer from integer without a cast
    loadndisdriver.c:282: error: storage size of ‘statbuf’ isn’t known
    loadndisdriver.c:284: error: dereferencing pointer to incomplete type
    loadndisdriver.c:287: warning: implicit declaration of function ‘stat’
    loadndisdriver.c:287: error: dereferencing pointer to incomplete type
    loadndisdriver.c:288: warning: implicit declaration of function ‘S_ISREG’
    loadndisdriver.c:289: error: dereferencing pointer to incomplete type
    loadndisdriver.c:294: warning: incompatible implicit declaration of built-in function ‘strlen’
    loadndisdriver.c:294: error: dereferencing pointer to incomplete type
    loadndisdriver.c:296: warning: implicit declaration of function ‘strcasecmp’
    loadndisdriver.c:296: error: dereferencing pointer to incomplete type
    loadndisdriver.c:299: error: dereferencing pointer to incomplete type
    loadndisdriver.c:302: error: dereferencing pointer to incomplete type
    loadndisdriver.c:303: error: dereferencing pointer to incomplete type
    loadndisdriver.c:305: error: dereferencing pointer to incomplete type
    loadndisdriver.c:311: error: dereferencing pointer to incomplete type
    loadndisdriver.c:312: error: dereferencing pointer to incomplete type
    loadndisdriver.c:313: warning: implicit declaration of function ‘strcpy’
    loadndisdriver.c:313: warning: incompatible implicit declaration of built-in function ‘strcpy’
    loadndisdriver.c:314: error: dereferencing pointer to incomplete type
    loadndisdriver.c:317: error: ‘struct load_driver_file’ has no member named ‘size’
    loadndisdriver.c:318: error: ‘struct load_driver_file’ has no member named ‘data’
    loadndisdriver.c:321: error: dereferencing pointer to incomplete type
    loadndisdriver.c:282: warning: unused variable ‘statbuf’
    loadndisdriver.c:344: error: expected expression before ‘struct’
    loadndisdriver.c:346: warning: implicit declaration of function ‘closedir’
    loadndisdriver.c:348: warning: implicit declaration of function ‘free’
    loadndisdriver.c:355: warning: implicit declaration of function ‘munmap’
    loadndisdriver.c:355: error: ‘struct load_driver_file’ has no member named ‘data’
    loadndisdriver.c:355: error: ‘struct load_driver_file’ has no member named ‘size’
    loadndisdriver.c:357: error: ‘struct load_driver_file’ has no member named ‘data’
    loadndisdriver.c:357: error: ‘struct load_driver_file’ has no member named ‘size’
    loadndisdriver.c: In function ‘get_device’:
    loadndisdriver.c:367: error: storage size of ‘statbuf’ isn’t known
    loadndisdriver.c:370: error: ‘LOG_KERN’ undeclared (first use in this function)
    loadndisdriver.c:370: error: ‘LOG_INFO’ undeclared (first use in this function)
    loadndisdriver.c:373: error: ‘errno’ undeclared (first use in this function)
    loadndisdriver.c:374: error: ‘EINVAL’ undeclared (first use in this function)
    loadndisdriver.c:376: warning: implicit declaration of function ‘snprintf’
    loadndisdriver.c:376: warning: incompatible implicit declaration of built-in function ‘snprintf’
    loadndisdriver.c:407: warning: incompatible implicit declaration of built-in function ‘strncpy’
    loadndisdriver.c:367: warning: unused variable ‘statbuf’
    loadndisdriver.c: In function ‘load_device’:
    loadndisdriver.c:419: error: ‘DIR’ undeclared (first use in this function)
    loadndisdriver.c:419: error: ‘dir’ undeclared (first use in this function)
    loadndisdriver.c:423: error: ‘LOG_KERN’ undeclared (first use in this function)
    loadndisdriver.c:423: error: ‘LOG_INFO’ undeclared (first use in this function)
    loadndisdriver.c:424: warning: incompatible implicit declaration of built-in function ‘memset’
    loadndisdriver.c:426: error: ‘errno’ undeclared (first use in this function)
    loadndisdriver.c:427: error: ‘EINVAL’ undeclared (first use in this function)
    loadndisdriver.c:429: error: ‘NULL’ undeclared (first use in this function)
    loadndisdriver.c:434: warning: assignment makes pointer from integer without a cast
    loadndisdriver.c:435: error: dereferencing pointer to incomplete type
    loadndisdriver.c:436: error: dereferencing pointer to incomplete type
    loadndisdriver.c:439: error: dereferencing pointer to incomplete type
    loadndisdriver.c:447: error: expected expression before ‘struct’
    loadndisdriver.c: In function ‘get_ioctl_device’:
    loadndisdriver.c:464: error: ‘FILE’ undeclared (first use in this function)
    loadndisdriver.c:464: error: ‘proc_misc’ undeclared (first use in this function)
    loadndisdriver.c:472: warning: implicit declaration of function ‘strstr’
    loadndisdriver.c:472: warning: incompatible implicit declaration of built-in function ‘strstr’
    loadndisdriver.c:473: warning: implicit declaration of function ‘strtol’
    loadndisdriver.c:473: error: ‘NULL’ undeclared (first use in this function)
    loadndisdriver.c:483: error: ‘LOG_KERN’ undeclared (first use in this function)
    loadndisdriver.c:483: error: ‘LOG_INFO’ undeclared (first use in this function)
    loadndisdriver.c:488: warning: implicit declaration of function ‘unlink’
    loadndisdriver.c:489: warning: implicit declaration of function ‘mknod’
    loadndisdriver.c:489: error: ‘S_IFCHR’ undeclared (first use in this function)
    loadndisdriver.c:489: error: ‘MISC_MAJOR’ undeclared (first use in this function)
    loadndisdriver.c:490: error: ‘errno’ undeclared (first use in this function)
    loadndisdriver.c:495: error: ‘O_RDONLY’ undeclared (first use in this function)
    loadndisdriver.c: In function ‘main’:
    loadndisdriver.c:511: warning: implicit declaration of function ‘openlog’
    loadndisdriver.c:511: error: ‘LOG_PERROR’ undeclared (first use in this function)
    loadndisdriver.c:511: error: ‘LOG_CONS’ undeclared (first use in this function)
    loadndisdriver.c:511: error: ‘LOG_KERN’ undeclared (first use in this function)
    loadndisdriver.c:511: error: ‘LOG_DEBUG’ undeclared (first use in this function)
    loadndisdriver.c:513: error: ‘LOG_INFO’ undeclared (first use in this function)
    loadndisdriver.c:515: warning: implicit declaration of function ‘strncmp’
    loadndisdriver.c:517: warning: implicit declaration of function ‘printf’
    loadndisdriver.c:517: warning: incompatible implicit declaration of built-in function ‘printf’
    loadndisdriver.c:527: warning: implicit declaration of function ‘atoi’
    loadndisdriver.c:542: warning: implicit declaration of function ‘atof’
    loadndisdriver.c:549: warning: implicit declaration of function ‘strcmp’
    loadndisdriver.c:556: warning: incompatible implicit declaration of built-in function ‘sscanf’
    loadndisdriver.c:590: warning: implicit declaration of function ‘closelog’
    make[1]: ** [loadndisdriver] Erro 1
    make[1]: Saindo do diretório `/home/rodolfo/desktop/ndiswrapper-1.53/utils’
    make: ** [all] Erro 2

  4. guevara
    reinstalei o 7.10 e a primera coisa q fiz foi instala o ndiswrapper 1.53
    ai deu certo
    + tem aquele problema q todo mundo fala
    o driver do XP nao conecta !
    o unico q “funciona” é o do 98
    + depois de conecta ele cai
    a conexao nao dura nem 30 segundos.

  5. Olá Rodolfo!

    Veja se está usando o driver correto dessa placa, pois existem duas, RTL8187 e RTL8187b, pega o driver do site da Realtek e instala, de preferência o do XP.

    Boa sorte!

  6. Como consigo descobrir qual das placas é?
    A minha conecta, mas não navega. Conferi o resolv.conf com outro notebook com ubuntu na mesma rede wireless e tá igual.

  7. Olá Aníbal!
    Basta rodar o comando lspci ou lsusb e veja o resultado, normalmente essa placa usa o driver net8187b.inf, o mesmo driver informado no tutorial. Mas caso não funcione pegue o driver para win98.
    Boa sorte!

  8. É importante salientar que o sistema Wireless só vai rolar com ambientes 32 bits, se o seu sistema só tem suporte 64 Bits vc não consiguirá fazer a copnfiguração!!!
    Portanto preste atenção neste topico, se vc tyem suporte 32 ou 64 bits…
    Boa sorte!

  9. Olá Alvaro!
    É verdade, se o sistema for 64bits o driver também deve ser, mas o próprio ndiswrapper avisa isso, ele mostra uma mensagem de que o driver não é compatível com o sistema.
    Até!

Deixe um comentário