I encountered this problem today. I have 3 routers (two 1841's and one 2801) and 3 switches (all 2950's) for my CCNA lab at home. I have them all connected to my cable internet router (dlink dgl-4500). I had to enter static routes on the dlink to get packets back to the cisco routers. Two of my routers were each one hop away from the TFTP server (a raspberry pi). Those both connected fine. One of my routers was directly connected to the network with the raspberry pi and it was NOT connecting! It could ping the IP address just fine, but no TFTP. Disabled firewall -- still no joy. In my case, I found that my hosts.allow file on the TFTP server box was only configured to allow the network with the cable router and no other networks. The routers that were one hop away used that allowed network to get back to the TFTP server (via static routes on the cable router), but the one router directly connected was on a network not listed in hosts.allow (and I have ALL:ALL in hosts.deny). This is one case where ping will work but TFTP will fail, even with no firewall running. Wireshark did not help much either. I guess I won't be forgetting about hosts.allow next time.
... View more