lunes, 26 de enero de 2009

Instalar Broadcom Corporation BCM4312 802.11b/g (rev 01)

Ahora les voy a explicar paso a paso como se debe compilar el modulo para esta placa, yo lo hice en Debian Lenny y Etch y anduvo, y se que en Ubuntu 8.10 ya viene en el kernel, asi que los que poseen Ubuntu no van a aprender = )

Bueno para los que necesitan instalar esta placa, lo primero y principal es recompilar el kernel, yo lo que hice fue recompilar la misma version de kernel 2.6.26 que viene en Debian Lenny, descargandome los sources y las herramientas para hacerlo, herramientas como compiladores, build essential, etc... Ahora si compilaron un kernel mas nuevo o quieren saber que version del kernel estan utilizando utilizen el comando uname -a o uname -r

En el caso que necesiten una mano para recompilar el kernel dejen comentarios, sino sigo adelante, lo quiero hacer breve pero explicando paso a paso.

Como saber el modelo de la placa wireless que tenemos, con el comando lspci y veremos una linea como la siguiente:

Network controller: Broadcom Corporation BCM4312 802.11b/g (rev 01)

Bien ahora vamos a descargar desde el sitio de Broadcom el driver para linux:
http://www.broadcom.com/support/802.11/linux_sta.php

Aqui depende del procesador que tengan, si es 64 bit o 32 bit, el mio es 32 bit asi que el archivo que descargo se llama hybrid-portsrc-x86_32-v5_10_27_14.tar.gz

Nos logueamos en la consola como root y creamos el directorio donde vamos a descomprimirlo.
# cd /usr/src/
# mkdir hybrid_wl

Entramos al directorio y copiamos el archivo dentro de el
# cd hybrid_wl
# mv /home/beagle/Desktop/hybrid-portsrc-x86_32-v5_10_27_14.tar.gz .

Ahora vamos a compilar, la primera linea no es obligatoria, pero la ejecutamos igualmente, es por si ya lo compilamos antiguamente y lo queremos recompilar desde cero.
# make -C /lib/modules/2.6.26/build/ M=`pwd` clean
# make -C /lib/modules/2.6.26/build/ M=`pwd`

Listo, si no da errores, debemos poder cargar el modulo
# modprobe ieee80211_crypt_tkip

Bien ahora vamos a hacer que el modulo se cargue automaticamente al iniciar Linux, ademas de guardarlo en su lugar. Primero creamos el directorio y luego copiamos el modulo compilado en el.
# mkdir /lib/modules/2.6.26/kernel/drivers/wlan
# cp wl.ko /lib/modules/2.6.26/kernel/drivers/wlan/

Ahora vamos a agregar el modulo para iniciar desde el arranque
# vim /etc/modules

Agregar debajo de todo estas 2 lineas
ieee80211_crypt_tkip
wl

Pero este modulo , para que lo encuentre se debe agregar en 2 archivos mas, uno es el alias y el otro dep
vim /lib/modules/2.6.26/modules.dep
Agregar debajo de todo
/lib/modules/2.6.26/kernel/drivers/wlan/wl.ko

vim /lib/modules/2.6.26/modules.alias
Agregar debajo de todo
wl.ko wl

Esto es todo, espero les sea util

19 comentarios:

s4nt4 dijo...

una duda... y si quiero reinstalar el driver en ubuntu??

creo ke salio una nueva version el 1/21/2009...

nos leemos

gracias

Beagle Skywalker dijo...

En ese caso tendria que ver el README del driver para ver como se instala y probarlo.
Los procedimientos para Ubuntu son iguales que para Debian, o muy muy similares-

Saludos

Tatan Godoy dijo...

Quiero hacer una consulta:
¿Qué ocurre si yo tengo un procesador AMD64? Por lo que veo, esto es sólo para x86

Beagle Skywalker dijo...

Y tu distribucion es de 64 bit??? esto depende de tu distribucion, ya que es la que "hace funcionar" el micro, si tenes instalada una de 64 bit's tendrias que probar

luicho dijo...

Buenas como estas. Mira yo tengo una dell inspiron 1521 y no se conecta por via wireless, y he estado tratando de hacer estos pasos y no he podido introducir los comandos en el vim, de verdad no se como manejar esa parte, porfa si puedes explicarme esta parte un poco mejor me serviria de mucho. Gracias

luicho dijo...

ah por cierto tengo ubuntu 8.04

Beagle Skywalker dijo...

Luicho como estas? mira VIM es un editor de texto, puede usar nano o puede utilizar cualquier editor de texto en consola o desde KDE o Gnome, si utilizas gnome tenes que "gedit" por ejemplo.

Lo que hago ahi es abrir el archivo modules que esta en /etc y agrego 2 lineas

ieee80211_crypt_tkip
wl

Despues el resto es lo mismo, yo utilizo vim, pero puedes utilizar cualquier editor

luicho dijo...

Gracias!!! voy hacer el intento otra vez a ver...

Anónimo dijo...

Excelente articulo funciona perfecto, muchas gracias, solo tiene un pequeño problema el uso de este driver y es que no consigo que funcione el ssh con el.

voy a poner algunas aclaraciones al articulo para aquellos que han tenido problemas al instalarlo.

