Troubleshooting
This page lists the most common problems when running DeadLetter and how to fix them.
Device setup tool does not detect my ESP32
Symptoms
No devices detected- The setup tool lists zero serial ports.
Fix
- Make sure the ESP32 is connected with a data USB cable.
- Install USB‑UART drivers:
- macOS / Linux: CP210x or CH340 drivers if your board requires them.
- Windows: Install Silicon Labs CP210x or CH340 drivers.
- On Linux, ensure you are in the
dialoutgroup:
sudo usermod -a -G dialout $USER
# log out and back in
Permission denied opening serial port
Symptoms
Permission denied: /dev/ttyUSB0
Fix
sudo usermod -a -G dialout $USER
Log out and log back in.
Setup tool says “Registry gateway is NOT reachable”
Symptoms
- Device prints:
Registry gateway is NOT reachable!
Cause The ESP32 cannot reach the configured Tor gateway on the local network.
Fix
- Ensure the Tor gateway (e.g. Raspberry Pi) is powered on.
- Verify gateway IP + port are correct:
deadletter-setup -r <gateway-ip:port> -b <gateway-ip:port> - Check the gateway firewall allows inbound connections.
Device keeps printing Registry gateway: UNSET
Cause Gateway IP was not saved to NVS or device rebooted before storing.
Fix
Run device setup again and wait until it prints Registry gateway set before disconnecting USB.
Inbox shows messages but decryption fails
Symptoms
Decryption failed - invalid key or corrupted data
Fix
- Make sure the correct identity directory exists:
~/.deadletter/<handle>/ - Ensure
enc_private.keyandenc_public.keybelong to the same identity used by the sender. - Run:
and verify the fingerprint matches what the sender sees on their ESP32.deadletter trust
File downloads are saved as unreadable garbage
Cause Base64 payload corrupted or wrong key used.
Fix
- Ensure sender and receiver verified the same trust fingerprint.
- Retry
deadletter inbox <handle>.
deadletter trust reports trust anchor changed
Symptoms
- Warning about trust anchor mismatch.
Fix Stop immediately. Compare fingerprints with your sender through a secure channel. Only proceed if you are 100% sure the new fingerprint is legitimate.
deadletter command not found
Cause Binary is not in PATH.
Fix
sudo mv deadletter /usr/local/bin/
chmod +x /usr/local/bin/deadletter
Setup tool times out waiting for device ready
Fix
- Unplug and reconnect the ESP32.
- Wait until it prints
Type 'help'before running setup again.
Still broken?
Enable verbose output:
deadletter-setup -v -r <gateway> -b <backend>
Attach the output when asking for support.