I originally posted the problem on Whirlpool (
Billion 7404VGO can't share after sleep - Billion - DSL Hardware - Whirlpool Broadband Forums) where one of the first suggestions was static IP entries. I first tried that via the router, and then (after reverting the router to auto) in each computer separately, but none of that worked. As you'll see if you follow the whirlpool exchange, I first thought the problem had to do with sleep/wake cycles. That furphy goes to show how superstitious one can get in continuing to believe a certain item is the trigger when it is nothing but a correlate of the true problem. Happens throughout life I guess :sarc:.
Not static IPs on the PCs but instead static ARP table entries on the router. More detail:
Conceptually, connectivity between two machines linked via the same switch is achieved on several different levels:
L1: Physical. Wires, plugs, NICs...
L2: Data Link. MAC addresses are here <---- your problem
L3: Network. IP addresses
L4: Transport. Ports as in TCP port 80.
...
Even though they are fully aware of each other's IP addresses, the NICs in your PCs must first work out each other's MAC addresses before they can send packets to one another. ARP (Address Resolution Protocol) is the mechanism they use to do that:
BROADCAST: "Will the machine out there whose IP is 192.168.1.3 please respond with your MAC address because I want to communicate with you."
RESPONSE: "That's me. My MAC address is aa-bb-cc-dd-ee-ff."
The requestor then caches the IP-to-MAC mapping in that ARP table you got from the "arp" command. The switch is meant to notice that exchange and think like this:
"I've just witnessed MAC-A on my second physical port talking to MAC-B on the 7th port. I'm now going to add those MAC addresses to my list of MAC-to-port mappings so that I can create a (temporary) link between the two ports when those machines are trying to communicate with one another."
It's the second part in the switch logic above which is not happening in your case. The switch "notices" the attempted communication from one port to another, but it doesn't bother to open up a link between them once the original mapping has timed out.
Enterprise-level ("managed") switches have the ability to let the administrator configure static MAC-to-port mappings: "MAC-A is always on port 2, MAC-B is always on port 7. These settings are not to time out." If your switch (router) is capable of something similar, it may serve as a workaround. Most consumer-grade switches are "unmanaged" though, so the functionality to add static MAC-to-port mappings is simply not there.