18.06.1: slow iperf3 tests on macbook pro 2018, but not macbook pro 2014

Hi all,

I am seeing drastic differences between iperf3 results performed on macbook pro 2014 vs macbook pro 2018. Both laptops support 802.11ac and I think they are 3x3 mimo.

Routers

  • Ubuntu box as router
  • Running iperf3 on the router itself.

Access Points

  • OpenWRT (3x3 mimo) as dumbAP with QCA9558 (2.4GHz) and QCA9880 (5GHz)
    • channel 149, 80MHz width
  • eero (2x2 mimo) as dumbAP
    • channel 36, 80MHz width

Wireless info when connected to OpenWRT

macbook pro 2014

  • channel: 149
  • htmode: 80Mhz
  • tx rate: around 878 Mbps

macbook pro 2018

  • channel: 149
  • htmode: 80Mhz
  • tx rate: changes anywhere between 14 Mbps to 1053 Mbps

RSSI on both is around -36 dBm to -40 dBm
Noise on both is around -90 dbm to -92 dbm

Both laptops were next to each other with 2 feet separation.
Both laptops were placed around 5 feet from each router.


iperf3 tests

iperf3 -c 10.155.6.2 -w 256K -R

macbook pro 2014 and OpenWRT

367 Mbits/sec 
369 Mbits/sec
380 Mbits/sec
390 Mbits/sec
388 Mbits/sec

macbook pro 2014 and eero

306 Mbits/sec
206 Mbits/sec
320 Mbits/sec
316 Mbits/sec
233 Mbits/sec
319 Mbits/sec

macbook pro 2018 and OpenWRT

256 Mbits/sec
318 Mbits/sec
272 Mbits/sec
301 Mbits/sec
224 Mbits/sec
190 Mbits/sec

macbook pro 2018 and eero

321 Mbits/sec
219 Mbits/sec
324 Mbits/sec
325 Mbits/sec
313 Mbits/sec

Results

eero

On both macbook pros performed very similarly.

OpenWRT

macbook pro 2014 performed around 100 Mbps better than the 2018 model!


/etc/config/wireless

config wifi-device 'radio0'
	option type 'mac80211'
	option path 'pci0000:00/0000:00:00.0'
	option country 'US'
	option hwmode '11a'
	option htmode 'VHT80'
	option channel '149'
	option txpower '28'
	option log_level '2'

config wifi-iface
	option device 'radio0'
	option network 'vlan3'
	option mode 'ap'
	option ssid 'testopenwrt'
	option encryption 'psk2+aes'
	option key 'test12345'

config wifi-device 'radio1'
	option type 'mac80211'
	option channel '11'
	option hwmode '11g'
	option path 'platform/qca955x_wmac'
	option htmode 'HT20'
	option disabled '1'

config wifi-iface 'default_radio1'
	option device 'radio1'
	option network 'lan'
	option mode 'ap'
	option ssid 'openwrt'
	option encryption 'none'

/etc/config/network

config interface 'loopback'
    option ifname 'lo'
    option proto 'static'
    option ipaddr '127.0.0.1'
    option netmask '255.0.0.0'

config globals 'globals'

config interface 'mesh0'
    option auto '1'
    option proto 'none'

config interface 'eth0'
    option proto 'none'
    option ifname 'eth0'

config interface 'vlan2'
    option auto '1'
    option proto 'dhcp'
    option type 'bridge'
    option stp '1'
    option ifname 'eth0.2 @mesh0.2'
    option hostname 'testopenwrt'

config interface 'vlan3'
    option auto '1'
    option proto 'none'
    option type 'bridge'
    option stp '1'
    option ifname 'eth0.3 @mesh0.3'

Any advice? thanks!

Yes, since that 2018 Macbook Pro is such a dog, let me give you a mailing address so that it doesn't trouble you any more :wink:

