Since there is an Ubuntu package ‘firmware-b43-lpphy-installer’ which is up to date and will work against the 3.0 kernel, my earlier posts are obsolete. If you are not running Ubuntu, then you will still need to reference my post.
The latest 3.2 Linux kernel however has a few ABI changes, most notably in the network stack which effects the Broadcom’s wl module. Most notably is: .ndo_set_multicast_list which was replaced with .ndo_set_rx_mode.
The need was simple enough: make deb packages from source for multiple architectures on the same system. This needed to be done without the overhead of a virtual machine and without using something like launchpad.
I’ve used chroot in the past and it seemed like a perfect fit for the problem. The idea is to have at least two chroot-able directories with the bare essentials from Ubuntu Natty (10.04) to compile and build deb packages.
If you upgrade to Ubuntu 11.10 on a 64-bit platform and try to run skype then you will likely get this error:
skype: error while loading shared libraries: libXss.so.1: cannot open shared object file: No such file or directory
This is because libxss1 and a few other libraries have been removed from ia32-libs package.
You will need to enable multiarch and install the extra 32 bit libraries by hand:
With the latest 3.0 kernel there is still no “out of the box” support for my BCM4312 wireless chipset. Nor is there any help from Ubuntu 11.04 leaving me to use Broadcoms hybrid driver with patch.
Chipsets supported by “Broadcom’s IEEE 802.11a/b/g/n hybrid Linux® device driver” are: BCM4311, BCM4312, BCM4313, BCM4321, BCM4322, BCM43224, and BCM43225, BCM43227 and BCM43228.
My specific chipset from lspci command:
Broadcom Corporation BCM4312 802.11b/g LP-PHY (rev 01)
Natty (11.04) users can finally get fglrx playing nicely together with X.org 1.10. We can also make the latest driver work well with the 2.6.39 kernel.
Custom build procedure:
- Install the latest 2.6.39 kernel revision from Ubuntu Mainline or install the PPA.
- Download 64-bit 11.4.
- Extract the files from the package:
sh ./ati-driver-installer-11-4-x86.x86_64.run --extract ati
- For 2.6.39 support, download this extra patch: 2.6.39_bkl.patch
- Check for Big Kernel Lock usage:
cat /lib/modules/`uname -r`/build/.config | grep -c CONFIG_BKL=y
If the result of this command is 0, then download no_bkl.patch as well.
- then apply them:
cd ati; for i in ../*.patch; do patch -p1 < $i; done
- Build your new ati/fglrx deb packages:
./ati-installer.sh 8.841 --buildpkg Ubuntu/natty
- Install our newly created deb packages:
sudo dpkg -i ../fglrx*.deb
- If your /etc/X11/xorg.conf is missing you will need to run:
sudo aticonfig --initial
and then reboot.
That newly created package should work for the entire 2.6.39 series.