Troubleshooting
This guide covers common problems and their solutions.
First Boot Issues
Section titled “First Boot Issues”Pi doesn’t connect to WiFi
Section titled “Pi doesn’t connect to WiFi”Symptoms: No network activity, can’t find Pi on network
Solutions:
- Check
wifi.confformat:country=USnetwork={ssid="YourNetwork"psk="YourPassword"} - Verify SSID and password are correct (case-sensitive)
- Check country code matches your region
- Ensure quotes are straight quotes, not curly
articwake won’t start
Section titled “articwake won’t start”Symptoms: Service fails to start, web UI unavailable
Check the setup log:
ssh root@<pi-ip>cat /var/log/articwake-setup.logCommon causes:
- Missing
config.envfile - Invalid MAC address format
- Missing or invalid SSH key
- PIN file not found
PIN file issues
Section titled “PIN file issues”Symptoms: “Failed to read PIN hash” error
Solutions:
- Ensure PIN file existed before first boot
- Check the hash file was created:
Terminal window cat /var/lib/articwake/pin.hash - Re-create manually if needed:
Terminal window echo -n "your-pin" | articwake hash-pin > /var/lib/articwake/pin.hash
Authentication Issues
Section titled “Authentication Issues”Can’t log in
Section titled “Can’t log in”Symptoms: “Invalid PIN” error
Solutions:
- Verify you’re using the correct PIN
- Check for rate limiting (wait 60 seconds)
- Verify the PIN hash file:
Terminal window cat /var/lib/articwake/pin.hash
Rate limited
Section titled “Rate limited”Symptoms: “Rate limited” or 429 response
Solution: Wait 60 seconds before trying again. Rate limit is 10 attempts per minute.
Token expired
Section titled “Token expired”Symptoms: “Invalid or expired token” on API calls
Solution: Re-authenticate via /api/auth. Tokens expire after 15 minutes.
Wake-on-LAN Issues
Section titled “Wake-on-LAN Issues”WOL packet sent but server doesn’t wake
Section titled “WOL packet sent but server doesn’t wake”Check BIOS settings:
- Wake-on-LAN must be enabled
- Deep Sleep/ErP may need to be disabled
Check network:
- articwake must be on same network segment
- Try subnet broadcast address:
ARTICWAKE_HOMELAB_BROADCAST="192.168.1.255"
Check server NIC:
# On the server (before shutting down)ethtool eth0 | grep Wake-on# Should show "g" for magic packetTest manually:
# On the Piapk add wakeonlanwakeonlan aa:bb:cc:dd:ee:ffWrong MAC address
Section titled “Wrong MAC address”Symptoms: WOL sent but nothing happens
Find correct MAC:
# On the serverip link show eth0# orcat /sys/class/net/eth0/addressLUKS Unlock Issues
Section titled “LUKS Unlock Issues”Can’t connect to dropbear
Section titled “Can’t connect to dropbear”Symptoms: “Connection refused” error
Causes:
- Server hasn’t booted to initrd yet (wait longer)
- Wrong SSH port configured
- Network not up in initrd
Check status first:
curl http://localhost/api/status -H "Authorization: Bearer $TOKEN"# initrd_ssh_open should be trueSSH key rejected
Section titled “SSH key rejected”Symptoms: “Authentication failed” error
Solutions:
- Verify public key is in server’s initrd:
Terminal window # On server, check initrd authorized_keyscat /etc/dropbear/initramfs/authorized_keys - Rebuild initramfs after adding key:
Terminal window update-initramfs -u - Verify private key on Pi matches:
Terminal window ssh-keygen -y -f /etc/secrets/articwake-key# Should match the public key on server
Passphrase not accepted
Section titled “Passphrase not accepted”Symptoms: Passphrase sent but disk doesn’t unlock
Solutions:
- Verify correct passphrase:
Terminal window # Test locally on servercryptsetup open --test-passphrase /dev/sda2 - Check for keyboard layout issues (initrd uses US layout)
- Ensure no invisible characters in passphrase
Wrong SSH port
Section titled “Wrong SSH port”Symptoms: Connection timeout or refused
Find correct port:
# Check dropbear config on servergrep DROPBEAR /etc/dropbear/initramfs/dropbear.confUpdate articwake config:
ARTICWAKE_SSH_PORT="2222"Network Issues
Section titled “Network Issues”Can’t reach articwake
Section titled “Can’t reach articwake”From local network:
- Find Pi’s IP from router DHCP leases
- Verify
ARTICWAKE_BIND_HOST="0.0.0.0"in config - Check Pi is on the network:
ping <pi-ip>
From Tailscale:
- Verify Tailscale is running:
tailscale status - Check Pi appears in Tailscale admin console
- Try Tailscale IP directly
Status shows server unreachable
Section titled “Status shows server unreachable”Symptoms: reachable: false in status
Solutions:
- Verify server IP is correct
- Check server is on and connected to network
- Test ping manually:
Terminal window ping -c 1 <server-ip>
Log Locations
Section titled “Log Locations”| Log | Location | Contains |
|---|---|---|
| First-boot setup | /var/log/articwake-setup.log | WiFi, package install, PIN hashing |
| Service runtime | /var/log/articwake.log | API requests, errors |
| System log | /var/log/messages | General system events |
Getting Help
Section titled “Getting Help”If you can’t resolve your issue:
- Check the GitHub Issues
- Include relevant logs when opening an issue
- Describe your setup (Pi model, server OS, network config)