Hi all,
yesterday I replaced the stock firmware of my access point with OpenWrt because I was unhappy with the featureset and the limitations of Edimax' software. Installation was quite easy and I had my final setup after a couple of minutes. Great!
Unfortunately, the performance is poor. Very poor compared to the stock firmware.
But let me first describe my setup:
specs
- used as AP only
- no WAN, NAT, packet filtering etc. features
- no VLAN features (yet)
- the AP is connected via 1GE to a Draytek switch
- the router/gateway, a Linux server, is connected to that switch via 10GE
- 2.4GHz and 5GHz with the same ssid
- 2.4GHz mode N on channel 8 (which is not occupied by other wifi devices), width 40MHz, power 100mW
- 5GHz mode AC on channel 124 (free), width 80MHz, power 199mW
- several other networks are around but none should conflict with mine (I use the same settings as before with the stock firmware and the neighbour's networks didn't change)
With Edimax' firmware, I got something around 500Mbps to 800Mbps tested via iperf3 from my wifi client (laptop) to the gateway. With OpenWrt, I get 1/6 of that, at best.
So I tried some optimizations, like
- narrowing the bandwidth of the 5GHz channel from 80MHz to 40MHz
- enabled software and hardware offloading (even though no nat is done here)
- disabled unneeded services: dnsmasq, firewall, odhcpd
- disabled network steering
- raised
net.core.{w,r}mem_max
to 16777216 - raised
net.ipv4.tcp_{w,r}mem
to 10240 131072 16777216 - raised
net.ipv4.udp_mem
to 10240 131072 16777216
I installed iperf on the AP and did some measurements (only the best results shown).
These tests are against 5GHz, the 2.4GHz network is even worse.
iperf speedtests network steering ON
server | client | mode | client -> server (Mbps) | server -> client (Mbps) |
---|---|---|---|---|
gateway | ap | unidirectional | 750 | - |
gateway | ap | bidirectional | 575 | 375 |
ap | gateway | unidirectional | 875 | - |
ap | gateway | bidirectional | 600 | 360 |
wifi client | ap | unidirectional | 140 | - |
wifi client | ap | bidirectional | 120 | 15 |
ap | wifi client | unidirectional | 270 | - |
ap | wifi client | bidirectional | 40 | 6 |
gateway | wifi client | unidirectional | 250 | - |
gateway | wifi client | bidirectional | 105 | 35 |
wifi client | gateway | unidirectional | 115 | - |
wifi client | gateway | bidirectional | 145 | 85 |
Note: the wifi client (laptop) is like 1.5m from the access point.
iperf speedtests network steering OFF
server | client | mode | client -> server (Mbps) | server -> client (Mbps) |
---|---|---|---|---|
gateway | ap | unidirectional | 930 | - |
gateway | ap | bidirectional | 800 | 50 |
ap | gateway | unidirectional | 850 | - |
ap | gateway | bidirectional | 650 | 360 |
wifi client | ap | unidirectional | 160 | - |
wifi client | ap | bidirectional | 145 | 35 |
ap | wifi client | unidirectional | 260 | - |
ap | wifi client | bidirectional | 155 | 22 |
(edit: tcpdump looks fine. No errors, drops, retransmissions, dup acks, etc.)
Could anyone point me please to some settings to get close to the original firmware's performance?