02
Configurar tarjeta inalambrica Broadcom en Ubuntu
Esto es un agregado a la entrada que hizo Hector sobre las tarjetas inalámbricas Broadcom. Leyendo un poco sobre este tema (en mi caso no tengo problemas con mi tarjeta) he notado que en la documentación de Ubuntu existen varios comentarios sobre las tarjetas inalámbricas. He leído los wiki en español e ingles, pero al parecer toda la información interesante se encuentra en ingles, si dominas el idioma he aquí el link al WiFiDocs de Ubuntu.
Para aquellos que desean una explicación en español, voy a tratar de hacerla ya que hay muchos casos específicos.
En el link anterior, si lo visitas, podrás observar que existen varios apartados, en ellos se encuentra la información dividida por General, Tarjetas en especifico y Drivers en especifico. Me pareció que lo mejor es verificar la sección de drivers que es WifiDocs/Driver/bcm43xx/
Una vez que entramos a esta sección, se divide en subsecciones según la versión de Ubuntu que tengas instalada. Pero leyendo todas un paso básico que hay que recordar después de una instalación de Ubuntu es habilitar los controladores restringidos.
Habilitar los controladores restringidos es básico para evitarnos problemas de drivers de tarjetas como NVIDIA o tarjetas inalámbricas Broadcom. Esto es muy simple lo único que hay que hacer desde el modo gráfico es ir a Sistema -> Administración -> Gestor de controladores restringidos. Una vez ahí solo selecciona las casillas de todos los dispositivos que aparezcan, con eso habilitaras los controladores de esos dispositivos.
Ahora bien según la información de el documento he aquí como hacer que funcionen las Broadcom
- Hardy (8.04): Mencionan que el controlador bcm43xx ya se incluye en esta versión y en todas las versiones del kernel de Linux 2.6.24 y posteriores.
- Gutsy (7.10): Linux kernel 2.6.22, se menciona que al habilitar el controlador mediante el gestor de controladores restringidos y en caso de tener Internet alambrico, se descargara el controlador y se instalara. O se puede descargar (desde otra maquina) y hacerlo de forma manual, de la siguiente forma, descarga según te corresponda (opciones 1,2,3 abajo), descarga el firmware http://downloads.openwrt.org/sources/wl_apsta-3.130.20.0.o, pon esos dos archivos en la maquina con Ubuntu, y darle doble clik al archivo fwcutter_*.deb que descargaste, te aparecera una advertencia de que esta disponible por el canal pero como no tienes internet solo dale Adelante, durante la instalacion te preguntara si deseas extraer el firmware este paso fallara ya que no tienes internet dale Adelante, ahora ve a Sistema -> Administración -> Gestor de controladores restringidos y donde dice firmware dale clik a la flecha y aparecera Firmware for Broadcom 43xx chipset family no en uso, selecciona la casilla habilitar y decirle que lo habilite, en ese momento te preguntara si deseas utilizar un archivo local asi que ve a donde guardaste el firmware que descargaste, dale OK a todo, si el estatus ha cambiado a Disponible ya has terminado.
- Procesador 386: bcm43xx-fwcutter_006-3_i386.deb
- Procesador de 64b: bcm43xx-fwcutter_006-3_amd64.deb
- Power PC: bcm43xx-fwcutter_006-3_powerpc.deb
- Feisty (7.04): Linux kernel 2.6.17, nos da dos opciones para la instalación de de los drivers. La primera con la instalación y utilización del ndiswraper, que es un programa que permite que a partir de los controladores para windows, es decir los .exe, se extraiga la informacion necesaria para instalar el controlador. La segunda con la utilización del fw-cutter que genera los drivers apartir del firmware de la tarjeta.
Hasta aqui solo he mencionado un panorama muy general de la instalacion de las Broadcom en Ubuntu, pero la pregunta que surge es, ¿porque si se menciona que en Ubuntu 8.04 se habilita la tarjeta inalambrica automaticamente esta no funciona?. Al paracer la respuesta es la siguiente: a pesar que el driver de Broadcom para linux existe, el firmware de las tarjetas no esta libre, esto hace que el driver solo funcione para algun o algunos firmware en especifico.
Entonces que podemos hacer, una solucion es utilizar el ndiswrapper y la otra fw-cutter como en el caso de Feisty (7.04). Pero para el caso de Hardy (8.04) hay un bug en un modulo (ssb) que evita que el ndiswraper trabaje correctamente en algunos casos. Asi que si tienes Hardy (8.04) hay que corregir este bug. A continuacion viene una explicacion de como habilitar la tarjeta inalambrica con ndiswraper y posteriormente con fwcutter, si no te funciono el caso de ndiswraper.
INSTALACIÓN CON NDISWRAPPER
- Instrucciones
- Reparando el Bug de Hardy
- Limpieza
Cada linea de código que aparece en los recuadros negros, es una entrada, es decir después de escribir la linea debes dar Enter. Además cada linea debe ir con el comando sudo antes de cada entrada, o su lo deseas cambiate al modo administrador mediante el comando su, recuerda que cualquiera de las dos opciones es necesario el password de administrador.
Mandamos los controladores nativos a la lista negra, instalamos el ndiswrappwer y creamos una carpeta auxiliar llamada bcm43xx en el directorio /home.
echo 'blacklist bcm43xx' | sudo tee -a /etc/modprobe.d/blacklist sudo apt-get install ndiswrapper-utils-1.9 mkdir ~/bcm43xx; cd ~/bcm43xx
Vamos a descargar y extraer los controladores segun corresponda a tu tarjeta de red inalambrica, primero averiguamos que chipset tienes mediante el siguiente comando y posteriormente seleccionamos una opcion en la tabla de abajo.
lspci -n | grep '14e4:43'
| ~~~~~Model~~~~~ | ~~Chipset-PCI-ID~~ | Paso-a-utilizar | Notas |
| BCM4306 | Paso 2b | ||
| BCM4306 (rev 02) | 14e4:4320 (rev02) | Paso 2f | En Feisty y Hardy (probablemente Gutsy), el comado lspci da como salida “”Broadcom Corporation BCM4306 802.11b/g Wireless LAN Controller (rev 02)” (Se ha reportado que esto corresponda al mismo chipset de Linksys WPC54G version 2.) |
| BCM4310 (rev01) | 14e4:4315 | Paso 2e | En Gutsy, el comando lspci da como salida “Broadcom Corporation BCM4310 USB Controller (rev 01)”. |
| BCM4310 (rev02) | 14e4:4312 | Paso 2a | No estoy seguro de que paso utilizar para otras revisiones de la BCM4310, pero este es bueno hasta donde se. Habrán actualizaciones si hay retroalimentaciones de personas con este chipset. |
| BCM4311 (rev01) | 14e4:4311 (rev01) | Paso 2a | En Gutsy, el comado lspci da como salida para esta tarjeta “Network controller: Broadcom Corporation BCM94311MCG wlan mini-PCI (rev 01)”.
En Feisty da como salida “Network controller: Broadcom Corporation Dell Wireless 1390 WLAN Mini-PCI Card (rev 01)”. |
| BCM4311 (rev02) | 14e4:4311 (rev02) | Paso 2a | En Gutsy, el comando lspci da como salida: Broadcom Corporation BCM94311MCG wlan mini-PCI (rev 02) |
| BCM4312 (rev01) | 14e4:4312 (rev01) | Paso 2b | En Gutsy, lspci da como salida: Broadcom Corporation BCM4312 802.11a/b/g (rev 01) |
| BCM4312 (rev02) | 14e4:4312 (rev02) | Paso 2a | En Gutsy, lspci da como salida: Broadcom Corporation BCM4312 802.11a/b/g (rev 02) |
| BCM4318 (rev01?) | ? | Paso 2a (?) | Hay una rev01? En ese caso mi sugerencia es Paso 2a. |
| BCM4318 (rev02) | 14e4:4318 (rev02) | Paso 2a | En Gutsy y Hardy, el comado lspci da la salida “Broadcom Corporation BCM4318 [AirForce One 54g] 802.11g Wireless LAN Controller (rev 02)” |
| BCM4328 (rev01) | 14e4:4328 (rev01) | Paso 2d | En Gutsy, lspci da la salida “Broadcom Corporation BCM4328 802.11a/b/g/n (rev 01)” |
| BCM4328 (rev03) | 14e4:4328 (rev03) | Paso 2d | En Gutsy, lspci da la salida “Broadcom Corporation BCM4328 802.11a/b/g/n (rev 03)” |
| Other BCM43xx | Al parecer el Paso 2a puede ser el correcto para los dispositivos rev 02, por tanto yo intentaría con ese paso para otros dispositivos con rev 02. En cualquier otro caso intenta otro de los sugeridos es este post. Envía información en dado caso que hallas tratado con otro dispositivo y hallas tenido suerte o no con el, para poder actualizar esta tabla. |
Paso 2a) Instalar cabextract y bajar el controlador sp34152.
sudo apt-get install cabextract wget ftp://ftp.compaq.com/pub/softpaq/sp34001-34500/sp34152.exe cabextract sp34152.exe
Paso 2b) Instalar cabextract y bajar el controlador sp33008
sudo apt-get install cabextract wget ftp://ftp.compaq.com/pub/softpaq/sp33001-33500/sp33008.exe cabextract sp33008.exe
Paso 2c) Bajar el controlador v3100640
wget http://dlsvr03.asus.com/pub/ASUS/wireless/WL-100g-03/Driverv3100640.zip unzip Driverv3100640.zip; cp Driver/WinXP/* ./
Paso 2d) Bajar el controlador R151517
wget http://myspamb8.googlepages.com/R151517-pruned.zip unzip R151517-pruned.zip
Paso 2e) Bajar el controlador R174291
wget http://myspamb8.googlepages.com/R174291-pruned.zip unzip R174291-pruned.zip
Paso 2f) Bajar el controlador WPC54Gv2
wget http://myspamb8.googlepages.com/WPC54Gv2_40826-pruned.zip unzip WPC54Gv2_40826-pruned.zip
Vamos a configurar NDISWraper y habilitar la opción de WPA. Antes de seguir adelante para los usuarios de Hardy (8.04) primero checar si tienen el bug de esa version que no permite configurar correctamente NDISWrapper.
lshw -C network
Si la salida del comado anterior en la parte donde dice wireless interface es “module=ssb” en vez de “module=ndiswrapper”, es necesario reparar el bug, vallan a la seccion Reparando el Bug de Hardy que se encuentra abajo y luego regresen aqui para terminar de configurar NDISWraper. Si a ti te salio “module=ndiswrapper” entonces solo sigue con los siguientes comandos para configurar NDISWraper.
sudo ndiswrapper -i bcmwl5.inf ndiswrapper -l sudo depmod -a sudo modprobe ndiswrapper sudo cp /etc/network/interfaces /etc/network/interfaces.orig echo -e 'auto lo\niface lo inet loopback\n' | sudo tee /etc/network/interfaces sudo ndiswrapper -m echo 'ndiswrapper' | sudo tee -a /etc/modules echo 'ENABLED=0' | sudo tee -a /etc/default/wpasupplicant
Reparando el Bug de Hardy (8.04)
SI tu eres de los que al escribir el comando lshw -C network te apareció “module=ssb” en vez de “module=ndiswrapper”. Esto es debido a un bug en Hardy al utilizar ndiswrapper. Para recargar los modulos necesarios y reparar el bug sigue las instrucciones a continuacion. Ignora los errores potenciales que te aparezcan en los primeros tres comandos. Lo primero que haremos sera reparar el bug de manera temporal para ver que en realidad funcione y posteriormente lo dejaremos permanente.
1) Reparacion Temporal (probando si funciona)
sudo rmmod b43 sudo rmmod b44 sudo rmmod b43legacy #this step added Apr 27 2008 sudo rmmod ssb sudo rmmod ndiswrapper sudo modprobe ndiswrapper sudo modprobe ssb sudo modprobe b44 #this step added May 1 2008
Si te funciono lo anterior en el siguiente paso explicaremos como dejarlo de forma permanente, ya que hasta aqui si reiniciamos la maquina se perderán los cambios hechos.
Los siguientes métodos son experimentales para hacer que el dispositivo funcione al reiniciar la maquina, el archivo a editar depende de la version de NDISWrapper que tengas instalada.
a) Versión 1.3 (modificando el archivo /etc/modprobe.d/ndiswrapper)
echo -e '#Hardy ssb/ndiswrapper workaround, added' `date` '\ninstall ndiswrapper modprobe -r b43 b44 b43legacy ssb; modprobe --ignore-install ndiswrapper $CMDLINE_OPTS; modprobe ssb; modprobe b44;' | sudo tee -a /etc/modprobe.d/ndiswrapper
b) Versión 1.2 Obsoleta y no recomendada, actualizate a la versión 1.3 (modificando el archivo
echo -e '\n#hardy ssb bug-fix\nrmmod b43\nrmmod b44\nrmmod b43legacy\nrmmod ssb\nrmmod ndiswrapper\nmodprobe ndiswrapper\nmodprobe ssb\nmodprobe b44' | sudo tee -a /etc/init.d/rc.local
Para finalizar podemos eliminar todos los archivos que descargamos y que ya no serán necesarios, mediante el siguiente comando.
rm -Rf ~/bcm43xx
INSTALACIÓN CON FWCUTTER
YA VIENE NOMAS DENME TIEMPO. GRACIAS…
May 15 2008 a las 6:24 am
gracias, pero hay un problema en un momento de la ejecucion de los pasos que das se me queda colgado la terminal porque hay un comando que falla y ya no puedo seguir con la instalacion.
a parte de eso… como puedo saber si mi tarjeta es version 0.2 o 0.3 o el numero ese que dices en el paso 9???? gracias
May 15 2008 a las 8:29 pm
si funciono, mientras hago los pasos ya tengo la conexion inalambrica, pero despues de reiniciar mi equipo, ya no vuelvo a tener conexion inalambrica y tengo que volver a seguir los pasos, puedes ayudarme en eso…
May 16 2008 a las 11:28 am
Hola, jc y roberto, una pregunta muy concreta, que version de Ubuntu tienen??. Esta entrada fue hecha por Hector que es quien tuvo problemas en su laptop debido a que tenia una tarjeta Broadcom. Voy a leer mas al respecto e intentare poner otro post respecto de este tema.
Saludos
May 19 2008 a las 11:30 am
Acabo de hacer unas modificaciones al post, con lo que espero quede mas claro los pasos para configurar la tarjeta inalámbrica.
Respondiendo a JC, hay un error en el post anterior, la versión que corresponde a 0.2 o 0.3 en realidad es 1.2 o 1.3, y se refiere a la versión de NDISWrapper. Checa de nuevo cual es el comando que se queda colgado y avisame para poder corregirlo.
Respondiendo a Roberto, lee la seccion paso 3 de las Instrucciones y Reparando el bug de Hardy, ahi viene como hacer que queden permanentemente todos los cambios.
Saludos y gracias por sus comentarios
May 20 2008 a las 11:08 pm
pues acabo de leer esto, pero logre hacer que funcione mi tarjeta, haciendo un ejecutable con algunos de los pasos que se habian hecho anteriormente, y desde eso ya reconoce mi tarjeta y no ha habido ningun problema ;)
May 21 2008 a las 9:30 am
Ok Roberto, esa también es una buena idea, por cierto si quieres mandame en un email el script, los pasos que seguiste para colocarlo en el arranque de Ubuntu y demás datos para ponerlo en el Blog, con los créditos correspondientes por tu trabajo.
Saludos
June 4 2008 a las 11:13 pm
Hola, muchas gracias por traducir esta ayuda. Pero tengo una duda en el apartado 2a es el mismo del 2b. Espero tu comentario, gracias!!
June 5 2008 a las 11:51 am
Varpo, gracias por tu comentario, tienes razón hay un error en ese apartado (estaba repetida la información) el cual ya fue corregido.
Saludos
June 15 2008 a las 3:33 am
Hola,
He seguido todos los pasos y no consigo que la tarjeta conecte de forma encriptada.
Tengo una 2e (tu manual) Lo que no entiendo bien es porque se usa el driver b44 cuando ya tienes un driver con el ndiswrapper. Otra cosa que no me ha quedado claro es el tema del mac80211 necesario para la conexión encriptada.
En principio el kernel dice que puede:
Jun 15 11:25:08 kernel: [ 32.352595] wlan0: ethernet device 00:1a:73:e5:10:c8 using NDIS driver: bcmwl5, version: 0×4aa190c, NDIS version: 0×501, vendor: ‘NDIS Network Adapter’, 14E4:4315.5.conf
Jun 15 11:25:08 kernel: [ 32.535753] wlan0: encryption modes supported: WEP; TKIP with WPA, WPA2, WPA2PSK; AES/CCMP with WPA, WPA2, WPA2PSK
Pero yo no consigo conexión con encriptación.
Un saludo
BasaBuru
June 16 2008 a las 12:16 pm
Hola BasaBuru
Mira en cuestión de porque utilizar otro driver si el ndiswrapper ya trae uno, es debido a que en ciertas tarjetas al parecer no reconocen correctamente el driver que tienen por default cargado el niswrapper. Por ejemplo desde la maquina que tengo con Ubuntu 7.10 con una Broadcom BCM4318 (rev02), todo funciona correctamente sin necesidad de lo que esta escrito aqui. Ahora esta entrada fue puesta originalmente por Hector que fue quien tubo problemas con su maquina.
No estoy seguro porque no consigues conexión con encriptacion, en la BCM4318 (rev02) que tengo tengo una encriptacion WPA, solo que le cuesta trabajo conectarse al módem inalambrico, lo que tengo que hacer es darle click las conexiones de red y pedirle que reconecte, en ocaciones no funciona y debo acercarme al módem lo mas posible, reconectar y listo se conecta.
Es un poco rarro que si tienes conexión sin encriptacion no se quiera conectar con encriptacion, ya probaste el caso si encriptacion?? en caso que no tengas conexión sin encriptacion entonces tal vez el problema es de configuración del driver.
Coméntame un poco mas a ver en que te puedo ayudar, Saludos.
July 27 2008 a las 11:06 am
Llevo una semana con ubuntu
y como todos sabes más fome que computador sin internet
por fin pude correr el internet inalambrico
gracias a este tutorial
vale;)
July 27 2008 a las 7:36 pm
Pablo
Me alegra que este tutorial te halla sido útil. Ese sera siempre el objetivo de este sitio, ayudar dentro de nuestras posibilidades.
Saludos.
August 5 2008 a las 11:10 pm
Muchas Gracias a mi me funciono genial
August 15 2008 a las 3:39 pm
http://www.ubuntu-es.org/index.php?q=node/87436
Aqui les dejo una solucion para algunas targueta y la manera mas ffacil de ionstalar espero que les sirva
August 18 2008 a las 9:56 am
Hola, despues de intentar el bug estoy como al principio: module= ssb. Alguna idea
August 19 2008 a las 6:34 pm
Pablo
Hiciste la reparación temporal y la tarjeta inalambrica funciono?? Si fue así pasa a la reparación permanente.
August 20 2008 a las 9:44 am
¡Hola qué tal!
Tengo una BCM4303 con el 8.04 y con los pasos que se mencionan la tarjeta funciona excelente. El problema es que cuando reinicio, detecta las redes e intenta conectarse, sin embargo no logra conectarse con exito a alguna, aún cuando efectué la reparación permanente. Lo que hago es nuevamente hacer la reparación temporal y ya puede conectarse a las redes.
September 2 2008 a las 8:12 pm
oye con este tutorial si resolvi ese problema no usaba ubntu por no poder solucionar el wireless. gracias mil gracias
September 3 2008 a las 7:15 pm
Hola amigos soy un entusiasta de linux y sobre todo ubuntu, que digan lo que digan es una distro perfecta” , bueno quiero aportarles con alguna información que puede ser de gran ayuda, fijense que tengo una Laptop Dell inspiron 1520, instale hardy heron, y pues quiero decirles que segun los pasos tengo que seleccionar el paso”Paso 2a” porque mi tarjeta es. “0c:00.0 Network controller: Broadcom Corporation BCM4311 802.11b/g WLAN (rev 01)” ahora el paso 2a dice que debo baja y extraer de sp34152.exe el archivo .inf, pero la verdad no es asi, no es que este mal, en todo manual en ingles lo encontraran asi, o en cualquier idioma, pero a mi no me funcionaba y nome confie con lo que decia en los manuales. y entonces, lo que hice fue buscar el driver que usaba en windows, en mi caso en xp, y resulta que el driver tiene este nombre “R151517″ , y que segun estas guias es el paso 2d, curioso no, pero solo así funciono.. por curiosidad probe todas las demas opciones y ninguna sirvio asi que les dejo la info para que la tomen en cuenta, ya lo habia mencionado en mi blog http://www.decacross.com/blog, por ahora no tengo server se me vencio pero pronto lo subo jajaja, saludos.
Bueno como conclusion les aconsejo que si tienen el driver que les funciona en windows..”suponiendo que ya usaron su laptop con windows.” guardenlo en una USB lo extraen el contenido y buscan el archivo. bcmwl5.inf y se lo instalen manualmente poniendolo en la carpeta home y dando
en consola esta linea
” sudo ndiswrapper -i bcmwl5.inf”
saludos hoy si..
November 22 2008 a las 9:58 pm
existe un problema conmigo en el paso 3, al utilizar
lshw -C network obtengo lo siguiente.
WARNING: you should run this program as super-user.
*-network
description: Wireless interface
product: BCM4312 802.11a/b/g
vendor: Broadcom Corporation
physical id: 0
bus info: pci@0000:03:00.0
logical name: eth1
version: 01
serial: 00:1a:73:35:80:02
width: 32 bits
clock: 33MHz
capabilities: bus_master cap_list ethernet physical wireless
configuration: broadcast=yes driver=wl latency=0 module=wl multicast=yes wireless=IEEE 802.11.
Nada que ver con lo que dices.
espero y me puedas ayudar, de antemano gracias por tu colosal ayuda que nos estas proporcionando.
Agrega un comentario