La tarjeta WLAN basada en BCM4312 falla en una Dell Vostro 1510 con Ubuntu 14.04

La tarjeta WLAN basada en BCM4312 falla en una Dell Vostro 1510 con Ubuntu 14.04

Todo funcionó bien en Ubuntu 13.08 usando el controlador propietario de STA. Ante la insistencia de los mensajes de advertencia de Ubuntu, decidí actualizar a Ubuntu 14.04 solo para ver que los circuitos inalámbricos ya no responden. Probé los 4 módulos del kernel considerados compatibles con el chipset BCM4312, pero ninguno funcionó.

Como último recurso, decidí descargar el último código fuente proporcionado por Broadcom (correspondiente al chipset BCM 4312) para la arquitectura de 64 bits. Tuve que cambiar algunos detalles en el sistema de archivos para que la compilación funcionara. La compilación no mostró ninguna advertencia seria, pero al intentar insertar el controlador compilado resultante en el kernel con el comando "insmod", apareció un error fatal debido a un error de "formato". Intenté usar "modprobe", no se emitieron mensajes de error pero aparentemente falló porque la función de red aún no está disponible y la salida del comando lscpi no mostró ningún controlador de kernel conectado al controlador de red inalámbrica Broadcom.

Salida del comando LSCPI (texto irrelevante truncado):

... 06:00.0 Controlador de red [0280]: Broadcom Corporation BCM4312 802.11b/g LP-PHY [14e4:4315] (rev 01) Subsistema: Minitarjeta WLAN inalámbrica 1395 de Dell [1028:000b] Banderas: bus maestro, desarrollo rápido, latencia 0, IRQ 11 Memoria a f4000000 (64 bits, no recuperable) [tamaño=16K] Capacidades: [40] Administración de energía versión 3 Capacidades: [58] Información específica del proveedor: Len=78 Capacidades: [e8 ] MSI: Habilitar- Conteo=1/1 Enmascarable- 64 bits+ Capacidades: [d0] Express Endpoint, MSI 00 Capacidades: [100] Capacidades avanzadas de informe de errores: [13c] Capacidades de canal virtual: [160] Número de serie del dispositivo 1b-bf- 44-ff-ff-db-00-16 Capacidades: [16c] Presupuesto de energía

07:00.0 Controlador Ethernet [0200]: Realtek Semiconductor Co., Ltd. RTL8111/8168/8411 Controlador PCI Express Gigabit Ethernet [10ec:8168] (rev 02) Subsistema: Dispositivo Dell [1028:0273] Banderas: bus maestro, rápido devsel, latencia 0, IRQ 44 puertos de E/S en 5000 [tamaño=256] Memoria en f8610000 (64 bits, precargable) [tamaño=4K] Memoria en f8600000 (64 bits, precargable) [tamaño=64K] [virtual ] ROM de expansión en f8620000 [deshabilitado] [tamaño=64K] Capacidades: [40] Capacidades de administración de energía versión 3: [50] MSI: Habilitar+ Conteo=1/2 Enmascarable - 64 bits+ Capacidades: [70] Express Endpoint, MSI 01 Capacidades: [b0] MSI-X: Habilitar- Contar=2 Capacidades enmascaradas: [d0] Capacidades de datos vitales del producto: [100] Capacidades avanzadas de informe de errores: [140] Capacidades de canal virtual: [160] Número de serie del dispositivo 00-00-00 -00-00-00-00-00 Controlador kernel en uso: r8169 .... "

El mensaje de error real que recibí con el comando "insmod wl.ko" es "formato de módulo no válido"

siendo wl.ko el archivo obtenido de la compilación del código fuente del controlador proporcionado por Broadcom.


Desinstalé el controlador del kernel (incluso si dudo que haya sido instalado/usado por el sistema) usando el comando

 apt-get purge bcmwl-kernel-source

(El terminal luego mostró mensajes que decían que el instalador de firmware-bc43 fue recuperado o descargado para ser instalado)

Luego instalé el controlador STA ingresando el comando

apt-get install linux-firmware-nonfree

Revisé el archivo /etc/modprobe.d/blacklist.conf y descomenté la línealista negra bcm43xx, el único relacionado con el dispositivo/controlador inalámbrico.

Luego reiniciado.

Ahora todavía no tengo ninguna mejora:

# 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

Respuesta1

Su 4312 Broadcom [4315] puede usar el controlador b43 o el controlador STA (wl) propietario segúnb43-Linux Inalámbrico. El controlador b43 está presente de forma predeterminada, pero necesita que instale el firmware propietario, lo que puede hacer instalando el paquete linux-firmware-nonfree. Si por alguna razón ese firmware no funciona con el [4315], puede ejecutar los paquetes de instalación y cortador b43 que mencionó. El resultado final debería ser un conjunto de archivos de firmware en el directorio /lib/firmware/b43 Wireless debería seleccionar el controlador en el siguiente arranque, siempre que no esté suprimiendo el controlador b43 con una línea de "lista negra b43" en ningún archivo en /etc. /modprobe.d. Compruebe si existen líneas de este tipo y coméntelas. Deberían eliminarse si purga los archivos del paquete STA, pero compruébelo usted mismo para estar seguro.

No tengo experiencia reciente con el controlador STA, pero simplemente usar la selección del Tablero de controladores adicionales debería agregarlo (cuando estás en una conexión por cable, obviamente). En ese caso, no hay necesidad de ningún archivo de firmware ya que están incluidos en el propio controlador STA (de ahí los obtiene la cortadora b43).

información relacionada