gentoo linux, java, software libre y otras hierbas
Dic, 03 2009 - 10:40 pm

Usando b43 para tarjetas inalámbricas BCM43xx en Linux

Hola a todos!

Otra vez Cortex, que llevaba un buen rato sin pasarse por aquí.

Para los que aún no se han enterado, el día de hoy se hizo estable la versión 2.6.32 del kernel Linux. Como siempre, incluyendo múltiples mejoras, varios añadidos y correcciones. Por mencionar algunas de las cosas nuevas, encontraremos soporte 3D para los chips gráficos Radeon más nuevos (algo que sé que muchos estaban esperando) así como soporte para KMS, Devtmpfs con lo cual se pretende tener un Linux independiente de Udev, mejoras en el sistema de archivos Btrfs, mejor manejo de memoria y mucho más.

Algo que todos los usuarios de tarjetas inalámbricas BCM43xx estabamos esperando, era el soporte de éste chipset por el driver b43. ¿Motivos? Muchos. Por ejemplo, no podíamos poner nuestra tarjeta en modo monitor y eso ya es mucho que decir.

En ésta nueva versión del kernel, ya hay soporte para éste tipo de chipsets y lo más recomendable es hacer la migración inmediata. No hay comparación alguna con el driver broadcom-sta, se nota un mejor funcionamiento, algo que los usuarios Windows podían disfrutar desde hace un buen rato ya.

Veamos como podemos disfrutar de éste driver.

Lo primero, es decir, que se necesita hacer uso de la versión 2.6.32 de Linux; ninguna versión anterior servirá. Si aún no te animas a compilar tus kernel personalizados (algo de lo que habíamos hablado I II III), la opción que te queda es esperar a que los desarrolladores de tu distribución incluyan el paquete precompilado con ésta versión. Si usas la ramas estables, probablemente pasará un buen tiempo antes de que ésto ocurra.

Éste driver sólo soporta los nuevos dispositivos BCM43xx IEEE 802.11G, pero no los viejos IEEE 802.11B. Éstos son soportados por el driver b43legacy. Para saber si tu tarjeta broadcom ya es soportada por éste driver, revisa aquí.

El proceso lo llevaré acabo desde mi Gentoo.

1. Instalamos gentoo-sources-2.6.32

emerge –sync
ACCEPT_KEYWORDS=”~arch” emerge -av gentoo-sources

2. Configuramos el kernel normalmente y agregamos el soporte

 Device Drivers -->
   Network device support -->
     Wireless LAN
       [*] Wireless LAN (IEEE 802.11)
       <*>   Broadcom 43xx wireless support (mac80211 stack)
       [ ]     Broadcom 43xx PCMCIA device support
       [*]     Broadcom 43xx debugging

3. Compilamos, copiamos kernel a /boot y modificamos GRUB

make && make modules_install
mount /boot
cp arch/x86_64/bzImage /boot/gentoo-2.6.32
vim /boot/grub/grub.conf

4. Una vez instalado el kernel, procedemos a instalar b43-fwcutter y el firmware. La versión que incluye hoy, tu distribución, no te servirá. Descarguemos la versión en desarrollo

git clone http://git.bu3sch.de/git/b43-tools.git
cd b43-tools/fwcutter
make
cd ..
Nota: En caso de que recibas un error, debido a la falta de la librería cURL, recompila dev-util/git con el USE flag curl.

5. Descarguemos e instalemos el firmware

export FIRMWARE_INSTALL_DIR=”/lib/firmware”
wget http://downloads.openwrt.org/sources/broadcom-wl-4.178.10.4.tar.bz2
tar xjf broadcom-wl-4.178.10.4.tar.bz2
cd broadcom-wl-4.178.10.4/linux
sudo ../../fwcutter/b43-fwcutter -w “$FIRMWARE_INSTALL_DIR” wl_apsta.o

6. Reiniciamos

Una vez hayamos terminado de reiniciar, como root comprobamos que la interfaz esté funcionando:

iwconfig
ifconfig wlan1 up
iwlist wlan1 scan

¡Eso es todo! ¡A disfrutar sanamente del modo monitor!

30 Comentarios | deja el tuyo

Sep, 26 2009 - 10:00 am

Trabajando con el Kernel Linux (II)

Anterior artículo…

Continuando con la serie de posts dedicados al Kernel, hoy vamos a hablar sobre las cámaras web y la herramienta sysctl.

Cámaras Web

webcam_pinguino

En la actualidad, el kernel tiene muy buen soporte para las cámaras web, tanto las integradas como las externas. Basado en mi experiencia, nunca he tenido ningún problema con dispositivos de captura de video en Linux aunque me imaginó que en algún hardware habrá incompatibilidades. La ventaja es que los desarrolladores del kernel cada día trabajan por mejorarlo y desarrollando controladores para maximizar el soporte en la mayor cantidad de máquinas posibles. Leer el resto de la entrada…

6 Comentarios | deja el tuyo

Sep, 23 2009 - 12:12 pm

Trabajando con el Kernel Linux (I)

Hola a todos! Otra vez yo, Cortex, que hace un buen rato no me pasaba por aquí.

Hoy me gustaría hablar sobre un tema en el que seguro todos tenemos muchas lagunas, configurar el kernel. Si alguna vez has instalado ó intentando instalar Gentoo te habrás dado cuenta que en el ritual de instalación debes de compilar tu propio núcleo, incluyendo también la configuración del mismo. Desde mi experiencia, este suele ser un punto en el que la mayoría de usuarios se quedan; es cierto que también existe genkernel, una herramienta que facilita por completo este proceso pero que también, entre otras cosas, ralentiza mucho el arranque.

Casi la totalidad de distribuciones Linux, incluyen en su sistema un kernel con soporte para la mayor cantidad de hardware posible y en el booteo hay un script que se encarga de identificar el perfil del equipo en cuestión y cargar los módulos respectivos (sonido, disco, sistemas de archivos, etc.). Este sistema me parece excelente, puesto que sobretodo al usuario nuevo le ahorra mucho trabajo a la hora de poner a funcionar su distribución, pero como dije anteriormente no es lo más óptimo, sobretodo si queremos el mejor rendimiento posible. Leer el resto de la entrada…

12 Comentarios | deja el tuyo

« Entradas anteriores