Wifi Broadcom dBCM4313 802.11b/g LP-PHYt en Debian/Ubuntu

Publicado por Alejandro Escario en

El hardware de mi equipo nuevo es tan moderno, que las distribuciones de Debian, Ubuntu,… no son capaces de reconocer entre otras cosas una serie de interfaces, entre las que en mi caso se encontraban la interfaz wifi y la de ethernet. En este caso concreto, mi tarjeta wifi es una Broadcom dBCM4313 802.11b/g LP-PHYt. Vamos a proceder a configurarla correctamente en nuestro sistema:

Antes de nada, vamos a asegurarnos de estar hablando de la misma tarjeta, para ello podemos ejecutar el comando lshw y buscar una sección parecida a la siguiente:

*-network
description: Wireless interface
product: BCM4313 802.11b/g LP-PHY
vendor: Broadcom Corporation
physical id: 0
bus info: pci@0000:03:00.0
logical name: wlan0
version: 01
serial: e8:39:df:ac:62:b4
width: 64 bits
clock: 33MHz
capabilities: bus_master cap_list ethernet physical wireless
configuration: broadcast=yes driver=wl0 driverversion=5.60.48.36 ip=192.168.1.35 latency=0 multicast=yes wireless=IEEE 802.11
resources: irq:17 memory:94000000-94003fff

O bien acudir al comando lspci y buscar:

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

Para realizar la instalación de este driver será necesario que estemos conectados a Internet, con conectarnos por ethernet ya habremos cumplido este requisito. Si tienes dudas acerca del procedimiento a seguir escribe un comentario. Si tienes un Toshiba Satellite Pro L650 es posible que el artículo de configuración de la tarjeta ethernet te sea de ayuda.

Ahora que ya contamos con una conexión a Internet lo primero que hemos de hacer es añadir a nuestra lista de repositorios (/etc/apt/sources.list lista que podemos editar ejecutando el siguiente comando en consola: ~$ sudo nano /etc/apt/sources.list) la siguiente entrada (en el caso de Debian, si usas otra distribución busca tu equivalente y, de nuevo, si tienes dudas déjanos un comentario):

deb http://ftp.us.debian.org/debian squeeze main contrib non-free

Tras esto guardamos el fichero y ejecutamos en consola:

~$ sudo aptitude update

para renovar la lista de repositorios de nuestro equipo y poder encontrar los paquetes asociados a ese repositorio.

A continuación vamos a instalar los programas necesarios para manejar nuestra tarjeta wifi ejecutando el siguiente comando en consola:

~$ aptitude install module-assistant wireless-tools

Con esto no sólo estamos instalando el módulo que nos permitirá manejar nuestra tarjeta, sino que además, en caso de que no tengamos instalados programas como iwconfig nos los instalará.

Una vez tenemos en el equipo los datos necesario, procedamos a compilar e instalar los módulos de broadcom ejecutando el «module-assistant» mediante el siguiente comando:

~$ m-a a-i broadcom-sta

En principio ya debería funcionar, pero el módulo recién instalado puede entrar en conflicto con otros módulos que se precargan o están ya cargados en el núcleo del sistema, por lo que ponemos el módulo brcm80211 en la blacklist mediante el comando:

~$ echo blacklist brcm80211 >> /etc/modprobe.d/broadcom-sta-common.conf

Continuando con el proceso reconfigurams el ramdisk para los módulos definidos en  /etc/modprobe.d/broadcom-sta-common.conf ejecutando el siguiente comando en consola:

~$ update-initramfs -u -k $(uname -r)

Descargamos del núcleo los módulos conflictivos:

~$ modprobe -r b44 b43 b43legacy brcm80211 ssb

Por último cargamos el módulo correspondiente con nuestra tarjeta mediante el comando:

~$ modprobe wl

Si ahora ejecutamos el comando iwconfig, veremos que ahora aparece un interfaz nuevo, pero este se llamará ethX (X tomará un valor u otro en función del número de interfaces con ese nombre que tengamos instalados con anterioridad), para cambiar el nombre hemos de modificar el siguiente archivo: /etc/udev/rules.d/70_persistent-net.rules (el número 70 no siempre es el mismo, así que mira cual es el nombre del tuyo):

~$ sudo nano /etc/udev/rules.d/70_persistent-net.rules

El contenido del fichero será el siguiente o parecido

# This file was automatically generated by the /lib/udev/write_net_rules
# program, run by the persistent-net-generator.rules rules file.
#
# You can modify it, as long as you keep each rule on a single
# line, and change only the value of the NAME= key.
# PCI device 0x1969:0x2060 (atl1c)
SUBSYSTEM==»net», ACTION==»add», DRIVERS==»?*», ATTR{address}==»xx:xx:xx:xx:xx:xx», ATTR{dev_id}==»0x0″, ATTR{type}==»1″, KERNEL==»eth*», NAME=»eth0″

