Comment 57 for bug 331952

Revision history for this message
Martin Olsson (mnemo) wrote : Re: [HP 2133 MiniNote laptop] Unexpected and unrecoverable wireless disconnect with B43 driver

@Arjen, patches are "descriptions of changes to source code" and they are not meant to be installed by end users. Normally, users do not have any source code installed and even if you change the source code itself nothing happens because it the binary version of the driver that is being used (this is because the driver is written in C and not in for example Python where the code is executed directly sort of). The idea is that developers patch the driver and then an proper binary update is issued (usually you get the new version in the next version of Ubuntu except for really nasty bugs).

Anyway, you can install the source code yourself and then apply the patch to the make the required changes and then compile the driver to create an installable DEB. For example if you want to install the source code for a package called PACKAGE_NAME, you'd need to:

mkdir my_dir
cd my_dir
apt-get source PACKAGE_NAME
cd some_dir_which_was_created
patch -p0 < ~/path/to/changes.patch
debuild -us -uc -b
cd ..
sudo dpkg -i some_binary_installable.deb

It's the patch command that modifies the code and it's the debuild command that converts the code into an installable DEB update. However, you can't run these commands blindly you need to change them a little bit to suite whatever patch you want to try (some patches requires "patch -p1" instead of "patch -p0" for example). Also, once you do this you will be running an unsupported version of Ubuntu and you might experience new bugs etc.

The Ubuntu wiki has lots of good links of how to compile code, build DEB packages, work with patches etc but it's a lot to learn. This stuff is meant for developers who want to contribute to Ubuntu.