Openvpn firmware for testing

OpenVPN firmware v2.20 for AR150, 6416, AR300, AR300M, MT300N, MT300A and MT750 can be downloaded from

We are building OpenVpn directly to our stock firmware so that you can set up easily.

We just compiled the firmware for AR150. After we get your feedback and make sure it works, we will compile this into all our routers.

The firmware can be download here:

The docs are here:!openwrt/

Please test the firmware. If you have problem, please let us know.

OpenVPN setup

Tested vpn services:

  1. Astrill, paid
  2. FinchVPN, free
  3., free
  4., free
  5., free
  6., paid
  7. NordVPN, reported by @laked3
  8. PIA,
  9. PureVPN,, (from v2.18 for AR150, 6416 and AR300, not yet for MT series )

I’ve tried with my just-arrived GL-AR150. (I would love to have openvpn client on these, it’s actually one of the reasons why I’m buying GLi routers :wink:

Did not quite work. After upgrade, I could not connect to the router, neither via wifi nor via ethernet.

Wifi: the connection was made but an IP address wasn’t assigned. Ethernet: likewise DHCP didn’t work. I tried setting a static IP ( and, and I still couldn’t make a connection.

Seems that I made some scripts not for this firmware.

First, move the switch to the left. Check if this will solve your problem. The right side will make the router work in mesh node status

If not, press and hold the reset button for 10 seconds to revert to factory status.

Thank you! With the switch on the left, I could connect to the router just fine. (Also this time I flashed via emergency uboot/ethernet cable.)

The OpenVPN part still didn’t exactly work fine:

I uploaded my ovpn files just fine.

The last step (“Connect to openvpn server” in your instructions) never connected. I always get “OpenVpn is … not started”.

Figured out the problem was that the ovpn files (from PIA) had lines ‘ca ca.crt’ and ‘crl-verify crl.pem’ - so I uploaded these two files (ca.crt and crl.pem, which I got from PIA as well) to the router via ssh, and changed the configuration files (now in /etc/openvpn/*.ovpn) to point to the freshly uploaded ones.

Now the openvpn connected fine. The only problem is that the DNS setup got messed up somehow, because no addresses get resolved, but when I refer to the outside internet using IP addresses directly, it works (e.g. I could ssh out to a server in Germany).

I do not know what to do to fix the DNS setup.

Anyway, thank you for developing this!

oh! this is exciting news…

let me know when it is working properly :slight_smile:

can’t really test it, since it was quite hard work to get thinks manually working … and i would lose all the changes if i flash it with this one … and in case it would not work




@flabbergast, I will test PIA account and upgrade the firmware. About the DNS, I don’t know why. Maybe you can just fix the dns server to google You can set this in the LAN interface in Luci.

@speedy, please tell me which vpn service you are using so that I can test the account.



i am using 3 free ones and one paid


HTH :)


I just tested three free vpn service you provided. All these works without problem. You just upload the ovpn file and it works.

For the paid one, I bought an account and is testing. As the ca file is separate, I need to improve the firmware to deal with this automatically.

@alzhao I just purchased a GL-MT300N and wish to get it working with OpenVPN via (

Will the firmware mentioned above allow me to do that?




The firmware only works on AR150, but I will compile for MT300N andd MT300A as well.

@alzhao Thank you! I look forward to testing it.

great work here! :slight_smile:


OpenVPN firmware update, please re-download and try.


  1. Display log when connecting or cannot connected; display transfered data if connected
  2. Improved ovpn analysis efficiency. If you upload hundreds of ovpn files at a time, it needs ten seconds to analysis, rather than 1 minutes as in the first version
  3. separate ca, cert and key file supported. If your ovpn file is not inline with ca, cert and key file, you can upload them together with .ovpn in one zip file. The UI will take care of it.
Features to come:
  1. ovpn file manager, rename/delete/purge files.
  2. vpn server analysis, to detect if the server is alive and speed
  3. anything else?
Tested vpn services:
  1. Astrill, paid
  2. FinchVPN, free
  3., free
  4., free
  5., free
  6., paid
  7. NordVPN, reported by @laked3
If your vpn configuration is not compatible with the firmware, please let us know and we will improve.

I am compiling the firm for GL-MT300A and GL-MT300N now.



Thanks for providing the OpenVPN firmware(s). I first tried 2.13 and now 2.17 and getting slightly different results with 2.17 but ultimately they end up the same and it is “OpenVPN is not started”

I’m using NordVPN and I downloaded the opvn files directly from NordVPN and uploaded the zip file and set the passwords. They all uploaded fine and confirmed the correct password with WinSCP looking in the auth folder.

In 2.17 I choose Enable, choose the file (I’ve literally tried dozens of different servers) and hit Apply. The page reads please wait…, the page refreshes, then says OpenVPN is not started. It does this every time I’ve tried and like I’ve said it has been a dozen times.

The Internet works fine through the router (which is AWESOME). Everything is functioning fine otherwise, it seems. I’m I missing something like opening a port somewhere or something?

Thanks so much for any suggestions.



@laked3, thanks for the detailed report.

Have you tried the latest firmware. It still labeled 2.17, but when it is enabled and cannot connected, it will display the most recent OpenVpn log, so in the UI you will understand what is happening. In the updated 2.17 firmware, it also deals with separate ca, cert and key files, which is the problem of some services.

Please try and give me the log. You can also get the log of openvpn by logging into the router via SSH. Then use “logread | grep openvpn”


Thanks for the quick reply!

I downloaded the 2.17 openvpn version about an hour ago. It was dated April 7 so I feel I have the correct one installed. It indicates version 2.17 in the settings section.

Where do I locate the OpenVPN logfile when the connection fails? It shows no logfile, none popup (popups turned off), and there is no link on the OpenVPN page of the OpenWRT router software.

When I enter the command logread | grep openvpn it merely goes back to the command prompt without doing anything.

Did you reserve configs when you upgrade the firmware? If yes, please revert to factory status.

When not connected, the logo should be displayed after the text “not started”. I don’t know why you don’t have this shown.

You can also log to the system using ssh and use “logread|grep openvpn”

If the openvpn met some problem and quit, it will leave info in log so you can understand what is happening.

It is fixed!

I did reserve configs when I updated. As soon as I reset to factory, my second attempt to connect worked and I verified that I had a new Internet IP.

Very simple and works great!

Thank you so much for your amazingly quick and solid support!

I also own the 300N and will own the 300A when they are available on Amazon Prime.

Best wishes!


Nice. Now I have a new vpn service verified. Will update the list.

I will compile the firmware for GL-MT300A, GL-TM300N and GL.iNet6416 next week.

Very promising news! Thank you @laked3
@alzhao - Would you have an estimate on when this firmware might be ready for the 300N ? (OpenVPN is the reason I purchased it)

Thank you.