Decky WiFi Locker is a plugin for decky-loader that locks your Steam Deck's WiFi connection to a specific access point (BSSID) to prevent background scanning. This can help improve network stability and potentially reduce power consumption by preventing your device from constantly scanning for other networks.
- Lock WiFi to the current access point with a single button press
- Display the current SSID and BSSID when locked
- Easily unlock WiFi to resume normal operation
- Automatic unlocking when the plugin is unloaded
- Simple, user-friendly interface
By default, your Steam Deck (and most other devices) will periodically scan for WiFi networks in the background, even when connected to a network. This can cause brief interruptions in your connection, which might be noticeable during online gaming or streaming. By locking to a specific access point, you can:
- Reduce connection interruptions
- Potentially improve latency stability
- Slightly reduce power consumption
- Prevent unwanted network switching
- Install decky-loader if you haven't already
- Open the Quick Access menu (⋯ button)
- Select the Decky icon (the plug)
- Go to the Store tab
- Find "WiFi Locker" and click Install
- Download the latest release ZIP file
- Extract it to a temporary location
- Copy the extracted folder to
/home/deck/homebrew/plugins/on your Steam Deck - Restart your Steam Deck or reload Decky Loader
- Connect to your preferred WiFi network
- Open the Quick Access menu (⋯ button)
- Select the Decky icon (the plug)
- Find and select "WiFi Locker"
- Click "Lock WiFi to Current AP" to lock your connection
- To unlock, open the plugin again and click "Unlock WiFi"
The plugin uses the following Linux commands to lock your WiFi connection:
# Get the connected WiFi Card Details and connected SSID/BSSID
WIFI_CARD=$(nmcli dev status | grep wifi | grep -v disconnected | head -n1 | cut -d " " -f1)
LINK_INFO=$(iw dev $WIFI_CARD link)
BSSID=$(echo $LINK_INFO | grep -o -P '(?<=Connected to ).*(?= \(on)' | tr '[:lower:]' '[:upper:]')
SSID=$(echo $LINK_INFO | grep -o -P '(?<=SSID: ).*(?= freq)')
# Lock WiFi to the BSSID to stop background scanning
nmcli con mod $SSID 802-11-wireless.bssid $BSSID
nmcli dev dis $WIFI_CARD
nmcli dev con $WIFI_CARDAnd to unlock:
nmcli con mod $SSID 802-11-wireless.bssid ''
nmcli dev dis $WIFI_CARD
nmcli dev con $WIFI_CARD- Clone this repository
- Install dependencies:
pnpm install - Build the plugin:
pnpm build - The built plugin will be in the
distdirectory
This project is licensed under the BSD 3-Clause License.
- SteamDeckHomebrew for creating Decky Loader
- decky-frontend-lib for the UI components