Ahem. I vaguely recall this issue during early beta tests or am I dreaming it?![]()
WireGuard VPN Manager
-
Doemela -
April 27, 2026 at 3:05 AM -
Thread is Resolved
-
-
Ahem. I vaguely recall this issue during early beta tests or am I dreaming it?

Could be, at boot connman-vpnd caught PIA wireguard config file mid-write ("does not contain any configuration that can be provisioned!"), creating a half-second window where both the addon and the LibreELEC settings service were racing for connman resources. On some specific hardware that window caused the permanent hang.
Two fixes are now in place for next v1.5.4:
- Cold boot connect gate — automatic VPN provisioning waits for a platform-specific settle time after service start before triggering the connection. This removes the startup overlap entirely.
- Atomic config writes (PIA only) — WireGuard configs are now written via temp-file + atomic rename. connman-vpnd will never see a truncated/empty file again, eliminating the "not provisionable" error.
-
Hi, I have Librelec and installed Wireguard Manager 1.5.3. I'd like to activate it with Proton. I downloaded the file .conf and renamed it .config. I added it to IMPORT Config. Everything is fine. When I click on Wireguard, it tries to connect but fails. This is the file:
Code
Display More[provider_wireguard] Type = WireGuard Name = Custom_Proton_CH Host = 138.199.6.178 DNS = 10.2.0.1, 2a07:b944::2:1 WireGuard.Address = 10.2.0.2/32, 2a07:b944::2:2/128 WireGuard.ListenPort = 51820 WireGuard.MTU = 1420 WireGuard.PrivateKey = xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx #CH-FREE#3 PublicKey = xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx WireGuard.AllowedIPs = 0.0.0.0/0, ::/0 WireGuard.EndpointPort = 138.199.6.178:51820 WireGuard.PersistentKeepalive = 25Can someone help me understand what I'm doing wrong? Thanks in advance.
-
Hi, I have Librelec and installed Wireguard Manager 1.5.3. I'd like to activate it with Proton. I downloaded the file .conf and renamed it .config. I added it to IMPORT Config. Everything is fine. When I click on Wireguard, it tries to connect but fails. This is the file:
Code
Display More[provider_wireguard] Type = WireGuard Name = Custom_Proton_CH Host = 138.199.6.178 DNS = 10.2.0.1, 2a07:b944::2:1 WireGuard.Address = 10.2.0.2/32, 2a07:b944::2:2/128 WireGuard.ListenPort = 51820 WireGuard.MTU = 1420 WireGuard.PrivateKey = xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx #CH-FREE#3 PublicKey = xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx WireGuard.AllowedIPs = 0.0.0.0/0, ::/0 WireGuard.EndpointPort = 138.199.6.178:51820 WireGuard.PersistentKeepalive = 25Can someone help me understand what I'm doing wrong? Thanks in advance.
Try this config:
Code
Display More[provider_wireguard] Type = WireGuard Name = Custom_Proton_CH Host = 138.199.6.178 DNS = 10.2.0.1 WireGuard.Address = 10.2.0.2/32 WireGuard.ListenPort = 51820 WireGuard.MTU = 1420 WireGuard.PrivateKey = xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx #CH-FREE#3 PublicKey = xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx WireGuard.AllowedIPs = 0.0.0.0/0, ::/0 WireGuard.EndpointPort = 51820 WireGuard.PersistentKeepalive = 25I need to see the log if it still fails. To post logs to this forum, copy and paste the following into SSH:
And post that URL here. How to post a log (wiki)
1. Enable debugging in Settings>System Settings>Logging
2. Restart Kodi
3. Replicate the problem
4. Generate a log URL (do not post/upload logs to the forum)
5. Use "Settings > LibreELEC > System > Paste system logs" or run "pastekodi" over SSH, then post the URL linkAlso read our wiki https://github.com/BrodjagaRatnik…rd.manager/wiki
Salute.
-
I printed the error logs, but I can't upload the log URL. It says "Error send log files." How do I run "pastekodi" via SSH ? Can you give me the commands? Sorry, but I'm not very experienced. Thanks for the help.
-
How do I run "pastekodi" via SSH ? Can you give me the commands?
Another method to log in background:
Create an advancedsettings.xml file at /storage/.kodi/userdata with this content:
Then boot or reboot your device to activate the new log level 1.
Now run pastekodi on SSH when the error appears. The result will be a URL with your log data.
Post that URL here. Passwords aren't visible in the log. You can have a look at the log in your browser first.
-
Code
I did as you wrote, but "pastekodi" doesn't give me any URLs. Anyway, I'll post the error I get when I run the "grep" command. There are no visible keys... grep -i "service.wireguard.manager" /storage/.kodi/temp/kodi.log | pastebinit curl: (60) SSL certificate problem: certificate is not yet valid More details here: https://curl.se/docs/sslcerts.html curl failed to verify the legitimacy of the server and therefore could not establish a secure connection to it. -
Hello rivmar
I can see the issue you're encountering. The error curl: (60) SSL certificate problem: certificate is not yet valid indicates that your LibreELEC device's system clock is likely incorrect (set to a date in the past), causing pastebinit (which uses curl) to fail when trying to verify the SSL certificate of the paste service.
Here is how to fix this and successfully get your log URL:
LibreELEC devices often lose time if they don't have NTP configured correctly.
- Connect via SSH to your LibreELEC device.
Run the following command to check the current time:
- If the date shown is in the past, this confirms the issue.
- Adjust the date/time to match your actual current time forcing an NTP sync:
Once the time is corrected, try running the grep command again:
Let me know if fixing the time resolves the pastebinit error, or feel free to do this:
Shell sessioncat ~/.kodi/temp/kodi.log | grep -iE "service.wireguard.manager" | nc termbin.com 9999Termbin does not use HTTPS — it runs over a plain TCP connection on port 9999 via netcat. Therefore, no SSL certificate verification is required, which completely bypasses the error ‘curl: (60) certificate is not yet valid’. The error message “certificate is not yet valid” almost certainly indicates that the system clock on the device is incorrect. This doesn’t matter for Termbin, but it’s still a good idea to check it using the `date` command, as an incorrect clock can also cause problems with other HTTPS connections.
Salute. -
LibreELEC:~ # date
Thu Jun 26 10:46:25 CEST 2025
LibreELEC:~ # ntpd -q -p pool.ntp.org
LibreELEC:~ # grep -i "service.wireguard.manager" /storage/.kodi/temp/kodi.log | pastebinit
https://paste.libreelec.tv/crystallitic-jena.log
LibreELEC:~ # cat ~/.kodi/temp/kodi.log | grep -iE "service.wireguard.manager" | nc termbin.com 9999
https://termbin.com/qqhdi
LibreELEC:~ # -
To change the NTP server using the LibreELEC user interface, you need to use the LibreELEC Settings Add-on inside Kodi. Here are the step-by-step instructions:
- Open LibreELEC Settings:
- From the Kodi main menu, navigate to Settings (the gear icon at the top left).
- Click on LibreELEC (usually located at the bottom or under the system category).
- Navigate to the Network Tab:
- Scroll down the left-hand menu and select Network.
- Change the Timeserver:
- On the right side, scroll down to the Network Services section.
- Click on Timeserver #1 (or Timeserver #2/3 if you want backups).
- A virtual keyboard will pop up.
- You will see three slots available:
- Timeserver #1: 0.pool.ntp.org (or pool.ntp.org)
- Timeserver #2: 1.pool.ntp.org
- Timeserver #3: 2.pool.ntp.org
- Click OK or Done.
- Save and Apply:
- The system will automatically save the changes and attempt to sync the time using the new server.
Salute.
- Open LibreELEC Settings:
-
-
"Host" is the IP (not FQDN) of the server that you are connecting to, see: https://wiki.libreelec.tv/configuration/wireguard
-
"Host" is the machine ip that the Wireguard service is running on or the ip address of the vpn provider?
-
Read #102 again (slowly if needed).
-
I've read it over and over again but I'm not getting it to work.
In #102 you say ""Host" is the IP (not FQDN) of the server that you are connecting to"
The wiki says that the "Host = IP of the WireGuard server"
My understanding of what the wiki says is that host should = the ip of the machine that the wireguard server is running on.
The wireguard server is running on my Liberelec box and it's ip is configured to be static in my router's configuration.
If that's not correct then the only other options are the internal ip of my router's gateway or the real ip from my isp.
Throw me a bone.
-
Technically WireGuard has no concept of client and server since both ends are just network interfaces that route traffic. However as most users struggle with that, VPN providers and the wiki still abuse dial-up terminology; where the VPN provider operates a server and the LE device is the client. If your VPN provider only provides FQDN's for their host servers you will need to resolve them into an IP and use that, because ConnMan does not currently accept an FQDN as input.
-
Ok, so the wireguard server is the vpn provider which is how I understood this to work initially.
What threw me off is the wireguard config generated by them does not contain a FQDN or ip address.
There isn't a Host = line in the generated config at all.
Here is the generated wireguard conf file from the provider...
Code
Display More[Interface] # Key for **** # Bouncing = 1 # NetShield = 2 # Moderate NAT = off # NAT-PMP (Port Forwarding) = on # VPN Accelerator = on PrivateKey = ******** Address = 10.2.0.2/32, 2a07:b944::2:2/128 DNS = 10.2.0.1, 2a07:b944::2:1 [Peer] # US-***** PublicKey = ********* AllowedIPs = 0.0.0.0/0, ::/0 Endpoint = 193.148.18.82:51820 # Uncomment the following line (delete the # symbol) to connect to Proton VPN using IPv6. # Endpoint = [2a0d:5600:24:ff06::10]:51820 PersistentKeepalive = 25Ant the config file I reformatted for connman
Code
Display More[provider_wireguard] Type = WireGuard Name = Custom_Proton_US WireGuard.Address = 10.2.0.2/32, 2a07:b944::2:2/128 WireGuard.ListenPort = 51820 WireGuard.MTU = 1420 WireGuard.PrivateKey = * WireGuard.PublicKey = * WireGuard.DNS = 10.2.0.1, 2a07:b944::2:1 WireGuard.AllowedIPs = 0.0.0.0/1, 128.0.0.0/1 WireGuard.EndpointPort = 149.88.21.1:51820 WireGuard.PersistentKeepalive = 25S
-
There are two 'host' options in the file. One is IPv4, the other is IPv6.
-