# PCI device 0x14e4:0x4727 (wl)
SUBSYSTEM==»net», ACTION==»add», DRIVERS==»?*», ATTR{address}==»xx:xx:xx:xx:xx:xx», ATTR{dev_id}==»0x0″, ATTR{type}==»1″, KERNEL==»eth*», NAME=»eth1«

Cambiamos la cadena que está en rojo por wlan0 y listo, ya le hemos cambiado el nombre a nuestra tarjeta de red.

Fuente: Carlos Gómez


6 comentarios

fetapia · diciembre 2, 2010 a las 10:31 pm

Estimado, muy buen post, pero quería hacerte una pregunta, a ver si me puedes echar una mano.

Tengo la misma tarjeta, y acabo de instalarle Ubuntu 10.10 al un notebook (que no me dejó instalarle Debian… siempre que traté, al bootear el disco de instalación me dice Kernel panic)

el tema es que cuando escribo
m-a a-i broadcom-sta
Al cabo de comenzar, me dice que ha habido un error

Así que trato de compilar a mano el paquete que descarga
Me meto en la carpeta i386 y hago
make
y me arroja
/home/fernando/Escritorio/modules/broadcom-sta/i386/src/wl/sys/wl_linux.c:1435: error: ‘struct net_device’ has no member named ‘mc_list’
/home/fernando/Escritorio/modules/broadcom-sta/i386/src/wl/sys/wl_linux.c:1435: error: ‘struct net_device’ has no member named ‘mc_count’
/home/fernando/Escritorio/modules/broadcom-sta/i386/src/wl/sys/wl_linux.c:1436: error: dereferencing pointer to incomplete type
/home/fernando/Escritorio/modules/broadcom-sta/i386/src/wl/sys/wl_linux.c:1442: error: dereferencing pointer to incomplete type
make[2]: *** [/home/fernando/Escritorio/modules/broadcom-sta/i386/src/wl/sys/wl_linux.o] Error 1
make[1]: *** [_module_/home/fernando/Escritorio/modules/broadcom-sta/i386] Error 2
make[1]: se sale del directorio `/usr/src/linux-headers-2.6.35-23-generic'
make: *** [all] Error 2

Como no se mucho de Linux, asumí que es un problema de estructura, pero al hacer
uname -a
me da
Linux gaspar 2.6.35-23-generic #41-Ubuntu SMP Wed Nov 24 10:18:49 UTC 2010 i686 GNU/Linux

Además, no tengo instalado los controladores que ofrece Ubuntu, pues, no me funcionaron.

A ver si tienes tiempo, y me haz entendido, para que me ayudes un poco.

Saludos atentos.

Fernando

fetapia · diciembre 2, 2010 a las 10:33 pm

Ap, me faltó decir que te agradezco de antemano el tiempo.

Si puedes ayudarme, sería genial.

Saludos cordiales

Alejandro Escario · diciembre 2, 2010 a las 10:52 pm

Así rápidamente lo primero que hay que chequear y que supongo que ya habrás hecho es conectar elequipo a internet (por ethernet o con Internet móvil,…, obviamente), actualizar el sistema operativo con un:

~$ sudo apt-get update
~$ sudo apt-get upgrade

También supongo que tendrás instaladas las cabeceras de linux y demás herramientas de compilación.

Como siguiente paso prueba a seguir lo que dicen en este ticket (https://bugs.launchpad.net/ubuntu/+source/bcmwl/+bug/590924) de la página de desarrollo de Ubuntu hay un error conocido en Lucid y Maverick por el que en ocasiones se lanza ese mensaje de error. en el comentario #6 puede ver que el error se produce con el paquete bcmwl

Finalmente, y como dudo que el enlace anterior te saque de dudas ni solucione el problema, le dejo un enlace a un post de los foros de Ubuntu en el que han solucionado el mismo problema:

http://ubuntuforums.org/showthread.php?p=9430202

en el post anteriormente enlazado también hacen mención a un bug existente.

De todos modos, sería conveniente que mencionases cual es el error que te lanza el comando…

m-a a-i broadcom-sta

para intentar solucionar el problema usando los paquetes existentes, ya que facilita el mantenimiento futuro.

Espero haberte sido de ayuda con los pocos datos que te he dado. Si sigue dándote problemas, deme los errores que expulsa el comando anteriormente mencionado e intentamos acotar un poco más la búsqueda.

fetapia · diciembre 2, 2010 a las 11:02 pm

Alejandro, muchas gracias por la pronta respuesta.

revisaré lo que me dices, y te cuento cómo me fue.

Muchas gracias

Leonardo Benitez · marzo 8, 2011 a las 5:17 am

hola!maestro total!!!! muchas gracias por el aporte!

Cristian · junio 7, 2011 a las 3:59 pm

Gracias, me funcionó a la prefección.

Los comentarios están cerrados.