Como instalar wireless Broadcom no Fedora

“O que torna o Fedora diferente?
Nós acreditamos no valor do software livre, e lutamos para proteger e promover soluções que qualquer um pode usar e redistribuir.”
Fonte: http://fedoraproject.org/pt_BR/about-fedora

O trecho acima é muito dignificante e entusiasta, entretanto pode gerar alguns problemas, como a não inclusão de módulos(drivers) com licenças que não atendem aqueles requisitos de liberdade do Fedora.

Tenho um notebook HP Compaq CQ40 e ao instalar o Fedora, mesmo as últimas versões como Fedora 13, 14 e 15, a minha placa de rede wireless não funciona, isto porque o módulo dela não é free, portanto ele não pode estar nos repositórios oficiais do Fedora.

Para solucionar podemos incluir os repositórios free e nonfree do RPM Fusion e instalar os módulos necessários para a rede wireless.

Use o comando abaixo para adicionar os repositórios do RPM Fusion:

rpm -Uvh http://download1.rpmfusion.org/free/fedora/rpmfusion-free-release-stable.noarch.rpm
rpm -Uvh http://download1.rpmfusion.org/nonfree/fedora/rpmfusion-nonfree-release-stable.noarch.rpm

Agora para certificar que não estamos com versões desatualizadas, faça um update geral isto dá um certo medo:

yum update

Feito isto podemos instalar os pacotes para disponibilizar os drivers das placas de rede wireless free e nonfree no seu sistema:

yum install wl-kmod-common kmod-wl

Se tudo correu bem, seu hardware já deve estar disponível no sistema. Caso você não saiba como ativá-lo manualmente logo após instalar, experimente reiniciar o computador.

