Como instalo este driver b43 com patches?

7

Recentemente eu comprei um Macbook Pro que tem um 802.11a / b / g / n WiFi cartão BCM4331 que não funciona com o kernel padrão.

  • sudo dmidecode -s system-product-name

    MacBookPro8,2

    lspci |grep 4331

    03:00.0 Network controller: Broadcom Corporation BCM4331 802.11a/b/g/n (rev 02)

    lspci -n |grep 4331

    03:00.0 0280: 14e4:4331 (rev 02)

Depois de fazer algumas pesquisas iniciais me deparei este artigo que deu instruções passo a passo sobre como consertar o mais recente compat-wireless, que deve suportar o dispositivo 4331:

No entanto, seguindo essas instruções resultados nas seguintes erros dmesg quando tento modprobe módulo corrigido na mais recente Ubuntu 11.10 kernel (3.0.0-12-genérico)

[ 5373.408581] b43: Unknown symbol bcma_core_disable (err                                                              
[ 5373.408685] b43: Unknown symbol bcma_core_pll_ctl (err 0)
[ 5373.408695] b43: disagrees about version of symbol bcma_driver_unregister
[ 5373.408698] b43: Unknown symbol bcma_driver_unregister (err -22)
[ 5373.408712] b43: disagrees about version of symbol bcma_core_enable
[ 5373.408715] b43: Unknown symbol bcma_core_enable (err -22)
[ 5373.408727] b43: disagrees about version of symbol bcma_core_is_enabled
[ 5373.408730] b43: Unknown symbol bcma_core_is_enabled (err -22)
[ 5373.408745] b43: disagrees about version of symbol bcma_chipco_gpio_control
[ 5373.408747] b43: Unknown symbol bcma_chipco_gpio_control (err -22)
[ 5373.408782] b43: disagrees about version of symbol__bcma_driver_register
[ 5373.408784] b43: Unknown symbol __bcma_driver_register (err -22)
[ 5373.408796] b43: Unknown symbol bcma_core_set_clockmode (err 0)
[ 5373.408822] b43: Unknown symbol bcma_core_dma_translation (err 0)
[ 5373.408878] b43: Unknown symbol bcma_core_pci_irq_ctl (err 0)

Alguém pode me indicar a direção certa para ajudar a fazer com que este módulo seja carregado corretamente?

    
por Russell 30.09.2011 / 01:07

3 respostas

3

Primeiro, certifique-se de não ter nenhum driver b43 instalado em sua máquina ... use o centro de software e pesquise b43 se houver alguma desinstalação

todos os arquivos podem ser armazenados em -home-youruser-downloads ....

Extraia com nautilus os arquivos desta árvore ....

Em seguida, ative o driver b43.

$ cd compat-wireless-2011-11-04
$ scripts/driver-select b43

Certifique-se de que PHY_HT esteja ativado. No arquivo config.mk, a seguinte linha deve estar presente e descomentada:

sudo nano config.mk

...

CONFIG_B43_PHY_HT = y

...

Compile e instale o driver:

$ make
$ sudo make install
$ cd ..

compilar b43-fwcutter:

$ cd b43-fwcutter-015
$ make

o firmware:

$ export FIRMWARE_INSTALL_DIR="/lib/firmware"
$ sudo ./b43-fwcutter -w "$FIRMWARE_INSTALL_DIR"  /home/YOURUSER/Downloads/broadcom-wl-5.100.138/linux/wl_apsta.o
$ cd ..

Descarregue todos os módulos relacionados à rede sem fio e verifique se o ndiswrapper não está carregado:

$ cd compat-wireless-2011-11-04
$ sudo make wlunload
$ sudo rmmod ndiswrapper

adicione à linha no final do arquivo:

sudo nano /etc/modprobe.d/blacklist.conf

...

ndiswrapper de lista negra

...

Para ter certeza de que nenhum dos módulos antigos ainda estão carregados, provavelmente é melhor reinicializar o sistema. Agora você deve ser capaz de carregar e usar o módulo b43 recém-compilado:

$ sudo modprobe b43

Você pode querer adicionar b43 à lista de módulos carregados na inicialização (no momento, o módulo não é carregado automaticamente). Para o Ubuntu, adicione esta linha no final do arquivo:

sudo nano /etc/modules

...

b43

...

O driver não funciona bem com suspender e hibernar. É necessário descarregar o módulo antes de colocar o laptop para dormir e recarregá-lo após o despertar. Para o Ubuntu, é suficiente criar o arquivo (ou acrescentar ao arquivo)

sudo /etc/pm/config.d/default

...

SUSPEND_MODULES="b43"

...

NOTA: que após cada atualização do kernel você terá que recompilar o módulo para o novo kernel:

$ cd compat-wireless-2011-11-04
$ make clean
$ make
$ sudo make install

P.S: É como o post original eu só adapto extensão do arquivo de configuração porque faltam, conserto outras coisas e erro ....

    
por hhlp 05.11.2011 / 18:03
2

Certifique-se de também incluir a lista negra ssb e bcma. Bcma causa problemas com o kernel 3.0.0. Você pode apenas ter que colocar os módulos 'b43, ssb, bcma' na lista negra e então fazer um depmod -a e modprobe wl e depois outro depmod -a ou reinstalar o pacote e reinicializar. Eu espero que isso ajude.

    
por Rocksinboxes 05.11.2011 / 18:47
0

Eu não sei porque a réplica exata do artigo ganha 2 votos. É inútil. Eu finalmente consegui trabalhar apenas descarregando ssb e bcma como Rock sugeriu.

    
por Kai 31.12.2011 / 22:40