Network Manager – Sigh!
NetworkManager is the linux software that manages WiFi connections. And it has been a source of much frustration.
Back when I was running SuSE 10.1, NetworkManager worked pretty well for me. Later, I upgraded to opensuse 11.0, and NetworkManager never did work properly for a network with hidden SSID. When visiting relatives with a hidden SSID, I had little choice but to boot to Windows. By the time that I upgraded to opensuse 11.3, NetworkManager was working well enough. It still had problems with hidden SSIDs, though I happened to get it working for the particular network where I needed it.
I’m now running opensuse 11.4, and NetworkManager works pretty well. The gnome applet does things just about the way I like. The KDE applet still has a few problems. When visiting relatives recently, I briefly logged into the XFCE desktop (which uses the gnome version of NetworkManager), and I setup WiFi as a system connection. In that case, the connection is made before any login and works for all desktops. I could then use KDE and access the network without problems.
The sigh in the title of this post is for what I am seeing in the opensuse 12.1 Beta. Yes, NetworkManager does work, and I can connect to all of the networks that I use. But it is such a pain to use. There are problems with both the gnome version and the KDE version.
With opensuse 11.4, version 0.8.2 of NetworkManager was installed. With 12.1, it is now version 0.9.0. From a user perspective, the major change is that you cannot do anything without entering the root password. This is probably a failure to properly integrate NetworkManager with PolicyKit.
I need the root password to define a new wifi connection, or to modify an existing one. It looks as if I need the root password to connect to a network that is not set for auto-connect (I haven’t tested this very thoroughly).
The main trick seems to be to define the connection to be auto-connect and to be a system connection (shared by all users). If that is done, then the system will connect automatically if that network is available. You won’t need the root password until you have to change something.
Under KDE, it is a bit worse than under desktops that use the gnome applet. With KDE, I am prompted for the root password for any change. I am also prompted for the kwallet password for any change. That last one is particularly frustrating, because the WiFi network passwords are now stored in root owned files in “/etc/NetworkManager/system-connections”, so nothing is stored locally that would require kwallet. Fortunately, you can configure the plasmoid networkmanager applet to store its secrets in local files rather than in the encrypted kwallet. If you do this, you will only be prompted for kwallet once, when you initially setup kwallet (as forced by the networkmanager applet). Thereafter you will not be prompted. And you will be able to find the saved “secrets” which presumably would have been stored in kwallet, though they do not actually contain any secrets. Look in the directory “.kde4/share/apps/networkmanagement/secrets” to find those non-secrets.
One further complication. Using KDE, I have been unable to initially connect to a network with hidden SSID. Switching to a desktop that uses the gnome applet, I was able to connect. And, thereafter, I now seem to be able to connect in KDE. But KDE would not connect the first time.