+ Responder ao Tópico



  1. #1

    Padrão ndiswrapper

    Ola pessoal, estou instalando no notebook de um amigo o slak11 onde a placa de wireless dele é uma broadcom e não consegui os drivers nativos e estou tentando usar o ndiswrapper, estou usando um pacote precompilado .tgz ele instala blz eu consigo instalar o .INF mas quando eu vou levanatar o modulo ele me retorna esse erro:
    /lib/modules/2.4.33.3/misc/ndiswrapper.o.gz: /lib/modules/2.4.33.3/misc/ndiswrapper.o.gz: unresolved symbol preempt_count
    /lib/modules/2.4.33.3/misc/ndiswrapper.o.gz: insmod /lib/modules/2.4.33.3/misc/ndiswrapper.o.gz failed
    /lib/modules/2.4.33.3/misc/ndiswrapper.o.gz: insmod ndiswrapper failed

    alguem pode me dar uma luz?

  2. #2

    Padrão

    Diego,

    o pacote pre-compilado que você instalou, foi compilado na mesma versão do kernel que você está utilizando?

    Depois de instalar o pacote do ndiswrapper, você rodou o "depmod -a" para ele atualizar as tabelas de dependências dos módulos do kernel?

  3. #3

    Padrão

    Citação Postado originalmente por galahad Ver Post
    Diego,

    o pacote pre-compilado que você instalou, foi compilado na mesma versão do kernel que você está utilizando?

    Depois de instalar o pacote do ndiswrapper, você rodou o "depmod -a" para ele atualizar as tabelas de dependências dos módulos do kernel?
    Opa, o pacote é para o mesmo kernel baixei no linuxpackagues.net, execultei o comando que vc me pediu ele me retornou isso:
    root@pabx:~# depmod -a
    depmod: *** Unresolved symbols in /lib/modules/2.4.33.3/misc/ndiswrapper.o.gz
    depmod: *** Unresolved symbols in /lib/modules/2.4.33.3/misc/wcte12xp.o

    tentei levantar novamente mas ele me retornou o mesmo erro

    root@pabx:/etc/rc.d# ./rc.netdevice
    /lib/modules/2.4.33.3/misc/ndiswrapper.o.gz: /lib/modules/2.4.33.3/misc/ndiswrapper.o.gz: unresolved symbol preempt_count
    /lib/modules/2.4.33.3/misc/ndiswrapper.o.gz: insmod /lib/modules/2.4.33.3/misc/ndiswrapper.o.gz failed
    /lib/modules/2.4.33.3/misc/ndiswrapper.o.gz: insmod ndiswrapper failed

    sera que esta faltando mais algo?

  4. #4

    Padrão

    está faltando algo na configuração do teu kernel pra bater com o que foi utilizado pra compilar o módulo que você está usando.

    Já tentou compilar o ndiswrapper na tua máquina?

  5. #5

    Arrow

    Compile o ndiswrapper na sua máquina.
    Será preciso que você tenha o kernel compilado na sua máquina também, ele precisará dos arquivos do kernel para compilar o ndiswrapper.

    Ab, Duca.

  6. #6

    Padrão

    Citação Postado originalmente por Duca Ver Post
    Compile o ndiswrapper na sua máquina.
    Será preciso que você tenha o kernel compilado na sua máquina também, ele precisará dos arquivos do kernel para compilar o ndiswrapper.

    Ab, Duca.
    Não entendi muito bem! vamos ver se eu entendi sera preciso compilar o meu kernel para funcionar?

  7. #7

    Arrow

    Quando compliar o ndiswrapper ele irá requisitar alguns aqruivos que estarão no diretório /lib/modules/2.6.x. E este diretório é criado (geralmente) quando vcoê compila o kernel na sua máquina.

    É tanto que, se você tiver duas versões de kernel na sua máquina, é preciso compilar o ndiswrapper para os dois kernels. ;-)

    Eu lido com o ndiswrapper quase que semanalmente.
    Compile o kernel e depois baixe o source do ndiswrapper, compile-o e instale-o. Irá funcionar.

    Qualquer dúvida pode postar aqui.

    Ab, Duca.

  8. #8

    Padrão

    Galera peguei o binario descompactei e fui fazer o processo de compilação e ele me retorna um erro vcs ja viram isso antes?

    root@pabx:/usr/src/ndiswrapper-1.45# make
    make -C driver
    make[1]: Entering directory `/usr/src/ndiswrapper-1.45/driver'
    cc -DEXPORT_SYMTAB -DMODVERSIONS -include /lib/modules/2.4.33.3/build/include/linux/modversions.h -DUSB_DRIVER_OWNER -freg-struct-return -DUSE_OWN_WQ -DLINUX -D__KERNEL__ -DMODULE -I/lib/modules/2.4.33.3/build/include -Wall -Wstrict-prototypes -fomit-frame-pointer -fno-strict-aliasing -pipe -O2 -mpreferred-stack-boundary=2 -c -o crt.o crt.c
    In file included from crt.c:16:
    ntoskernel.h:47:26: linux/percpu.h: No such file or directory
    make[1]: *** [crt.o] Error 1
    make[1]: Leaving directory `/usr/src/ndiswrapper-1.45/driver'
    make: *** [all] Error 2

  9. #9

    Padrão

    Citação Postado originalmente por Duca Ver Post
    Quando compliar o ndiswrapper ele irá requisitar alguns aqruivos que estarão no diretório /lib/modules/2.6.x. E este diretório é criado (geralmente) quando vcoê compila o kernel na sua máquina.

    É tanto que, se você tiver duas versões de kernel na sua máquina, é preciso compilar o ndiswrapper para os dois kernels. ;-)

    Eu lido com o ndiswrapper quase que semanalmente.
    Compile o kernel e depois baixe o source do ndiswrapper, compile-o e instale-o. Irá funcionar.

    Qualquer dúvida pode postar aqui.

    Ab, Duca.
    Blz, eu dei uma olhada nos arquivos do ndiswrapper e vi que ele procura esse arquivos mas no caminho que ele esta procurando já esta criado

    root@pabx:/lib/modules# ls
    2.4.33.3/ 2.6.17.13/

    como vc pode ver ele já tem os dois é por isso que eu não estou entendendo

    root@pabx:/usr/src/linux-2.4.33.3# ls
    COPYING MAINTAINERS REPORTING-BUGS crypto/ include/ kernel/ net/
    CREDITS Makefile Rules.make drivers/ init/ lib/ scripts/
    Documentation/ README arch/ fs/ ipc/ mm/

    e o meu kernel é o 2.4.33.3 como vc pode ver sera que eu tenho ativar algum modulo dentro do kernel e recompilar?

  10. #10

    Padrão

    Diego,

    você vai ter que instalar o pacote do source (fonte) do seu kernel atual, ele vai ficar dentro de /usr/src/linux-2.4.33.3 e, se o slack não criar, é bom colocar um link desse diretório para linux (ln -s /usr/src/linux-2.4.33.3 /usr/src/linux).

    depois entra no diretório /usr/src/linux e digita:

    make oldconfig
    make prepare

    e aí você pode compilar o ndiswrapper sem maiores problemas.

    Só uma pergunta, se você tem um kernel da série 2.6 na sua máquina, porque ainda está usando o 2.4??

  11. #11

    Padrão

    Citação Postado originalmente por galahad Ver Post
    Diego,

    você vai ter que instalar o pacote do source (fonte) do seu kernel atual, ele vai ficar dentro de /usr/src/linux-2.4.33.3 e, se o slack não criar, é bom colocar um link desse diretório para linux (ln -s /usr/src/linux-2.4.33.3 /usr/src/linux).

    depois entra no diretório /usr/src/linux e digita:

    make oldconfig
    make prepare

    e aí você pode compilar o ndiswrapper sem maiores problemas.

    Só uma pergunta, se você tem um kernel da série 2.6 na sua máquina, porque ainda está usando o 2.4??
    Seguinte eu ainda não me acostumei com algumas regras de permissão
    do slack no kernel 2.6 ai enquanto eu não estiver mais seguro...

    mas o procedimento deu mo mesmo erro dentro do meu #/usr/src/linux
    tem os fontes do meu kernel mas é como se ele estivese procurando algo que não encontra ai da erro, como se faltace um pocote que não estou identificando.
    ufa ta complicado.

    lembro que a tempos atras quando eu estava comesando a usar linux eu fiz isso no slack 10.2 de primeira foi tão facil....rss

  12. #12

    Padrão

    posta aqui pra mim o resultado dos seguintes comandos:

    uname -a

    ls -l /usr/src

    e o modelo da sua placa broadcom.

  13. #13

    Padrão

    Citação Postado originalmente por galahad Ver Post
    posta aqui pra mim o resultado dos seguintes comandos:

    uname -a

    ls -l /usr/src

    e o modelo da sua placa broadcom.
    la vai...

    root@pabx:~# uname -a
    Linux pabx 2.4.33.3 #1 Fri Sep 1 01:48:52 CDT 2006 i686 athlon-4 i386 GNU/Linux
    root@pabx:~# ls -l /usr/src/
    total 18156
    drwxr-xr-x 24 root root 4096 2008-06-26 08:16 asterisk-1.4.21/
    -rw-r--r-- 1 root root 11525298 2008-06-25 14:38 asterisk-1.4.21.tar.gz
    drwxr-xr-x 9 1000 1000 4096 2008-06-25 16:56 asterisk-addons-1.4.0/
    -rw-r--r-- 1 root root 995313 2008-06-25 16:52 asterisk-addons-1.4.0.tar.gz
    drwxr-sr-x 11 root root 4096 2008-06-25 16:49 asterisk-addons-1.4.7/
    -rw-r--r-- 1 root root 799192 2008-06-25 16:23 asterisk-addons-1.4.7.tar.gz
    drwxr-xr-x 3 1000 1000 4096 2005-12-06 21:36 asterisk-sounds-1.2.1/
    -rw-r--r-- 1 root root 3249876 2008-06-25 16:22 asterisk-sounds-1.2.1.tar.gz
    drwxr-xr-x 4 root root 4096 2007-05-05 09:02 etc/
    drwxr-xr-x 2 root root 4096 2007-05-05 09:02 install/
    drwxr-xr-x 3 root root 4096 2007-05-05 09:02 lib/
    drwxr-sr-x 3 root root 4096 2008-06-25 14:44 libpri-1.4.4/
    -rw-r--r-- 1 root root 91880 2008-06-25 14:38 libpri-1.4.4.tar.gz
    lrwxrwxrwx 1 root root 14 2008-06-25 05:56 linux -> linux-2.4.33.3/
    drwxr-xr-x 15 root root 4096 2008-07-02 15:19 linux-2.4.33.3/
    drwxr-xr-x 7 root root 4096 2008-07-01 17:14 ndiswrapper/
    -rwxr--r-- 1 root root 123668 2008-07-01 17:12 ndiswrapper-1.43_2.4.33.3-i486-1McD.tgz*
    drwxr-xr-x 4 root root 4096 2007-05-28 12:12 ndiswrapper-1.45/
    drwxr-xr-x 7 root root 4096 2003-10-29 04:08 rpm/
    drwxr-xr-x 2 root root 4096 2007-05-05 09:02 sbin/
    drwxr-xr-x 4 root root 4096 2007-05-05 09:02 slackbuilds/
    drwxr-xr-x 2 root root 4096 2006-08-23 00:13 speakup-2.4.33.3/
    drwxr-xr-x 6 root root 4096 2007-05-05 09:02 usr/
    drwxr-sr-x 8 root root 4096 2008-06-25 16:48 zaptel-1.4.11/
    -rw-r--r-- 1 root root 1681384 2008-06-25 14:38 zaptel-1.4.11.tar.gz

    e obrigado pela pescistencia!

  14. #14

    Padrão

    Não tem que agradecer ainda! Vamos primeiro resolver seu problema

    Já compilou um kernel antes? Vamos lá, execute os seguintes passos:

    1 - cd /usr/src/linux
    2 - make clean
    3 - make oldconfig (pode ser que ele pare pra te fazer algumas perguntas, é só apertar enter e ficar com o padrão)
    4 - make dep
    5 - make && make modules

    Em princípio, seguindo os passos até aqui você vai ter um kernel exatamente igual ao que está rodando na sua máquina. Vamos ao ndiswrapper:

    1 - cd /usr/src/ndiswrapper-1.45 (última versão, certo?)
    2 - make clean && make distclean
    3 - ./configure [qualquer opção que você queira adicionar]
    4 - make
    5 - make install
    6 - depmod -ae
    7 - modprobe ndiswrapper

    E vamos ver se funciona... se não funcionar, vamos partir para a instalação do kernel e uma nova tentativa. E, como último recurso, uma versão mais antiga do ndiswrapper.

    Só uma coisa, se der qualquer erro, poste ele aqui pra eu poder acompanhar, ok?

  15. #15

    Padrão

    Citação Postado originalmente por galahad Ver Post
    Não tem que agradecer ainda! Vamos primeiro resolver seu problema

    Já compilou um kernel antes? Vamos lá, execute os seguintes passos:

    1 - cd /usr/src/linux
    2 - make clean
    3 - make oldconfig (pode ser que ele pare pra te fazer algumas perguntas, é só apertar enter e ficar com o padrão)
    4 - make dep
    5 - make && make modules

    Em princípio, seguindo os passos até aqui você vai ter um kernel exatamente igual ao que está rodando na sua máquina. Vamos ao ndiswrapper:

    1 - cd /usr/src/ndiswrapper-1.45 (última versão, certo?)
    2 - make clean && make distclean
    3 - ./configure [qualquer opção que você queira adicionar]
    4 - make
    5 - make install
    6 - depmod -ae
    7 - modprobe ndiswrapper

    E vamos ver se funciona... se não funcionar, vamos partir para a instalação do kernel e uma nova tentativa. E, como último recurso, uma versão mais antiga do ndiswrapper.

    Só uma coisa, se der qualquer erro, poste ele aqui pra eu poder acompanhar, ok?
    blz cara agora sim, a questão do kernel não funfou mas realmente foi como vc falou com uma versão mais antiga do ndiswrapper ele compilou normal usei a 1.25 valeu mesmo

  16. #16

    Padrão

    Sem problemas!

    As versões mais novas do ndiswrapper devem fazer uso de parâmetros o kernel 2.6, por isso dos erros na hora de carregar o módulo. Bom, só uma especulação, eu não cheguei a olhar o site do ndiswrapper nem os ChangeLogs.