So last night I was trying to figure out whether my loss of Internet connectivity was due to a problem on my end (it wasn't), and in the process of doing so I happened to notice that the timestamps on all of the log entries in my Linksys BEFSX41 router were incorrect. So I went hunting for a way to set the time in the router configuration screens... and there is none!
After a little digging on the DSLReports.com forums, I concluded that
1) The router does not allow you to set its internal clock manually.
2) The router's clock is supposed to set itself automatically, by accessing an NTP (network time protocol) server. However, the IP address of the NTP server is hard-coded into the firmware, and points at an NTP server somewhere in f*cking Taiwan!
3) The NTP server whose address is hard-coded into the firmware doesn't exist anymore.
4) Linksys has been aware of the issue with the hard-coded NTP server for some time (months), but still has not fixed their firmware.
F*cking moronic Linksys firmware engineers! My previous router (a Netgear) had much better firmware, but the hardware died an untimely death (exploding capacitors).
I think my next router will be a self-build, using a spare Linux box.