At those speeds, (600-800 mbps), i find it hard to complain about the results. You're pushing the 802.11 hardware pretty hard and they use different wireless SoCs, as I recall. The antennas within the two laptops and their positioning within the case are probably also different. Slight differences in performance at the extremes of what the media supports wouldn't surprise me. (Edit: You're also pushing the Ethernet on the Ubuntu box to its limits. It looks like that near-gigabit rate is the carrier rate, not a throughput rate.)

If you've got significant differences at moderate range and rates, then it might be worth exploring further.

Edit:

As I was curious, the 2014 looks like it uses a BCM94331CSAX module. https://wikidevi.com/wiki/Broadcom_BCM94331CSAX indicates a Broadcom BCM4331 inside.

I haven't found a comparable tear-down for the 2018 and System Profiler doesn't reveal any more than "AirPort Extreme (0x14E4, 0x7BF)", though the Bluetooth is provided by a Broadcom 4364.

Hey @jeff

:smile:

Sorry I need to edit my post, 600-800 mbps are TX rates based on mcs Index, not my throughput.

peak throughput

2014: 390 Mbps
2018: 318 Mbps

I understand different SoCs, antenna placement and cases will cause differences, but 2014 macbook pro was 100 Mbps faster than 2018 model, on the same OpenWRT hardware. Tx Rates were similar but actual throughput was way different.

Shouldn't the hardware differences also be evident with other routers, such eero? But both 2014 and 2018 models performed almost the same on eero.

I also performed fast.com and speedtest.net tests and 2018 model was noticeably slower than 2014 model, which correlates with above iperf3 results.

speedtest.net ( i know these are not accurate but still useful to test differences)

2104: 400-450 Mbps
2108: 200-250 Mpbs

I have a 1Gbps connection.

I'll give it a try when I get home with a touch-bar 2018 MacBook Pro and my Archer C7s and Gl.iNet AR-750S. None of the APs are screamers, but I'll see if there's something obvious with the MacBook Pro I'm using.

@jeff Thanks!

I will run more tests in the meantime.

On 2018 model, there might be some kind of dynamic power to radios going on (if that's even possible). I noticed that when laptop is idle or has low network usage, TX rates are around 14-20 Mbps. But as soon as I increase network usage, like play multiple youtube videos and/or twitch live stream, TX rates go up.
Note: this claim has no scientific basis, only my observation. :smile:

1 Like

Yes, that's pretty common, especially with battery-powered devices. It's also common that the negotiated modulation rates change with load.

In the moment, with things pretty quiet at home:

jeff@office:~$ iw dev mesh1 station dump | egrep 'Station|signal|bit' | sed -e 's/[0-9a-f][0-9a-f]:[0-9a-f][0-9a-f]:[0-9a-f][0-9a-f] /xx:xx:xx /'
Station c6:6e:1f:xx:xx:xx (on mesh1)
	signal:  	-71 [-81, -75, -74] dBm
	signal avg:	-70 [-81, -75, -74] dBm
	tx bitrate:	6.0 MBit/s
	rx bitrate:	195.1 MBit/s VHT-MCS 2 80MHz short GI VHT-NSS 2
Station c6:e9:84:xx:xx:xx (on mesh1)
	signal:  	-34 [-49, -52, -49] dBm
	signal avg:	-37 [-48, -52, -48] dBm
	tx bitrate:	6.0 MBit/s
	rx bitrate:	1300.0 MBit/s VHT-MCS 9 80MHz short GI VHT-NSS 3
Station 32:b5:c2:xx:xx:xx (on mesh1)
	signal:  	-73 [-84, -75, -79] dBm
	signal avg:	-77 [-90, -82, -85] dBm
	tx bitrate:	6.0 MBit/s
	rx bitrate:	292.7 MBit/s VHT-MCS 2 80MHz short GI VHT-NSS 3
Station 1a:d6:c7:xx:xx:xx (on mesh1)
	signal:  	-88 [-95, -89, -92] dBm
	signal avg:	-87 [-94, -91, -92] dBm
	tx bitrate:	6.0 MBit/s

and I know that I get a lot more than 6 mbps over the link when I'm using it!

Good to know that.
Can the AP also negotiate certain modulation rates? I ask because, eero's performance was same on both laptops and maybe eero is forcing certain modulation rate.

Yes, the modulation is negotiated by the AP and the client.

I see a huge amount of variability using the -R option, sometimes dropping below 100 mbps. While there are "only" a couple phones and a handful of IoT devices here (while on 2.4 GHz, the other APs use 5 GHz for the backhaul), I'm guessing that it is airtime competition. (We're pretty much in the middle of nowhere, so there aren't devices walking by or much interference, especially on 5 GHz).

With just iperf3 <target IP> on a 5 GHz, 80 MHz wide channel, I see around 440-470 mbps about 3 meters from the AP.

With iperf3 <target IP> -R I see around 340-360 mbps when things are "good", sometimes dropping to 20-50 mbps for a few seconds in the 10-second run.

Use of -w 256 doesn't seem to impact the results.

I do see high retry counts on the server output, suggesting contention is playing a big factor.

I am seeing similar results
iperf3 <target IP> -R around 470 Mbps
iperf3 <target IP> around 360 Mbps.

But I am also seeing around 350 Mbps with iperf3 <target ip> -w 256K -R which is the exact thing I ran earlier. All I did was installed edimax AC1750 driver and restarted the laptop. :man_shrugging:

Really appreciate you taking the time and testing with your macbook pro. I'll keep testing and report back if I encounter something.

So, I am experiencing the same issue again. I have more information:

I am testing on a brand new MacBook Pro 2018 and macOS 10.14.2.

WiFi settings (alt+click on WiFi icon) shows:

Channel: 36 (5 GHz, 80MHz) 
RSSI: -49 dBm 
Noise: -90 dBm 
Tx rate: switches between 13 and 27 Mbps 
PHY mode: 802.11ac 
MCS Index: 1

The Tx rates are not of 802.11ac and 80 MHz. Those seem like 802.11n, 20/40 MHz rates, 1 spatial stream and QPSK 1/2.


iwinfo for 2018 Macbook Pro

"rx_short_gi": true,
"noise": -106,
"rx_mcs": 1,
"rx_vht": true,
"rx_mhz": 20,
"rx_nss": 2,
"tx_vht": false,
"tx_ht": false,
"tx_rate": 6000,
"tx_mhz": 20,
"inactive": 10,
"rx_ht": false,
"rx_rate": 14400,
"signal": -58

As you can see, openWRT is reporting rx_mhz=20 but rx_vht=true. The network is broadcasting at 80 MHz.

This is happening randomly but I suspect it's happening after MacBook Pro wakes up from a 10-15 mins sleep.


Same network and same exact moment, my iOS devices are working fine.

iwinfo for iOS device

"rx_short_gi": true,
"noise": -106,
"rx_mcs": 8,
"rx_vht": true,
"rx_mhz": 80,
"rx_nss": 2,
"tx_vht": false,
"tx_ht": false,
"tx_rate": 6000,
"tx_mhz": 20,
"inactive": 570,
"rx_ht": false,
"rx_rate": 780000,
"signal": -51
1 Like

Hi guys,

Apologies for being slightly off-topic (my wifi is not WRT but running on Cisco) but I only joined this conversation to re-echo similar problem identified with my macbook pro late15 -vs- macbook pro 16 (late-19).

iperf3 -R goes like this:
MBP2015 does 60MB / ~500Mbps
MBP2019 16" only makes 28-30MB / ~200Mbps

Interestingly enough my upload is just fine! They both manage to achieve 80MB/s / ~700Mbps. @sjpacket have you tested your upload by chance? do you observe similar difference too?

I haven't found any solution to this problem, but it's definitely annoying ..

Did you ever solve this ? I face the same issue. My 2018 MBP wakes from sleep on MCS index 1 at a rate of 14mbit/s. Not on OpenWRT but on Unifi. I also have a 2019 MBP that does not have the problem, and a bunch Macbook airs that are also fine. If I kick it off the network with a reconnect from unifi or switch wifi off/on on the mac it comes back at mcs9 and 900's. Signal strength between the two year models different too. 2018 = -56db 2019 -48db - same exact place.