Regaining NetworkManager Function by Reverting Consolekit
Use caution when upgrading Linux!
Linux is a great operating in many ways. For users who enjoy stable, functional, and efficient applications that don\'t crash, there are versions that are perfect. For other users, who desire modern cutting edge computing capabilities, there are other versions that are suitable. However, the cutting edge Linux distros come with a risk: system impairment due to incompatible or buggy upgrades.
Any day, one can use a search engine find numerous instances of upgrade breakage. Some famous ones involve major kernel changes clashing with newer hardware, making the entire computer unusable until a rescue disc is used. This sometimes happens in Linux because there are numerous groups of developers writing their specific software packages, and they do not interact consistently with the other developer groups. They do not always agree on how their software will interact with the other software (or hardware) on a computer.
Therefore it is suggested to avoid upgrading a system merely because new versions of the kernel or application packages are available. Upgrade when new and meaningful features are available, after a few weeks of general usage have elapsed! Give the bug reports time to be addressed before exposing your system to upgraded software. And from time to time, when things are working well, back up the whole system.
Here we go again - a Linux upgrade broke my wireless connectivity!
Recently there was an Linux software upgrade to software packages called "Consolekit," "NetworkManager," and "Dbus-1." NetworkManager is a somewhat tempermental group of applications that handle wired, wireless, broadband, and DSL connections on a Linux system. Consolekit tracks and manages users\' activities on the system. It uses a set of files to define users\' priveleges and what they are allowed to do with system hardware. Dbus-1 is the interprocess messgaing system allowing different groups of software and the main system to communicate.
As NetworkManager was developed through version 0.8 and Consolekit went beyond version 0.4.1, they stopped functioning together and effectively crippel the users\' wireless and VPN access. On internet forums, there has been quite a lot of finger pointing and passing of blame for the breakage. Consolekit defenders asserted that NetworkManager was improperly configured; others argued that nothing was wrong until the buggy Consolekit 0.4.3-1 was dumped onto the internet too early.
Evidence seems to indicate that the main problem is in Consolekit 0.4.3-1. Since it was released into the various Linux software repositories, upgrading users have reported a loss of wireless connectivity in NetworkManager. NetworkManager can scan and generate a list of available wireless networks, but it does nothing when directed to connect. VPN connections fail instantly. Root users, however, can connect to wireless access points, but have problems with VPN connections. Dbus is in the middle between these two processes and unable to coordinate with either one. More users are reporting problems on 64 bit systems than on 32 bit Linux.
Consolekit 0.4.1 - It just Works
Rather than attempt to sort and address each problem with these upgraded packages, an effective solution seems to be reverting to an older Consolekit. Removing the current version and installing Consolekit 0.4.1 restores wireless functionality. Until the developers repair the damage in this trio of interdependent applications, the end user can get back to normal computing with Consolekit 0.4.1. Here are the steps to accomplish the reversion on 32 or 64 bit systems:
Example reversion to consolekit 0.4.1 on 64 bit Debian Linux using APT. 1) Use ethernet for any necessary internet connections. 2) Download the package consolekit_0.4.1-4_amd64.deb. 3) Navigate to the folder containing the downloaded deb package and open a terminal window there. 3) Remove the old Consolekit by using the command "sudo apt-get purge consolekit" 4) Install the new Consolekit by using the command "sudo dpkg -i consolekit_0.4.1-4_amd64.deb" 5) Reboot
Example reversion to consolekit 0.4.1 on 32 bit Debian Linux using APT. 1) Use ethernet for any necessary internet connections. 2) Download the package consolekit_0.4.1-4_i386.deb. 3) Navigate to the folder containing the downloaded deb package and open a terminal window there. 3) Remove the old Consolekit by using the command "sudo apt-get purge consolekit" 4) Install the new Consolekit by using the command "sudo dpkg -i consolekit_0.4.1-4_i386.deb" 5) Reboot
Upon rebooting, networking should work normally. Check for normal connectivity to wireless networks and and any VPN services set up on the computer. If there are any problems, look at the files /var/log/syslog and /var/log/dmesg and note any error messages.
Some systems, which have had many modifications and tweaks, may still not regain wireless functions after reverting to the older consolekit. As a last resort, NetworkManager and Consolekit may be purged from the system and WICD installed in their place. WICD restores wired and wireless connectivity, and does not replace consolekit, but consolekit is not necessary
Eventually the developers will fix the incompatabilities causing the networking failure between NetworkManager, Consolekit, and Dbus-1. Until then, it is more covenient for the end user of a Linux system to use an older version of Consolekit than to go into each small tweak necessary to debug current versions of all three packages. There is a lesson here for developers about checking their software against the current environment before releasing new versions. And a lesson for users about not damaging mission-critical systems with risky bleeding edge software. Test - Verify - Deploy is how the game is played!
Tags: consolekit, networkmanager, linux wireless