Do VPNs work on the Librem 5 at this time?

Since I have a Librem One account, I thought, I’ll install the Librem One Tunnel on my Librem 5 (Byzantium). However, the Librem 5 refuses to import the ovpn file, it says it doesn’t have valid vpn information in it (even though it imported and works just fine on my Ubuntu Bionic desktop computer).

Is there something wrong with the Librem I have, or has Purism not made a version of the Librem One Tunnel that works on the Lirbrem 5 yet?

Anyone know of a list of VPNs known to work on the Librem 5 right now?

Do you have any logs from the application you used to import the file?

I’m using the VPN option under settings, that’s where it fails. How do I obtain the logs you refer to?

You have to activate VPN via the command line. Due to a phosh bug please use sudo:

sudo nmcli c up <yourconnecction> --ask

I’ll upload a fixed phosh once 0.14.0 migrated to byzantium (https://gitlab.gnome.org/World/Phosh/phosh/-/merge_requests/927) so with that it will become

nmcli c up <yourconnection> --ask 

Proper VPN support in Phosh needs https://gitlab.gnome.org/World/Phosh/phosh/-/issues/630 so it can also query for credentials via the ui

1 Like

Thanks guido.gunther.

What I’m getting from your response is that the VPN option in the Settings ui does not work yet. Correct?

Regarding your commandline option: I don’t know what goes in “yourconnection”, I have no idea what that would mean. All I know about using VPNs is, for example, using the “network” ui to import an ovpn file from the vpn provider. So right now I have the Librem One’s ovpn file for their Tunnel product, but I don’t know how to go from that to doing what you’re suggesting. I don’t expect you to go into a long lesson for just me here, I’m guessing that for someone like me it might be best for me to simply wait until the VPN option is working in the Settings ui in the Librem 5.

1 Like

Wireguard VPNs work for me but I imported them via terminal command line. For OpenVPN assuming you should be able to import your file through nmcli…

nmcli con import type openvpn file <filename.ovpn>

Once imported and assuming the file held all configuration options, you should be able to bring it up/down (enable/disable) with…
Enable

nmcli con up filename

Where filename is the name of the file you imported without the “.ovpn” extension part.

Disable

nmcli con down filename
1 Like

Got stuck right away on the first command

nmcli con import type openvpn file <filename.ovpn>

got this error:

Error: failed to load VPN plugin: unknown VPN plugin “org.freedesktop.NetworkManager.openvpn”.

Do yoy have installed network-manager-openvpn package?

Sorry, I had assumed that the required OpenVPN packages were already installed.

The required packages can be installed with…

sudo apt install network-manager-openvpn-gnome

That will install OpenVPN packages for NetworkManager command line and GUI after which the import should work.

Just to be clear, the <filename.opvn> in the import command should be replaced with the actual OpenVPN configuration file name.

@Loki, I have installed all packages referred to in this thread. Still does not work. Here is the command I enter, and the resulting error message I get in the terminal, this error message appears AFTER it asks for and I enter the VPN’s password:

sudo nmcli connection up filename --ask

A password is required

I don’t know what the problem is. I am entering the exact same password that I use successfully to run this same VPN on my Ubuntu desktop computer, so I know the password is fine.

I wonder if this is asking for your phone user password for sudo? After opening the terminal application had you used sudo for anything else before trying to bring up the VPN connection?

When you open a terminal, the first time you use sudo it will ask for your user password (the same password you use for unlocking the lock screen on the phone). So you may have to enter your phone user password then the VPN account password.

It may be clearer to use sudo at least once before calling the nmcli connection up.

From opening a new terminal window, issue sudo echo 1 it will ask [sudo] password for purim: enter your phone user password, subsequent calls to sudo should not require a password so you can now try the sudo nmcli connection up filename --ask and enter your VPN password.

I’m not even sure if nmcli shouldbe run with sudo.

I don’t think it should either, but see @guido.gunther’s reply earlier in the thread…

Thanks, but… Although I didn’t make it clear in my earlier post, I had already successfully ran sudo, entering my sudo password. So, the problem I’m having is that the Librem is rejecting my VPN password. What it continually asks for is:

Password (vpn.secrets.password):

But, entering the VPN password won’t work, it keeps asking for that password.

I tried running the command without using sudo, when I tapped on the “enter” button, the terminal did nothing visible other than making the cursor go to a new line, after waiting about two minutes it gave this error message:

Error: Timeout expired (90 seconds)

I thought you had probably ran sudo already but just wanted to double check and ensure.

It seems that OpenVPNs on the phone may be a little more broken than previously thought. Unfortunately, I am unable to test this at my end as the VPNs I have on the phone are all using Wireguard and the few OpneVPN config files I have authenticate with keys rather than user/pass credentials.

You could now have a look from the main settings application under Settings -> Network and see if your VPN connection is listed, perhaps it’ll allow you set/store the password via the GUI there.

Failing that it should be listed and configurable under nm-connection-editor (that app may not fit on the screen however), from the terminal nm-connection-editor, that should throw up a GUI app, your VPN connection should be listed on the main window, if you choose the VPN connection then choose the small gear icon at the bottom left of the window it should allow you to set and store a password there.

As written above this is onlly needed due to https://gitlab.gnome.org/World/Phosh/phosh/-/merge_requests/927 - once that is in PureOS it works without sudo which is only the trick to avoid nmcli to find the shell.

1 Like

I tried running the command without using sudo, when I tapped on the “enter” button, the terminal did nothing visible other than making the cursor go to a new line, after waiting about two minutes it gave this error message:

This is exactly what https://gitlab.gnome.org/World/Phosh/phosh/-/merge_requests/927 is for

Thanks guido. Just so I understand - Will that merge request also solve the problem that I’m seeing; namely, when I use sudo with nmcli, the subsequent step refuses to accept my vpn password (“secret”)?

I ask this because right now, due to that vpn password rejection problem, even the sudo plus nmcli approach fails for me.

I can’t tell. I’ve run VPN requiring a password with and without sudo with --ask successful over here. The NM logs will likely tell us what’s failing.