Just done some quick digging around on this, and I think the problem lies with TCP Offload not being enabled in the stock kernel/drivers supplied with the MBWE.
The ethernet controller is the VIA Velocity VT6122, as per hardware, and confirmed via dmesg on the unit.
Running 'ethtool -k' shows the following:
ethtool -k eth0
Offload parameters for eth0:
Cannot get device rx csum settings: Operation not supported
Cannot get device tx csum settings: Operation not supported
Cannot get device scatter-gather settings: Operation not supported
Cannot get device tcp segmentation offload settings: Operation not supported
no offload info available
Basically, the kernel cannot enable any of the TCP offload options within the chip.
Now, the chip definitely supports TCP TCP/UDP/IP checksum and TCP segment offloading, as per here.
Documentation provided within the Linux Kernel source for the VIA Velocity drivers (linux-source-2.6.26/drivers/net/via-velocity.c) states:
/* txcsum_offload[] is used for setting the checksum offload ability of NIC.
(We only support RX checksum offload now)
0: disable csum_offload[checksum offload
1: enable checksum offload. (Default)
*/
so we should at least be able to enable RX checksum offload using this code, and if this code were used it would be enabled by default.
The kernel version provided with the 2.00.18 is 2.6.17.14, so it's entirely possible the above was added between 2.6.17.14 and 2.6.26, after WD standardised the build environment.
Next step would be to build a replacement kernel and drivers to run on the MBWE.
Anyone interested in giving me pointers on how this may be done?