User avatar
Posts: 32
Joined: Sun Feb 15, 2015 3:43 am
Location: St. Louis, MO, USA
Contact: Website

Dramatic onboard LAN upgrade in model 2?

Fri Feb 20, 2015 5:28 am

I've been spending a bit of time benchmarking my Raspberry Pis (2 A+, 2 B+, 6 model 2) in preparation for a project I'm building up, and in that research, one of the anomalies that made me do a double take was the more-than-double increase in onboard LAN throughput for downloads, like a download to the onboard microSD card or an external USB drive.

I was testing with iperf, rsync over the network, and wget, and I posted all my methodology and results in this GitHub issue: Benchmark various network configurations. I also summarized the relevant data in a graph:


My theory is that the Broadcom chip driving the Pi 2 must have separated the onboard Ethernet from the USB pipeline in some way or another, because it seems the Internet download speed limitation with the B+ was that writing to the microSD card soaked up some of the bandwidth from the Ethernet interface, limiting the download speeds to around 22 Mbps.

This theory seems like it holds water based on my other tests, because the gigabit adapter connected via USB was limited on the Pi 2 in the same way it was on the B+ for general downloads.

I reran all these tests three times, all from the same network jack, directly connected to my AirPort extreme router, and confirmed on my Mac that my Internet connection was rock solid at ~100 Mbps (I have a pretty reliable connection through Charter in St. Louis, MO, USA).

Can someone confirm whether the way the onboard LAN works has changed in terms of overall USB/IO architecture? It seems this makes the Pi 2 a much more suitable option for streaming/serving/receiving content that requires higher bandwidth (and, consequently, perfect for the project I'm working on).
My personal site:

User avatar
Posts: 13159
Joined: Sun May 06, 2012 5:17 am
Location: Chelmsford, Essex, UK

Re: Dramatic onboard LAN upgrade in model 2?

Fri Feb 20, 2015 6:18 am

The LAN still runs through the same USB port. There has only been one small change to the USB hardware to include an extra timer that should make things a bit more reliable.

You will see an improvement due to the multiple CPU cores. USB is very CPU intensive on the Pi and on the Pi1 it takes up a significant amount of CPU power. It will still do that on the Pi2, but that still leaves 3 cores to do other work. This is probably the reason for the speed-up you are seeing.

Return to “Networking and servers”