Páginas

sábado, 30 de marzo de 2013

Cómo instalar el firmware para tarjetas Wi-Fi Broadcom sin tener conexión a la red en openSUSE [Actualizado]

Las tarjetas Wi-Fi con chipsets de la marca Broadcom que utilizan los controladores libres y de código abierto b43 y b43legacy necesitan para funcionar el firmware propietario de los controladores que proporciona Broadcom. Se trata de las tarjetas que integran chipsets identificados como BCM4301, BCM4306, BCM4309, BCM4311, BCM4312, BCM4318, BCM4322, BCM4331, BCM43224 y BCM43225.

Broadcom no permite la redistribución del firmware necesario para el funcionamiento de los controladores libres, pero éste se puede descargar e instalar fácilmente mediante el procedimiento siguiente:

sudo zypper install b43-fwcutter

sudo /usr/sbin/install_bcm43xx_firmware

El problema viene cuando, por la circunstancia que sea, no se puede establecer una conexión cableada y seguir el procedimiento anterior.  Para resolver este contratiempo, el usuario Larry Finger de los foros oficiales de openSUSE ha preparado un paquete que se puede descargar desde otro sistema que tenga acceso a Internet y posteriormente instalarlo en openSUSE. El paquete que ha preparado es de libre distribución, pero su tamaño de 13 MiB impide que se incluya en las imágenes de instalación de openSUSE.

Módulo de configuración de las conexiones de red de KDE en openSUSE 12.3.
El procedimiento de instalación del firmware de Broadcom en un sistema sin conexión a Internet es el siguiente. Es el mismo para todas las versiones de openSUSE, ya sean de 32 bits o de 64 bits.

1. Descargar el paquete de instalación del firmware en un sistema con conexión a Internet.

wget http://www.lwfinger.com/b43-firmware/no_net_install_bcm43xx_firmware.tar.bz2

2. Copiar el paquete de instalación del firmware en la carpeta de un usuario del sistema openSUSE sin conexión a Internet.

3. Descomprimir el paquete de instalación del firmware.

tar jxvf no_net_install_bcm43xx_firmware.tar.bz2

El comando anterior creará la carpeta bcm43xx_firmware con cuatro archivos dentro.

4. Situarse en la carpeta del firmware y ejecutar el comando de instalación.

cd bcm43xx_firmware

sudo ./install_bcm43xx_firmware_no_net

El comando anterior copia el firmware propietario de Broadcom en /lib/firmware/b43/ y /lib/firmware/b43legacy/.

5. Borrar el paquete descargado y la carpeta descomprimida.

rm -rf bcm43xx_firmware
 

rm no_net_install_bcm43xx_firmware.tar.bz2

6. Reiniciar el ordenador.


ACTUALIZACIÓN

23-7-2013. Corregido un error en el paso 4, completado el paso 5 y añadido el paso 6. 


Fuentes:

