Bug 564259

Summary: Knetworkmanager doesn't connect to hidden networks
Product: [openSUSE] openSUSE 11.2 Reporter: Rainer Hurtado Navarro <publio.escipion.el.africano>
Component: KDE4 WorkspaceAssignee: Will Stephenson <wstephenson>
Status: RESOLVED UPSTREAM QA Contact: E-mail List <qa-bugs>
Severity: Major    
Priority: P3 - Medium CC: choeger, hugo.costelha, kailed, publio.escipion.el.africano, xpetept
Version: Final   
Target Milestone: ---   
Hardware: x86-64   
OS: openSUSE 11.2   
URL: https://bugs.kde.org/show_bug.cgi?id=209464
Whiteboard:
Found By: --- Services Priority:
Business Priority: Blocker: ---
Marketing QA Status: --- IT Deployment: ---

Description Rainer Hurtado Navarro 2009-12-12 02:12:26 UTC
User-Agent:       Mozilla/5.0 (X11; U; Linux x86_64; es-ES; rv:1.9.1.5) Gecko/20091103 SUSE/3.5.5-1.1.2 Firefox/3.5.5

openSuSE 11.2's Knetworkmanager doesn't connect to wireless networks that don't diffuse its ID, even editing the connection manually.
I have to connect to networks that its ID are not diffused and requires match to MAC addresses, but I had been provided by its IDs and key, and my MAC addresses are authorized (I connected to them through openSuSE 10.2 without troubles).
According to the manuals, I have to edit a new connection setting, because Knetworkmanager can't list a network whose ID isn't broadcasted. And, indeed, I had added an entry for each network (2). Those entries are shown (some times) in the list of networks (with an icon of a hand writing on a paper), but stating that they are insecure. No matter whether I click, double-click, triple-click those icons, nothing happens (not even an indication of connection, less an indication of unsuccessful connection); idem whether I chose to provide a new connection hoping to be connected some how.
I cann't try other network because those two are the only I are able to connect. Also, I cann't change the parameters of them.
I use openSuSE 11.2's KDE 4.
The wireless networks that diffusses its IDs are rightly shown.
At home I connect trough eth0.

Reproducible: Always

Steps to Reproduce:
1. Chose a network whose ID isn't broadcasted.
2. Provide the parameters of such network.
3. Try to connect.
Actual Results:  
Nothing happens (not even an indication of connection, less an indication of unsuccessful connection); idem whether I chose to provide a new connection to be connected.

Expected Results:  
Be connected to the wireless network whose ID isn't diffused but I know it, and the key, and in which my MAC Address is authorized.

Although I use SuSE since 7, I use not even to change the default wallpaper (I accept the new KDE 4 as a factual horizon, but I don't change anything: It is nice, mostly, but the theme is the default, and, concerning the plasma, I just setup a picture box and two folders view plus that of the Desktop folder, so I could access my currently working files: I dislike the way KDE 4 is Gnomeized and, as I have just jumped from 10.2, I am unfamiliar with the new KDE). So, think on my openSuSE pretty much as it is just out the box.
Comment 1 Daniele Tombolini 2009-12-12 12:12:23 UTC
I can confirm. Knetworkmanager with hidden networks is painfull.
Comment 2 Rainer Hurtado Navarro 2009-12-15 16:10:23 UTC
All right, sir. Just for your confirmation I thank you because this openSuSE 11.2 is a crazy thing, and I was worry whether or not I am hallucinating. Meanwhile, would you suggest me a way to bypass this issue; for instance, is there any way to interact through DCOP with Knetworkmanager so I could write a script, or is there any alternative application (or set of them, although under bash) to connect to the hidden wireless networks I have to.
Thanks again.
Comment 3 Daniele Tombolini 2009-12-15 17:58:05 UTC
Well if you don't need to switch network (you have only one network) you can go with the classic ifup method. You can change setting in yast.

If you want something scriptable, try cnetworkmanager.
Bye.
Comment 4 Rainer Hurtado Navarro 2009-12-15 22:26:33 UTC
Thank you.
I already tried it. First, I had to kill (9) the background NetworkManager (root)(Another applet is running: Bus name already exists: org.freedesktop.NetworkManagerUserSettings (pid 2221)
), afterwards I ordered (wireless enabled, etc.):
=========== BEGINS OUTPUT ==============
uuuuu@pcpcpc:~> cnetworkmanager -C wlwlwlwlw --wpa-psk-hex=***************************
Traceback (most recent call last):
  File "/usr/bin/cnetworkmanager", line 110, in <module>
    nm = NetworkManager()
  File "/usr/lib/python2.6/site-packages/networkmanager/networkmanager.py", line 50, in __init__
    super(NetworkManager, self).__init__(dbus.SystemBus(), self.SERVICE, self.OPATH, default_interface=self.IFACE)
  File "/usr/lib/python2.6/site-packages/dbusclient/__init__.py", line 40, in __init__
    super(DBusMio, self).__init__(conn, bus_name, object_path, introspect, follow_name_owner_changes, **kwargs)
  File "/usr/lib/python2.6/site-packages/dbus/proxies.py", line 241, in __init__
    self._named_service = conn.activate_name_owner(bus_name)
  File "/usr/lib/python2.6/site-packages/dbus/bus.py", line 183, in activate_name_owner
    self.start_service_by_name(bus_name)
  File "/usr/lib/python2.6/site-packages/dbus/bus.py", line 281, in start_service_by_name
    'su', (bus_name, flags)))
  File "/usr/lib/python2.6/site-packages/dbus/connection.py", line 622, in call_blocking
    message, timeout)
