NOTE: this page is for archival only, see the note at the end of the page.

Stable compat-wireless releases

This page is dedicated to the stable kernel compat-wireless releases. This started with the announcement of work for 2.6.30-rc series and will continue for all stable kernels releases. These stable releases are intended for users looking for more stability than what bleeding edge compat-wireless releases provide.

Case for support

Wireless vendors are encouraged to use these releases for support purposes as no extra tree needs to be created and supported. Stable fixes must always be sent upstream as well. This ensures wireless vendors are testing with stable kernels and helping stabilize the kernels further.

Releases

Kernel release

sha1sum

size

ChangeLog-wireless

compat-wireless-2.6.30.tar.bz2

bb2e23ce12afce2f76fdab56374f5f23ed2f0082

1.7 MB

ChangeLog-2.6.30-wireless

compat-wireless-2.6.31-rc7.tar.bz2

c1ee9ce2fcb4dd7ec663be75bb438db7c5d09415

1.9 MB

ChangeLog-2.6.31-rc7-wireless

compat-wireless-2.6.32-rc7.tar.bz2

fa189ccc635a27d7e281020116675d1473bed3c3

1.9 MB

ChangeLog-2.6.32-rc7-wireless

Recommended

We recommend these the following userspace applications to be installed:

Prerequisites

You need kernel headers to compile compat-wireless. Ensure /lib/modules/$(uname -r)/build/ exists and points to the location where the kernel headers are installed. If you do not have them, read your distribution's documentation on getting help.

Unpacking source

After downloading, unpack the source by typing (as example: version 2.6.32-rc5):

tar -xf /path/to/compat-wireless-2.6.32-rc5.tar.bz2

Note: Modern tar selects decompressor automatically (otherwise add "–bzip2" or "-j").

Building and installing

cd /path/to/compat-wireless-2.6.32-rc5
./scripts/driver-select <driver-name>
make
sudo make install

Unloading

After build and installation unload modules and drivers:

sudo make unload

Loading

To load the new shiny drivers either reboot or just modprobe the module you want. To test whether or not the new drivers are being picked up you can use modprobe -l on the modules, you should see the wireless modules being picked up using the updates/ directory instead of the kernel/ directory. For example (ath9k driver):

$ modules="cfg80211 mac80211 ath9k"

$ for i in $modules; do sudo modprobe -l $i; done
/lib/modules/2.6.27-11-generic/updates/net/wireless/cfg80211.ko
/lib/modules/2.6.27-11-generic/updates/net/mac80211/mac80211.ko
/lib/modules/2.6.27-11-generic/updates/drivers/net/wireless/ath9k/ath9k.ko

Note that the make install command will output this for you so you can just look at that.

Note #2: If you got no network connection automatically, try to restart your network. For Debian systems do:

sudo /etc/init.d/networking restart

Bugs

If you find a bug, please ensure you are on the latest kernel for that series. Bugs should be reported upstream on the http://bugzilla.kernel.org/. You may also want to address this on the linux-wireless mailing list first. For more details please see our reporting bugs guidelines.

Patches

If you have a patch for an bug please also ensure you are using the latest release for the respective kernel. If unsure you can ask on the linux-wireless mailing list. If you are sure its a fix you can send the patches to:

To: stable@kernel.org
Cc: linux-wireless@vger.kernel.org

Maintaining stable compat-wireles releases

Refer to the maintenance section for details on how the stable releases are made and how to checkout the compat-wireless code for those releases.

This section covers the details of how stable compat-wireless releases are made and maintained. Wireless driver development occurs on a development tree called wireless-testing. The stable kernel releases are not made from this tree though because wireless-testing consists of patches queued up for the next kernel release. If what was just described does not make any sense to you you can read the bug fix propagation documentation which covers this into much greater detail.

We had been providing tarballs of drivers to users based on wireless-testing but since its a development tree chances are high users would run into issues on occasion. Using the stable kernel should then help with that, and to help tests and get drivers to users quicker we provide tarballs based on the latest stable RC kernel. So as soon as 2.6.33-rc1 will be released we'll provide a package with those drivers to users and distributions.

compat-wireless works off the the wireless-testing git tree, as such its master git branch is for usage with the wireless-testing git tree. Different branches are created upon a release of a new stable RC kernel and these new branches are then used only for updates for hunk changes and bug fixes while the master branch continues on with the wireless-testing tree.

We have a branch then for each stable kernel we have supported:

mcgrof@tux ~/devel/compat-wireless-2.6 $ git branch -r
  origin/HEAD -> origin/master
  origin/linux-2.6.30.y
  origin/linux-2.6.31.y
  origin/linux-2.6.32.y
  origin/master

To generate a tarball for the 2.6.32 kernel we then refer compat-wireless to a stable kernel git tree with that code. Since Linus's tree does not have the extra version releases of each kernel another tree must be used for stable release purposes then. The Unified stable tree is then used for this purpose. You can check out the code here:

git://git.kernel.org/pub/scm/linux/kernel/git/hpa/linux-2.6-allstable.git

So as with the bleeding edge tree we can do:

GIT_TREE=/home/mcgrof/linux-2.6-allstable/
./scripts/admin-refresh.sh

Since the goal is to make clean tarball without the git tree index stuff a script has been added to allow you to make a release easily:

./scripts/gen-stable-release.sh

This should tell you it put a tarball under /tmp/staging/ somewhere.

If you have a driver or feature you are testing you can feel free to just stuff it into the compat/patches/ directory and upon a refresh (or ./scripts/admin-update.sh) the patch will be applied.


This is a static dump of the wiki, taken after locking it in January 2015. The new wiki is at https://wireless.wiki.kernel.org/.
versions of this page: last, v210, v209, v208, v207, v206, v205, v204, v203, v202, v201, v200, v199, v198, v197, v196, v195, v194, v193, v192, v191, v190, v189, v188, v187, v186, v185, v184, v183, v182, v181, v180, v179, v178, v177, v176, v175, v174, v173, v172, v171, v170, v169, v168, v167, v166, v165, v164, v163, v162, v161, v160, v159, v158, v157, v156, v155, v154, v153, v152, v151, v150, v149, v148, v147, v146, v145, v144, v143, v142, v141, v140, v139, v138, v137, v136, v135, v134, v133, v132, v131, v130, v129, v128, v127, v126, v125, v124, v123, v122, v121, v120, v119, v118, v117, v116, v115, v114, v113, v112, v111, v110, v109, v108, v107, v106, v105, v104, v103, v102, v101, v100, v99, v98, v97, v96, v95, v94, v93, v92, v91, v90, v89, v88, v87, v86, v85, v84, v83, v82, v81, v80, v79, v78, v77, v76, v75, v74, v73, v72, v71, v70, v69, v68, v67, v66, v65, v64, v63, v62, v61, v60, v59, v58, v57, v56, v55, v54, v53, v52, v51, v50, v49, v48, v47, v46, v45, v44, v43, v42, v41, v40, v39, v38, v37, v36, v35, v34, v33, v32, v31, v30, v29, v28, v27, v26, v25, v24, v23, v22, v21, v20, v19, v18, v17, v16, v15, v14, v13, v12, v11, v10, v9, v8, v7, v6, v5, v4, v3, v2, v1