I am using this device with OpenWRT as a mediator between my PC and my Xfinity (wifi 6) router, to improve latency by plugging my PC straight into the router which connects to the main router. Typically from this range, I get around 200-300Mbps (my PCIe network card made it vary greatly) but with this router I only get 15/20MBPS. I've seen it go higher on one occasion (90Mbps) and then it just dipped down to 20 after a short period of time. Is there anything I can do to optimize this?
Additionally, as can be seen in the Imgur images, the link speed is much higher than the internet speed.
My device info: https://imgur.com/a/pftNsuY
Just to be clear, you are using a 802.11n (wifi 4) device in client mode connecting to a wifi 6 main router. The speeds you are getting are predictably low given how old and slow 802.11n is.
why exactly are you using this device instead of a direct connection to your main router?
I am using this device due to the lower latency it has over the network card- only 20-50ms compared to the 200-500ms my network card gives. Additionally, I am using a 802.11a/n band.
I am aware that you are using the 5GHz band, but you're using a wifi 4 device. If performance is important, you probably should be using at least an 802.11ac (wifi 5) device.
But we can go ahead and look at your configs in more detail. Instead of screenshots, please provide that information here in text form:
Please connect to your OpenWrt device using ssh and copy the output of the following commands and post it here using the "Preformatted text </>
" button:
Remember to redact passwords, MAC addresses and any public IP addresses you may have:
ubus call system board
cat /etc/config/network
cat /etc/config/wireless
cat /etc/config/dhcp
cat /etc/config/firewall
root@OpenWrt:~# ubus call system board
{
"kernel": "6.6.73",
"hostname": "OpenWrt",
"system": "Feroceon 88FR131 rev 1 (v5l)",
"model": "Linksys EA3500 (Audi)",
"board_name": "linksys,ea3500",
"rootfs_type": "squashfs",
"release": {
"distribution": "OpenWrt",
"version": "24.10.0",
"revision": "r28427-6df0e3d02a",
"target": "kirkwood/generic",
"description": "OpenWrt 24.10.0 r28427-6df0e3d02a",
"builddate": "1738624177"
}
}
root@OpenWrt:~# cat /etc/config/network
config interface 'loopback'
option device 'lo'
option proto 'static'
option ipaddr '127.0.0.1'
option netmask '255.0.0.0'
config globals 'globals'
option ula_prefix '[REDACTED]'
config device
option name 'br-lan'
option type 'bridge'
list ports 'ethernet1'
list ports 'ethernet2'
list ports 'ethernet3'
list ports 'ethernet4'
config interface 'lan'
option device 'br-lan'
option proto 'static'
option ipaddr '192.168.1.1'
option netmask '255.255.255.0'
option ip6assign '60'
config device
option name 'internet'
option macaddr '[REDACTED]'
config interface 'wan'
option device 'internet'
option proto 'dhcp'
config interface 'wan6'
option device 'internet'
option proto 'dhcpv6'
config interface 'wwan'
option proto 'dhcp'
root@OpenWrt:~# cat /etc/config/wireless
config wifi-device 'radio0'
option type 'mac80211'
option path 'mbus@f1000000/mbus@f1000000:pcie@82000000/pci0000:00/0000:00:01.0/0000:01:00.0'
option band '2g'
option channel '1'
option htmode 'HT20'
option disabled '1'
config wifi-iface 'default_radio0'
option device 'radio0'
option network 'lan'
option mode 'ap'
option ssid 'OpenWrt'
option encryption 'none'
option disabled '1'
config wifi-device 'radio1'
option type 'mac80211'
option path 'mbus@f1000000/mbus@f1000000:pcie@82000000/pci0000:00/0000:00:02.0/0000:02:00.0'
option band '5g'
option channel '157'
option htmode 'HT40'
option cell_density '0'
config wifi-iface 'wifinet4'
option device 'radio1'
option mode 'sta'
option network 'wwan'
option ssid '[REDACTED]'
option encryption 'psk2'
option key '[REDACTED]'
root@OpenWrt:~# cat /etc/config/dhcp
config dnsmasq
option domainneeded '1'
option boguspriv '1'
option filterwin2k '0'
option localise_queries '1'
option rebind_protection '1'
option rebind_localhost '1'
option local '/lan/'
option domain 'lan'
option expandhosts '1'
option nonegcache '0'
option cachesize '1000'
option authoritative '1'
option readethers '1'
option leasefile '/tmp/dhcp.leases'
option resolvfile '/tmp/resolv.conf.d/resolv.conf.auto'
option nonwildcard '1'
option localservice '1'
option ednspacket_max '1232'
option filter_aaaa '0'
option filter_a '0'
config dhcp 'lan'
option interface 'lan'
option start '100'
option limit '150'
option leasetime '12h'
option dhcpv4 'server'
option dhcpv6 'server'
option ra 'server'
option ra_slaac '1'
list ra_flags 'managed-config'
list ra_flags 'other-config'
config dhcp 'wan'
option interface 'wan'
option ignore '1'
config odhcpd 'odhcpd'
option maindhcp '0'
option leasefile '/tmp/hosts/odhcpd'
option leasetrigger '/usr/sbin/odhcpd-update'
option loglevel '4'
root@OpenWrt:~# cat /etc/config/firewall
config defaults
option syn_flood '1'
option input 'REJECT'
option output 'ACCEPT'
option forward 'REJECT'
config zone
option name 'lan'
option input 'ACCEPT'
option output 'ACCEPT'
option forward 'ACCEPT'
list network 'lan'
config zone
option name 'wan'
option input 'REJECT'
option output 'ACCEPT'
option forward 'REJECT'
option masq '1'
option mtu_fix '1'
list network 'wan'
list network 'wan6'
list network 'wwan'
config forwarding
option src 'lan'
option dest 'wan'
config rule
option name 'Allow-DHCP-Renew'
option src 'wan'
option proto 'udp'
option dest_port '68'
option target 'ACCEPT'
option family 'ipv4'
config rule
option name 'Allow-Ping'
option src 'wan'
option proto 'icmp'
option icmp_type 'echo-request'
option family 'ipv4'
option target 'ACCEPT'
config rule
option name 'Allow-IGMP'
option src 'wan'
option proto 'igmp'
option family 'ipv4'
option target 'ACCEPT'
config rule
option name 'Allow-DHCPv6'
option src 'wan'
option proto 'udp'
option dest_port '546'
option family 'ipv6'
option target 'ACCEPT'
config rule
option name 'Allow-MLD'
option src 'wan'
option proto 'icmp'
option src_ip 'fe80::/10'
list icmp_type '130/0'
list icmp_type '131/0'
list icmp_type '132/0'
list icmp_type '143/0'
option family 'ipv6'
option target 'ACCEPT'
config rule
option name 'Allow-ICMPv6-Input'
option src 'wan'
option proto 'icmp'
list icmp_type 'echo-request'
list icmp_type 'echo-reply'
list icmp_type 'destination-unreachable'
list icmp_type 'packet-too-big'
list icmp_type 'time-exceeded'
list icmp_type 'bad-header'
list icmp_type 'unknown-header-type'
list icmp_type 'router-solicitation'
list icmp_type 'neighbour-solicitation'
list icmp_type 'router-advertisement'
list icmp_type 'neighbour-advertisement'
option limit '1000/sec'
option family 'ipv6'
option target 'ACCEPT'
config rule
option name 'Allow-ICMPv6-Forward'
option src 'wan'
option dest '*'
option proto 'icmp'
list icmp_type 'echo-request'
list icmp_type 'echo-reply'
list icmp_type 'destination-unreachable'
list icmp_type 'packet-too-big'
list icmp_type 'time-exceeded'
list icmp_type 'bad-header'
list icmp_type 'unknown-header-type'
option limit '1000/sec'
option family 'ipv6'
option target 'ACCEPT'
config rule
option name 'Allow-IPSec-ESP'
option src 'wan'
option dest 'lan'
option proto 'esp'
option target 'ACCEPT'
config rule
option name 'Allow-ISAKMP'
option src 'wan'
option dest 'lan'
option dest_port '500'
option proto 'udp'
option target 'ACCEPT'
I'm not seeing any immediate issues... but one more thing to check:
ifstatus wan | grep address
That command returns nothing.
oh... sorry...
ifstatus wwan | grep address
root@OpenWrt:~# ifstatus wwan | grep address
"addresses",
"ipv4-address": [
"address": "10.0.0.107",
"ipv6-address": [
"ipv4-address": [
"ipv6-address": [
Ok.. that looks fine.
So yeah, there's nothing out of the ordinary here. I think your bandwidth issues are a combination of:
- very very old wifi in your EA3500
- potential environmental factors such as distance, number of walls/floors to pass through, RF environment, etc.
Also look at the transmit and receive MCS on the main status page or iwinfo phy1-sta0 as
on CLI. The maximum practical throughput is going to be less than half of the raw MCS speed.
Since you have an Ethernet cable in place you should try to fix that. A properly working wired connection is going to be better than wifi. How are you getting into the PC with a bad network card?
I don't exactly know what you mean when you ask how I get into my PC, but my network card is some random AX1800 shelled with a heatsink. I don't really know why it has such bad latency compared to the EA3500 but it definetely boasts higher upload and download speeds. I can't route Ethernet to my main router because it is 3 rooms away and I don't have any extensions.
I assume that the question was about the PC's current connection to the upstream.
Based on your config, I'm assuming that your PC is connected via ethernet to one of the EA3500 lan ports, and your EA3500 is running in standard routing mode with a wifi STA (client) mode connection to the main router.
Is that correct?
There is unfortunately no easy way for us to know if the PCIe card (hardware and/or drivers) you have is the specific source of your issue, or if it has to do with the environmental aspects that I mentioned earlier (or a combination of those two factors). These are out of scope for this forum since those are not factors affecting OpenWrt.
Alternatively, it could be caused by buffer bloat on the main router. Your really old router isn't able to move data fast enough to cause buffer bloat issues to appear upstream.
I would suggest that you consider a test where you move the computer such that it is relatively close to the main router (just for the duration of the test) and/or use another computer that can be sitauated near your current computer for one test and near the router for another. This way you can test the wifi performance to determine the most relevant factors. You can also try via ethernet -- with a long cable on the floor just during the test -- to see if the speed test also results in high latency issues (i.e. buffer bloat on the primary router) while removing all variables related to wifi.
Alright, thank you.
I will mention that I was helping a friend with his laptop and connected his ethernet directly to the router resulting in a flat 1000MBPS, and I don't really care about the speed of the PCIe network card. Just wanted to optimize the client router.
I think it's about as optimized as it's going to get. Newer hardware is the way to get better performance. But you may also be dealing with physics here (i.e. how far away, and though how many walls/floors is the wifi signal traveling between the main router and the EA3500, what is the RF environment in your home).