Internet Connection Sharing - Crayphish/vrdocs GitHub Wiki

DenTech's ICS diagram
An example of a VR streaming setup that uses Internet Connection Sharing to grant the VR headset Internet access. Thanks to DenTechs for this example diagram.

Overview

When streaming PCVR to a capable standalone headset, Wi-Fi performance is crucial to getting a good experience. Virtual Desktop and other VR streaming solutions advise that you have the PC connected to your VR Wi-Fi via an Ethernet cable, usually placing a dedicated Wi-Fi router/AP in between the PC, and the rest of the home network. Setups that don't do this are subject to increased VR performance issues, as every Wi-Fi issue is magnified when the PC also uses Wi-Fi for streaming VR. However, there are some scenarios where the user cannot avoid using Wi-Fi for their internet connectivity. Usually the user has a spare Ethernet port, and using this, they can do an Internet Connection Sharing (ICS) setup with their dedicated VR router.

In an ICS setup, Windows will create a separate network on Ethernet, and "share" the Internet to it, allowing the VR headset (and router) internet access. Virtual Desktop will be able to make a direct PC connection via this network.

Advantages Disadvantages
Ethernet-grade performance from your VR setup while using Wi-Fi for internet Requires specific router LAN settings
If you have a high speed internet connection that matches your LAN speed, VR stream will not be affected by internet traffic and vice-versa Internet will not work on VR headset when the PC or ICS is turned off
No need to access/change internet router settings ICS will disable itself by default on some Windows installs, see FAQ at bottom of guide to fix this
ICS is considered a 'supported setup' by Virtual Desktop and you can seek help for other issues on their Discord

What You'll Need

  • A Wi-Fi router or access point separate from your internet one, to be dedicated to VR streaming (strongly advise buying a recommended one from the list on the Virtual Desktop Discord)
  • A VR-ready PC with a spare Ethernet interface
  • A Cat5e or greater Ethernet cable long enough to reach your VR playspace from the PC

Setup Procedure

You will need to know how to log into your dedicated router's web UI (or configuration interface) for this setup. The following steps use Windows 10 and an Asus RT-AX55 for example images, but the process is similar on other routers and Win 11 setups. If you're not sure, consult your router's user manual.

Step 1 - Set your Router to Access Point Mode

Enable "Access Point mode" or equivalent on your VR router.
RT-AX55 AP mode example After enabling this feature, many routers will warn that the web interface address will change or become unavailable. This is normal until Step 4.

🌏

Step 2 - Enable Internet Connection Sharing in Windows

Press the Win Key + R to open the Run box, and type "ncpa.cpl" without quotes and click OK.
Run ncpa.cpl dialog example

Right click on your Internet interface (usually Wi-Fi), select Properties.
Win10 Network Connections example

Click the Sharing tab and enable "Allow other network users to connect through this computer's Internet connection". If there is a drop down, select the Ethernet interface. If there is no drop down, you only need to click the highlighted box. Click OK.
Win10 ICS example

IMPORTANT NOTE: You will need to follow this step every time you reboot Windows, or don't use VR for a while, as Windows will silently turn off the feature that makes this work (it will even leave the sharing box ticked so you will have to untick it, click OK, then retick it), unless you do the entirety of Optional Step 5. Whenever you are having trouble with your headset connecting, you should follow this step as it will force Windows to restart ICS.

🌏

Step 3 - Check Router-to-PC Connection and Reboot Router

If not already, your router should be connected from a LAN port to the Ethernet port on your PC using a Cat-5e or greater spec cable.

Now that ICS is enabled, the router is in AP mode, and the PC and router are connected correctly: reboot or power cycle your router.

🌏

Step 4 - Find your VR router's new IP address

After a short wait for the router to fully reboot, it should now have a new address in the 192.168.137.x range which you need to find and confirm.

You can open Command Prompt on your machine and use the command "arp -a" to get Windows to list all IP addresses it has seen recently, and look for the "Interface: 192.168.137.1" section:
arp command arp example

Make a note of each IP address in the .192.168.137.x range (excluding .1 and .255), and use your internet browser to browse to each address in the arp list until your router's web UI appears:
address example

If one of these addresses shows your router's Web UI, then you're done: You have created a separate little network between your PC, Router and Headset that Windows is managing IPs and sharing internet to. You can connect your VR headset to the Wi-Fi AP of your router and use it for Virtual Desktop or other internet-required apps.

