TFTP Server Configuration

The TFTP Server is the core tool for router unbricking. It transfers firmware to a router that is already in recovery mode. It normally works only on the local network; the important details are the computer's static IP, firmware filename, shared folder, and selected network adapter.

TFTP Introduction

TFTP (Trivial File Transfer Protocol) - A simple file transfer protocol without authentication, suitable for transferring small files within a local network.

Windows

TFTPD32/TFTPD64

1. Download TFTPD64 2. Run as Administrator 3. Configure the interface:

Setting Value
Current Directory Folder containing the firmware
Server Interface Computer IP (e.g. 192.168.1.100)
Protocol TFTP
Port 69

4. Click “Show Dir” to ensure the firmware file is visible 5. Ensure the firewall allows TFTP

Windows 10/11 Built-in TFTP

```powershell # Run PowerShell as Administrator Install-WindowsFeature -Name TFTP-Client

# Or enable manually: # Control Panel → Programs → Turn Windows features on or off → TFTP Client ```

macOS

On a Mac, the common mistakes are `/private/tftpboot` permissions, binding the server to Wi-Fi instead of Ethernet, or forgetting to set a static IP. You can download Router Recovery's macOS TFTP Server to check these recovery setup items before entering router recovery mode.

Built-in tftpd

```bash # Start the TFTP server sudo launchctl load -w /System/Library/LaunchDaemons/tftp.plist

# Set the shared folder (default /private/tftpboot) sudo mkdir -p /private/tftpboot sudo chmod 777 /private/tftpboot sudo cp firmware.bin /private/tftpboot/

# Restart the service sudo launchctl unload -w /System/Library/LaunchDaemons/tftp.plist sudo launchctl load -w /System/Library/LaunchDaemons/tftp.plist ```

Homebrew

```bash brew install atftp atftpd –daemon –bind-address 192.168.1.100 –directory /your/firmware/folder ```

Linux

tftpd-hpa

```bash # Install sudo apt install tftpd-hpa

# Configure /etc/default/tftpd-hpa TFTP_USERNAME=“tftp” TFTP_DIRECTORY=“/srv/tftp” TFTP_ADDRESS=“0.0.0.0:69” TFTP_OPTIONS=“–secure –verbose”

# Create the directory sudo mkdir -p /srv/tftp sudo chmod 777 /srv/tftp sudo cp firmware.bin /srv/tftp/

# Restart the service sudo systemctl restart tftpd-hpa ```

Verify TFTP Server

```bash # Test from another computer tftp 192.168.1.100 tftp> get firmware.bin tftp> quit ```

When verifying on a Mac, also confirm the TFTP Server's local IP is in the subnet expected by the router recovery guide. For example, if the router listens around `192.168.1.1`, the Mac is often set to `192.168.1.254` or another address in that subnet.

Troubleshooting

Connection Timeout

* Check if the firewall allows UDP port 69 * Ensure the computer and router are on the same subnet * Verify the IP address is correct

File Transfer Failed

* Check if the firmware filename is correct * Confirm the firmware file has read permissions * Try disabling the firewall for testing

Transfer Complete but Router Has No Response

* The firmware may not be compatible with this model * Check if the firmware version matches the hardware version

Pre-Recovery Check

Before you power-cycle the router while holding Reset, run a macOS TFTP recovery check to confirm the static IP, firmware file, TFTP folder, and wired network adapter are ready.

⚠️ Technical Disclaimer

This tutorial is for learning and reference only. Flashing firmware carries risks and may cause bricked devices or void warranty. Before proceeding:

Last updated: April 2026