# TFTP: timeout waiting for data packet from 192.168.1.100:69

- **ID:** `networking/tftp-timeout-no-response`
- **Domain:** networking
- **Category:** network_error
- **Error Code:** `ETIMEDOUT`
- **Verification:** ai_generated
- **Fix Rate:** 78%

## Root Cause

A TFTP client sent a read/write request to the server but received no data packet within the timeout period, typically due to firewall blocking UDP port 69, incorrect file path, or server overload.

## Version Compatibility

| Version | Status | Introduced | Deprecated |
|---------|--------|------------|------------|
| tftp-hpa 5.2 | active | — | — |
| Cisco IOS 15.9 | active | — | — |
| Linux tftp client 0.17 | active | — | — |

## Workarounds

1. **Check server connectivity with `tftp 192.168.1.100 -c get /path/to/file` and verify the server is running: `systemctl status tftpd-hpa`** (85% success)
   ```
   Check server connectivity with `tftp 192.168.1.100 -c get /path/to/file` and verify the server is running: `systemctl status tftpd-hpa`
   ```
2. **Allow TFTP traffic through the firewall: `iptables -A INPUT -p udp --dport 69 -j ACCEPT` and ensure the TFTP server is not bound to localhost only.** (90% success)
   ```
   Allow TFTP traffic through the firewall: `iptables -A INPUT -p udp --dport 69 -j ACCEPT` and ensure the TFTP server is not bound to localhost only.
   ```
3. **Test with a known good file in the server's root directory (e.g., /srv/tftp) to rule out permission issues: `chmod 644 /srv/tftp/test.txt`** (80% success)
   ```
   Test with a known good file in the server's root directory (e.g., /srv/tftp) to rule out permission issues: `chmod 644 /srv/tftp/test.txt`
   ```

## Dead Ends

- **** — If the firewall is blocking the port or the file does not exist, no amount of waiting will help; the request will still fail after the extended timeout. (75% fail)
- **** — The client implementation is rarely the issue; the problem is almost always server-side or network-layer. (60% fail)
- **** — This is a security risk and may not solve the problem if the server's firewall is the blocker; also, it does not verify the server is running. (50% fail)
