A placa WLAN baseada em BCM4312 falha em um Dell Vostro 1510 com Ubuntu 14.04

A placa WLAN baseada em BCM4312 falha em um Dell Vostro 1510 com Ubuntu 14.04

Tudo funcionou bem no Ubuntu 13.08 usando o driver proprietário STA. Sob insistência das mensagens de aviso do Ubuntu, decidi atualizar para o Ubuntu 14.04 apenas para ver que o circuito sem fio não responde mais. Eu tentei todos os 4 módulos do kernel considerados compatíveis com o chipset BCM4312, mas nenhum deles funcionou.

Como último recurso, decidi baixar o código-fonte mais recente fornecido pela Broadcom (correspondente ao chipset BCM 4312) para arquitetura de 64 bits. Tive que alterar alguns detalhes no sistema de arquivos para que a compilação funcionasse. A compilação não mostrou nenhum aviso sério, mas ao tentar inserir o driver compilado resultante no kernel com o comando "insmod", apareceu um erro fatal devido a um erro de "formato". Tentei usar o "modprobe", nenhuma mensagem de erro foi emitida, mas aparentemente falhou porque a função de rede ainda está indisponível e a saída do comando lscpi não mostrou nenhum driver de kernel conectado ao controlador de rede sem fio Broadcom.

Saída do comando LSCPI (texto irrelevante truncado):

... 06:00.0 Controlador de rede [0280]: Broadcom Corporation BCM4312 802.11b/g LP-PHY [14e4:4315] (rev 01) Subsistema: Miniplaca WLAN Dell Wireless 1395 [1028:000b] Sinalizadores: barramento mestre, devsel rápido, latência 0, IRQ 11 Memória em f4000000 (64 bits, não pré-buscável) [tamanho = 16K] Capacidades: [40] Capacidades de gerenciamento de energia versão 3: [58] Informações específicas do fornecedor: Len = 78 Capacidades: [e8 ] MSI: Ativar - Contagem = 1/1 Mascarável - 64 bits + Capacidades: [d0] Express Endpoint, MSI 00 Capacidades: [100] Capacidades avançadas de relatório de erros: [13c] Capacidades de canal virtual: [160] Número de série do dispositivo 1b-bf- 44-ff-ff-db-00-16 Capacidades: [16c] Orçamento de energia

07:00.0 Controlador Ethernet [0200]: Realtek Semiconductor Co., Ltd. Controlador PCI Express Gigabit Ethernet RTL8111/8168/8411 [10ec:8168] (rev 02) Subsistema: Dispositivo Dell [1028:0273] Sinalizadores: barramento mestre, rápido devsel, latência 0, IRQ 44 portas de E/S em 5000 [tamanho = 256] Memória em f8610000 (64 bits, pré-buscável) [tamanho = 4K] Memória em f8600000 (64 bits, pré-buscável) [tamanho = 64K] [virtual ] ROM de expansão em f8620000 [desativado] [tamanho = 64K] Capacidades: [40] Capacidades da versão 3 do Power Management: [50] MSI: Enable + Count = 1/2 Mascarável - 64 bits + Capacidades: [70] Express Endpoint, MSI 01 Capacidades: [b0] MSI-X: Ativar - Contagem = 2 Capacidades mascaradas: [d0] Capacidades de dados vitais do produto: [100] Capacidades avançadas de relatório de erros: [140] Capacidades de canal virtual: [160] Número de série do dispositivo 00-00-00 -00-00-00-00-00 Driver do kernel em uso: r8169 .... "

A mensagem de erro real que recebi com o comando "insmod wl.ko" é "formato de módulo inválido"

sendo wl.ko o arquivo obtido a partir da compilação do código-fonte do driver fornecido pela Broadcom.


Desinstalei o driver do kernel (mesmo duvidando que tenha sido instalado/usado pelo sistema) usando o comando

 apt-get purge bcmwl-kernel-source

(o terminal exibiu mensagens dizendo que o firmware-bc43-installer foi recuperado ou baixado para ser instalado)

Em seguida, instalei o driver STA digitando o comando

apt-get install linux-firmware-nonfree

Verifiquei o arquivo /etc/modprobe.d/blacklist.conf e descomentei a linhalista negra bcm43xx, o único relacionado ao dispositivo/driver sem fio.

Então reiniciei.

Agora ainda não tenho melhora:

# lspci -v |grep -13 Network

    I/O ports at 18e0 [size=32]
    Memory at f8500000 (32-bit, non-prefetchable) [size=2K]
    Capabilities: [80] MSI: Enable+ Count=1/4 Maskable- 64bit-
    Capabilities: [70] Power Management version 3
    Capabilities: [a8] SATA HBA v1.0
    Kernel driver in use: ahci

