I'm having a very strange problem with the shared network at the flat I've just moved into. It occurs on my Windows desktop and my Macbook, and it occurs on both the wifi and the ethernet.
Basically HTTP downloads consistently stall after 1-5MB.
General web browsing is fine though, because pages tend to be less than that size. And BitTorrent is not affected, possibly because none of its chunks are that big. So I know the theoretical bandwidth I have is about 500kB/s.
This seems to fool download managers, too. (I've tried DownThemAll and GetRight.) They load a couple of MB then hang indefinitely; however, pausing and unpausing the download manually allows the next few seconds to download.
It's enough of a problem that I wrote a C# program to manage downloads. It downloads until a read takes longer than 2s, then issues a new GET with the Range header set. It's quite a lot slower than BitTorrent but it beats manually refreshing a download manager 100 times.
Here's a sample output:
Read 2920 bytes, total 1604540 bytes of 164536324
Read 4380 bytes, total 1608920 bytes of 164536324
Read 8760 bytes, total 1617680 bytes of 164536324
Read 1460 bytes, total 1619140 bytes of 164536324
Read 5840 bytes, total 1624980 bytes of 164536324
Read 4380 bytes, total 1629360 bytes of 164536324
Read 1460 bytes, total 1630820 bytes of 164536324
Read 4380 bytes, total 1635200 bytes of 164536324
Read 4380 bytes, total 1639580 bytes of 164536324
Read 4380 bytes, total 1643960 bytes of 164536324
Read 4380 bytes, total 1648340 bytes of 164536324
Read 1460 bytes, total 1649800 bytes of 164536324
Read 5840 bytes, total 1655640 bytes of 164536324
Read 4380 bytes, total 1660020 bytes of 164536324
Read 4380 bytes, total 1664400 bytes of 164536324
Read 2920 bytes, total 1667320 bytes of 164536324
Read 40763200 bytes, total 42430520 bytes of 164536324
Performing new GET
Read 5840 bytes, total 42436360 bytes of 164536324
Read 2920 bytes, total 42439280 bytes of 164536324
Read 4380 bytes, total 42443660 bytes of 164536324
Read 4380 bytes, total 42448040 bytes of 164536324
Read 2920 bytes, total 42450960 bytes of 164536324
Read 1460 bytes, total 42452420 bytes of 164536324
Read 13140 bytes, total 42465560 bytes of 164536324
Read 8760 bytes, total 42474320 bytes of 164536324
Read 1460 bytes, total 42475780 bytes of 164536324
Read 16060 bytes, total 42491840 bytes of 164536324
Read 1460 bytes, total 42493300 bytes of 164536324
Read 2920 bytes, total 42496220 bytes of 164536324
Read 1460 bytes, total 42497680 bytes of 164536324
Read 1460 bytes, total 42499140 bytes of 164536324
Read 2920 bytes, total 42502060 bytes of 164536324
Read 1460 bytes, total 42503520 bytes of 164536324
Read 1460 bytes, total 42504980 bytes of 164536324
Read 2920 bytes, total 42507900 bytes of 164536324
I've never heard of behaviour like this before - can anyone think of a mechanism to explain it? And can anyone recommend a download manager that would cope with it?