In a bid to quieten my room, I'm attempting to replace a generic box (2 nics) with an ARM (raspberry pi, the 512mb model) as my Internet gateway/firewall.
My research selecting components, lead me to believe this USB NIC (D-Link Corp. DUB-E100) would work well. And to begin with, it did:
# uname -a
Linux raspberry 3.6.11-raspberrypi+ #2 PREEMPT Wed Aug 14 16:47:02 CEST 2013 armv6l ARMv6-compatible processor rev 7 (v6l) BCM2708 GNU/Linux
# lsusb -v | egrep -i asix
Bus 001 Device 004: ID 2001:1a02 D-Link Corp. DUB-E100 Fast Ethernet Adapter(rev.C1) [ASIX AX88772]
idProduct 0x1a02 DUB-E100 Fast Ethernet Adapter(rev.C1) [ASIX AX88772]
# lsmod |egrep -i asix
asix 18546 0
libphy 25353 1 asix
However, when I finished configuring and actually swapped the Pi in, I began to notice problems:
Feb 22 10:43:51 XX kernel: [ 4696.635323] asix 1-1.2:1.0: eth1: asix_rx_fixup() Bad Header Length
Feb 22 10:43:58 XX kernel: [ 4703.766762] asix 1-1.2:1.0: eth1: asix_rx_fixup() Bad RX Length 618
Feb 22 10:43:58 XX kernel: [ 4703.767281] asix 1-1.2:1.0: eth1: asix_rx_fixup() Bad Header Length
Feb 22 10:44:32 XX kernel: [ 4738.366858] asix 1-1.2:1.0: eth1: asix_rx_fixup() Bad RX Length 618
Feb 22 10:44:32 XX kernel: [ 4738.366936] asix 1-1.2:1.0: eth1: asix_rx_fixup() Bad Header Length
Feb 22 10:44:33 XX kernel: [ 4738.919223] asix 1-1.2:1.0: eth1: asix_rx_fixup() Bad RX Length 618
Some research on the matter, indicates that this problem isn't resolvable on a Pi. Which lead me to wonder if this had an impact on my broadband performance, I have a 50/5mbit cable connection, so I ran some tests using Iperf.
LAN results:
[ 5] local 10.99.0.1 port 5001 connected with X.X.X.X port 56018
[ 5] 0.0-10.0 sec 48.6 MBytes 40.8 Mbits/sec
WAN results:
[ 4] local 192.168.0.11 port 5001 connected with X.X.X.X port 56657
[ 4] 0.0-10.0 sec 51.9 MBytes 43.5 Mbits/sec
(yes the bugged NIC is oddly 2-3 Mbit/sec faster ... )
With my previous gateway, I was easily able to 90-93 Mbit/sec across LAN and 50-55 Mbit/sec across WAN (ie. saturate my inet connection fully).
So my question is:
Have I hit the natural upper bounds of the pi's network performance, or are my results being impacted by the errors in the log? Please show me your iperf results across LAN and WAN with some detail on the specifics of the NICs etc. Does anyone have any experience with a Pi using 2 x USB Nics on a powered USB hub?
Given the Pi's known bottlenecks, any suggestions that will allow me to keep the Pi and improve WAN performance by 10 Mbit/sec would be extremely welcome :)