If you want to connect your Chromecast to a VPN, things are starting to get quite troublesome since most routers do not support OpenVPN. I found a solution for that.
VPN on the router?
Connecting a Chromecast can be done in two ways, either via UTP ethernet or via Wifi.
Since my Wifi is pretty bad I chose for the UTP option and the Chromecast automatically picks the right connection. However, if it is connected (mine is a Chromecast Ultra) it cannot be changed to wifi anymore in the Google Home app, only if you remove the UTP cable. So I looked into setting up a VPN on my router, but most routers do not have the ability to have modern VPN support for providers such as Private Internet Access, NordVPN or Cyberghost. Most router manufacturers say enable the VPN on your end user devices. But there is no option for that on the Chromecast. Not even a proxy.
So the VPN has to be setup on another device. I tried enabling the VPN on my Android phone and connecting the Chromecast to a wifi hotspot enabled Android Phone.
However, the wifi hotspot created by the Android phone is an ad-hoc type of network and that doesn’t always work out:
AD-Hoc wifi sharing
On my Samsung phone, the Google Home app complained that it could not connect to both the Chromecast and setup a hotspot at the same time. Since when the hotspot is created the wifi is shut off for a second. So I thought of enabling an ad-hoc wifi sharing on Windows 7
Unfortunately that does not work, since Android does not connect well to ad-hoc wifi connections for some weird reason. This can be enabled if you root the phone but I don’t want to since I loose then the option to play Netflix. So it had to be another way.
Setting up a virtual router
The other option that is referred to on the internet is a virtual router, or in other terms a hosted network.
However, setting up the hosted network works via commandline which I could not get working for some reason. It would always freak out for some reason with the following error
I was getting frustrated because such a simple command dit not work. So I updated the wifi driver and still it didn’t do anything. The hostednetwork relies on the Microsoft Virtual WiFi Miniport Adapter and that should be installed and working fine. But I don’t like messing around in the commandprompt, plus that should be run in Administrator mode. So I looked around for a tool that had a GUI and found this:
NirSoft’s Hostednetwork starter is a good tool to set up the virtual router / wifi hotspot. You simply connect to the VPN on your laptop and allow the sharing to come from the separate NordVPN adapter like below
If you press start you have to setup the Chromecast to connect via Wifi to the newly made hotspot named “NordVPN2” in this case (or another name that you type in the SSID field. The key can be something like 11111111 (8 characters minimum).
If you connect your phone to the same wifi network (that of your laptop, NirSoft’s tool will show you how many clients are connected
My problem with that hostednetwork was that the connection was far from stable.
The phone could not connect at times to the Chromecast (even when they were on the same wifi hotspot made by the laptop), the connection would drop if you would pull the laptop from standby mode, because after a while it would fall asleep. And for some weird reason I think it’s useless to have a phone, a laptop and a Chromecast connected and control everything via the phone, when you are working on the laptop already.
Why don’t you just connect the laptop to the monitor via HDMI or HDMI wireless would you say? Because HDMI Wireless is super expensive, and a long HDMI cable would also cost a lot. Plus there are quite some devices that do not have a HDMI port or need an expensive dongle to have even HDMI.
My cheaper solution
So my better and much cheaper solution is to run a UTP crossover cable from the Chromecast to the laptop. It cannot be a normal UTP cable since that has the wires in the wrong order. If you run the crossover cable from the Chromecast to the laptop, connecting the rest is a piece of cake. No need for the hostednetwork stuff, always a good connection and instant VPN usage from the connected PC. Quite some wifi adapters do not even support the hostednetwork so that is instantly fixed (see screenshot below).
Setting up internet connection sharing from the VPN to the crossover ethernet cable
The only thing you need to do is share the internet connection from the VPN network adapter to the LAN adapter and the Chromecast automatically picks up internet access. I followed this tutorial.
Controlling the chromecast via the phone is gone
But what about my phone controlling the Chromecast then? That is gone? Yes it is, since the Chromecast and the PC run almost on the same IP address. The Chromecast being ending on 192.168.XXX.160 and the laptop that it is connected to on 192.168.XXX.1.
So the Chromecast is getting internet access from the laptop and the laptop connects (via VPN) to the router and from there to the outside world. Most of the time the laptop has stronger wifi than the Chromecast anyway.
But I still want my phone connected to the same Chromecast!
That might be a problem since the VPN adapter running on the laptop cannot share to both the Microsoft Virtual WiFi Miniport Adapter and the ethernet connection at the same time. So I’m still thinking of a solution for that.