Linux kernel powered wireless card.

| 9 Comments | 1 TrackBack

A bit of background first. Last year I got a new laptop (HP dv6420la). All worked fine, except for the wireless card. It is a BCM4312 rev 02. It only worked using ndiswrapper. This was acceptable, because in the end the important thing was that the tool (the laptop) worked. But I always had the feeling that it was not perfect. Besides, half the time it didn't booted correctly because the wireless card didn't initialized ok. This hanged the machine and the only solution was to cold reboot the laptop. Not very good for my files but that was the price to pay in order to have a working wireless card. All the time I follow the news on linuxwireless.org waiting for the time when native kernel support for my wireless card were incorporated to the mainline kernel. From time to time I installed new versions of the kernel and tested the card without success, but the progress was evident. My hopes were bigger and bigger as the months passed. Finally (thanks Larry Finger, the author of the patch, and the linux wireless team) mainstream kernel included the code necessary to drive the BCM4312 rev 02 card.

It was included in kernel 2.6.25 and this kernel was stamped stable just two days ago. So, one more time (hoping it were the last) I put to test a new kernel in my laptop.

I downloaded the full sources from kernel.org (because it isn't yet in debian repositories). As root:


laptop:~# cd /usr/src
laptop:~# wget http://kernel.org/pub/linux/kernel/v2.6/linux-2.6.25.tar.bz2

Then I installed the required dependencies needed to custom compile/install a kernel (instructions here):

laptop:~# apt-get install build-essential fakeroot

I unpacked the sources:

laptop:~# tar jxf linux-2.6.25.tar.bz2
laptop:~# cd linux-2.6.25

I copied the config file from my current kernel:

laptop:~# cp /boot/config-2.6.24-1-amd64 .config

and made the kernel package:

laptop:~# fakeroot make-kpkg --initrd --revision=miguel.1.0 kernel_image

This compiled the kernel and built the deb package leaving it in /usr/src/linux-image-2.6.25_miguel.1.0_amd64.deb. I chose the default answers in the config phase. Finally I installed it with:

laptop:~# dpkg -i /usr/src/linux-image-2.6.25_miguel.1.0_amd64.deb

As I was using ndiswrapper (as told here), I had to undo the changes made for ndiswrapper to work:

laptop:~# /etc/init.d/networking stop
laptop:~# rmmod ndiswrapper
laptop:~# ndiswrapper -r bcmwl5
laptop:~# m-a purge ndiswrapper --force
laptop:~# dpkg -l |grep ndiswrapper # to check ndiswrapper packages
# update the following accordingly
laptop:~# aptitude purge ndiswrapper-common ndiswrapper-source ndiswrapper-modules-2.6.22-2-amd64 ndiswrapper-utils-1.9

Also, I removed bcm43xx from /etc/modprobe.d/blacklist, and finally left just the following lines in /etc/network/interfaces:

auto lo
iface lo inet loopback

in order to let NetworkManager to manage the network interfaces (wired and wireless).

The time to test this setup came, so I rebooted the laptop and watched the boot messages. No errors. Finally the led turned blue and when I logged in with my user the NetworkManager showed a list with all the wireless networks available. I chose mine and I was showed a windows asking for my password. I entered it and the connection was made.
So here I am, writing this from my recently and brand new kernel powered BCM4312 rev 02 wireless card.

So, thanks to the ndiswrapper team, but I have to say goodbye. I invite you to update to kernel 2.6.25 and to left behind ndiswrapper.

Thanks to the Linux Wireless team, and in general to the FOSS community for the work made. Thank you all.

1 TrackBack

TrackBack URL: http://leugim.com.mx/cgi-bin/movabletype/mt-tb.cgi/91

from The command line » Instalando Debian GNU/Linux 4.0 en HP dv6420la on April 20, 2008 12:15 AM

9 Comments

hi thanks to you my broadcom wlan it's working like a charm I only have a problem how do you configure the nvidia graphic card becouse I can't can you help me please my platop is a Dv6422la special edition

I have used my laptop with the default detected setup for the video card. I have (to date) had not need for an accelerated video setup but, when I configure it, I would write a post.
I think that you'll need to use module-assistant to build the nvidia kernel modules for the new kernel in order to use the card to the full capacity. Google module-assistant nvidia debian in google for the details.

Gracias por tus tutoriales acerca de la dv6420la, fueron determinantes al elegir comprar mi laptop.
Tengo una duda: mencionas el kernel 2.4.25 pero en las instrucciones aparece el kernel 2.6.25 (ej: laptop:~# wget http://kernel.org/pub/linux/kernel/v2.6/linux-2.6.25.tar.bz2).
Cuál versión del kernel has utilizado?

Golan,
fue un error de mi parte. En todo el post hablaba del kernel 2.6.25. Que es el actual kernel estable. Ya cambié todas las referencias a 2.4.25 por 2.6.25 que es lo correcto.
Muchas gracias por darte cuenta.
Saludos

Gracias a ti por responder.
Saludos.

hola como estas oye me estaba preguntando que si a ti te funcionan los usb por que a mi solo me funcionan siinicio la pc con el usb conectado por que si lo inserto ya iniciada la sesion no me detecta el usb por cierto uso debian sid con kernel 2.6.25 e instale debian lenny con noapic nolapic y despues hice un dist-upgrade

por cierto esto me pasaba con ubuntu gutsy y era por que instalaba con noapic no hay alguna manera de instalar debian ya con el kernel 2.5.25 para evitar este problema ?????

por cierto yo ya hice funcionar la aceleracion grafica sin ningun problema si quieres te podria decir como y asi lo podrias postear para que a alguien con la misma laptop pueda hacerlo

Pues nunca me han fallado los puertos USB. Todos funcionan perfecto, ya sea cuando conecto USB memory sticks o cuando conecto la cámara digital.
En este momento tengo un kernel 2.4.25 instalado a partir de los sources de kernel.org ya que en debian testing (lenny) aún no está disponible esta versión del kernel. Sólo está para debian sid, pero no quiero instalarlo a partir de sid.

Respecto a la aceleración gráfica, como he mencionado en otros lados no la he intentado configurar ya que no es prioridad ni la necesito para mi trabajo diario. Quizá algún día lo intente.
Por otro lado si tu tienes una página donde tengas las instrucciones, puedo agregar el link para que todo mundo podamos accederla. O si no pues puedes pegar en un comentario las instrucciones que seguiste para configurar la tarjeta gráfica para que quede disponible a todos. Muchas gracias por el ofrecimiento.

Pues los invito a que cheken mi blog tengo el como instalar los drivers de nvidia en esta computadora en especifico los invito a que se den una vuelta un saludo

http://linpodcast.com/abiux/

Leave a comment

About this Entry

This page contains a single entry by Miguel Cobá published on April 20, 2008 12:10 AM.

Goodbye Apache, welcome lighttpd was the previous entry in this blog.

Incredible is the next entry in this blog.

Find recent content on the main index or look in the archives to find all content.