I narrowed down the problem! I think it has to be something related to the wireless driver, but it's actually a one-liner to recreate the same conditions that cause this error to occur.
To test, I'm just downloading a ~16MB DMG file from adobe.com -- some sort of Flash update.
On the router itself, running the following command, it seems like the file is not getting corrupted at all, so it seems that the wired connection seems to be functioning normally.
root@almond-ap:~# while true; do wget -q -O /tmp/test.dmg http://download.macromedia.com/pub/flash/updates/11_5_1/mac/Adobe-Flash-Professional-CS55-Up
date.dmg ; md5sum /tmp/test.dmg ; sleep 1 ; done
2d9bcdfe75375cba3e63dafdce976c51 /tmp/test.dmg
2d9bcdfe75375cba3e63dafdce976c51 /tmp/test.dmg
2d9bcdfe75375cba3e63dafdce976c51 /tmp/test.dmg
2d9bcdfe75375cba3e63dafdce976c51 /tmp/test.dmg
2d9bcdfe75375cba3e63dafdce976c51 /tmp/test.dmg
2d9bcdfe75375cba3e63dafdce976c51 /tmp/test.dmg
2d9bcdfe75375cba3e63dafdce976c51 /tmp/test.dmg
2d9bcdfe75375cba3e63dafdce976c51 /tmp/test.dmg
2d9bcdfe75375cba3e63dafdce976c51 /tmp/test.dmg
2d9bcdfe75375cba3e63dafdce976c51 /tmp/test.dmg
However, this is totally not the case when doing the same thing from my Mac:
pc-macbook:~ pat$ while true; do curl -s -o test.dmg http://download.macromedia.com/pub/flash/updates/11_5_1/mac/Adobe-Flash-Professional-CS55-Update.dmg ; md5 test.dmg ; sleep 1 ; done
MD5 (test.dmg) = 04c73ea13a0196a7e3bc4208d1ec3842
MD5 (test.dmg) = 2d9bcdfe75375cba3e63dafdce976c51
MD5 (test.dmg) = 02b6fe08ff8f1471c54ab24d1c7f2db8
MD5 (test.dmg) = 2d9bcdfe75375cba3e63dafdce976c51
MD5 (test.dmg) = f60d60bcede0c4d8f56bd9390ee9add3
MD5 (test.dmg) = afa022417a1320e77920acd877df3852
MD5 (test.dmg) = 2d9bcdfe75375cba3e63dafdce976c51
MD5 (test.dmg) = 2d9bcdfe75375cba3e63dafdce976c51
MD5 (test.dmg) = 2d9bcdfe75375cba3e63dafdce976c51
MD5 (test.dmg) = 2d9bcdfe75375cba3e63dafdce976c51
MD5 (test.dmg) = 2d9bcdfe75375cba3e63dafdce976c51
MD5 (test.dmg) = 2d9bcdfe75375cba3e63dafdce976c51
The problem seems to be exacerbated when there are multiple devices transferring data over wireless at the same time. Errors seemed to be induced if I am performing other actions on the Internet at the same or transferring at high speeds between wireless devices on my network. For example, running the above command on my Mac while copying a file directly off my TiVo or running a speed test on speedtest.net will cause the MD5 checksum to go all over the place.
MD5 (test.dmg) = 2d9bcdfe75375cba3e63dafdce976c51
MD5 (test.dmg) = 2d9bcdfe75375cba3e63dafdce976c51
MD5 (test.dmg) = 2d9bcdfe75375cba3e63dafdce976c51
MD5 (test.dmg) = 2d9bcdfe75375cba3e63dafdce976c51
MD5 (test.dmg) = 0bd88a269a2c31ce54ea12b5b648b641
MD5 (test.dmg) = 66a7c672172fd4c0064109b794078806
MD5 (test.dmg) = 55d43ccbc3c4e74ea9638ed4a6a43f69
MD5 (test.dmg) = 2d9bcdfe75375cba3e63dafdce976c51
MD5 (test.dmg) = e7a82aab848a574d52fffd44054b4bfa
MD5 (test.dmg) = 2d9bcdfe75375cba3e63dafdce976c51
MD5 (test.dmg) = 2d9bcdfe75375cba3e63dafdce976c51
MD5 (test.dmg) = 2d9bcdfe75375cba3e63dafdce976c51
MD5 (test.dmg) = 4b0fbb945348db313a577a2c43c9ceb1
I'm guessing a buggy wireless driver is to blame?