[Server-devel] Hidden SSID and Proxy settings
Jerry Vonau
jvonau at shaw.ca
Mon Mar 7 00:29:09 EST 2011
On Fri, 2011-03-04 at 15:34 +1100, James Cameron wrote:
> On Thu, Mar 03, 2011 at 09:55:26PM -0600, Jerry Vonau wrote:
> > On Thu, 2011-03-03 at 14:47 +1100, James Cameron wrote:
> > > On Wed, Mar 02, 2011 at 10:38:07PM -0500, Dr. Gerald Ardito wrote:
> > > > Both methods work within a session.
> > > > In GNOME, I can connect to the hidden network. And, if I change back
> > > > to Sugar, the connection is intact.
> > >
> > > Yes. NetworkManager still has knowledge of the hidden network
> > > connection request in memory, having been told about it by the GNOME
> > > nm-applet.
> > >
> > > (Restarting NetworkManager at this point causes the connection to drop
> > > and not be re-established.)
> > >
> >
> > Well sort of, if you restart MN in a terminal in GNOME, ...
>
> I was specifically talking about when the user has switched back to
> Sugar. That was the context.
>
> > the connection is re-established, switch over to sugar the AP icon has
> > the ESSID populated. This works if "Available to all users" was ticked
> > as NM sees this as a system connection under root's control. Now open
> > terminal in SUGAR and restart NM, now the ESSID is set to "None".
> > While un-ticked you will be prompted for the info, which is saved in
> > connections.cfg. The difference might be that in GNOME you have
> > gnome-keyring running while in SUGAR it's not. There is the question
> > of who owns the connection while setup as an ifcfg file, root or olpc?
>
> I don't see where you are going with this, and I don't see how it is
> relevant to Gerald. So I'll try explaining things in the hope that our
> mutual cognitive disconnect will eventually show up.
>
> Some D-Bus service must provide the NetworkManagerSettings interface
> from which NetworkManager obtains the list of connections or a new
> connection. The interface specification shows this:
>
> http://projects.gnome.org/NetworkManager/developers/spec.html#org.freedesktop.NetworkManagerSettings
>
> When GNOME is active, this is done by the panel applet.
>
> When Sugar is active, this is done by the Sugar shell, in the source
> file jarabe/model/network.py
>
> Upon restart, without a settings service, NetworkManager will not know
> about the user request to join the hidden network. This also happens on
> boot.
>
> Once Sugar is started, NetworkManager is informed (through the settings
> service in Sugar), of the user's request to connect.
>
> > > > When I reboot, however, while the Wireless Connections UI (iin either
> > > > GNOME or Sugar using nm) shows the connection properly, it does not
> > > > actually connect to the hidden ssid.
> > >
> > > Yes, I agree. After reboot, NetworkManager is restarted, and therefore
> > > no longer knows about the hidden network connection request.
> > >
> >
> > Agreed, I'll look for how "Connect to Hidden Wireless network" runs its
> > re-scan for the hidden network in the code.
>
> It doesn't do a wireless scan for hidden networks. It only offers a
> hidden network in the "Connect to Hidden Wireless network" if one was
> created by the user. If that network is deleted from the settings
> service using "Edit Connections...", then "Connect to Hidden Wireless
> network" does not offer it. Tested.
>
> > > The ONBOOT setting doesn't appear to work either.
> > >
> >
> > On an un-hidden network it does, or at least loaded as the UI becomes
> > usable.
>
> Why should it wait for the UI to become usable? That sounds like it is
> waiting for the settings service to register with D-Bus. Therefore it
> is not using ifcfg as such.
That is part of the problem, ifcfg-rh plugin, nm-applet knows how to use
the info while sugar does not. What is needed it to use NM keyfile
plugin so there is a common method of storing system level info between
sugar and gnome. Here is what I did, get into gnome, stop the NM
service, edit /etc/NetworkManager/nm-system-settings.conf using keyfile
in place of ifcfg-rh, restart NM. Now go configure your hidden network
ticking both of the boxes. That will create system level config file
in /etc/NetworkManager/system-connections/<name> that will be used by NM
upon boot. Reboot back into gnome, the settings should stick bringing
the network up and not ask for a password. Switch over sugar, the icon
for the AP should be connected. Reboot, while in sugar, when sugar
returns you should be auto connected to your hidden network.
> > Gerald, does your AP have any security or is it just hidden?
>
> For what it is worth, my test AP on which ONBOOT did not work, has no
> security, it is just hidden.
>
> I agree with Gerald, the issue is now one of persistence.
>
Think we should ditch the ifcfg-rh plug-in in favor of using NM native
system support. This would mean tweeking network.py to write out the
needed NM config file.
Jerry
More information about the Devel
mailing list