1 Aunque en el articulo indique la version de kernel 2.6.26-686 , deberemos poner la version que tengamos nosotros, lo miraremos con uname -a

2. Cuando editamos el archivo modules.alias , hay que escribir:
alias wl.ko wl

3 Despues de hacer todo lo que indica el articulo el modulo no se me cargo y tube que hacer un insmod wl.ko para que se cargara y reconociera le inalambrica.

Espero que os ayude, y las gracias al autor de este articulo que por fin he conseguido quitar el niswrapper y usar los drivers de linux(ahora vere como arreglar lo del ssh)

Gracias

Beagle Skywalker dijo...

Gracias por las aclaraciones!
Para que cargue al arrancar hay que agregar el modulo en /etc/modules
# vi /etc/modules
wl

Anónimo dijo...

Pues a mi no me hace nada soy nuevo en debian, y pues no entiendo lo de recompilar el kernel, me gustaria que em ayudaras en este paso.

Beagle Skywalker dijo...

Para compilar el kernel te dejo este link
http://linuxsix.blogspot.com/2008/10/compilacion-kernel-2627.html

Leelo tranquilo, ademas cuando vayas opcion por opcion en el kernel, si es la primera vez que lo compilas, tilda todo lo que puedas con * (inserta el modulo en el kernel) en las opciones Wireless

saludos

Jose dijo...

perdon mis pocos concocimientos, pero crees que jale desde slackware??, que opte instalando el ndiswiper, aunque suena mejor asi..

Charly dijo...

Hola!, que buena onda porfin encontre un lugar donde me a dado vueltas la cabeza :S este problema... pero oye queria saber si hay forma de desistalar el driver en caso de que me halla equivocado, para regresar de nuevo al principio de todo, o era crear un respaldo de donde saco los source del kernel??

P.D. Uso slackware 12.2

Beagle Skywalker dijo...

que tal, los source del kernel lo podes descargar de kernel.org, tambien depende de la distro que utilizas podes descargarlos con algun gestos tipo apt.

Vos lo que haces es compilar el driver y cargar el modulo, si no lo queres utilizar o reinstalarlo solamente borra los archivos.

Anónimo dijo...

Hola Beagle Skywalker
Hice todos los pasos como indicas,con la pequeña modificacion de usar nano antes que el vim,motivos de comodidad...

La cuestion es que no me detecta redes y no se que hacer.

Tengo un hp 2133 con debian lenny,Broadcom bcm4312
kernel 2.6.26-2-486

Me puedes decir si esto esta bien:

debianmini:/usr/src/hybrid_wl# make -C /lib/modules/2.6.26-2-486/build/ M=`pwd` clean
make: se ingresa al directorio `/usr/src/linux-headers-2.6.26-2-486'
make: se sale del directorio `/usr/src/linux-headers-2.6.26-2-486'
debianmini:/usr/src/hybrid_wl# make -C /lib/modules/2.6.26-2-486/build/ M=`pwd`
make: se ingresa al directorio `/usr/src/linux-headers-2.6.26-2-486'
LD /usr/src/hybrid_wl/built-in.o
CC [M] /usr/src/hybrid_wl/src/wl/sys/wl_linux.o
CC [M] /usr/src/hybrid_wl/src/wl/sys/wl_iw.o
CC [M] /usr/src/hybrid_wl/src/shared/linux_osl.o
LD [M] /usr/src/hybrid_wl/wl.o
Building modules, stage 2.
MODPOST 1 modules
WARNING: modpost: missing MODULE_LICENSE() in /usr/src/hybrid_wl/wl.o
see include/linux/module.h for more information
CC /usr/src/hybrid_wl/wl.mod.o
LD [M] /usr/src/hybrid_wl/wl.ko
make: se sale del directorio `/usr/src/linux-headers-2.6.26-2-486'

quizas el fallo este aqui reflejado pero no soy un experto,vengo de ubuntu y veo que ubuntu facilita bastante el uso de linux.

Un saludo

Anónimo dijo...

Aqui esta otra pagina que quiza sea util:

http://ubuntuforums.org/showthread.php?t=896713

In JUV dijo...

michael:/usr/src/hybrid_wl# make -C /lib/modules/2.6.26/build/ M=`pwd`
make: *** /lib/modules/2.6.26/build/: No existe el fichero o el directorio. Alto.
michael:/usr/src/hybrid_wl# -C /lib/modules/2.6.26-2-686/build M=`pwd`
bash: -C: command not found
michael:/usr/src/hybrid_wl# make -C /lib/modules/2.6.26-2-686/build M=`pwd`
make: se ingresa al directorio `/usr/src/linux-headers-2.6.26-2-686'
scripts/Makefile.build:41: /usr/src/hybrid_wl/Makefile: No existe el fichero o el directorio
make[1]: *** No hay ninguna regla para construir el objetivo `/usr/src/hybrid_wl/Makefile'. Alto.
make: *** [_module_/usr/src/hybrid_wl] Error 2
make: se sale del directorio `/usr/src/linux-headers-2.6.26-2-686'
michael:/usr/src/hybrid_wl#

Victor Calvo dijo...

la dirección http://linuxsix.blogspot.com/2008/10/compilacion-kernel-2627.html
esta fuera de servicio no conecta, he tratado de encontrar el driver por otro lado y nada,