I've D-Link DSL-2500U/BRU/D, ADSL mode is "ADSL2+ AnnexM EU-56", configured as bridge and connected to linux (Gentoo) workstation. Line is good enough, I've stable speed 2.09MiB/sec (i.e. about 18-20Mbps)... but I can see this speed only while downloading torrents or when downloading something using multiple connections (like running several wget processes in parallel).
Single wget process download at only 200KiB/sec in average from anywhere (like kernel.org or other servers I've tried). When wget started it may begin downloading at up to 400-500Kib, but quickly lower speed to about 100Kib, and then slowly increase it to 150-200Kib. Of course, this issue apply to any single tcp connection, not only to wget.
I've tried same wget to kernel.org in WinXP SP3, and LiveCDs of OpenSUSE-11.3, Ubuntu-9.04 and Ubuntu-6.10 - just to exclude possibility of wrong configuration of my Gentoo workstation. In all these OS I see same issue - single wget unable to download faster than 200KiB/sec, but I can run several wget's at that speed simultaneously, so it's not limitation of ADSL line.
Initially I think this issue is because of some ISP's shaper, but later I discover WinSeven able to wget from kernel.org at 1-2MiB/sec! Also, I've tried to switch modem from bridge to router mode, and got 1-2MiB/sec in single wget in my Gentoo, so this issue probably has nothing with ISP.
The MTU is set to 1500 on eth0 and 1492 on ppp0. I notice WinSeven use MTU 1480 on pppoe interface, and tried same value on linux - that doesn't helps. Also I've tried to play with different tcp optimizations using sysctl (rmem/wmem/etc.) - also without any success.
Any ideas how to fix this without switching modem from bridge to router?
Could be an MTU issue on the PPPoE client.
The manpage of pppoe suggests usign the -m option to clamp the TCP segment size to 1412: