Raspberry Pi 4 wireless performance

I've been quite pleased with the RPi4 acting as a AP. There's one thing I'm not sure if it is a bug or if it is a configuration issue on my end (I'm also not excluding my own lack of knowledge/understanding/sense :smiley: ).

From what I've read, I should be able to set the wireless channel and width (Operating frequency mode is AC) on the RPi4. There's two issues I think are related:

  1. I absolutely can not set the Channel. It must remain on auto. Similarly, I can set the Width to 20 or 40, but can not set to 80. If I do any combo of those changes, all clients disconnect and will not reconnect wirelessly. It doesn't actually matter if I set the width to 20 or 40 MHz, clients only connect with 20 MHz.

  2. From iperf3 benchmarks I've seen other posting for their RPi4's I should be able to get between 110-120 Mbits/sec. I can only get 63.8 Mbits/s as an upper bound in iperf3 tests but in more realistic uses (transferring large files) I usually get only in upper 40Mbits/s.

My OpenWRT Linksys devices don't do AC, but the TP-Link Archer C7 I just install OpenWRT onto does. I know it isn't quite the same comparison but I can make the test almost identical. Using the same cables to the same iperf3 server and testing from the same laptop, I can get iperf3 tests running in the 190 Mbits/sec with a peak of 201 Mbits/sec. A more realistic test of transferring a large file was three times faster on the C7. Again, I realize the comparison here isn't exactly the same but only changing the device out shows that the bottleneck isn't elsewhere.

When I connect to the C7, OpenWRT shows my connection as "526.6 Mbit/s, 80 MHz, VHT-MCS 6, VHT-NSS 2"

When I connect to the RPi4, OpenWRT shows my connection as "150.0 Mbit/s, 20 MHz".

So knowing that the RPi4 specs says I should be able to get nearly double the speed I figure that I've either got a bad config option I need to tweak somewhere or there might be a bug in the driver.

Anyone have any thoughts on how I might better track down and confirm the issue?