PIA VPN difficulties

  • _OpenMandriva Lx version:_4.1

  • Description of the issue (screenshots if relevant):

Hello, everyone!

I just got OpenMandriva installed this morning, and am in the process of installing the software I normally use. Things have gone really well, so far, but I just hit a snag.

I use the PIA VPN service, and can’t make it connect. I first tried the OpenVPN technique, but got an error message saying that the service had stopped. I searched with Google and found nothing related to OpenMandriva, the came here and searched. I found one thread reporting similar (although not exactly the same) issues. A responder stated that he was able to make it work using the graphical client but starting the client via command line and sudo. That, however, does not work for me.

I also tried an installer script that PIA provides, which didn’t work either.

If anyone can help, I’d greatly appreciate it. I’ll be happy to provide any logs, but may need some help finding them. I searched in /var/log, but only found one, which I pasted below, along with the outputs from inxi and the installation process.

EDIT: I should have included this in my post: I don’t think the installer app, which is only for Ubuntu and its derivatives, will work. So, what I’d like help with is either the installer script or the OpenVPN config files. I think the OpenVPN method will probably be the best way.

Thank you!

  • Desktop environment (KDE, LXQT…): KDE Plasma

  • Description of the issue (screenshots if relevant):

  • Relevant informations (hardware involved, software version, logs or output…):
    Installer output:
    :heavy_check_mark: Added group piavpn
    :heavy_check_mark: Added group piahnsd
    :heavy_check_mark: Copied Private Internet Access files
    :heavy_check_mark: Allow non-root /opt/piavpn/bin/pia-hnsd to bind to privileged ports
    :heavy_check_mark: Created var folder
    :heavy_check_mark: Installed icon
    :heavy_check_mark: Created desktop entry
    :heavy_check_mark: Added piavpnrt routing table
    :heavy_check_mark: Added piavpnOnlyrt routing table
    :heavy_check_mark: Added piavpnWgrt routing table
    :heavy_check_mark: Set wgpia interface to be unmanaged
    :heavy_check_mark: Created piavpn service
    Created symlink /etc/systemd/system/multi-user.target.wants/piavpn.service → /etc/systemd/system/piavpn.service.
    :heavy_check_mark: Started piavpn service

Error log from /var/log:

[carlyle@open-man--pc ~]$ sudo /opt/piavpn/bin/pia-client
[sudo] password for carlyle: 
[+0.000][json.settings][json.cpp:327][warning] Unable to read from clientsettings.json
[+0.000][default][linux_env.cpp:21][info] XDG_CURRENT_DESKTOP= ""
[+0.000][default][linux_env.cpp:69][info] Detected desktop "Unknown" and RTL: false
[+0.010][default][warning] QStandardPaths: XDG_RUNTIME_DIR not set, defaulting to '/tmp/runtime-root'
[+0.010][default][builtin/util.cpp:202][info] Initializing crash handler
[+0.011][logger][builtin/logging.cpp:227][info] Initializing LoggerPrivate
[+0.011][logger][builtin/logging.cpp:273][info] No debug.txt found; using default filter rules
[+0.011][default][main.cpp:238][info] Current launch-on-login: false
[+0.917][default][client.cpp:364][info] System display languages are ()
[+0.917][default][client.cpp:378][info] Did not match any system languages, use the default language
[+0.917][default][client.cpp:399][info] Changed to locale "en-US"
[+1.207][default][client.cpp:794][info] Client connected, loading UI
[+1.577][qml][qrc:/components/dashboard/connect/ModuleSorter.qml:196][info] Added missing module snooze
[+1.602][qml][qrc:/components/dashboard/ChangelogWindow.qml:27][info] Changelog height: 41
[+2.440][linuxscaler][linux_scaler.cpp:224][info] Scale factors:
[+2.440][linuxscaler][linux_scaler.cpp:225][info]  - PIA: 0
[+2.440][linuxscaler][linux_scaler.cpp:226][info]  - gsettings: 0
[+2.440][linuxscaler][linux_scaler.cpp:227][info]  - Qt: 0
[+2.440][linuxscaler][linux_scaler.cpp:228][info]  - Qt(screen): 0
[+2.440][linuxscaler][linux_scaler.cpp:229][info]  - Xft.dpi: 0
[+2.684][default][window.cpp:346][info] window "Quick Tour" focus false -> true
[+2.709][qml][qrc:/components/dashboard/ChangelogWindow.qml:27][info] Changelog height: 4207
[+6.106][NativeTrayQt][nativetrayqt.cpp:432][info] guess tray icon QRect(1919,27 1x1) with screen QRect(0,0 1920x1080) and work area QRect(0,27 1920x1053)
[+6.227][default][window.cpp:346][info] window "Quick Tour" focus true -> false
[+6.227][default][window.cpp:346][info] window "Connect" focus false -> true
[+21.142][default][window.cpp:346][info] window "Connect" focus true -> false
[+27.432][qml][qrc:/components/common/TrayMenuBuilder.qml:235][info] Quit from tray menu
[+27.433][default][main.cpp:313][info] App is about to quit
[+27.433][default][main.cpp:322][info] QGuiApplication has exited: 0
[+27.433][default][client.cpp:705][info] An exit notification is in progress, try to let it complete
[carlyle@open-man--pc ~]$

