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

Reporting bugs

This section helps users report bugs in the right place.

Relevant software

Wireless drivers are just one component of the software stack necessary for wireless devices to function. There are also userspace components, namely NetworkManager, wpa_supplicant, Dbus, wireless-tools, and iw.

Kernel panics / Kernel hangs

Kernel panics are kernel bugs, and should be reported immediately. Kernel hangs can be kernel bugs and should be reported as well. Keep in mind you must first ensure your distribution is running the latest stable kernel which matches upstream. You can check that by looking at the v2.6 kernel archives or if you are running the actual latest stable kernel simply by looking at http://kernel.org (another option is the Linux kernel.org finger banner). If you are say on 2.6.27.10 and see there is a 2.6.27.12 you should firs try out 2.6.27.12.

Other issues

Non-kernel panic or non-hang issues still need to be reported but to better assist Linux wireless developers you are encouraged to try the latest wireless drivers first so the issues can be fixed first upstream and then the respective backport fixes can be propagated down to the older kernel stable series. You have a few options in order to test the latest and greatest wireless drivers, these are covered below.

Getting the latest and greatest Linux wireless drivers

In summary:

We elaborate on these below.

Using John's wireless-testing git tree

John Linville is the Linux wireless maintainer and as such his tree is used to push patches upstream to be queued for the next kernel release. Patches pushed into his tree eventually make it to David Miller's tree for the next stable kernel. David then pushes his changes down to Linus and Linus blesses a new release. For more elaborate details you can refer the Linux wireless developer documentation. What you need to know John's tree is the point of entry for any wireless patch.

To use John's tree directly you are expected to know how to configure your kernel, compile it, and load it. If you're up for that you can use our git-guide for reference on how to use git and then clone this tree:

git://git.kernel.org/pub/scm/linux/kernel/git/linville/wireless-testing.git

Use compat-wireless

You can use compat-wireless to get the latest and greatest drivers as well. This basically takes what John has and applies some compatibility patches and gets you going with the latest and greatest on older kernels. You are expected to be able to run 'make' and 'sudo make install' and 'sudo reboot'. For further details you should read the compat-wireless documentation.

Use Stephen Rothwell's linux-next git tree

This is similar to using John's tree but with the added benefit of getting not only the latest and greatest Linux wireless drivers but also the latest *everything* (technically all the -next git trees). You may want this if you have issues with other devices on your system. Read the git-guide and then check out his tree (gitweb):

git://git.kernel.org/pub/scm/linux/kernel/git/sfr/linux-next.git

Why are you not recommending Linus tree

John's tree is based on Linus' tree so by testing his tree you test Linus' tree already and you get the latest Linux wireless drivers as well. This is after all the Linux wireless page.

Identifying the bug

In order to help developers help you better you can do some work on your part to try to narrow bugs down better. If you are unsure about where the bug lies you can start by turning off NetworkManager and its attached wpa_supplicant and then try running wpa_supplicant yourself with your own configuration file. NetworkManager keeps its configuration internally and uses Dbus to relay to wpa_supplicant its configuration settings. To try to reproduce a configuration file similar to the one NetworkManager uses you can check the log file used by NetworkManager (/var/log/messages in most some systems) to review the settings used. If you can still reproduce the issue then try using wireless-tools or iw to connect manually. You will only be able to use wireless-tools or iw to connect manually if your wireless connection *does not require* WPA or WPA2. For connections with WPA or WPA2 you *need* to use wpa_supplicant.

To stop NetworkManager use:

# Red Hat based systems
sudo /sbin/service NetworkMananger stop
# Debian based systems (Ubuntu is one)
sudo /etc/init.d/NetworkManager stop
sudo killall -TERM wpa_supplicant

Reporting bugs in NetworkManager

If you have a bug in NetworkManager you can report it on GNOME's NetworkManager bugzilla product page.

Reporting bugs in wpa_supplicant

You can report bugs in the hostap mailing lists.

Reporting bugs in drivers or mac80211

You should report them on the Linux wireless mailing list.


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, 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