I had weird problem with cisco 877. If I had lots of network activity going on (torrents, hosting bigger network game, downloading from lots of different sources), router suddenly stopped working. First I tried with different IOS images between 12.4(15)T5 and 12.4(22)T but nothing seemed to solve the problem.
Then I realized that I still could connect the cisco using my vpn so the router itself was alive when the LAN traffic jammed. So I took the console cable found the console alive and started to debug.
First I thought that it was problem either with NAT or routing tables, so I debugged then and found nothing. Then I realized that my ethernet port where basically dropping all the traffic. After spending some time testing cables, shuting down interfaces, clearing NAT and so on I noticed that when router was on that state, it wouldn't recover without booting.
So what I did? I got another cisco 877 to test if it was hardware failure and guess what, same problem.
Then suddenly I noticed that once router jammed, port connected to my Airport extreme was switched to half duplex mode, even the airport was in full duplex mode. I forced it back to 100 full, but still all eth ports dropped the traffic. I saved the running-config to startup-config and rebooted and after that, no problems.
Conclusion: There is bug in some IOS versions and fast ethernet ports AUTO mode that can result all ethernet ports to halt. Quick fix is to force operation mode in the fastethernet interfaces using speed and duplex commands. I managed to get this condition only through airport extreme, so it could also be some sort of hardware related issue.
It took me two nights to solve it (me being blind to notice the duplex change) so I hope this might help someone:)