dbus.exceptions.DBusException: org.freedesktop.DBus.Error.ServiceUnknown: The name org.freedesktop.NetworkManager was not provided by any .service files
============= ENDS OUTPUT =================
Did I do wrong? &c.
Thanks again.
Comment 5 Rainer Hurtado Navarro 2009-12-16 04:48:03 UTC
I have noticed that I committed a mistake when using cnetworkmanager. When I was told "Another applet is running: Bus name already exists:
org.freedesktop.NetworkManagerUserSettings (pid 2221)", I open the KDE process viewer (Crtl+Esc) and filtered the list, so I killed NetworkManager, not the user applet: that is why I got the previous output. So, I invoked as root NetworkManager, and the, as user, I killed the applet by its PID (kill -9 <PID>), and run cnetworkmanager with the same parameters. I got no connection, but a loop of unsuccessful attempts. However, when I run after that KNetworkManager, then the application showed me my hidden network inside the list of detected networks (it was something). I tried to connect it, but It was impossible. But, if I selected another, a dialog was opened asking for the "secrets" of that connection ("secrets" I do not have, of course: it was just for see what could happen). And the manager icon in the task bar changed too (suggesting it was to connect to a wireless network). But, when I want to connect to "my" network nor even the icon changes.
Thank you.
Comment 6 Daniele Tombolini 2009-12-16 17:54:30 UTC
It's no clear, if you have the icon in taskbar it means that knetworkmanager still running. I don't know if cnetworkmnager can be used when knetwormager is runnig.
So in doubt, try this:
boot in runlevel 3 and try cnetworkmanager. If it works you need to disabling knetworkmanager.
You can set Autostart = no under [General] in ~/.kde4/share/config/knetwormanagerrc

Bye.
Comment 7 Rainer Hurtado Navarro 2009-12-21 17:06:48 UTC
I have disabled Knetworkmanager for run cnetworkmanager. I did not knew that first, but when I ran cnetworkmanager for first time it told me so ("Another applet is running: Bus name already exists:
org.freedesktop.NetworkManagerUserSettings (pid nnnn)"), then I killed -9 PID nnnn (Knetworkmanager) and then ran cnetworkmanager successfully, but, although I could interact through the command line with it, the same issue took place: it does not connect to my hidden wireless networks in despite of I gave the parameters to do so. It does not happen under 10.2 or 11.0: I have tested already.

However, I make this missunderstanding because I was so hurry to answer your 3rd. comment that, before I could understood what happened when cnetworkmanager told me "Another applet is running: Bus name already exists:
org.freedesktop.NetworkManagerUserSettings (pid nnnn)" I pasted the comment the 4th. It was afterwards when I realized what it meant and I killed Knetworkmanager (comment the 5th).

I asked for a command line application as an alternative to Knetworkmanager to get connected. But Knetworkmanager and cnetworkmanager obviously share the same issue due to they are just frontends of NetworkManager (that process on which they depend on and runs with UID 0). It is more likely that the late is the one that fails than there be two applications wrongly behaving.
Thanks & Merry Christmas!
Comment 8 Daniele Tombolini 2009-12-21 17:21:55 UTC
At this point, I think that you need to tray without (k)networkmnager. With Yast, switch to the classic ifup method and see if it works. Could be a kernel/driver issue.

As alternative, you could try wicd, but I really don't know how it works on opensuse. So use at your own risk :)


@Will, why knetworkmanager does not show some usefull messages when something goes wrong ? Debugging knetworkmnager is a pain, logs, dbus..

Bye!
Comment 9 Will Stephenson 2010-01-04 08:26:37 UTC
Daniele: it already displays any status change reasons that NM gives, but these are not complete, sorry!
Comment 10 Rainer Hurtado Navarro 2010-01-15 19:43:20 UTC
Well, let me know how, a humble user, could help...
Comment 11 Carsten Hoeger 2010-02-06 10:53:59 UTC
I've the same problem. knetworkmanager only works with non-hidden networks - feels like Vista, though ;-) -.

I can create a connection definition, but when I click on it to activate, nothing happens.
Comment 12 Diogo PiƧarra 2010-07-23 01:54:30 UTC
I can confirm this as a NetworkManager bug and NOT a KNetworkManager bug.
This bug exists in both openSuse 11.2 and 11.3.

To use hidden network you only need to execute this command as root:
iwlist <wireless_device> scan essid <networkname>

example:
iwlist wlan0 scan essid eduroam

And the you can use KNetworkManager as usual.

Ihis as already been fixed in Fedora before openSuse 11.3 have been released...
I think ubuntu also have this already fixed but i will try to confirm this later.
Comment 13 Hugo Costelha 2010-09-23 10:47:58 UTC
This also happens to me, using openSUSE 11.3 with Broadcom BCM4312 in a x86 environment. However, using "iwlist wlan0 scan essid eduroam" does not solve the problem.
Comment 14 Will Stephenson 2010-11-15 16:40:26 UTC
Handling upstream