DEV Community

Cover image for How to Change Wi-Fi Details on a Headless Raspberry Pi When You Don’t Know the Current Network
Ikegbo Ogochukwu
Ikegbo Ogochukwu

Posted on

How to Change Wi-Fi Details on a Headless Raspberry Pi When You Don’t Know the Current Network

If you’ve ever worked with a headless Raspberry Pi, you’ve probably faced this problem:

  • The Raspberry Pi was previously connected to a Wi-Fi network
  • You do not know which network it is connected to
  • You cannot connect a monitor, keyboard, or mouse
  • SSH is your only option
  • The Pi is no longer appearing on your current network

This usually happens when:

  • You move to a new location
  • Your Wi-Fi name/password changes
  • Someone else configured the Pi
  • You forgot the old network credentials

In this guide, I’ll show you how to:

  • Diagnose the problem
  • Reconfigure Wi-Fi without a monitor
  • Force the Pi onto a new network
  • Recover SSH access

The methods below work for:

  • Raspberry Pi 3
  • Raspberry Pi 4
  • Raspberry Pi 5
  • Raspberry Pi Zero W/2W

Understanding the Problem

A Raspberry Pi configured for headless access boots and automatically tries to connect to the Wi-Fi credentials saved inside:

wpa_supplicant.conf
Enter fullscreen mode Exit fullscreen mode

If:

  • the saved Wi-Fi no longer exists
  • the password changed
  • or the Pi is too far from the router

then the Pi never joins the network.

Since SSH depends on network access, you lose remote control completely.


Method 1 — Edit Wi-Fi Credentials Directly from the SD Card (Best Method)

This is the fastest recovery method.

Step 1 — Remove the SD Card

Power off the Raspberry Pi safely.

Remove the microSD card and insert it into your computer using:

  • SD card reader
  • USB adapter
  • laptop SD slot

Step 2 — Open the Boot Partition

After inserting the SD card, you’ll see a small partition called:

  • boot
  • bootfs

Open it.

This partition is readable on:

  • Windows
  • Linux
  • macOS

Step 3 — Create or Edit wpa_supplicant.conf

Inside the boot partition, create a file named:

wpa_supplicant.conf
Enter fullscreen mode Exit fullscreen mode

If it already exists, edit it.

Paste this:

country=NG
ctrl_interface=DIR=/var/run/wpa_supplicant GROUP=netdev
update_config=1

network={
    ssid="YOUR_WIFI_NAME"
    psk="YOUR_WIFI_PASSWORD"
}
Enter fullscreen mode Exit fullscreen mode

Example:

country=NG
ctrl_interface=DIR=/var/run/wpa_supplicant GROUP=netdev
update_config=1

network={
    ssid="MTN_Home"
    psk="mysecurepassword"
}
Enter fullscreen mode Exit fullscreen mode

Why country=NG Matters

A lot of people ignore this.

The country code controls:

  • Wi-Fi regulatory channels
  • allowed radio frequencies
  • transmission compliance

If your country code is wrong:

  • Wi-Fi may fail silently
  • some channels become inaccessible

For Nigeria, use:

country=NG
Enter fullscreen mode Exit fullscreen mode

Not:

US
Enter fullscreen mode Exit fullscreen mode

unless you are actually in the US.


Do You Need to Remove Old Wi-Fi Networks?

Usually, no.

The Raspberry Pi can store multiple Wi-Fi networks and automatically connect to whichever known network is available.

For example:

network={
    ssid="Old_Wifi"
    psk="oldpassword"
}

network={
    ssid="New_Wifi"
    psk="newpassword"
}
Enter fullscreen mode Exit fullscreen mode

If Old_Wifi is unavailable, the Pi will try New_Wifi.

When Should You Remove Old Networks?

You may want to remove old saved networks if:

The Pi keeps reconnecting to the wrong network
Multiple nearby networks are available
The old Wi-Fi has poor internet access
You want cleaner configuration management
You are deploying the Pi to a new environment permanently

In that case, simply delete the old network={} block from:

wpa_supplicant.conf
Enter fullscreen mode Exit fullscreen mode

and leave only the new network.

Best Practice

For classroom projects, IoT deployments, and Raspberry Pi labs, it is usually better to:

remove outdated Wi-Fi networks
keep only the active network
avoid connection conflicts

This makes troubleshooting much easier later.

Step 4 — Enable SSH

Still inside the boot partition:

Create an empty file named:

ssh
Enter fullscreen mode Exit fullscreen mode

No extension.

Not:

  • ssh.txt
  • ssh.conf

Just:

