1. Home
  2. Windows

How to always keep mobile hotspot On in Windows 10

When you enable the mobile hotspot on Windows 10, it will remain On so long as a device is connected to it. In some cases, if a device is connected but it isn’t actively using the connection, the hotspot will turn off. This means that you will have to turn it on again and then connect your device. Here’s how you can always keep mobile hotspot On.

There are two fixes that you can try. The first and simplest one may not be available if your Windows 10 isn’t up to date. The second will work on Windows 10 regardless of the version.

Turn off Power Saving

Open the Settings app and go to the Network & Internet group of settings. Select the Mobile Hotspot tab. Scroll down to the Power Saving section and you’ll see a switch called ‘When no devices are connected, automatically turn off mobile hotspot’. Turn it Off.

This option may not be present on older versions of Windows 10.

PowerShell Script

If you’re running an older version of Windows 10 that does not have the Power Saving switch under Mobile Hotspot settings, you can use a PowerShell script to keep mobile hotspot on.

Open a new Notepad file and paste the following in it.

Add-Type -AssemblyName System.Runtime.WindowsRuntime
$asTaskGeneric = ([System.WindowsRuntimeSystemExtensions].GetMethods() | ? { $_.Name -eq 'AsTask' -and $_.GetParameters().Count -eq 1 -and $_.GetParameters()[0].ParameterType.Name -eq 'IAsyncOperation`1' })[0]
Function Await($WinRtTask, $ResultType) {
$asTask = $asTaskGeneric.MakeGenericMethod($ResultType)
$netTask = $asTask.Invoke($null, @($WinRtTask))
$netTask.Wait(-1) | Out-Null
$netTask.Result
}
Function AwaitAction($WinRtAction) {
$asTask = ([System.WindowsRuntimeSystemExtensions].GetMethods() | ? { $_.Name -eq 'AsTask' -and $_.GetParameters().Count -eq 1 -and !$_.IsGenericMethod })[0]
$netTask = $asTask.Invoke($null, @($WinRtAction))
$netTask.Wait(-1) | Out-Null
}

$connectionProfile = [Windows.Networking.Connectivity.NetworkInformation,Windows.Networking.Connectivity,ContentType=WindowsRuntime]::GetInternetConnectionProfile()
$tetheringManager = [Windows.Networking.NetworkOperators.NetworkOperatorTetheringManager,Windows.Networking.NetworkOperators,ContentType=WindowsRuntime]::CreateFromConnectionProfile($connectionProfile)
if ($tetheringManager.TetheringOperationalState -eq 1) 
{
"Hotspot is already On!"
}
else{
"Hotspot is off! Turning it on"
Await ($tetheringManager.StartTetheringAsync()) ([Windows.Networking.NetworkOperators.NetworkOperatorTetheringOperationResult])
}

Give it a name that tells you what the script is for, and save it with the PS1 file extension. Run this script and any time it detects that the mobile hotspot is off, it will turn it on. It’s up to you how you keep this script running. You can add it to the Start folder, or you can create a scheduled task that runs the script for you when you boot your system. You can also run it yourself when you boot to your desktop.

Why mobile hotspot turns off

The mobile hotspot turns off to save power. If your system is on battery power, keeping the mobile hotspot on when it isn’t in use will deplete the battery much more quickly. It’s the same case as it is for a mobile device. The mobile hotspot requires a signal to be transmitted and that requires additional power. Even when you’re connected to a power source, the hotspot turns off to limit how much power is being used.

Leave a comment