惯性聚合 高效追踪和阅读你感兴趣的博客、新闻、科技资讯
阅读原文 在惯性聚合中打开

推荐订阅源

The GitHub Blog
The GitHub Blog
Jina AI
Jina AI
月光博客
月光博客
博客园 - Franky
小众软件
小众软件
奇客Solidot–传递最新科技情报
奇客Solidot–传递最新科技情报
V
Visual Studio Blog
有赞技术团队
有赞技术团队
V
V2EX
IT之家
IT之家
阮一峰的网络日志
阮一峰的网络日志
Stack Overflow Blog
Stack Overflow Blog
H
Help Net Security
Apple Machine Learning Research
Apple Machine Learning Research
腾讯CDC
D
DataBreaches.Net
Hugging Face - Blog
Hugging Face - Blog
Martin Fowler
Martin Fowler
罗磊的独立博客
OSCHINA 社区最新新闻
OSCHINA 社区最新新闻
WordPress大学
WordPress大学
C
Check Point Blog
Microsoft Azure Blog
Microsoft Azure Blog
Microsoft Security Blog
Microsoft Security Blog

DEV Community

Authentication Security Deep Dive: From Brute Force to Salted Hashing (With Java Examples) Why AI Systems Don’t Fail — They Drift Spilling beans for how i learn for exam😁"Reinforcement Learning Cheat Sheet" I Replaced Chrome with Safari for AI Browser Automation. Here's What Broke (and What Finally Worked) How Python Borrows Other People's Work The $40 Architecture: Processing 1 Billion API Requests with 99.99% Uptime Vibe Coding: A Workflow Guide (From Zero to SaaS) Most webhook security guides protect the wrong side. The scary part is delivery. Headless CMS for TanStack Start: Build a Blog with Cosmic EU Age Verification App "Hacked in 2 Minutes" — What Actually Happened Comfy Cloud’s delete function does not actually remove files Running AI Models on GPU Cloud Servers: A Beginner Guide Event-driven media intelligence with AWS Step Functions and Bedrock I scored 500 AI prompts across 8 quality dimensions — here's what broke How to Call Google Gemini API from Next.js (Free Tier, No Backend Needed) The Portal Protocol: Reclaiming Human Connection in the Age of AI How to Fix Your Team's Scattered Knowledge Problem With a Self-Hosted Forum Intro to tc Cloud Functors: A Graph-First Mental Model for the Modern Cloud Designing Multi-Tenant Backends With Both Ownership and Team Access I Built a Neumorphic CSS Library with 77+ Components — Here's What I Learned PostgreSQL Performance Optimization: Why Connection Pooling Is Critical at Scale Cómo construí un SaaS multi-rubro para gestionar expensas en Argentina con FastAPI + Vue 3 🚀 I Built an Ethical Hacking Scanner Tool – Open Source Project I Replaced /usage and /context in Claude Code With a Single Statusline A Pythonic Way to Handle Emails (IMAP/SMTP) with Auto-Discovery and AI-Ready Design I Collected 8.9 Million Polymarket Price Points — Here's What I Found About How Markets Really Move EcoTrack AI — Carbon Footprint Tracker & Dashboard Everyone's Using AI. No One Agrees How. 5 self-hosted ebook managers worth trying in 2026 Building Your First AI Agent with LangChain: From Chatbot to Autonomous Assistant
How to Change Wi-Fi Details on a Headless Raspberry Pi Wh...
Ikegbo Ogoch · 2026-05-08 · via DEV Community

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 🚀