TuxUbuntu

Compartamos conocimiento


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

  1. 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.
  2. 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.
    1. Procesador 386: bcm43xx-fwcutter_006-3_i386.deb
    2. Procesador de 64b: bcm43xx-fwcutter_006-3_amd64.deb
    3. Power PC: bcm43xx-fwcutter_006-3_powerpc.deb
  3. 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

  1. Instrucciones
    1. Paso 1: Todas las BCM43xx – Instalacion de NDISWrapper y poniendo los controladores nativos en la lista negra
    2. Paso 2: Descargar y extraer los controladores
      1. Paso 2a: Controlador sp34152
      2. Paso 2b: Controlador sp33008
      3. Paso 2c (Deprecated): Controlador v3100640
      4. Step 2d: Controlador R151517
      5. Step 2e: Controlador R174291
      6. Step 2f: Controlador WPC54Gv2
    3. Step 3: Todas las BCM43xx – Configurar NDISWrapper y habilitar WPA
  2. Reparando el Bug de Hardy
    1. Reparacion Temporal
    2. Reparacion Permanente
      1. Version 1.3
      2. Version 1.2
  3. Limpieza

Instrucciones

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.

Paso 1)

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

Paso 2)

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

Paso 3)

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.

2) Reparación Permanente

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

/etc/init.d/rc.local)

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

Limpieza

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…

Espero te sea de utilidad, envíen sus comentarios.


  1. jc Dijo:
    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



  2. roberto Dijo:
    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…



  3. admin Dijo:
    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



  4. admin Dijo:
    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



  5. Roberto Dijo:
    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 ;)



  6. TuxUbuntu Dijo:
    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



  7. Varpo Dijo:
    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!!



  8. TuxUbuntu Dijo:
    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



  9. BasaBuru Dijo:
    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



  10. TuxUbuntu Dijo:
    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.



  11. Pablo Dijo:
    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;)



  12. TuxUbuntu Dijo:
    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.



  13. Otit_Appa Dijo:
    August 5 2008 a las 11:10 pm

    Muchas Gracias a mi me funciono genial



  14. Meyms Dijo:
    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



  15. pablo Dijo:
    August 18 2008 a las 9:56 am

    Hola, despues de intentar el bug estoy como al principio: module= ssb. Alguna idea



  16. TuxUbuntu Dijo:
    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.



  17. Evaristo Dijo:
    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.



  18. rojo Dijo:
    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



  19. Dk Dijo:
    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..



  20. saul Dijo:
    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