ssh
Enter fullscreen mode Exit fullscreen mode

This enables the SSH server during boot.


Step 5 — Reinsert SD Card and Boot

Insert the SD card back into the Raspberry Pi.

Power it on.

Wait about:

  • 1–3 minutes

for the Pi to boot and connect.


Step 6 — Find the Raspberry Pi on the Network

Now you need the Pi’s IP address.

Option A — Use Fing (Recommended)

Install:

  • Fing (Android/iPhone)
  • Fing Desktop

Scan your network.

Look for:

  • raspberrypi
  • Raspberry Pi Foundation
  • hostname you configured

Option B — Use Router Admin Page

Login to your router.

Check:

  • Connected Devices
  • DHCP Clients
  • LAN Devices

You may see:

raspberrypi.local
Enter fullscreen mode Exit fullscreen mode

or an IP like:

192.168.1.12
Enter fullscreen mode Exit fullscreen mode

Option C — Use ping

Try:

ping raspberrypi.local
Enter fullscreen mode Exit fullscreen mode

or:

ping yourhostname.local
Enter fullscreen mode Exit fullscreen mode

Step 7 — SSH Into the Pi

Once you have the IP:

ssh pi@192.168.1.12
Enter fullscreen mode Exit fullscreen mode

Or:

ssh username@hostname.local
Enter fullscreen mode Exit fullscreen mode

Example:

ssh stanley@raspberrypi.local
Enter fullscreen mode Exit fullscreen mode

What If You Don’t Know the Username?

Modern Raspberry Pi OS no longer uses:

  • pi
  • raspberry

by default.

The username is whatever was set during OS imaging.

If you forgot it:

  • reflash the OS
  • or inspect old documentation

Method 2 — Reflash Using Raspberry Pi Imager (Cleanest Option)

If recovery fails completely, just rewrite the OS.

Install Raspberry Pi Imager

Download from:

Raspberry Pi Imager


Configure Headless Setup Properly

Inside Raspberry Pi Imager:

Click:

NEXT → EDIT SETTINGS
Enter fullscreen mode Exit fullscreen mode

Configure:

General

  • Hostname
  • Username
  • Password
  • Wi-Fi SSID
  • Wi-Fi Password
  • Country

Services

Enable:

  • SSH

Choose:

  • Password authentication

Then write the OS.

This is the most reliable method.


Troubleshooting Tips

1. Pi Not Appearing on Network

Possible causes:

  • Wrong Wi-Fi password
  • Wrong country code
  • Weak Wi-Fi signal
  • 5GHz unsupported network
  • Hidden SSID

Try:

  • mobile hotspot
  • 2.4GHz Wi-Fi
  • moving Pi closer

2. SSH “Hostname Could Not Be Resolved”

This means:

  • the Pi is not on the network
  • or mDNS isn’t working

Use direct IP instead.


3. SSH Connection Refused

Usually:

  • SSH disabled
  • Pi still booting
  • firewall issue

Recreate the empty ssh file.


4. Raspberry Pi Only Supports 2.4GHz

Some older Pis cannot use:

  • 5GHz
  • Wi-Fi 6 only networks

Enable:

  • mixed mode
  • 2.4GHz compatibility

Bonus Tip — Use Your Phone Hotspot

If you don’t know the old network:

Create a hotspot using:

  • same Wi-Fi name
  • same password

as the old network.

The Pi may reconnect automatically.

This is one of the fastest recovery tricks.


Recommended Headless Workflow

Here’s the workflow I now use for every Raspberry Pi deployment:

During OS Imaging

Always configure:

  • hostname
  • SSH
  • Wi-Fi
  • username/password

inside Raspberry Pi Imager.

Keep Backup Notes

Save:

  • hostname
  • username
  • password
  • Wi-Fi used

inside:

  • Notion
  • Google Docs
  • password manager

Use Static Hostnames

Instead of:

raspberrypi
Enter fullscreen mode Exit fullscreen mode

Use:

cv-group1
iot-node2
weather-station
Enter fullscreen mode Exit fullscreen mode

This makes network discovery easier.


Final Thoughts

Headless Raspberry Pi setups are incredibly powerful, but Wi-Fi issues can lock you out completely if you don’t plan ahead.

The good news is:
you usually do NOT need a monitor.

As long as you can access the SD card, you can:

  • change Wi-Fi
  • enable SSH
  • recover the device
  • regain remote access

Once you master this workflow, managing remote Raspberry Pis becomes much easier — especially in classrooms, IoT deployments, robotics projects, and AI edge systems.

Happy building 🚀

Top comments (0)