.
Output from inxi:

CPU: Quad Core Intel Core i5-4570 (-MCP-)
speed/min/max: 3407/800/3600 MHz
Kernel: 5.5.12-desktop-1omv4001 x86_64 Up: 10m
Mem: 1543.5/11889.4 MiB (13.0%) Storage: 2.84 TiB (0.3% used)
Procs: 219 Shell: bash 5.0.11 inxi: 3.0.37

Welcome @clfitz

Thanks! I’ve always liked this distro, but just couldn’t get along with KDE until the last major update. I really like it now! (I know I could have installed Gnome or something else, but every time I’ve tried to do something like that, something gets messed up.)

Also, this seems to be a nice place to hang out. I’ll try to be a good citizen. :slight_smile:

1 Like

As far as I know this is 3rd party software. It may be best to contact the people the wrote the software and ask for help in that direction.

OpenMandriva is presently a small, all volunteer, all part time, group of contributors. There may not be anyone with any experience with PIA specifically. There probably are people with knowledge of getting vpn stuff to connect in general but I am not one of them.

You can contact our developers/contributors on IRC on #openmandriva-cooker @ Freenode.

I’ve looked at PIA’s support documents, and already planned to contact them. My rationale for trying here was that the steps I took in Fedora and Manjaro didn’t work, and I want to become generally better informed with all things Linux, anyway.

I’ll keep this post open for a while, just in case. If I get it fixed, I’ll post the steps I took as a reply or follow-up, in case someone else has a similar problem.

Thank you for the info. I’m going to start beating on it again in just a few minutes. Gotta get coffee in me first.

1 Like

:+1:

Hi @clfitz, welcome.

Okay, I got it to work! I wrote the steps down in a text note, so I’ll just copy the whole thing and paste it into this post. I have screenshots, too, but being new to this forum I’m just going to hope the upload function will paste them in here.


To use PIA VPN with OpenVPN, take the following steps:

Download the OVPN config files from PIA’s website;

Extract the files into their own directory; I placed them right under my /Home/ /;

OpenVPN’s web site advises copying the cert files to /etc/openvpn, which I did but is not necessary;

Open Network Manager, then click the little gear wheel to get into the connection settings, and click the “+” sign at bottom left;

The second option from left is "VPN (openvpn). Fill these in accordingly; the Gateway, for example, would be “us-east.privateinternetaccess.com”. The connection type is “Password”. Click the little arrow to the right of “CA Certificate” and choose the .crt file from the extracted configs. Username and password fields are obvious. I chose “Store password for all users (not encrypted)” but there’s an option to store it for just you, which encrypts it.

Now click the “Advanced” button at the bottom of this screen.

On the “General” tab, check “Use custom gateway port”. I chose 1197, but I use the strong encryption setting. There’s a chart on PIA’s site, but I’ve also included it here. Please note: The encrytion settings appear to vary according to the port you choose to connect with, so make sure they match.

PIA-Ports-Protocols

PIA=Ports-and-Security

Now click the “Security” tab, and insert the Cipher and HMAC settings from the chart. In my case, since I use the strong encryption, I chose AES-256-CBC for the cipher, and SHA-256 for HMAC Authentication.

Once these steps are completed, you should be able to log in and connect without a problem.

