The problem is very specific to the Linksys WRT54G version 2.2. Check the underside of your router, the version 2.2 should be printed next to the "Model:WRT54G" on the barcoded sticker.
A memory bus design problem in these models causes a fatal memory access error, when there is a large amount of data transferred across the wireless/ethernet interfaces, or when data with specific byte patterns are transferred.
The fix, is to slightly overclock the router, which changes the memory bus speed and makes the problem disappear. Linksys has released a "beta" official firmware release now, which supposedly fixes this problem. It's available at ftp://ftp.linksys.com/sg/support/dow...ansfer_Issues/
If you are using third party firmware, such as sveasoft, dd-wrt, or openwrt, you can fix the issue by getting a shell on your router via telnet/ssh, and typing in the following commands:
This does essentially the same as what Linksys's beta firmware does.
nvram set clkfreq=216
Hope it helps.