25 comentarios:

  1. Jamás he entendido eso de no incluir unos drivers porque son privativos, porque curiosamente OpenSuse usa la rama oficial del kernel y esta contiene un puñado de software privativo, sobre todo relacionado con las tarjetas inalámbricas.

    ResponderEliminar
    Respuestas
    1. La distribución openSUSE sí que distribuye programas privativos,pero cuando su licencia lo permite. En el caso del firmware de estas tarjetas, viene incrustado en sus controladores propietarios y no se puede distribuir separadamente. Por lo tanto, lo que hay que hacer es descargar dichos controladores y extraerlo con un script.

      Un saludo.

      Eliminar
    2. Vaya, entonces son como los controladores privativos de ATI y nVidia, ¿no?

      Eliminar
    3. Sí y no. El firmware es muy fácil de instalar y funciona muy bien. Un saludo.

      Eliminar
  2. Gracias, Toniem.
    El día que me puedas explicar el porqué coño, una vez todo funcionando bien con el DNIe, va don Firefox y no quiere admitirlo tras alguna actualización, macho, doblo el espinazo con hernias discales y todo.
    (Pd: Nunca ha dejado de funcionar pcsc_scan, siempre es el dichoso Firefox de los fjadjassdfxxx.)

    ResponderEliminar
    Respuestas
    1. Hola, SerigoN. En esto que comentas, no te puedo ayudar, no he utlizado nunca el DNIe en ningún sistema. Un saludo.

      Eliminar
  3. Hola, hace unos días que instalé la SUSE 12.3 y cuando encontré este blog y por fin pude hacer funcionar la wifi resulta que funciona, pero de una manera muy deficiente. He hecho test de velocidad con el cable de ethernet conectado y el internet va de maravilla, pero si paso a trabajar con la wifi cae la velocidad un 99%. Podría alguien decirme que debo hacer?? Soy nuevo usando sistemas Linux, mi ordenador es un hp pavilion dv6 2166ss. Gracias de antemano.

    ResponderEliminar
    Respuestas
    1. Hola, carlos. Me alegra que el blog sea útil. Una pregunta: ¿Qué adaptador wifi tienes?

      Eliminar
    2. Hola, agradezco que hayas respondido y perdona que yo no lo haya hecho, es que no había vuelto a visitar el sitio. Mira se que cuando ingreso en la consola de texto y consulto el tipo de controlador de la tarjeta que tengo me dice que es una Broadcom 43XX y con eso es que he ido a los repositorios a buscar el firmware. Como te digo no se mucho de esto y no se si a esto es a lo que te refieres, sino, te pido el favor que me digas como me doy cuenta cual es el que tengo. Lo otro que también te puedo decir es que con la 12.2 funcionaba bien al descargar el firmware.

      Eliminar
    3. Para ser más exactos es el BCM43225.

      Eliminar
    4. Hola, Carlos. Supongo que si te conectas con wifin en otro sistema operativo, la conexión funciona al 100 %. El procedimiento para instalar el firmware es el mismo para openSUSE 12.2 y 12.3. Lo único que se me ocurre es que se ha producido una regresión con openSUSE 12.3, pero tienes "suerte" porque tu adaptador wifi también soporta el controlador propietario broadcom-wl. Consulta este artículo:

      http://guiadelcamaleon.blogspot.com.es/2013/03/controlador-wifi-broadcom-opensuse-123.html

      De todas formas, una pregunta, instalaste el firmware como dice el artículo anterior (en línia, con una conexión cableada) o como dice el presente artículo (fuera de línia, descargando el paquete indicado). Si la respuesta es fuera de línea, yo probaría primero el procedimiento en línea.

      Sea como sea, ya me contarás como te va. Un saludo.

      Eliminar
  4. Anónimo28/5/13 4:08

    sirve para debian ?

    ResponderEliminar
    Respuestas
    1. El procedimiento se ha pensado para openSUSE y se ha probado sólo en openSUSE, que yo sepa. Sin embargo, utiliza procedimientos comunes con otras distribuciones, como Debian. Lo que no se si el firmware en Debian para las tarjetas WiFi se debe intalar en /lib/firmware/b43/ y /lib/firmware/b43legacy/.

      Un saludo.

      Eliminar
  5. Buenas he seguido tu tutorial al pie de la letra, pero al introducir la última línea en el terminal me sale una serie de errores.

    El primero dicta:"cp:no se puede efectuar stat sobre broadcom-wl...... :no existe."

    Errores referidos a eso, pero luego pone: b43 suscessfully installed.

    Es decir no abre ese paquete y al reiniciar sigue sin ir el wifi.

    ResponderEliminar
    Respuestas
    1. Hola, Adrian. El procedimiento descrito había obviado que hay que situarse en la carpeta del firmware antes de ejecutuar el comando de instalación (paso 4). Ya lo he corregido, lo he probado tal como lo he dejado y funciona perfectamente. Vuelve a ejecutar el paso 4 tal como lo puesto ahora. Gracias por el aviso. Un saludo.

      Eliminar
  6. Anónimo10/8/13 9:16

    mi nombre es juan soy usuario nuevo en linux en interfaces no me aparece nada, solo el mensaje network manager no esta en ejecucion por favor inicielo. y en conexiones tampoco sale nada. opte por descargue el archivo bcm43xx_no_net como se indica y me sale el siguiente mensaje linea 25: b43-fwcutter: no se encontro la orden b43 firmware instalation failed.
    linea 38: b43-fwcutter: no se encontr4o la orden b43legacy firmware instalation failed.
    espero me puedan ayudar

    ResponderEliminar
    Respuestas
    1. Hola, Juan. Te falta un ejecutable, que normalmente se instala de serie con las versiones actuales de openSUSE. Lo mejor es que te conectes por cable, instales el paquete b43-fwcutter y sigas las instrucciones de este artículo:

      http://guiadelcamaleon.blogspot.com.es/2013/03/controlador-wifi-broadcom-opensuse-123.html

      Un saludo.

      Eliminar
  7. Hermano, hice todos los pasos y no me funciono.
    sera porque antes intente probar con ndiswrapper?

    ResponderEliminar
    Respuestas
    1. Puede ser, prueba a deshacer todos los pasos hechos con ndiswrapper. También puedes establecer una conexión cableada y proceder tal como indica este artículo:

      http://guiadelcamaleon.blogspot.com.es/2013/03/controlador-wifi-broadcom-opensuse-123.html

      Un saludo.

      Eliminar
  8. Este comentario ha sido eliminado por el autor.

    ResponderEliminar
  9. Hola, me dio como resultado esto y sigue sin andar

    Extracting b43/n0initvals22.fw
    Extracting b43/ht0bsinitvals29.fw

    b43 firmware successfully installed.

    Extracting b43legacy firmware
    This file is recognised as:
    filename : wl_apsta.o
    version : 295.14
    MD5 : e08665c5c5b66beb9c3b2dd54aa80cb3
    Extracting b43legacy/ucode2.fw
    Extracting b43legacy/ucode4.fw
    Extracting b43legacy/ucode5.fw
    Extracting b43legacy/ucode11.fw
    Extracting b43legacy/pcm4.fw
    Extracting b43legacy/pcm5.fw
    Extracting b43legacy/a0g0bsinitvals2.fw
    Extracting b43legacy/b0g0bsinitvals5.fw
    Extracting b43legacy/a0g0initvals5.fw
    Extracting b43legacy/a0g1bsinitvals5.fw
    Extracting b43legacy/a0g0initvals2.fw
    Extracting b43legacy/a0g1initvals5.fw
    Extracting b43legacy/b0g0bsinitvals2.fw
    Extracting b43legacy/b0g0initvals5.fw
    Extracting b43legacy/b0g0initvals2.fw
    Extracting b43legacy/a0g0bsinitvals5.fw
    b43legacy firmware successfully installed.
    You may want to reboot now to allow the driver to access the new firmware
    marisol@linux-u275:~/bcm43xx_firmware>

    ResponderEliminar
  10. Muchas gracias, eh probado muchas cosas y esta es la unica que me funcionooo!! Al fin tengo wifiiiiii!!!!!!!

    ResponderEliminar
  11. Buenas tardes,

    Me podrían ayudar en cómo puedo lograr compartir internet desde un iphone 5S a opensuse, la última versión de opensuse. Aparentemente lo reconoce, cuando hago el scaneo de fuentes wifi, pero cuando le doy conectar, no conecta. Qué puedo hacer para lograr la conexión?

    Gracias,

    Dimas Madriz

    ResponderEliminar
    Respuestas
    1. En tu caso no te puedo ayudar, no he tenido nunca Iphone. Un saludo.

      Eliminar