One problem that I have noticed with my system: The “Connect at startup” function does not, in fact, connect. It is selected and grayed out, so I can’t change it to play with it. However, I am able to connect manually, and verify it using whatismyip.com.

I’m not the world’s greatest writer, so if you find any mistakes, or if I’ve misstated something, feel free to correct it or let me know what’s wrong and I’ll try to correct it. And of course, as always, your mileage may vary.

1 Like

Thank you @clfitz
I copied your how-to in Resources

Cool! I hope it helps someone, sometime!

1 Like

Thank you very much for your guideline @clfitz

I don’t know if you are still with us, next time give a try to launch the PIA client with the terminal from a different directory :

cd /opt/piavpn/bin/
sudo ./pia-client

It should work better, at least with version 3. :nerd_face:

Cheers !

@rugyada If it’s easier for the end user, you should be able to run the application with a shell script.
Example:

pia.sh

#!/bin/bash -ev
cd /opt/piavpn/bin
./pia-client >/dev/null 2>&1 &

And call it with sudo

sudo sh pia.sh

Or something similar. Don’t know if it’s a best practice but it’s working great to avoid your terminal being flooded with debug info. :v: Daily using it.

My 2 cents, Cheers

Poke @rugyada @ben79 @AngryPenguin

After digging you need QT5, the lib64xcb-stuff (shoud be good by default) and setup a missing environment variable as described here :rocket:

QT_PLUGIN_PATH=/opt/piavpn/plugins:/usr/lib64/qt5/plugins

Latest version is working fine, no need to use root anymore :innocent:

Cheers

I did:

$ export QT_PLUGIN_PATH=/opt/piavpn/plugins:/usr/lib64/qt5/plugins
$ QT_PLUGIN_PATH=/opt/piavpn/plugins:/usr/lib64/qt5/plugins

Not working here.

$ ./pia-client
[2023-12-10 00:43:05.777][1763][common.json][src/json.cpp:377][debug] Successfully read clientsettings.json
[2023-12-10 00:43:05.777][1763][client.linux_env][src/linux/linux_env.cpp:21][info] XDG_CURRENT_DESKTOP= "KDE"
[2023-12-10 00:43:05.777][1763][client.linux_env][src/linux/linux_env.cpp:69][info] Detected desktop KDE and RTL: 0
[2023-12-10 00:43:05.780][1763][qt.qpa.plugin][??:0][info] Could not load the Qt platform plugin "xcb" in "" even though it was found.
[2023-12-10 00:43:05.780][1763][default][??:0][fatal] This application failed to start because no Qt platform plugin could be initialized. Reinstalling the application may fix this problem.
[2023-12-10 00:43:05.780][1763][default][??:0][fatal] 
[2023-12-10 00:43:05.780][1763][default][??:0][fatal] Available platform plugins are: eglfs, wayland-egl, wayland, wayland-xcomposite-egl, wayland-xcomposite-glx, xcb, linuxfb, minimal, minimalegl, offscreen, vnc.

Aborted (core dumped)

I have to use sudo still.

the file ~/.local/share/applications/ does not exist on my system.

Did I miss something?

Edit: piavpn.desktop is in /usr/share/applications/.

I think I have something figured out now. PIA VPN is starting upon login to Plasma desktop in Cooker. I’ll see if I can narrow down the steps in my ROME and Rock partitions.

Thanks @peter-power-594. Having the VPN start automatically is something I have been wanting.

OK, Ladies, gentlemen, and others…

To get PIA VPN to start from the Application Launcher>Internet>Private Internet Access just add this environment variable to /usr/share/applications/piavpn.desktop:

The environment variable: QT_PLUGIN_PATH=/opt/piavpn/plugins:/usr/lib64/qt5/plugins

If you want PIA VPN to launch on desktop startup you then go to Settings in PIA VPN and select “Launch on System Startup”. The go to /home/your_user_name/.config/autostart/pia-client.desktop. And add the same environment variable there.

The environment variable: QT_PLUGIN_PATH=/opt/piavpn/plugins:/usr/lib64/qt5/plugins

Reboot.

Edit: At tremendous personal sacrifice I figured this out and tested this in Cooker and Rock/5.0. I rebooted 3 times and this does work here.

That’s all folks.

Edit: I did this for my ROME partition as well and of course it works in ROME also.

1 Like

Closed. This is to old to be useful.