> On 07 September 2017 at 17:13 Colin Helliwell
> <[email protected]> wrote:
>
> > On 07 September 2017 at 16:37 Dan Williams <[email protected]> wrote:
> >
..
> > client = NM.Client.new(None)
> > c =
> > client.get_connection_by_uuid(sys.argv[1])
> > secrets =
> > c.get_secrets(NM.SETTING_WIRELESS_SECURITY_SETTING_NAME)
> >
> > # this merges
> > the secrets into the existing connection
> > c.update_secrets(NM.SETTING_WIR
> > ELESS_SECURITY_SETTING_NAME, secrets)
> >
> > # write the full connection back to NM
> > c.save()
>
> Thanks, I'll work through that in due course, but just to step back a bit to
> something perhaps simpler (which may help my understanding in general!) I've
> just been trying to modify some other gsm settings. All is good until trying
> to write the changes to the connection file
> (/etc/NetworkManager/system-connections/):
> c.save() does write to the file (I see the timestamp is changed), but the
> setting itself is unchanged, whereas
> c.commit_changes(True,None) *does* alter the setting in there.
>
> Just wondering therefore what save() is intended for, and/or whether it needs
> to be used in a different way?
> No problem to use commit_changes() instead, but save() doesn't seem to be
> doing what the docs imply: "Saves the connection to disk if the connection
> has changes that have not yet been written to disk, or if the connection has
> never been saved"
Ok, think I get it now - I was seeing 'commit' as higher level as 'save'. But
in fact commit is just on the loaded connections, with the option to save; and
'save' only saves what's been committed?
Mind you I always seem to get False from get_unsaved(), regardless. (Not too
bothered as I won't be using that ultimately - I just noticed it during my
experimentation)
> AND, just to get my next question in while I'm at it :) - What are the calls
> to do a down/reload/up on the connection? (i.e. I'll have changed the gsm
> settings from incorrect apn etc to correct, and want pppd to be kicked into a
> re-connect)
**
I still haven't sussed out how to do this....
(Not even sure of the class/api to be looking at)
**
---
An additional query about changing the gsm password. I'm basically able to do
this, but I've noticed that it doesn't seem possible to *remove* the password.
For example the username can be deleted [i.e. from the connection file] with
settings.set_property(NM.SETTING_GSM_USERNAME, None)
Password can be *changed* with a set_property() but if it's changed to None
then the connection file - though it is rewritten - doesn't change.
It can be emptied with set_property(NM.SETTING_GSM_USERNAME, "")
this puts 'password=' into the file but then an error is thrown ("A password is
required to connect to 'GSM'"). Note - for clarity of permutations in this
info, username is set.
A workaround seems to be to explicitly set it to an empty string:
set_property(NM.SETTING_GSM_USERNAME, '""')
Not a major problem, but I wondered if it's a bit of a bug? The same seems to
occur doing it with a 'nmcli conn mod'
(I'm using the 1.8.2 tarball)
_______________________________________________
networkmanager-list mailing list
[email protected]
https://mail.gnome.org/mailman/listinfo/networkmanager-list