43 comentários sobre “Como instalar wireless Broadcom no Fedora”

  1. Saudacoes,
    Estou a tentar a instalar wireless no fedora 18 mas depois mostra a seguinte mensagem:

    Downloading packages:
    warning: /var/cache/yum/x86_64/18/rpmfusion-nonfree-updates/packages/broadcom-wl-6.30.223.141-1.fc18.noarch.rpm: Header V3 RSA/SHA256 Signature, key ID e31b30ca: NOKEY
    Retrieving key from file:///etc/pki/rpm-gpg/RPM-GPG-KEY-rpmfusion-nonfree-fedora-18

    GPG key retrieval failed: [Errno 14] curl#37 – “Couldn’t open file /etc/pki/rpm-gpg/RPM-GPG-KEY-rpmfusion-nonfree-fedora-18”

    Queiram por favor dar help

    1. Garcia, aparentemente houve um problema com a instalação do repositório RPMFusion nonfree, você já tentou desinstalar e instalar novamente?

      O arquivo /etc/pki/rpm-gpg/RPM-GPG-KEY-rpmfusion-nonfree-fedora-18 existe? Caso não, verifique se não há outra arquivo com nome similar, as vezes um link simbólico pode resolver.

      Caso isto não ajude, favor voltar a questionar com mais detalhes de todo o procedimento.

      Obrigado por comentar.

  2. cara to precisando muito de voce fiz tudo direitinho como voce fez tudo foi instalado corretamente mas a tarjeta do wifi naum aparece gostaria que vc mim ajudassee obrigadaoo

  3. ei gabriel to precisando muito da sua ajuda cara fiz tudo como vc ensinou tudor ficou ok
    mas ai a tarjeta do wifi naum aparece queria que voce mim ajudasse ! obrigadão

    1. Ola Jefferson, o fato do ícone da wifi não aparecer, não quer dizer que a placa não funcionou.

      Favor verificar se o módulo subiu e se a versão do módulo é para o kernel atual.

      Nos comentários abaixo, você encontrar ajuda para verificar isto.

      Obrigado por comentar.

    1. Marcelo, você pode alterar a configuração do grub
      Se Fedora 16 é o arquivo:

      /boot/grub2/grub.cfg

      Altere a linha abaixo, 0 inicia o primeiro kernel instalado, 1 o segundo e assim por diante, no seu caso deve funcionar colocando o valor “1”

      set default="0"

      Se Fedora 15 é o arquivo:

      /boot/grub/grub.conf

      Neste caso altere a linha, mas mesma regra que o grub2:

      default=0

      Para testar podes simplesmente ficar pressionando qualquer tecla ao iniciar – como por exemplo as setas – para exibir as opções de boot do grub, selecione uma versão de kernel mais antiga e pressione ENTER.

      Quando iniciar com o kernel anterior e conseguir subir novamente tua placa sugiro fazer um “yum update”, pois se a atualização do teu kernel foi automática – a configuração padrão vem com as atualizações automáticas de segurança ativada – como apenas as atualizações de segurança são realizadas ele não atualiza o kmod correspondente, logo um “yum update” deve resolver teu problema.

      Obrigado pela visita, espero ter ajudado.

  4. uname -r
    3.0.3-1.fc14.i686

    rpm -qa | grep -e kernel -e kmod-wl -e broadcom-wl | sort
    abrt-addon-kerneloops-1.1.18-1.fc14.i686
    broadcom-wl-5.100.82.38-8.noarch
    kernel-2.6.39.1-1.fc14.i686
    kernel-3.0.3-1.fc14.i686
    kernel-headers-3.0.3-1.fc14.i686
    kmod-wl-3.0.3-1.fc14.i686-5.100.82.38-11.i686
    kmod-wl-5.100.82.38-11.i686

    lsmod | sort
    bcma 11068 0
    binfmt_misc 5442 1
    bluetooth 165592 25 rfcomm,bnep,btusb
    bnep 11749 2
    btusb 12532 3
    drm 157003 4 i915,drm_kms_helper
    drm_kms_helper 23314 1 i915
    fuse 54708 3
    i2c_algo_bit 4230 1 i915
    i2c_core 21588 6 videodev,i2c_i801,i915,drm_kms_helper,drm,i2c_algo_bit
    i2c_i801 8013 0
    i915 333976 3
    iTCO_vendor_support 2070 1 iTCO_wdt
    iTCO_wdt 10480 0
    joydev 7231 0
    lib80211 4022 1 wl
    media 9226 2 uvcvideo,videodev
    microcode 11249 0
    Module Size Used by
    nf_conntrack 57114 2 nf_conntrack_ipv4,xt_state
    nf_conntrack_ipv4 6882 1
    nf_defrag_ipv4 1093 1 nf_conntrack_ipv4
    rfcomm 50063 8
    rfkill 12973 3 bluetooth
    sky2 36118 0
    snd 48510 12 snd_hda_codec_realtek,snd_hda_intel,snd_hda_codec,snd_hwdep,snd_seq,snd_seq_device,snd_pcm,snd_timer
    snd_hda_codec 71920 2 snd_hda_codec_realtek,snd_hda_intel
    snd_hda_codec_realtek 241877 1
    snd_hda_intel 20580 2
    snd_hwdep 4822 1 snd_hda_codec
    snd_page_alloc 6071 2 snd_hda_intel,snd_pcm
    snd_pcm 64326 2 snd_hda_intel,snd_hda_codec
    snd_seq 44008 0
    snd_seq_device 5057 1 snd_seq
    snd_timer 15230 2 snd_seq,snd_pcm
    soundcore 5101 1 snd
    sunrpc 170425 1
    uinput 5398 0
    uvcvideo 51882 0
    video 10768 1 i915
    videodev 66486 1 uvcvideo
    wl 2631963 0
    xt_state 942 1

    estes foram os resulatados

    1. Alex, sugiro verificar se a versão do kernel é diferente da versão do módulo (pacotes kmod), pois isto faz ele não funcionar:

      uname -r
      rpm -qa | grep -e kernel -e kmod-wl -e broadcom-wl  | sort

      Verificar se o módulo wl está carregado e se não estão os módulos b43, b43legacy e o ssb, pois eles são conflitantes e fazem o módulo wl não funcionar:

      lsmod | sort

      Obrigado pela comentário.

      1. 3.0.3-1.fc14.i686

        rpm -qa | grep -e kernel -e kmod-wl -e broadcom-wl | sort
        abrt-addon-kerneloops-1.1.18-1.fc14.i686
        broadcom-wl-5.100.82.38-8.noarch
        kernel-2.6.39.1-1.fc14.i686
        kernel-3.0.3-1.fc14.i686
        kernel-headers-3.0.3-1.fc14.i686
        kmod-wl-3.0.3-1.fc14.i686-5.100.82.38-11.i686
        kmod-wl-5.100.82.38-11.i686

        lsmod | sort
        bcma 11068 0
        binfmt_misc 5442 1
        bluetooth 165592 25 rfcomm,bnep,btusb
        bnep 11749 2
        btusb 12532 3
        drm 157003 4 i915,drm_kms_helper
        drm_kms_helper 23314 1 i915
        fuse 54708 3
        i2c_algo_bit 4230 1 i915
        i2c_core 21588 6 videodev,i2c_i801,i915,drm_kms_helper,drm,i2c_algo_bit
        i2c_i801 8013 0
        i915 333976 3
        iTCO_vendor_support 2070 1 iTCO_wdt
        iTCO_wdt 10480 0
        joydev 7231 0
        lib80211 4022 1 wl
        media 9226 2 uvcvideo,videodev
        microcode 11249 0
        Module Size Used by
        nf_conntrack 57114 2 nf_conntrack_ipv4,xt_state
        nf_conntrack_ipv4 6882 1
        nf_defrag_ipv4 1093 1 nf_conntrack_ipv4
        rfcomm 50063 8
        rfkill 12973 3 bluetooth
        sky2 36118 0
        snd 48510 12 snd_hda_codec_realtek,snd_hda_intel,snd_hda_codec,snd_hwdep,snd_seq,snd_seq_device,snd_pcm,snd_timer
        snd_hda_codec 71920 2 snd_hda_codec_realtek,snd_hda_intel
        snd_hda_codec_realtek 241877 1
        snd_hda_intel 20580 2
        snd_hwdep 4822 1 snd_hda_codec
        snd_page_alloc 6071 2 snd_hda_intel,snd_pcm
        snd_pcm 64326 2 snd_hda_intel,snd_hda_codec
        snd_seq 44008 0
        snd_seq_device 5057 1 snd_seq
        snd_timer 15230 2 snd_seq,snd_pcm
        soundcore 5101 1 snd
        sunrpc 170425 1
        uinput 5398 0
        uvcvideo 51882 0
        video 10768 1 i915
        videodev 66486 1 uvcvideo
        wl 2631963 0
        xt_state 942 1

        estes foram os resulatados

  5. Vi que suas explicações são muito satisfatórias, mas estou com o seguinte problema. Alem de ser usuário novo em linux não consigo fazer o Fedora 15 detectar minha placa de wireless. É a mesma citada anteriormente BCM4313. Acho que o problema é a versão do meu kernel 2.6.40.6-0.fc15.x86_64 não consigo instalar o módulo wl
    Tem alguma idéia do que pode estar ocorrendo e o que posso fazer?
    Grato

    1. Envia para mim as saídas dos comandos abaixo, pois se você tiver com a versão do kernel diferente da versão dos kmod’s não irá funcionar.

      uname -r
      rpm -qa | grep -e kernel -e kmod-wl -e broadcom-wl  | sort
      lsmod | sort

      Obrigado pela comentário.

      1. Era esse o problema. Tive que reinstalar e não deixar atualisar o kernel para o 2.6.40
        Estou usando o 2.6.38 agora e assim funcionou. Só não entendo como que algo que “evolui” deixa de realizar funções que fazia antes. Mas seu post foi de grande ajuda. Parabéns.

        1. Quanto a atualização é mais ou menos assim:

          1- Como das partes do sistema sempre o kernel é o primeiro a ser a atualizado e apenas depois de lançar o kernel novo a comunidade começa a compilar os módulos kmod sob aquela versão do kernel e nem sempre isto acontece tão rapidamente, portanto tenha cautela ao atualizar o kernel.

          2- Outro ponto é que as vezes é necessário desinstalar os kmod’s da versão antiga do kernel para poder atualizá-los, pois os pacote kmod’s são conflitantes, ou seja, não é possível ter várias versões deles instalada em uma mesma instalação linux, diferentemente do kernel, pois podemos ter várias versões de kernel em uma única instalação linux.

          Parabéns e obrigado pelo retorno.

  6. Muito obrigado!! funcionou perfeitamente. Broadcom BCM4313 Notebook HP G42-372BR.
    O problema agora está na placa de video ati hd 6370M + hd 4200, já instalei do RPMFusion, o binário do site da ATI, mas nada funcionou. Tive que voltar a usar o driver genérico.

  7. possuo um leitor de cartao conta corrente VASCO e uso fedora 14.ja instalei java e seus plugins e nada .vc poderia me ajudar?a unica resposta que recebo quando conecto é nao existe nenhum leitor de cartao.

    1. Alex, favor enviar o modelo do leitor, os passos que você já executou para instalar e qualquer outra informação que achar relevante, além das saídas dos comandos abaixo, assim consigo ver se posso ajudar.

      lsusb
      lsmod
      uname -a

      Obrigado.

  8. Boa tarde Gabriel… tenho um dell vostro 3300 e instalei o fedora 15, mas seguido os passos que você descrevu não obtive resultado.
    Minha placa é uma BCM 4313… você poderia me dar alguma luz?

    Obrigado

    1. Juan,

      Tente fazer o seguinte:
      1- Adicione os repositórios do RPM Fusion como dito no post;
      2- Execute:

      yum install broadcom-wl wl-kmod-common kmod-wl

      3- Reinicie;

      Se não funcionar, favor enviar a saída destes comandos:

      lspci | grep -i bcm
      lsmod | grep -i b43
      uname -a

      Obrigado.

      1. Olá Gabriel.
        Segue a saída dos comandos:

        lspci | grep -i bcm
        -> 12:00.0 Network controller: Broadcom Corporation BCM4313 802.11b/g LP-PHY (rev 01)

        lsmod | grep -i b43
        -> não teve saída

        uname -a
        -> Linux juan-fedora 2.6.40-4.fc15.x86_64 #1 SMP Fri Jul 29 18:46:53 UTC 2011 x86_64 x86_64 x86_64 GNU/Linux

        Fico aguardando sua orientação.
        Obrigado.

        1. Juan, tranquilo!

          Seguinte, na teoria a BCM4311, BCM4312 (mesma que tenho no meu notebook) e BCM4313 são suportadas e deveriam funcionar após a instalação dos módulos kmod-wl ou broadcom-wl em conjunto com o wl-kmod-common. Minha placa é uma BCM4312 e funcionou apenas com o que postei acima, no lspci minha placa é listada assim:

          02:00.0 Network controller: Broadcom Corporation BCM4312 802.11b/g LP-PHY (rev 01)

          Acredito deve ter algo na tua instalação, talvez porque tu ja tenhas tentado resolver o problema de várias formas. Sugiro verificar o seguinte:

          1- Verifique se os pacotes kmod-wl ou broadcom-wl estão na mesma versão do kernel:

          uname -r
          rpm -qa | grep -e kernel -e kmod-wl -e broadcom-wl  | sort

          2- Verifique se o módulo correto está carregado e que não há conflitos, pois apenas o módulo wl deve estar carregado, o b43, b43legacy e o ssb são conflitantes e não podem aparecer:

          lsmod | sort

          3- Se o módulo wl não estiver carregado tente carregá-lo:

          modprobe wl
          service NetworkManager restart

          4- Se funcionar carregando manualmente coloque no /etc/rc.local:

          echo "modprobe wl" >> /etc/rc.local

          5- se tiver conflito de modulos adicione os módulos que não podem carregar na blacklist:

          echo "blacklist b43" >> /etc/modprobe.d/blacklist.conf
          echo "blacklist ssb" >> /etc/modprobe.d/blacklist.conf

          Obrigado pela visita.

          1. Fala Gabriel…
            Obrigado pela sua ajuda… mas não funcionou para a minha placa BCM 4313 -> VOSTRO 3300

            Consegui realizando de outra forma.
            Vou te passar um passo a passo que fiz:

            PASSOS FEDORA 15 VOSTRO 3300:

            yum update

            rpm -Uvh http://download1.rpmfusion.org/free/fedora/rpmfusion-free-release-stable.noarch.rpm
            rpm -Uvh http://download1.rpmfusion.org/nonfree/fedora/rpmfusion-nonfree-release-stable.noarch.rpm

            yum update

            BAIXAR DRIVE
            http://www.broadcom.com/support/802.11/linux_sta.php

            mkdir build
            cd build/
            tar xvf finename -C ./build

            nano src/wl/sys/wl_linux.c (trocar linha do MUTEX -> sema_init(&wl->sem, 1);)

            yum install kernel-devel.x86_64
            yum install gcc-c++.x86_64

            make
            make install
            chmod +x wl.ko
            cp wl.ko /lib/modules/2.6.40-4.fc15.x86_64/kernel/net/wireless/

            rmmod b43
            rmmod ssb
            rmmod wl

            echo “blacklist ssb” >> /etc/modprobe.d/blacklist.conf
            echo “blacklist b43” >> /etc/modprobe.d/blacklist.conf

            modprobe lib80211

            depmod -a
            insmod wl.ko

            echo “modprobe wl” >> /etc/rc.local
            echo “blacklist bcma” >> /etc/modprobe.d/blacklist.conf

            modprobe wl
            service NetworkManager restart

            reboot

          2. Juan, Obrigado pelo retorno.

            Eu acredito que o problema com o módulo wl pré-compilado está relacionado a versão do teu kernel, pois ainda não há um pacote kmod-wl compilado para o kernel 2.6.40, eu ainda uso o kernel 2.6.38 (tive outros problemas com o 2.6.40 e retornei ao 2.6.38), por isto a sua recompilação resolveu.
            A proposta do módulo kmod-wl é em linhas gerais fazer o que você fez e depois empacotar para distribuir para facilitar a vida dos usuários.
            No link abaixo, você pode ver alguns detalhes sobre o kmod-wl e sua origem, observe que ele é compilado a partir do mesmo link que tu baixou o driver :

            kmod-wl by linux_sta

            Parabéns pelo empenho.

    1. Carlos,
      Dei uma pesquisa e verifiquei que aparentemente tua placa deve funcionar com o módulo RT2870 ou RT3070, considero conveniente você testar as duas possibilidades (se você ainda não o fez). No RPMFusion o kmod-rt2870 e o kmod-rt3070 foram atualizados em 12 de Julho de 2011, isto é um bom sinal. 🙂

      Tente fazer o seguinte:
      1- Adicione o RPMFusion, como dito no post. acredito que você ja tenha feito isto
      2- Atualize o sistema

      yum update

      3- Agora instale o módulo para 2870:

      yum install rt2870

      4- reinicie e verifique se funcionou, caso não obtenha sucesso vale tentar a 3070, mas antes desinstale a 2870

      yum erase rt2870

      5- Agora instale a 3070

      yum install rt3070

      Lembre-se de sempre remover um módulo antes de instalar outro.

      Outro item, você comentou que não funciona com WPA-PSK/WPA2-PSK, mas já testou outros protocolos, para poder validar o módulo/driver instalado no sistema?

      Sobre a publicação Linux Fedora, não tenho sugestão, mas para quem está começando tenho uma ótima leitura para sugerir, trata-se do meu livro Linux Fundamentos publicado pela Editora Érica. Neste livro tentamos resumir de forma prática e objetiva tudo que se precisa saber sobre Linux para não passar “vergonha” em uma rodinha de geeks e ao mesmo tempo suprir as necessidades básicas de um usuário de Linux. Sem dúvida é uma ótima opção para ser o seu “primeiro livro sobre Linux”. Para ler mais sobre o livro visite o site da editora no link http://www.erica.com.br/buscafinal.asp?cod=3219.

      Obrigado pela visita.

  9. Bom dia Gabriel
    Por necessidades do trabalho e sugestão de amigos, comprei um HP G42-350BR para instalar uma VM com Windows XP e outra com o Windows 7. Já montei o ambiente com o VirtualBox da Oracle, com a ajuda dos amigos, pois sou totalmente leigo em Linux, mas não consigo fazer funcionar a minha wireless em casa na distribuição Fedora 15. Fiz o procedimento que vc postou para reconhecer a placa e aparentemente correu tudo bem. Mas ao reiniciar a máquina, e ativar o wireless o micro manda sempre a mensagem “Authentication required by wireless network”, apesar da senha estar correta. Meu roteador é um TP-Link TLWR941ND e uso WPA-PSK/WPA2-PSK com encripação automática. Agradeceria muito se vc pudesse me dar uma dica para solucionar o meu problema e ao mesmo tempo me indicar uma publicação que me auxilie a conhecer o Linux Fedora, para que eu possa ficar independente e me virar sozinho com este e outros problemas.
    Desde já, muito obrigado.

  10. boa noite!

    meu notebook modelo dv4 1222nr pavillion placa de rede wireless

    broadcom bcm 4310 usb controller, nao consigo instalar no fedora 14,

    pode me ajudar??

    Sandromar

    1. Aparentemente a placa BCM4310 USB não tem driver para Linux, sendo necessário usar o módulo ndiswrapper em conjunto com o driver para Windows.

      Não tenho um Fedora 14 para testar, mas a instalação seria mais ou menos assim:

      1- Adicione os repositórios do RPM Fusion e faça um update do sistema, como mostra no post.
      2- Com o comando “uname -r” verifique a versão do kernel e com o usuário root faça:
      Se i686 ou x86_64 execute:
      yum install kmod-ndiswrapper

      Se PAE execute:
      yum install kmod-ndiswrapper-PAE

      Se nenhum dos anteriores, execute:
      yum install akmod-ndiswrapper

      3- Baixe o driver para Windows e descompacte (apenas os .inf e .sys são necessários).
      4- Vá até a pasta onde estão estes arquivos e execute:

      ndiswrapper -i [Nome do arquivo INF]
      ndiswrapper -mi

      5- Para compatibilizar com Fedora 11 ou superior, faça:

      mv /etc/modprobe.d/ndiswrapper /etc/modprobe.d/ndiswrapper.conf

      Valeu.

      1. Gabriel,

        vou ver se funciona, quando peço para baixar esse pacote informa que já está instalada a broadcom bcm4312 ou seja, modelo mais novo de drivers, caso contrario talvez tenho que mundar de versão de linux.

        obrigado!

        sds,

        Sandrmar

  11. Cara, muito obrigado, sei que o post é antigo, mais mesmo assim quis passar e agradecer, tive muita dor de cabeça com isso. E o que resolveu foi apenas o ultimo comando. Muito obrigado!!

Deixe uma resposta