00:1f.3 SMBus: Intel Corporation 82801H (ICH8 Family) SMBus Controller (rev 03)
    Subsystem: Dell Device 0273
    Flags: medium devsel, IRQ 10
    Memory at c0500000 (32-bit, non-prefetchable) [size=256]
    I/O ports at 1c20 [size=32]

06:00.0 Network controller: Broadcom Corporation BCM4312 802.11b/g LP-PHY (rev 01)
    Subsystem: Dell Wireless 1395 WLAN Mini-Card
    Flags: bus master, fast devsel, latency 0, IRQ 11
    Memory at f4000000 (64-bit, non-prefetchable) [size=16K]
    Capabilities: [40] Power Management version 3
    Capabilities: [58] Vendor Specific Information: Len=78 <?>
    Capabilities: [e8] MSI: Enable- Count=1/1 Maskable- 64bit+
    Capabilities: [d0] Express Endpoint, MSI 00
    Capabilities: [100] Advanced Error Reporting
    Capabilities: [13c] Virtual Channel
    Capabilities: [160] Device Serial Number 1b-bf-44-ff-ff-db-00-16
    Capabilities: [16c] Power Budgeting <?>

07:00.0 Ethernet controller: Realtek Semiconductor Co., Ltd. RTL8111/8168/8411 PCI Express Gigabit Ethernet Controller (rev 02)

#lshw 

...
*-pci:2
             description: PCI bridge
             product: 82801H (ICH8 Family) PCI Express Port 4
             vendor: Intel Corporation
             physical id: 1c.3
             bus info: pci@0000:00:1c.3
             version: 03
             width: 32 bits
             clock: 33MHz
             capabilities: pci pciexpress msi pm normal_decode bus_master cap_list
             configuration: driver=pcieport
             resources: irq:42 ioport:4000(size=4096) memory:f4000000-f7ffffff ioport:fc000000(size=33554432)
           *-network UNCLAIMED
                description: Network controller
                product: BCM4312 802.11b/g LP-PHY
                vendor: Broadcom Corporation
                physical id: 0
                bus info: pci@0000:06:00.0
                version: 01
                width: 64 bits
                clock: 33MHz
                capabilities: pm msi pciexpress bus_master cap_list
                configuration: latency=0
                resources: memory:f4000000-f4003fff
...


# lsmod

Module                  Size  Used by
zram                   18439  2 
dm_crypt               22924  1 
coretemp               13355  0 
dell_wmi               12681  0 
sparse_keymap          13890  1 dell_wmi
dell_laptop            17369  0 
dcdbas                 14397  1 dell_laptop
uvcvideo               80847  0 
videobuf2_vmalloc      13056  1 uvcvideo
videobuf2_memops       13202  1 videobuf2_vmalloc
videobuf2_core         40542  1 uvcvideo
videodev              129379  2 uvcvideo,videobuf2_core
microcode              22939  0 
joydev                 17377  0 
serio_raw              13215  0 
lpc_ich                17061  0 
parport_pc             28152  0 
ppdev                  17073  0 
lp                     17759  0 
parport                46345  3 lp,ppdev,parport_pc
mac_hid                13205  0 
psmouse                95934  0 
ahci                   25731  2 
libahci                31394  1 ahci
sdhci_pci              18619  0 
firewire_ohci          40315  0 
sdhci                  32686  1 sdhci_pci
r8169                  67706  0 
firewire_core          64566  1 firewire_ohci
i915                  605700  3 
crc_itu_t              12707  1 firewire_core
i2c_algo_bit           13413  1 i915
drm_kms_helper         49394  1 i915
drm                   286260  4 i915,drm_kms_helper
wmi                    19070  1 dell_wmi
video                  19390  1 i915

Responder1

Seu 4312 Broadcom [4315] pode usar o driver b43 ou o driver proprietário STA (wl) de acordo comb43-Linux sem fio. O driver b43 está presente por padrão, mas precisa que você instale o firmware proprietário, o que você pode fazer instalando o pacote linux-firmware-nonfree. Se por algum motivo esse firmware não funcionar com o [4315], você pode executar o cortador b43 e os pacotes de instalação mencionados. O resultado final deve ser um conjunto de arquivos de firmware no diretório /lib/firmware/b43 Wireless deve pegar o driver na próxima inicialização, desde que você não esteja suprimindo o driver b43 com uma linha "blacklist b43" em qualquer arquivo em /etc /modprobe.d. Verifique essas linhas e comente-as. Eles devem ser removidos se você limpar os arquivos do pacote STA, mas verifique você mesmo para ter certeza.

Não tenho experiência recente com o driver STA, mas apenas usar a seleção Adicional Drivers Dash deve adicioná-lo (quando você estiver em uma conexão com fio, obviamente). Nesse caso, não há necessidade de nenhum arquivo de firmware, pois eles estão incluídos no próprio driver STA (é de onde o cortador b43 os obtém).

informação relacionada