Compilar Driver Broadcom para tarjeta Wireless en una Netbook con Linux

Hace ya unos días un amigo me trajo su Netbook, exactamente una Lenovo IdeaPad S10-3s, y quería que se le instale Debian, así que gustosamente le ayude a instalar su sistema operativo.

Para realizar la instalación no se tuvo ningún inconveniente, Debian reconoció casi todos los componentes de la Netbook, pero como es normal la tarjeta wireless no funcionaba, así que tuvimos que buscar el driver en la página del fabricante de la tarjeta de red wireless para ver si proporcionaba algún driver para Linux. Afortunadamente el fabricante ponía a disposición el driver para Linux pero en código fuente, así que teníamos que compilar el driver e instalarlo en nuestro sistema.

Así que a continuación paso a explicar el procedimiento que seguí para instalar satisfactoriamente el Driver Broadcom para tarjeta wireless.

La tarjeta wireless era un Broadcom 4313 y el código fuente del driver se descargo de este enlace http://www.broadcom.com/support/802.11/linux_sta.php

Descargamos el código fuente y los descomprimimos en nuestra carpeta de trabajo HOME.

Cambiamos a usuario root y ejecutamos el siguiente comando para verificar si nuestra tarjeta wireless es compatible con dicho driver. Si el comando muestra resultados entonces estamos en buen camino.


# lspci -n | grep 14e4


Ahora para poder realizar la compilación necesitamos instalar los siguientes paquetes:

build-essential, el cual nos sirve para crear y compilar paquetes.

linux-headers-VERSION_NUCLEO, son las cabeceras del núcleo el cual nos sirve para poder compilar módulos que se usaran como parte del núcleo. Aquí descargamos las cabeceras del núcleo que corresponda con la de nuestro equipo, esto lo podemos saber ejecutando el comando uname -r, por ejemplo ejecuto el comando uname -r y muestrael resultado 2.6.32-5-686, entonces la cabecera que instalare sera linux-headers-2.6.32-5-686.


# uname -r
2.6.32-5-686 


Ahora si, estamos listos para empezar a compilar nuestro driver.

Ingresamos a la carpeta del código fuente del driver que descargamos. Si es la primera vez ejecutamos el comando make, en caso sea la segunda o más veces que compilemos ejecutamos primero el comando make clean y luego el comando make


# make clean
# make


La compilación no tomara mucho tiempo, así que terminado la ejecución del comando make se creara el archivo wl.ko.

Ahora probaremos el nuevo driver y los cargamos como un módulo dentro del Kernel, para ello ejecutamos el siguientes comando:


# modprobe lib80211

Si mostrara algún error entonces probamos con el siguiente comando:


# modprobe ieee80211_crypt_tkip

Ahora si, procedemos a cargar el nuevo driver como un módulo del Kernel.


# insmod wl.ko

Si todo esta correcto entonces el sistema debería reconocer la tarjeta, para comprobarlo ejecutamos el comando: iwconfig


# iwconfig

lo no wireless extensions.

eth0 no wireless extensions.

eth1 IEEE 802.11 ESSID:""  
Mode:Managed Frequency:2.437 GHz Access Point:
Bit Rate=54 Mb/s Tx-Power:24 dBm
Retry min limit:7 RTS thr:off Fragment thr:off
Encryption key:off
Power Managementmode:All packets received
Link Quality=5/5 Signal level=-45 dBm Noise level=-91 dBm
Rx invalid nwid:0 Rx invalid crypt:0 Rx invalid frag:0
Tx excessive retries:48 Invalid misc:0 Missed beacon:0

pan0 no wireless extensions.


Si el sistema cargó correctamente el nuevo módulo de la tarjeta wireless, obtendremos información de la tarjeta.

Ahora procederemos a instalar el módulo para que se cargue cada vez que el sistema inicie. Copiamos el archivo generado wl.ko a la carpeta de drivers del Kernel.


# cp wl.ko /lib/modules/`uname -r`/kernel/drivers/net/wireless

donde uname -r es la versión de nuestro Kernel.

Copiado el archivo wl.ko ejecutamos el comando:


# depmod -a

!Listo!, ya tenemos instalado el driver, así que al reiniciar el equipo el sistema cargara el nuevo driver.



No hay comentarios:

Publicar un comentario en la entrada