That NetworkManager update on openSUSE 12.1
There was a recent update to NetworkManager, listing Bug 731812 as the problem being addressed. I have tested the updated NetworkManager. This post is a review of the result. The specific problem addressed was the fact that NetworkManager was requiring the root password to make any changes.
The update was suppose to make it possible for a user to setup a private connection — a connection to be used by only that user — without requiring the root password. And my tests show that it does achieve this goal, though not without other problems.
How I tested
In order to test, I used an already installed openSUSE 12.1 system. The test system is actually a second install in a separate partition. I use that for experimenting, without having to change the configuration of my primary openSUSE system.
In this case, I booted the primary system. Then I mounted the disk of the test system. Next, I deleted the files in “/etc/NetworkManager/system-connections” and in “/var/lib/NetworkManager”. That deleted NetworkManager information for connections that had previously been defined on the system. I then booted the test system, and logged in as a test-user (an account that had not previously setup any WiFi networks).
Setting up a network in gnome
I now proceeded to setup a WiFi connection from Gnome. I clicked on the network icon toward the right of the panel at the top. The network icon was just a small “x”, barely noticeable. Clicking on that icon showed a list of networks. One of them had an SSID which I shall call “my network” for the purposes of this discussion.
Clicking on “my network”, I was prompted for the WPA key for the network. I entered that, and shortly thereafter I found that I was connected. So far, so good.
Looking in the directory “/etc/NetworkManager/system-connections”, I could see that the configuration file was there, though only readable by root. The name of the configuration file was “Auto my network”.
I logged out of Gnome, then logged back in. I was soon connected again. This is good, and is how it should be.
I again logged out of Gnome, and then logged into KDE. It eventually connected, but it took ever so long. Being impatient, I clicked on the NetworkManager icon in KDE. Several networks were listed, but “my network” was not among them. However, it did eventually connect.
Setting up a network in KDE
At this stage, I rebooted to my main system, mounted the test system partition, and again cleared out the saved NetworkManager information. Then I rebooted the test system and prepared to setup a network in KDE.
Again, I logged into KDE as the same test user. I did not clear out saved user setting files, because it seemed as if nothing for the WiFi network setup had been saved in personal files. And, beside, this time I would login to KDE whereas any previous personal settings would have been for Gnome.
The NetworkManager icon in KDE is in the tray on the right of the column at the bottom. It showed with a red symbol for STOP covering it. I clicked on that icon, and saw a list of networks. I clicked on the “my network” in that list. I was prompted for the WPA key. I entered that. Then I was prompted to setup kde-wallet. I entered a password to use with that. Then I was prompted to open kde-wallet, which required that I again give a password for that.
The network setup appeared to be complete before the kde-password setup. When I checked the directory “/etc/NetworkManager/system-connections”, the file defining the connection was called “my network”. That’s a different name than was used by Gnome.
Next, I logged out of KDE, then logged in again. It took ever so long. But eventually, I was prompted for the key to open kde-wallet, and was then connected to the network.
Next I logged out again, then logged into Gnome. It did not immediately connect. It seemed to take a while to even try. But, after a couple of minutes it attempted to connect and prompted me for the WPA key for the connection. I hit “cancel” at that point because I wanted to do some more checking.
It seems that if you setup the network in Gnome, the WPA key is saved in the configuration file in “/etc/NetworkManager/system-connections”, and can then be used also from KDE. But if you setup the network in Gnome, then the WPA key is apparently saved in kde-wallet, where it is not available to Gnome. I presume that if I had given the WPA key to Gnome on that request, it would then have added it to the configuration file shared by both KDE and Gnome.
Trying as a different user
I next logged out, then logged in as a different user (with my normal user account on that test system. There was no attempt to connect, which is fine since the connection had only been setup for the test user account orinally used.
I then clicked on the NetworkManager icon to see if I could connect. However, “my network” did not appear at all in the list of available networks. It looks as if the first user to setup a network as a private connection, automatically locks other user out from connecting to that SSID.
This is better than we had before. But it is still not very good. I still consider this very buggy behavior.