2008/09/15

Wireless en F730US bajo Ubuntu 8.04

Como lo comenté en otras ocasiones, mi PC es una portátil F730US y en ella he experimentado muchos cambios como sus inicios con Windows Vista Home, luego su paso a la versión ultimate, la alegría de XP y, actualmente, la maravillosa experiencia del software libre. Ubuntu fue el elegido y va de maravillas.

Pero vamos a la razón por la cuel escribo esto: Como sabemos, pocos son los fabricantes que dan soporte de su hardware para linux, puesto que (como es lógico) deben ver dónde obtienen mayores beneficios. HP expresa en su página que solamente da soporte para el sistema operativo que viene preinstalado en sus computadores. Por tanto, tenemos que ver cómo hacemos que nuestra máquina esté al 100%. Ubuntu ofrece un buen soporte para casi todo el hardware de la F730US pero, como a muchos, la instalación de un controlador para la tarjeta de red inalámbrica Broadcom tiene que ser instalado manualmente.
Buscando por la red, encontré información que puede ayudarte en caso tengas problemas similares. A mi me resultó, no necesariamente debe pasar lo mismo contigo, así que no me hago responsable por posibles fallas o errores con los que te puedas encontrar.


Requisitos:
========
  • Ubuntu 8.04 (Hardy Heron)
  • Conexión a Internet (claro está que hablamos de una por cable)
  • Estar muy atento a las indicaciones. todos los comandos a escribir se hacen en un Terminal.

Blacklist del driver nativo
El driver nativo no sirve para Ubuntu, por tanto debemos mandarlo a la lista negra para evitar que cargue con el sistema. En Hardy Heron, el controlador para bcm43xx ya se encuentra en la lista negra... sólo nos queda hacerlo con b43legacy.
  • echo '#Driver nativo para bcm43xx\nblacklist b43\nblacklist b43legacy' | sudo tee -a /etc/modprobe.d/blacklist
Instalación de NDISWrapper
También debemos instalar NDISWrapper y crear un directorio personal donde trabajar.
  • sudo apt-get install ndiswrapper-utils-1.9; mkdir ~/bcm43xx; cd ~/bcm43xx
Obtener el controlador correcto
Es necesario identificar el Chipset. Escribe en la misma terminal:
  • lspci -n | grep '14e4:43'
Después de ello obtendrás un mensaje que te mostrará el modelo del chipset. y con éste deberás ir a la página de soporte de Ubuntu para que te indiquen los pasos a seguir de acuerdo al ID de tu chipset. En el caso de mi F730US, se obtuvo lo siguiente:

01:00.0 0300: 14e4:4311 (rev 02)

Lo que nos lleva a realizar el paso 2a, de acuerdo a la tabla:
  • sudo apt-get install cabextract
  • wget ftp://ftp.compaq.com/pub/softpaq/sp34001-34500/sp34152.exe
  • cabextract sp34152.exe
Configurando NDISWrapper y WPA Supplicant
  • 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
Si después de ejecutar el último comando se ve ‘module=ssb‘,será necesario unas correcciones, puesto que lo correcto debe de ser ‘module=ndiswrapper‘. Esto se debe a un pequeño bug de Hardy.

Corrigiendo el bug ssb
Hay ciertas configuraciones de hardware en las cuales el módulo ssb toma control antes que ndiswrapper por lo que este último no puede levantar correctamente el chipset. Primero, en modo de prueba, debemos ingresar uno a uno los siguientes comandos:
  • sudo rmmod b43
  • sudo rmmod b44
  • sudo rmmod b43legacy
  • sudo rmmod ssb
  • sudo rmmod ndiswrapper
  • sudo modprobe ndiswrapper
  • sudo modprobe ssb
  • sudo modprobe b44
  • lshw -C network | grep module
Como se habrán dado cuenta en los pasos anteriores, la última línea sirve para identificar qué modulo está funcionando. Pero te recomiendo que, cada vez que ejecutes una línea, revises la luz que indica actividad de tu Wireless. Si es azul quiere decir que ya funciona la red inalámbrica. Cuando ocurra eso omite los comandos siguientes y escribe el último; verás ‘module=ndiswrapper‘.

Bueno, ahora sí viene la solución permanente: Copia el siguiente comando y ten presente que es una sola línea:


  • echo -e '# Fix para el bug en ssb/ndiswrapper de Hardy\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
Limpieza
Este paso es opcional, puesto que no altera en nada el funcionamiento de tu tarjeta. Pero si quieres deshacerte de archivo que ya no usarás, puedes eliminar los archivos temporales que estuvimos usando:
  • rm -Rf ~/bcm43xx
Espero que esta guía haya sido de utilidad para ustedes como lo fue para mi. Mi único aporte fue demostrar que sirve en una Compaq F730US. La comunidad Ubuntu hizo todo el trabajo. Suerte a todos.

No hay comentarios.:

Publicar un comentario