If you haven't done so, it's now time to check that your router's Wi-Fi settings are optimized for VR. You can check the #start-here channel on the Virtual Desktop Discord, or this guide on reddit by u/webheadVR which covers the same basic points, which mainly rely on adjusting settings in your dedicated router's web interface.

🌏

[Optional] Step 5 - Enable ICS to persist across reboots

By default, ICS will silently turn itself off if the computer goes to sleep or is restarted. When this happens, your VR setup will stop working (HMD will not be able to get an IP address) until you manually disable and then re-enable ICS via the tickbox in the interface properties.

You can configure Windows to keep ICS enabled across reboots by doing the following:

  • Hit Start, type "services", and select the Services system app
    services system app in start
  • In the new window, scroll through the list to find "Internet Connection Sharing (ICS)". Right click it, and select "Properties"
    ics service in listing
  • In the properties window, there should be a "Startup Type" dropdown. Open this, set it to Automatic, hit Apply, and click OK.
    ics automatic startup settings
  • Download this zipped reg file, unzip it, and run it to add a required registry key for ICS to keep running. If this doesn't work or you want to add it manually, check the "Resolution" section on this page (Page says Windows 10 but this key is also required for Windows 11)

If you followed the steps correctly, after rebooting your machine, your headset should still be able to connect to your VR Wi-Fi AP and access the internet through it.

Microsoft regularly changes the behavior of ICS. You may wish to use a script instead to restore ICS after sleep or reboot. If so, you can use DenTech's powershell script available on the Virtual Desktop discord.

🌏

[Optional] Step 6 - Configure Static Address for your VR router

You might have to reach your VR router's Web UI for configuration changes to improve VR performance (Wi-Fi optimization, SSID/channel changes, etc.). By default; Windows will give your router a random address in the 192.168.137.x range that will change over time that you will need to find in the "arp -a" list whenever it changes. However, most routers allow you to set a static address instead and make the router always accessible from the same place.

Note: Some routers won't accept a static address in AP mode - there have been reports in the VD Discord of MSI or GL.iNet routers that insist on having a dynamic IP when set in AP mode.

DO NOT input these settings into any WAN or "Internet" field, or anything that mentions PPPoE/IPoE, that is the wrong place and is meant for when you are using the router as a main internet gateway, you need to find the LAN IP settings instead)

Give the router the following LAN IP settings:

Setting
IP 192.168.137.2
Subnet 255.255.255.0 (or /24)
Gateway 192.168.137.1

RT-AX55 LAN settings example

After changing this setting, your router Web UI will always be available at http://192.168.137.2.

🌏

tl;dr - Quick Setup

  1. On your VR router, configure the router for "Access Point mode"
  2. On your PC, enable Internet Connection Sharing on your Internet (usually Wi-Fi) interface, and select your Ethernet interface in the drop down if prompted
  3. Plug your PC Ethernet port into one of your router's LAN ports.
  4. Power cycle the router and wait a minute for the router to reboot.
  5. On your PC, open Command Prompt and issue the command "arp -a". Try to browse to each of the 192.168.137.x addresses in the resulting list until you find your router's Web UI.
  6. If you reach your router's Web UI, then everything is setup correctly and you can use the router's Wi-Fi for VR.

FAQ/Misc

My HMD "Failed to Obtain IP Address" when connecting to the VR router Wi-Fi

This usually means that ICS is not running, or the router is not properly plugged in from the LAN to the PC ethernet properly. Some routers require specific ports to be used in AP mode; check your router's manual to see which port the manufacturer expects you to use, or follow any instructions about ports mentioned in the Web UI when you change the router into AP mode. 9/10 times any of the LAN ports will work.

If you had your VR setup working, but then the headset started saying this when connecting to Wi-Fi after a reboot/sleep, check Step 5 above for a solution.

VR Setup Stops Working After Not Being Used for a Short Period

ICS has probably turned itself off. See Optional Step 5 above which will ensure ICS stays enabled, or repeat Step 2 (including unticking the share box and hitting OK) to re-enable ICS.

Speedtest in Headset is Worse than Connecting to Main Wi-Fi

This is usually because in ICS, your Windows PC is routing all the internet traffic to your headset and can result in a performance hit to internet traffic. However, VR traffic (directly between PC and HMD) will be as good if not faster. Your Internet speed does not affect your VR performance; it happens all within your network without the internet involved.

⚠️ **GitHub.com Fallback** ⚠️