10
9
Fork
You've already forked linux-app
14

eduvpn-cli fail to add network-manager connection then hang #630

Closed
opened 2025年04月09日 12:04:56 +02:00 by jeff_mrbear · 12 comments

Installation

Installed with pip and pipx.

Version

eduvpn-cli -v
eduVPN CLI version: 4.4.0 with eduvpn-common version: 2.1.0

OS/Distribution

Gnu GUIX

Logs

2025年04月09日 11:42:10,945 - <function ApplicationModelTransitions.get_previous_servers at 0x7f72172d7060> - DEBUG - eduvpn.app - app.py:47 - Transition: MAIN, old state: 1
2025年04月09日 11:42:10,946 - MainThread - DEBUG - eduvpn.nm - nm.py:897 - calling action with CLI mainloop
2025年04月09日 11:42:10,947 - MainThread - DEBUG - eduvpn.nm - nm.py:901 - Quiting main loop, thanks!
2025年04月09日 11:42:10,948 - <function ApplicationModelTransitions.get_previous_servers at 0x7f72172d7060> - DEBUG - eduvpn.app - app.py:47 - Transition: MAIN, old state: 1
2025年04月09日 11:42:10,948 - MainThread - DEBUG - eduvpn.nm - nm.py:897 - calling action with CLI mainloop
2025年04月09日 11:42:10,949 - <function ApplicationModelTransitions.getting_config at 0x7f72172d74c0> - DEBUG - eduvpn.app - app.py:62 - Transition: GETTING_CONFIG, old state: 1
2025年04月09日 11:42:11 - Go - DEBUG - got 304 for discovery, server_list.json not modified
2025年04月09日 11:42:11 - Go - DEBUG - saving state file
2025年04月09日 11:42:11,082 - <function ApplicationModelTransitions.parse_config at 0x7f72172e0040> - DEBUG - eduvpn.app - app.py:102 - Transition: GOT_CONFIG, old state: 4
2025年04月09日 11:42:11,083 - <function ApplicationModelTransitions.parse_connecting at 0x7f72172e0540> - DEBUG - eduvpn.app - app.py:127 - Transition: CONNECTING, old state: 7
2025年04月09日 11:42:11,083 - MainThread - DEBUG - eduvpn.nm - nm.py:447 - writing wireguard configuration to Network Manager
2025年04月09日 11:42:11,085 - MainThread - ERROR - /home/guillaume-jf/.venv/eduvpn/lib/python3.12/site-packages/eduvpn/utils.py - utils.py:28 - Unhandled exception
Traceback (most recent call last):
 File "/home/guillaume-jf/.venv/eduvpn/lib/python3.12/site-packages/eduvpn/app.py", line 427, in connect
 connection.connect(
 File "/home/guillaume-jf/.venv/eduvpn/lib/python3.12/site-packages/eduvpn/connection.py", line 237, in connect
 manager.start_wireguard_connection(
 File "/home/guillaume-jf/.venv/eduvpn/lib/python3.12/site-packages/eduvpn/nm.py", line 483, in start_wireguard_connection
 s_con.set_property(NM.DEVICE_AUTOCONNECT, False)
TypeError: object of type `NMSettingConnection' does not have property `autoconnect'

Cheers,
Jeff

# Installation Installed with `pip` and `pipx`. # Version ``` eduvpn-cli -v eduVPN CLI version: 4.4.0 with eduvpn-common version: 2.1.0 ``` # OS/Distribution [Gnu GUIX](https://guix.gnu.org/) # Logs ``` 2025年04月09日 11:42:10,945 - <function ApplicationModelTransitions.get_previous_servers at 0x7f72172d7060> - DEBUG - eduvpn.app - app.py:47 - Transition: MAIN, old state: 1 2025年04月09日 11:42:10,946 - MainThread - DEBUG - eduvpn.nm - nm.py:897 - calling action with CLI mainloop 2025年04月09日 11:42:10,947 - MainThread - DEBUG - eduvpn.nm - nm.py:901 - Quiting main loop, thanks! 2025年04月09日 11:42:10,948 - <function ApplicationModelTransitions.get_previous_servers at 0x7f72172d7060> - DEBUG - eduvpn.app - app.py:47 - Transition: MAIN, old state: 1 2025年04月09日 11:42:10,948 - MainThread - DEBUG - eduvpn.nm - nm.py:897 - calling action with CLI mainloop 2025年04月09日 11:42:10,949 - <function ApplicationModelTransitions.getting_config at 0x7f72172d74c0> - DEBUG - eduvpn.app - app.py:62 - Transition: GETTING_CONFIG, old state: 1 2025年04月09日 11:42:11 - Go - DEBUG - got 304 for discovery, server_list.json not modified 2025年04月09日 11:42:11 - Go - DEBUG - saving state file 2025年04月09日 11:42:11,082 - <function ApplicationModelTransitions.parse_config at 0x7f72172e0040> - DEBUG - eduvpn.app - app.py:102 - Transition: GOT_CONFIG, old state: 4 2025年04月09日 11:42:11,083 - <function ApplicationModelTransitions.parse_connecting at 0x7f72172e0540> - DEBUG - eduvpn.app - app.py:127 - Transition: CONNECTING, old state: 7 2025年04月09日 11:42:11,083 - MainThread - DEBUG - eduvpn.nm - nm.py:447 - writing wireguard configuration to Network Manager 2025年04月09日 11:42:11,085 - MainThread - ERROR - /home/guillaume-jf/.venv/eduvpn/lib/python3.12/site-packages/eduvpn/utils.py - utils.py:28 - Unhandled exception Traceback (most recent call last): File "/home/guillaume-jf/.venv/eduvpn/lib/python3.12/site-packages/eduvpn/app.py", line 427, in connect connection.connect( File "/home/guillaume-jf/.venv/eduvpn/lib/python3.12/site-packages/eduvpn/connection.py", line 237, in connect manager.start_wireguard_connection( File "/home/guillaume-jf/.venv/eduvpn/lib/python3.12/site-packages/eduvpn/nm.py", line 483, in start_wireguard_connection s_con.set_property(NM.DEVICE_AUTOCONNECT, False) TypeError: object of type `NMSettingConnection' does not have property `autoconnect' ``` Cheers, Jeff

Hmmm autoconnect has always been a property of NMSettingConnecting as far as I know. What is your NetworkManager version? nmcli -v

Hmmm `autoconnect` has always been a property of `NMSettingConnecting` as far as I know. What is your NetworkManager version? `nmcli -v`

Hi,
Here is the version :

nmcli -v 
nmcli tool, version 1.52.0

I did try to comment the line but the client keep complaining on any .set_property() in eduvpn/nm.py.

Cheers,
Jeff

Hi, Here is the version : ``` nmcli -v nmcli tool, version 1.52.0 ``` I did try to comment the line but the client keep complaining on any `.set_property()` in `eduvpn/nm.py`. Cheers, Jeff

So I tried for now 3 hours to set up a GNU Guix system. The official ISO installer crashes with some "write_wait_fd: unimplemented" error and the official qcow2 doesn't have NetworkManager enabled (I can't seem to enable it, I don't have enough knowledge).

the guix shell I used was:

guix shell python python-pip ninja gcc-toolchain cmake cairo pkg-config python-pygobject

and then pip installing the client (pip install eduvpn-client[gui]). That (~/.local/bin/eduvpn-gui) fails because the qcow2 VM didn't have NM. I'm not sure I can do anything else to help you. It seems either some dependencies are missing on your system or there is a packaging error somewhere as these properties are definitely available.

If you have a VM image for me that I can try that would be helpful

So I tried for now 3 hours to set up a GNU Guix system. The official ISO installer crashes with some "write_wait_fd: unimplemented" error and the official qcow2 doesn't have NetworkManager enabled (I can't seem to enable it, I don't have enough knowledge). the guix shell I used was: ``` guix shell python python-pip ninja gcc-toolchain cmake cairo pkg-config python-pygobject ``` and then pip installing the client (`pip install eduvpn-client[gui]`). That (`~/.local/bin/eduvpn-gui`) fails because the qcow2 VM didn't have NM. I'm not sure I can do anything else to help you. It seems either some dependencies are missing on your system or there is a packaging error somewhere as these properties are definitely available. If you have a VM image for me that I can try that would be helpful

Hi,
Sorry to heard about that.

If you have guix running as a foreign you can use the following definition to build a VM with guix system vm config.scm followed by sudo ${output of previous command} -smp cpus=4 -m 8g. This should pop up a VM with gnome-desktop running (beware, the keyboard is in french).

(use-modules (gnu)
 (guix channels)
 (guix packages)
 (guix records)
 (guix store)
 (ice-9 match)
 (gnu packages linux))
(use-service-modules desktop xorg ssh)
(operating-system
 (locale "en_US.utf8")
 (timezone "UTC")
 (keyboard-layout (keyboard-layout "fr"))
 (host-name "test-eduvpn")
 (users (cons* 
 (user-account
 (name "eduvpn")
 (comment "eduvpn")
 (group "users")
 (password (crypt "eduvpn" "eduvpn"))
 (home-directory "/home/eduvpn")
 (supplementary-groups '("wheel" "netdev" "audio" "video" "cdrom")))
 %base-user-accounts))
 (services
 (append (list
 (service gnome-desktop-service-type)
 (set-xorg-configuration (xorg-configuration (keyboard-layout keyboard-layout)))
 (service openssh-service-type)
 ) %desktop-services ))
 (bootloader (bootloader-configuration
 (bootloader grub-bootloader)
 (targets '("/dev/sda"))))
 (file-systems (cons (file-system
 (device (file-system-label "my-root"))
 (mount-point "/")
 (type "ext4"))
 %base-file-systems)))

Or you can download this qcow2 (with the same problem of french keyboard).

Thanks for you time.

Cheers,
Jeff

Hi, Sorry to heard about that. If you have guix running as a foreign you can use the following definition to build a VM with `guix system vm config.scm` followed by `sudo ${output of previous command} -smp cpus=4 -m 8g`. This should pop up a VM with gnome-desktop running (beware, the keyboard is in french). ``` (use-modules (gnu) (guix channels) (guix packages) (guix records) (guix store) (ice-9 match) (gnu packages linux)) (use-service-modules desktop xorg ssh) (operating-system (locale "en_US.utf8") (timezone "UTC") (keyboard-layout (keyboard-layout "fr")) (host-name "test-eduvpn") (users (cons* (user-account (name "eduvpn") (comment "eduvpn") (group "users") (password (crypt "eduvpn" "eduvpn")) (home-directory "/home/eduvpn") (supplementary-groups '("wheel" "netdev" "audio" "video" "cdrom"))) %base-user-accounts)) (services (append (list (service gnome-desktop-service-type) (set-xorg-configuration (xorg-configuration (keyboard-layout keyboard-layout))) (service openssh-service-type) ) %desktop-services )) (bootloader (bootloader-configuration (bootloader grub-bootloader) (targets '("/dev/sda")))) (file-systems (cons (file-system (device (file-system-label "my-root")) (mount-point "/") (type "ext4")) %base-file-systems))) ``` Or you can download this [qcow2](https://s3.gcp.glicid.fr/swift/v1/AUTH_de065dc90506424d811f87f9b0fdb853/guix/guix-image.qcow2) (with the same problem of french keyboard). Thanks for you time. Cheers, Jeff

Hi, The error was caused by the fact that network manager is in the system profile, and I think it just wasn't searched for.

guix shell cairo pkg-config network-manager gobject-introspection gtk+ libnotify python libsecret
does the trick and the client launches (installation via pip).

It should be possible to make a real package.

Hi, The error was caused by the fact that network manager is in the system profile, and I think it just wasn't searched for. ```guix shell cairo pkg-config network-manager gobject-introspection gtk+ libnotify python libsecret``` does the trick and the client launches (installation via pip). It should be possible to make a real package.

small update : for installation , you also need ninja
so for install : guix shell cairo pkg-config network-manager gobject-introspection gtk+ libnotify python libsecret ninja -- python3 -m pip install eduvpn-client
for running :
guix shell cairo pkg-config network-manager gobject-introspection gtk+ libnotify python libsecret -- ~/.local/bin/eduvpn-gui

small update : for installation , you also need ninja so for install : ```guix shell cairo pkg-config network-manager gobject-introspection gtk+ libnotify python libsecret ninja -- python3 -m pip install eduvpn-client``` for running : ```guix shell cairo pkg-config network-manager gobject-introspection gtk+ libnotify python libsecret -- ~/.local/bin/eduvpn-gui```

can you make a docs PR, or better yet, maybe a guix package?

can you make a docs PR, or better yet, maybe a guix package?

hello, the timing isn't perfect for me, I'm leaving tonight and will be away from the keyboards for 3 weeks.

I had a quick look at packaging, but the eduvpn-common part (written in go) doesn't seem trivial to package (I'm not an expert in compiling go packages).

I might have a look when I get back, but no guarantees. Having eduvpn packaged directly in Guix would certainly be a good signal.

hello, the timing isn't perfect for me, I'm leaving tonight and will be away from the keyboards for 3 weeks. I had a quick look at packaging, but the eduvpn-common part (written in go) doesn't seem trivial to package (I'm not an expert in compiling go packages). I might have a look when I get back, but no guarantees. Having eduvpn packaged directly in Guix would certainly be a good signal.

Totally not a problem! Have a good trip

Totally not a problem! Have a good trip

Is this still an issue?

Is this still an issue?

Hello,

Yes and no. I can't get the guix shell working and packaging it the correct way for guix is a pain so I kinda gave up and spawn a light vm with a supported distrib whenever I need to use eduvpn.

Cheers.

Hello, Yes and no. I can't get the `guix shell` working and packaging it the correct way for guix is a pain so I kinda gave up and spawn a light vm with a supported distrib whenever I need to use eduvpn. Cheers.

Okay thanks. Unfortunately, I don't have the time to support guix, but contributions are welcome

Okay thanks. Unfortunately, I don't have the time to support guix, but contributions are welcome
Sign in to join this conversation.
No Branch/Tag specified
master
upstream-deb
openvpn-persistent
1.x
4.7.2
4.7.1
4.7.0
4.6.0
4.5.1
4.5.0
4.4.99.0
4.4.0
4.3.1
4.3.0
4.2.99.1
4.2.99.0
4.2.1
4.2.0
4.1.99.0
4.1.3
4.1.2
4.1.1
4.1.0
3.1.1
4.0.1
4.0.0
pr-3.3.1
pr-3.3.0
pr-3.2.0
3.1.0
3.0.0
2.2.1
2.2.0
2.1.0
2.0.0
1.1
1.0.3
1.0.2
1.0.1
1.0rc17
1.0rc16
1.0rc15
1.0rc14
1.0rc13
1.0rc12
1.0rc11
1.0rc10
1.0rc9
1.0rc8
1.0rc7
1.0rc6
1.0rc5
1.0rc4
1.0rc3
1.0rc2
1.0rc1
0.8
0.7.2
0.7.1
0.7
0.6.1
0.6
0.5.1
0.5
0.3
0.2.1
0.2
0.1.1
0.1
Milestone
Clear milestone
No items
No milestone
Projects
Clear projects
No items
No project
Assignees
Clear assignees
No assignees
3 participants
Notifications
Due date
The due date is invalid or out of range. Please use the format "yyyy-mm-dd".

No due date set.

Dependencies

No dependencies set.

Reference
eduVPN/linux-app#630
Reference in a new issue
eduVPN/linux-app
No description provided.
Delete branch "%!s()"

Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?