Bob's Debian Broadcom Notes Page

Installing the Broadcom driver.

The biggest reason that this driver is not yet in the mainstream kernel is because nobody seems to understand the code. Therefore this driver must be added to the kernel when it is needed. The easiest way is to compile it as an external module. Then install it that way. Everything proceeds normally after that.

It is unfortunate that this driver does not come in the mainstream kernel. But because it does not it means we need to build it for our specific kernel. It would be possible for the prebuilt kernels to also have prebuilt images of all of the add-on modules. But the combinatorial explosion would mean a lot of packages to be supported for every new kernel. And this is easy to do at the installation end so this is a step which must be done locally at this time.

Get the bits onto your machine

Use the Debian source installer packages.

cd /usr/src
sudo apt-get install bcm5700-source
sudo apt-get install kernel-source-2.4.20

Build the kernel modules

cd /usr/src
tar xzf bcm5700.tar.gz # /usr/src/modules/...
tar xjf kernel-source-2.4.20.tar.bz2
cd kernel-source-2.4.20
cp /boot/config-2.4.20-2-k7-smp .config
make-kpkg clean
fakeroot make-kpkg --append_to_version -2-k7-smp modules_image
cd /usr/src
sudo dpkg -i bcm5700-module-2.4.20-2-k7-smp.deb

Configure this driver

echo bcm5700 >> /etc/modules
modprobe bcm5700

Summary

In summary after this has been built and set up for a site in a deb depot many machines may be installed using apt-get.

apt-get install kernel-image-2.4.20-2-k7-smp bcm5700-module-2.4.20-2-k7-smp

If you install the kernel and forget to install the network module it will leave you with a system without a network. The way to recover from this state would be to reboot the machine from the console and to reboot to a previous working kernel. Then install the module. Then boot back into the new kernel image.

Reference Information

/usr/share/doc/kernel-package/README.gz