Linux kernel powered wireless card.
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.
April 20th, 2008 at 12:15 am
May 4th, 2008 at 1:40 pm
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
May 4th, 2008 at 5:17 pm
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.
May 17th, 2008 at 10:21 pm
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?
May 18th, 2008 at 1:14 pm
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
May 18th, 2008 at 4:30 pm
Gracias a ti por responder.
Saludos.
June 7th, 2008 at 8:20 pm
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
June 7th, 2008 at 8:23 pm
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
June 10th, 2008 at 11:15 am
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.
July 28th, 2008 at 12:30 pm
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/
December 15th, 2008 at 1:03 pm
[...] Kernel 2.8.26 that includes support for my Broadcom wireless card. - KVM, so I could use it instead of VirtualBox. - Pidgin, instead of Gaim - OpenJDK, so I could [...]